Timeline



Nov 19, 2013:

11:21 PM Changeset in webkit [159551] by gyuyoung.kim@samsung.com
  • 21 edits in trunk/Source/WebCore

Generate toHTMLFooElement() to clean up static_cast<>
https://bugs.webkit.org/show_bug.cgi?id=124571

Reviewed by Darin Adler.

Though there are a lot of clean up commits before, there are still
use of static_cast<HTMLFooElement*>. To clean up them, we need to generate
toHTMLDetails|Meta|Summary|TableSection|TableCaptionElement().

Additionally, other static_cast<> are removed as well.

No new tests, no behavior changes.

  • html/HTMLDetailsElement.h:
  • html/HTMLMediaElement.cpp:

(HTMLMediaElement::selectNextSourceChild):

  • html/HTMLMetaElement.h:
  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::isDisabledFormControl):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::updateWidgetCallback):

  • html/HTMLSummaryElement.cpp:

(WebCore::HTMLSummaryElement::detailsElement):

  • html/HTMLSummaryElement.h:
  • html/HTMLTableCaptionElement.h:
  • html/HTMLTableElement.cpp:

(WebCore::HTMLTableElement::caption):
(WebCore::HTMLTableElement::tHead):
(WebCore::HTMLTableElement::tFoot):
(WebCore::HTMLTableElement::lastBody):

  • html/HTMLTableRowElement.cpp:

(WebCore::HTMLTableRowElement::rowIndex):

  • html/HTMLTableSectionElement.h:
  • html/HTMLTagNames.in:
  • html/MediaDocument.cpp:

(WebCore::MediaDocumentParser::createDocumentStructure):

  • html/shadow/DetailsMarkerControl.cpp:

(WebCore::DetailsMarkerControl::summaryElement):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::handleFallbackContent):

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):

  • page/DragController.cpp:

(WebCore::DragController::canProcessDrag):

  • page/Frame.cpp:

(WebCore::Frame::searchForLabelsBeforeElement):

  • page/SpatialNavigation.cpp:

(WebCore::frameOwnerElement):

10:57 PM Changeset in webkit [159550] by rniwa@webkit.org
  • 10 edits in trunk

Enable HTMLTemplateElement on Mac port
https://bugs.webkit.org/show_bug.cgi?id=124637

Reviewed by Tim Horton.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Enabled the feature.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

LayoutTests:

Unskip template element tests except fast/dom/HTMLTemplateElement/cycles-in-shadow.html
which depends on ENABLE(SHADOW_DOM).

  • platform/mac/TestExpectations:
10:01 PM Changeset in webkit [159549] by mrowe@apple.com
  • 2 edits in trunk/Tools

<rdar://problem/15487072> Modernize WebKit.app's OS X version checking logic.

Gestalt is deprecated on recent OS X versions so we should switch off it.

Reviewed by Sam Weinig.

  • WebKitLauncher/main.m:

(currentMacOSXVersion): Retrieve the version string from SystemVersion.plist.
(currentMacOSXMajorVersion): Split the version string at the periods, retrieve the first
two components, then join them back up.
(main): Switch to using currentMacOSXMajorVersion to make it clearer which part of
the version we care about.

9:59 PM Changeset in webkit [159548] by jinwoo7.song@samsung.com
  • 2 edits in trunk/Source/WebCore

Remove unused member function declaration in DocumentOrderedMap.h
https://bugs.webkit.org/show_bug.cgi?id=124629

Reviewed by Ryosuke Niwa.

checkConsistency() is not used anywhere.

  • dom/DocumentOrderedMap.h:
9:57 PM Changeset in webkit [159547] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, remove completely bogus assertion.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::addFunction):

9:53 PM Changeset in webkit [159546] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, debug build fix.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::addFunction):

9:49 PM Changeset in webkit [159545] by fpizlo@apple.com
  • 52 edits
    6 adds in trunk

Infer constant global variables
https://bugs.webkit.org/show_bug.cgi?id=124464

Source/JavaScriptCore:

Reviewed by Sam Weinig.

All global variables that are candidates for watchpoint-based constant inference (i.e.
not 'const' variables) will now have WatchpointSet's associated with them and those
are used to drive the inference by tracking three states of each variable:

Uninitialized: the variable's value is Undefined and the WatchpointSet state is

ClearWatchpoint.


Initialized: the variable's value was set to something (could even be explicitly set

to Undefined) and the WatchpointSet state is IsWatching.


Invalidated: the variable's value was set to something else (could even be the same

thing as before but the point is that a put operation did execute again) and the
WatchpointSet is IsInvalidated.


If the compiler tries to compile a GetGlobalVar and the WatchpointSet state is
IsWatching, then the current value of the variable can be folded in place of the get,
and a watchpoint on the variable can be registered.

We handle race conditions between the mutator and compiler by mandating that:

  • The mutator changes the WatchpointSet state after executing the put.


  • There is no opportunity to install code or call functions between when the mutator executes a put and changes the WatchpointSet state.


  • The compiler checks the WatchpointSet state prior to reading the value.


The concrete algorithm used by the mutator is:

  1. Store the new value into the variable. --- Execute a store-store fence.
  2. Bump the state (ClearWatchpoing becomes IsWatching, IsWatching becomes IsInvalidated); the IsWatching->IsInvalidated transition may end up firing watchpoints.


The concrete algorithm that the compiler uses is:

  1. Load the state. If it's *not* IsWatching, then give up on constant inference. --- Execute a load-load fence.
  2. Load the value of the variable and use that for folding, while also registering a DesiredWatchpoint. The various parts of this step can be done in any order.


The desired watchpoint registration will fail if the watchpoint set is already
invalidated. Now consider the following interesting interleavings:

Uninitialized->M1->M2->C1->C2: Compiler sees IsWatching because of the mutator's store

operation, and the variable is folded. The fencing ensures that C2 sees the value
stored in M1 - i.e. we fold on the value that will actually be watchpointed. If
before the compilation is installed the mutator executes another store then we
will be sure that it will be a complete sequence of M1+M2 since compilations get
installed at safepoints and never "in the middle" of a put_to_scope. Hence that
compilation installation will be invalidated. If the M1+M2 sequence happens after
the code is installed, then the code will be invalidated by triggering a jettison.


Uninitialized->M1->C1->C2->M2: Compiler sees Uninitialized and will not fold. This is

a sensible outcome since if the compiler read the variable's value, it would have
seen Undefined.


Uninitialized->C1->C2->M1->M2: Compiler sees Uninitialized and will not fold.
Uninitialized->C1->M1->C2->M2: Compiler sees Uninitialized and will not fold.
Uninitialized->C1->M1->M2->C2: Compiler sees Uninitialized and will not fold.
Uninitialized->M1->C1->M2->C2: Compiler sees Uninitialized and will not fold.

IsWatched->M1->M2->C1->C2: Compiler sees IsInvalidated and will not fold.

IsWatched->M1->C1->C2->M2: Compiler will fold, but will also register a desired

watchpoint, and that watchpoint will get invalidated before the code is installed.


IsWatched->M1->C1->M2->C2: As above, will fold but the code will get invalidated.
IsWatched->C1->C2->M1->M2: As above, will fold but the code will get invalidated.
IsWatched->C1->M1->C2->M2: As above, will fold but the code will get invalidated.
IsWatched->C1->M1->M2->C2: As above, will fold but the code will get invalidated.

Note that this kind of reasoning shows why having the mutator first bump the state and
then store the new value would be wrong. If we had done that (M1 = bump state, M2 =
execute put) then we could have the following deadly interleavings:

Uninitialized->M1->C1->C2->M2:
Uninitialized->M1->C1->M2->C2: Mutator bumps the state to IsWatched and then the

compiler folds Undefined, since M2 hasn't executed yet. Although C2 will set the
watchpoint, M1 didn't notify it - it mearly initiated watching. M2 then stores a
value other than Undefined, and you're toast.


You could fix this sort of thing by making the Desired Watchpoints machinery more
sophisticated, for example having it track the value that was folded; if the global
variable's value was later found to be different then we could invalidate the
compilation. You could also fix it by having the compiler also check that the value of
the variable is not Undefined before folding. While those all sound great, I decided
to instead just use the right interleaving since that results in less code and feels
more intuitive.

This is a 0.5% speed-up on SunSpider, mostly due to a 20% speed-up on math-cordic.
It's a 0.6% slow-down on LongSpider, mostly due to a 25% slow-down on 3d-cube. This is
because 3d-cube takes global variable assignment slow paths very often. Note that this
3d-cube slow-down doesn't manifest as much in SunSpider (only 6% there). This patch is
also a 1.5% speed-up on V8v7 and a 2.8% speed-up on Octane v1, mostly due to deltablue
(3.7%), richards (4%), and mandreel (26%). This is a 2% speed-up on Kraken, mostly due
to a 17.5% speed-up on imaging-gaussian-blur. Something that really illustrates the
slam-dunk-itude of this patch is the wide range of speed-ups on JSRegress. Casual JS
programming often leads to global-var-based idioms and those variables tend to be
assigned once, leading to excellent constant folding opportunities in an optimizing
JIT. This is very evident in the speed-ups on JSRegress.

  • assembler/ARM64Assembler.h:

(JSC::ARM64Assembler::dmbSY):

  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::dmbSY):

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::memfence):

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::load8):
(JSC::MacroAssemblerARMv7::memfence):

  • assembler/MacroAssemblerX86.h:

(JSC::MacroAssemblerX86::load8):
(JSC::MacroAssemblerX86::store8):

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86Common::getUnusedRegister):
(JSC::MacroAssemblerX86Common::store8):
(JSC::MacroAssemblerX86Common::memoryFence):

  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::load8):
(JSC::MacroAssemblerX86_64::store8):

  • assembler/X86Assembler.h:

(JSC::X86Assembler::movb_rm):
(JSC::X86Assembler::movzbl_mr):
(JSC::X86Assembler::mfence):
(JSC::X86Assembler::X86InstructionFormatter::threeByteOp):
(JSC::X86Assembler::X86InstructionFormatter::oneByteOp8):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecode/Watchpoint.cpp:

(JSC::WatchpointSet::WatchpointSet):
(JSC::WatchpointSet::add):
(JSC::WatchpointSet::notifyWriteSlow):

  • bytecode/Watchpoint.h:

(JSC::WatchpointSet::state):
(JSC::WatchpointSet::isStillValid):
(JSC::WatchpointSet::addressOfSetIsNotEmpty):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::getJSConstantForValue):
(JSC::DFG::ByteCodeParser::getJSConstant):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNode.h:

(JSC::DFG::Node::isStronglyProvedConstantIn):
(JSC::DFG::Node::hasIdentifierNumberForCheck):
(JSC::DFG::Node::hasRegisterPointer):

  • dfg/DFGNodeFlags.h:
  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileNotifyPutGlobalVar):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLAbbreviatedTypes.h:
  • ftl/FTLAbbreviations.h:

(JSC::FTL::buildFence):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileNotifyPutGlobalVar):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::fence):

  • jit/JIT.h:
  • jit/JITOperations.h:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitPutGlobalVar):
(JSC::JIT::emit_op_put_to_scope):
(JSC::JIT::emitSlow_op_put_to_scope):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitPutGlobalVar):
(JSC::JIT::emit_op_put_to_scope):
(JSC::JIT::emitSlow_op_put_to_scope):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • llvm/LLVMAPIFunctions.h:
  • offlineasm/arm.rb:
  • offlineasm/arm64.rb:
  • offlineasm/cloop.rb:
  • offlineasm/instructions.rb:
  • offlineasm/x86.rb:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::addGlobalVar):
(JSC::JSGlobalObject::addFunction):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::addVar):
(JSC::JSGlobalObject::addConst):

  • runtime/JSScope.cpp:

(JSC::abstractAccess):

  • runtime/JSSymbolTableObject.h:

(JSC::symbolTablePut):
(JSC::symbolTablePutWithAttributes):

  • runtime/SymbolTable.cpp:

(JSC::SymbolTableEntry::couldBeWatched):
(JSC::SymbolTableEntry::prepareToWatch):
(JSC::SymbolTableEntry::notifyWriteSlow):

  • runtime/SymbolTable.h:

LayoutTests:

Reviewed by Sam Weinig.

  • js/regress/global-var-const-infer-expected.txt: Added.
  • js/regress/global-var-const-infer-fire-from-opt-expected.txt: Added.
  • js/regress/global-var-const-infer-fire-from-opt.html: Added.
  • js/regress/global-var-const-infer.html: Added.
  • js/regress/script-tests/global-var-const-infer-fire-from-opt.js: Added.

(foo):
(setA):
(setB):
(check):

  • js/regress/script-tests/global-var-const-infer.js: Added.

(foo):
(check):

9:19 PM Changeset in webkit [159544] by Seokju Kwon
  • 2 edits in trunk/Source/WebCore

Removal of redundant function call in Editor::insertTextWithoutSendingTextEvent
https://bugs.webkit.org/show_bug.cgi?id=124563

Reviewed by Brent Fulgham.

No new tests needed, no behavior change.

  • editing/Editor.cpp:

(WebCore::Editor::insertTextWithoutSendingTextEvent):

9:08 PM Changeset in webkit [159543] by roger_fong@apple.com
  • 5 edits in trunk/Source/ThirdParty/ANGLE

Unreviewed. Build fix for Mac.

  • src/compiler/glslang_tab.cpp:

(yysyntax_error):
(yyerror):

  • src/compiler/glslang_tab.h:
  • src/compiler/preprocessor/ExpressionParser.cpp:

(yysyntax_error):

9:04 PM Changeset in webkit [159542] by Martin Robinson
  • 2 edits in trunk/Source/ThirdParty/ANGLE

Fix the GTK+ build after the ANGLE update in r159533

  • GNUmakefile.am: Update the source list.
7:50 PM Changeset in webkit [159541] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

Fix build break after r159533.

  • CMakeLists.txt: Update ANGLE files.
7:19 PM Changeset in webkit [159540] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk/Tools

Unreviewed, rolling out r159538.
http://trac.webkit.org/changeset/159538
https://bugs.webkit.org/show_bug.cgi?id=124627

it broke run-jsc-stress-tests (Requested by mhahnenberg on
#webkit).

  • Scripts/jsc-stress-test-helpers/check-mozilla-failure: Added.
  • Scripts/run-javascriptcore-tests:
  • Scripts/run-jsc-stress-tests:
7:13 PM Changeset in webkit [159539] by roger_fong@apple.com
  • 2 edits in trunk/Source/ThirdParty/ANGLE

Unreviewed. Prospective build fix for GTK port following r159533.

  • GNUmakefile.am:
6:51 PM Changeset in webkit [159538] by mhahnenberg@apple.com
  • 3 edits
    1 delete in trunk/Tools

run-jsc-stress-tests should be able to package its tests and move them places
https://bugs.webkit.org/show_bug.cgi?id=124549

Reviewed by Geoff Garen and Filip Pizlo.

  • Scripts/jsc-stress-test-helpers/check-mozilla-failure: Removed. This script was just a ruby reimplementation

of grep -i -q

  • Scripts/run-javascriptcore-tests: Pass through the --make-bundle flag.
  • Scripts/run-jsc-stress-tests: Added the new concept of a "bundle", which is a collection of all tests and any

other files that those tests require to run in any environment along with a fixed root directory into which these
files and their expected directory structure are cloned. The default Bundle class is basically
a no-op so that it functions like run-jsc-stress-tests prior to this patch. MovableBundle is a Bundle that knows
how to translate local paths to bundle paths and does all the work of moving each test file into the right place
inside the .tests directory. After all the test files have been created in jsc-stress-results MovableBundle
creates a tarball of the entire directory for easy relocation. The --make-bundle flag causes run-jsc-stress-tests
to use MovableBundle instead of just Bundle.

6:50 PM Changeset in webkit [159537] by Lucas Forschler
  • 5 edits in branches/safari-537.73-branch/Source

Versioning.

6:49 PM Changeset in webkit [159536] by Lucas Forschler
  • 1 copy in tags/Safari-537.73.12

New Tag.

6:40 PM Changeset in webkit [159535] by commit-queue@webkit.org
  • 6 edits in trunk/LayoutTests

[EFL] Layout tests need to be rebaselined.
https://bugs.webkit.org/show_bug.cgi?id=124622

Unreviewed, EFL rebaseline.

EFL tests are rebaselined after r106181, r128728 and r133754.

Patch by Sun-woo Nam <sunny.nam@samsung.com> on 2013-11-19

  • platform/efl-wk2/TestExpectations:
  • platform/efl/fast/replaced/applet-disabled-positioned-expected.txt:
  • platform/efl/fast/replaced/applet-rendering-java-disabled-expected.txt:
  • platform/efl/fast/text/shaping/shaping-script-order-expected.txt:
  • platform/efl/fast/writing-mode/japanese-ruby-horizontal-bt-expected.txt:
6:12 PM Changeset in webkit [159534] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Implement spin control on WinCE port.
https://bugs.webkit.org/show_bug.cgi?id=123254

Patch by Zhuang Zhigang <zhuangzg@cn.fujitsu.com> on 2013-11-19
Reviewed by Brent Fulgham.

  • rendering/RenderThemeWinCE.cpp:

(WebCore::RenderThemeWinCE::adjustInnerSpinButtonStyle):
(WebCore::RenderThemeWinCE::paintInnerSpinButton):

  • rendering/RenderThemeWinCE.h:
5:52 PM Changeset in webkit [159533] by roger_fong@apple.com
  • 135 edits
    23 adds
    8 deletes in trunk/Source

Update ANGLE sources.
https://bugs.webkit.org/show_bug.cgi?id=124615.

Reviewed by Dean Jackson.

Tests covered by Khronos WebGL conformance tests.

Update ANGLE to checkout a60e0805721f62c28a55faf2df74472cc5fc91fc.
Modify xcodeproj files as necessary, update plist.
Stop using DerivedSources.make and just use the generated sources that are checked into ANGLE.
Add a note to bison generated files indicating that Apple elects to distribute said files under the BSD license:
ExpressionParser.cpp, glslang_tab.cpp, glslang_tab.h.

  • ANGLE.plist:
  • ANGLE.xcodeproj/project.pbxproj:
  • DerivedSources.make: Removed.
  • platform/graphics/ANGLEWebKitBridge.cpp: Resolve a build error that resulted from updating ANGLE.

(WebCore::getSymbolInfo):
(WebCore::ANGLEWebKitBridge::compileShaderSource):

  • include/EGL/egl.h:
  • include/EGL/eglsoftlinking.h: Removed.
  • include/GLES2/gl2.h:
  • include/GLES2/gl2softlinking.h: Removed.
  • include/GLSLANG/ShaderLang.h:
  • include/KHR/khrplatform.h:
  • src/ANGLE.sln: Added.
  • src/build_angle.gypi:
  • src/common/debug.h:
  • src/common/event_tracer.cpp: Added.

(gl::TraceGetTraceCategoryEnabledFlag):
(gl::TraceAddTraceEvent):

  • src/common/event_tracer.h: Added.
  • src/common/version.h:
  • src/compiler/CodeGen.cpp: Added.

(ConstructCompiler):
(DeleteCompiler):

  • src/compiler/CodeGenGLSL.cpp: Removed.
  • src/compiler/CodeGenHLSL.cpp: Removed.
  • src/compiler/Common.h:

(NewPoolTString):

  • src/compiler/Compiler.cpp:

(TCompiler::Init):
(TCompiler::compile):
(TCompiler::InitBuiltInSymbolTable):
(TCompiler::clearResults):
(TCompiler::collectVariables):

  • src/compiler/ConstantUnion.h:
  • src/compiler/DetectDiscontinuity.cpp:
  • src/compiler/InfoSink.h:
  • src/compiler/InitializeDll.cpp:

(InitProcess):
(DetachProcess):

  • src/compiler/InitializeDll.h:
  • src/compiler/InitializeGLPosition.cpp: Added.

(InitializeGLPosition::visitAggregate):
(InitializeGLPosition::insertCode):

  • src/compiler/InitializeGLPosition.h: Added.

(InitializeGLPosition::InitializeGLPosition):
(InitializeGLPosition::visitBinary):
(InitializeGLPosition::visitUnary):
(InitializeGLPosition::visitSelection):
(InitializeGLPosition::visitLoop):
(InitializeGLPosition::visitBranch):

  • src/compiler/InitializeGlobals.h:
  • src/compiler/InitializeParseContext.cpp:

(InitializeParseContextIndex):
(FreeParseContextIndex):
(SetGlobalParseContext):
(GetGlobalParseContext):

  • src/compiler/InitializeParseContext.h:
  • src/compiler/IntermTraverse.cpp:

(TIntermSymbol::traverse):
(TIntermConstantUnion::traverse):
(TIntermBinary::traverse):
(TIntermUnary::traverse):
(TIntermAggregate::traverse):
(TIntermSelection::traverse):
(TIntermLoop::traverse):
(TIntermBranch::traverse):

  • src/compiler/Intermediate.cpp:

(GetHigherPrecision):
(getOperatorString):
(TIntermLoop::replaceChildNode):
(TIntermBranch::replaceChildNode):
(TIntermBinary::replaceChildNode):
(TIntermUnary::replaceChildNode):
(TIntermAggregate::replaceChildNode):
(TIntermSelection::replaceChildNode):
(TIntermOperator::isAssignment):
(TIntermediate::promoteConstantUnion):

  • src/compiler/MapLongVariableNames.cpp:
  • src/compiler/MapLongVariableNames.h:
  • src/compiler/NodeSearch.h: Added.

(sh::NodeSearchTraverser::NodeSearchTraverser):
(sh::NodeSearchTraverser::found):
(sh::NodeSearchTraverser::search):
(sh::FindDiscard::visitBranch):
(sh::FindSideEffectRewriting::visitBinary):

  • src/compiler/OutputGLSLBase.cpp:

(TOutputGLSLBase::visitSelection):
(TOutputGLSLBase::visitAggregate):
(TOutputGLSLBase::visitLoop):

  • src/compiler/OutputGLSLBase.h:
  • src/compiler/OutputHLSL.cpp:

(sh::OutputHLSL::OutputHLSL):
(sh::OutputHLSL::header):
(sh::OutputHLSL::visitBinary):
(sh::OutputHLSL::visitSelection):
(sh::OutputHLSL::visitBranch):
(sh::OutputHLSL::handleExcessiveLoop):
(sh::OutputHLSL::addConstructor):

  • src/compiler/OutputHLSL.h:
  • src/compiler/ParseContext.cpp: Added.

(TParseContext::parseVectorFields):
(TParseContext::parseMatrixFields):
(TParseContext::recover):
(TParseContext::error):
(TParseContext::warning):
(TParseContext::trace):
(TParseContext::assignError):
(TParseContext::unaryOpError):
(TParseContext::binaryOpError):
(TParseContext::precisionErrorCheck):
(TParseContext::lValueErrorCheck):
(TParseContext::constErrorCheck):
(TParseContext::integerErrorCheck):
(TParseContext::globalErrorCheck):
(TParseContext::reservedErrorCheck):
(TParseContext::constructorErrorCheck):
(TParseContext::voidErrorCheck):
(TParseContext::boolErrorCheck):
(TParseContext::samplerErrorCheck):
(TParseContext::structQualifierErrorCheck):
(TParseContext::parameterSamplerErrorCheck):
(TParseContext::containsSampler):
(TParseContext::arraySizeErrorCheck):
(TParseContext::arrayQualifierErrorCheck):
(TParseContext::arrayTypeErrorCheck):
(TParseContext::arrayErrorCheck):
(TParseContext::nonInitConstErrorCheck):
(TParseContext::nonInitErrorCheck):
(TParseContext::paramErrorCheck):
(TParseContext::extensionErrorCheck):
(TParseContext::supportsExtension):
(TParseContext::isExtensionEnabled):
(TParseContext::findFunction):
(TParseContext::executeInitializer):
(TParseContext::areAllChildConst):
(TParseContext::addConstructor):
(TParseContext::foldConstConstructor):
(TParseContext::constructBuiltIn):
(TParseContext::constructStruct):
(TParseContext::addConstVectorNode):
(TParseContext::addConstMatrixNode):
(TParseContext::addConstArrayNode):
(TParseContext::addConstStruct):
(TParseContext::enterStructDeclaration):
(TParseContext::exitStructDeclaration):
(TParseContext::structNestingErrorCheck):
(TParseContext::addIndexExpression):
(PaParseStrings):

  • src/compiler/ParseContext.h: Added.

(TParseContext::TParseContext):
(TParseContext::numErrors):
(TParseContext::infoSink):
(TParseContext::pragma):
(TParseContext::extensionBehavior):

  • src/compiler/ParseHelper.cpp: Removed.
  • src/compiler/ParseHelper.h: Removed.
  • src/compiler/PoolAlloc.cpp:

(InitializePoolIndex):
(FreePoolIndex):
(GetGlobalPoolAllocator):
(SetGlobalPoolAllocator):

  • src/compiler/PoolAlloc.h:

(pool_allocator::pool_allocator):

  • src/compiler/SearchSymbol.h:
  • src/compiler/ShHandle.h:

(TCompiler::getVaryings):

  • src/compiler/ShaderLang.cpp:

(checkVariableMaxLengths):
(ShInitialize):
(ShFinalize):
(ShConstructCompiler):
(ShCompile):
(ShGetInfo):
(ShGetVariableInfo):
(ShCheckVariablesWithinPackingLimits):

  • src/compiler/SymbolTable.cpp:

(TSymbolTable::~TSymbolTable):

  • src/compiler/SymbolTable.h:

(TSymbol::TSymbol):
(TSymbolTableLevel::insert):
(TSymbolTable::push):
(TSymbolTable::pop):
(TSymbolTable::findBuiltIn):
(TSymbolTable::relateToExtension):
(TSymbolTable::setDefaultPrecision):
(TSymbolTable::getDefaultPrecision):
(TSymbolTable::supportsPrecision):

  • src/compiler/Types.h:

(NewPoolTFieldList):
(TType::TType):
(TType::setNominalSize):
(TPublicType::setAggregate):

  • src/compiler/UnfoldShortCircuit.cpp:

(sh::UnfoldShortCircuit::visitBinary):
(sh::UnfoldShortCircuit::visitSelection):

  • src/compiler/UnfoldShortCircuit.h:
  • src/compiler/UnfoldShortCircuitAST.cpp: Added.

(UnfoldShortCircuitAST::visitBinary):
(UnfoldShortCircuitAST::updateTree):

  • src/compiler/UnfoldShortCircuitAST.h: Added.

(UnfoldShortCircuitAST::UnfoldShortCircuitAST):
(UnfoldShortCircuitAST::NodeUpdateEntry::NodeUpdateEntry):

  • src/compiler/Uniform.cpp:

(sh::Uniform::Uniform):

  • src/compiler/Uniform.h:
  • src/compiler/ValidateLimitations.cpp:

(ValidateLimitations::validateFunctionCall):
(ValidateLimitations::validateOperation):

  • src/compiler/VariableInfo.cpp:

(TVariableInfo::TVariableInfo):
(CollectVariables::CollectVariables):
(CollectVariables::visitSymbol):
(CollectVariables::visitAggregate):

  • src/compiler/VariableInfo.h:
  • src/compiler/debug.cpp:
  • src/compiler/depgraph/DependencyGraph.cpp:
  • src/compiler/depgraph/DependencyGraphBuilder.cpp:

(TDependencyGraphBuilder::visitBinary):

  • src/compiler/generate_parser.sh:
  • src/compiler/glslang.l:
  • src/compiler/glslang.y:
  • src/compiler/glslang_lex.cpp:

(input):
(yyerror):
(int_constant):
(float_constant):
(glslang_scan):

  • src/compiler/glslang_tab.cpp:

(yysyntax_error):
(glslang_parse):

  • src/compiler/glslang_tab.h:
  • src/compiler/intermediate.h:

(TIntermSymbol::hasSideEffects):
(TIntermSymbol::replaceChildNode):
(TIntermConstantUnion::hasSideEffects):
(TIntermConstantUnion::getIConst):
(TIntermConstantUnion::getFConst):
(TIntermConstantUnion::getBConst):
(TIntermConstantUnion::replaceChildNode):
(TIntermOperator::hasSideEffects):
(TIntermBinary::hasSideEffects):
(TIntermUnary::hasSideEffects):
(TIntermAggregate::hasSideEffects):
(TIntermSelection::hasSideEffects):
(TIntermTraverser::~TIntermTraverser):
(TIntermTraverser::incrementDepth):
(TIntermTraverser::decrementDepth):
(TIntermTraverser::getParentNode):

  • src/compiler/localintermediate.h:
  • src/compiler/parseConst.cpp:
  • src/compiler/preprocessor/ExpressionParser.cpp:

(yy_symbol_print):
(yy_stack_print):
(yy_reduce_print):
(yystrlen):
(yystpcpy):
(yytnamerr):
(yysyntax_error):
(yydestruct):
(yyparse):

  • src/compiler/preprocessor/ExpressionParser.y:
  • src/compiler/preprocessor/Preprocessor.cpp:

(pp::Preprocessor::setMaxTokenLength):
(pp::Preprocessor::lex):

  • src/compiler/preprocessor/Preprocessor.h:
  • src/compiler/preprocessor/Tokenizer.cpp:

(pp::Tokenizer::Tokenizer):
(pp::Tokenizer::lex):

  • src/compiler/preprocessor/Tokenizer.h:

(pp::Tokenizer::setMaxTokenLength):

  • src/compiler/preprocessor/Tokenizer.l:
  • src/compiler/preprocessor/generate_parser.sh:
  • src/compiler/preprocessor/preprocessor.vcxproj: Added.
  • src/compiler/preprocessor/preprocessor.vcxproj.filters: Added.
  • src/compiler/timing/RestrictFragmentShaderTiming.cpp:
  • src/compiler/translator.vcxproj: Added.
  • src/compiler/translator.vcxproj.filters: Added.
  • src/compiler/util.cpp:

(atof_clamp):
(atoi_clamp):

  • src/compiler/util.h:
  • src/libEGL/Surface.cpp:

(egl::Surface::checkForOutOfDateSwapChain):

  • src/libEGL/libEGL.cpp:
  • src/libEGL/libEGL.rc:
  • src/libEGL/libEGL.vcxproj: Added.
  • src/libEGL/libEGL.vcxproj.filters: Added.
  • src/libGLESv2/Buffer.cpp:

(gl::Buffer::bufferData):
(gl::Buffer::bufferSubData):
(gl::Buffer::size):
(gl::Buffer::getIndexRangeCache):

  • src/libGLESv2/Buffer.h:
  • src/libGLESv2/Context.cpp:

(gl::Context::applyTextures):
(gl::Context::getBoundFramebufferTextureSerials):

  • src/libGLESv2/Context.h:

(gl::Context::getRenderer):

  • src/libGLESv2/Framebuffer.h:
  • src/libGLESv2/ProgramBinary.cpp:

(gl::DiscardWorkaround):
(gl::ProgramBinary::load):
(gl::ProgramBinary::link):
(gl::ProgramBinary::linkAttributes):
(gl::AttributeSorter::AttributeSorter):
(gl::ProgramBinary::initAttributesByLayout):
(gl::ProgramBinary::sortAttributesByLayout):

  • src/libGLESv2/ProgramBinary.h:
  • src/libGLESv2/Renderbuffer.cpp:

(gl::RenderbufferTexture2D::getTextureSerial):
(gl::RenderbufferTextureCubeMap::getTextureSerial):
(gl::Renderbuffer::getTextureSerial):

  • src/libGLESv2/Renderbuffer.h:

(gl::RenderbufferStorage::getTextureSerial):

  • src/libGLESv2/Shader.cpp:

(gl::Shader::parseVaryings):
(gl::Shader::uncompile):

  • src/libGLESv2/Shader.h:
  • src/libGLESv2/Texture.cpp:

(gl::TextureCubeMap::storage):

  • src/libGLESv2/Uniform.cpp:

(gl::Uniform::Uniform):
(gl::Uniform::~Uniform):
(gl::Uniform::isArray):
(gl::Uniform::elementCount):

  • src/libGLESv2/Uniform.h:
  • src/libGLESv2/constants.h: Removed.
  • src/libGLESv2/libGLESv2.def:
  • src/libGLESv2/libGLESv2.rc:
  • src/libGLESv2/libGLESv2.vcxproj: Added.
  • src/libGLESv2/libGLESv2.vcxproj.filters: Added.
  • src/libGLESv2/precompiled.h:
  • src/libGLESv2/renderer/Image11.cpp:

(rx::Image11::generateMipmap):
(rx::Image11::loadData):
(rx::Image11::loadCompressedData):
(rx::Image11::copy):
(rx::Image11::createStagingTexture):
(rx::Image11::map):

  • src/libGLESv2/renderer/Image11.h:
  • src/libGLESv2/renderer/IndexBuffer.cpp:

(rx::IndexBufferInterface::mapBuffer):
(rx::StaticIndexBufferInterface::getIndexRangeCache):

  • src/libGLESv2/renderer/IndexBuffer.h:
  • src/libGLESv2/renderer/IndexBuffer11.cpp:

(rx::IndexBuffer11::mapBuffer):

  • src/libGLESv2/renderer/IndexDataManager.cpp:

(rx::IndexDataManager::prepareIndexData):
(rx::IndexDataManager::getCountingIndices):

  • src/libGLESv2/renderer/IndexRangeCache.cpp: Added.

(rx::IndexRangeCache::addRange):
(rx::IndexRangeCache::invalidateRange):
(rx::IndexRangeCache::findRange):
(rx::IndexRangeCache::clear):
(rx::IndexRangeCache::IndexRange::IndexRange):
(rx::IndexRangeCache::IndexRange::operator<):
(rx::IndexRangeCache::IndexBounds::IndexBounds):

  • src/libGLESv2/renderer/IndexRangeCache.h: Added.
  • src/libGLESv2/renderer/InputLayoutCache.cpp:

(rx::InputLayoutCache::InputLayoutCache):
(rx::InputLayoutCache::clear):
(rx::InputLayoutCache::markDirty):
(rx::InputLayoutCache::applyVertexBuffers):
(rx::InputLayoutCache::hashInputLayout):
(rx::InputLayoutCache::compareInputLayouts):

  • src/libGLESv2/renderer/InputLayoutCache.h:

(rx::InputLayoutCache::InputLayoutKey::begin):
(rx::InputLayoutCache::InputLayoutKey::end):

  • src/libGLESv2/renderer/RenderTarget11.cpp:

(rx::RenderTarget11::getTexture):
(rx::RenderTarget11::getRenderTargetView):
(rx::RenderTarget11::getDepthStencilView):
(rx::RenderTarget11::getShaderResourceView):

  • src/libGLESv2/renderer/RenderTarget11.h:
  • src/libGLESv2/renderer/Renderer.cpp:

(rx::Renderer::initializeCompiler):

  • src/libGLESv2/renderer/Renderer.h:
  • src/libGLESv2/renderer/Renderer11.cpp:

(rx::Renderer11::initialize):
(rx::Renderer11::applyPrimitiveType):
(rx::Renderer11::applyRenderTarget):
(rx::Renderer11::drawLineLoop):
(rx::Renderer11::drawTriangleFan):
(rx::Renderer11::applyUniforms):
(rx::Renderer11::clear):
(rx::Renderer11::markAllStateDirty):
(rx::Renderer11::copyImage):
(rx::Renderer11::compileToExecutable):
(rx::Renderer11::getRenderTargetResource):
(rx::Renderer11::blitRenderbufferRect):

  • src/libGLESv2/renderer/Renderer11.h:
  • src/libGLESv2/renderer/Renderer9.cpp:

(rx::Renderer9::initialize):
(rx::Renderer9::setViewport):
(rx::Renderer9::drawLineLoop):
(rx::Renderer9::compileToExecutable):

  • src/libGLESv2/renderer/Renderer9.h:
  • src/libGLESv2/renderer/SwapChain.h:
  • src/libGLESv2/renderer/SwapChain11.cpp:

(rx::SwapChain11::resetOffscreenTexture):
(rx::SwapChain11::reset):
(rx::SwapChain11::swapRect):

  • src/libGLESv2/renderer/SwapChain9.cpp:

(rx::convertInterval):

  • src/libGLESv2/renderer/TextureStorage11.cpp:

(rx::TextureStorage11::IsTextureFormatRenderable):
(rx::TextureStorage11::generateMipmapLayer):
(rx::TextureStorage11_Cube::getRenderTarget):

  • src/libGLESv2/renderer/VertexBuffer.cpp:

(rx::VertexBufferInterface::storeVertexAttributes):
(rx::VertexBufferInterface::storeRawData):
(rx::VertexBufferInterface::reserveVertexSpace):
(rx::StaticVertexBufferInterface::lookupAttribute):
(rx::StaticVertexBufferInterface::storeVertexAttributes):

  • src/libGLESv2/renderer/VertexBuffer.h:
  • src/libGLESv2/renderer/VertexBuffer11.cpp:

(rx::VertexBuffer11::getSpaceRequired):

  • src/libGLESv2/renderer/VertexBuffer11.h:
  • src/libGLESv2/renderer/VertexBuffer9.cpp:

(rx::VertexBuffer9::storeVertexAttributes):
(rx::VertexBuffer9::getSpaceRequired):
(rx::VertexBuffer9::requiresConversion):
(rx::VertexBuffer9::getVertexSize):
(rx::VertexBuffer9::spaceRequired):

  • src/libGLESv2/renderer/VertexBuffer9.h:
  • src/libGLESv2/renderer/VertexDataManager.cpp:

(rx::elementsInBuffer):
(rx::StreamingBufferElementCount):
(rx::VertexDataManager::prepareVertexData):

  • src/libGLESv2/renderer/VertexDataManager.h:
  • src/libGLESv2/renderer/renderer11_utils.cpp:

(gl_d3d11::ConvertTextureFormat):

  • src/libGLESv2/renderer/shaders/compiled/clear11vs.h:
  • src/libGLESv2/renderer/shaders/compiled/clearmultiple11ps.h:
  • src/libGLESv2/renderer/shaders/compiled/clearsingle11ps.h:
  • src/libGLESv2/renderer/shaders/compiled/componentmaskps.h:
  • src/libGLESv2/renderer/shaders/compiled/flipyvs.h:
  • src/libGLESv2/renderer/shaders/compiled/luminanceps.h:
  • src/libGLESv2/renderer/shaders/compiled/passthrough11vs.h:
  • src/libGLESv2/renderer/shaders/compiled/passthroughlum11ps.h:
  • src/libGLESv2/renderer/shaders/compiled/passthroughlumalpha11ps.h:
  • src/libGLESv2/renderer/shaders/compiled/passthroughps.h:
  • src/libGLESv2/renderer/shaders/compiled/passthroughrgb11ps.h:
  • src/libGLESv2/renderer/shaders/compiled/passthroughrgba11ps.h:
  • src/libGLESv2/renderer/shaders/compiled/standardvs.h:
  • src/libGLESv2/renderer/shaders/generate_shaders.bat:
  • src/libGLESv2/utilities.cpp:

(gl::ComputeTypeSize):

  • src/libGLESv2/utilities.h:
  • src/third_party/murmurhash/MurmurHash3.cpp:

(rotl32):
(rotl64):
(getblock):
(fmix):
(MurmurHash3_x86_32):
(MurmurHash3_x86_128):
(MurmurHash3_x64_128):

  • src/third_party/murmurhash/MurmurHash3.h:
  • src/third_party/trace_event: Added.
  • src/third_party/trace_event/trace_event.h: Added.

(gl::TraceEvent::TraceID::TraceID):
(gl::TraceEvent::TraceID::data):
(gl::TraceEvent::TraceStringWithCopy::TraceStringWithCopy):
(gl::TraceEvent::TraceStringWithCopy::operator const char* ):
(gl::TraceEvent::setTraceValue):
(gl::TraceEvent::addTraceEvent):
(gl::TraceEvent::TraceEndOnScopeClose::TraceEndOnScopeClose):
(gl::TraceEvent::TraceEndOnScopeClose::~TraceEndOnScopeClose):
(gl::TraceEvent::TraceEndOnScopeClose::initialize):
(gl::TraceEvent::TraceEndOnScopeClose::addEventIfEnabled):
(gl::TraceEvent::SamplingStateScope::SamplingStateScope):
(gl::TraceEvent::SamplingStateScope::~SamplingStateScope):
(gl::TraceEvent::SamplingStateScope::current):
(gl::TraceEvent::SamplingStateScope::set):

4:35 PM Changeset in webkit [159532] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

REGRESSION(158384) ARMv7 point checks too restrictive for native calls to traditional ARM code
https://bugs.webkit.org/show_bug.cgi?id=124612

Reviewed by Geoffrey Garen.

Removed ASSERT checks (i.e. lower bit set) for ARM Thumb2 destination addresses related to
calls since we are calling native ARM traditional functions like sin() and cos().

  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::linkCall):
(JSC::ARMv7Assembler::relinkCall):

  • assembler/MacroAssemblerCodeRef.h:
4:29 PM Changeset in webkit [159531] by commit-queue@webkit.org
  • 7 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r159459.
http://trac.webkit.org/changeset/159459
https://bugs.webkit.org/show_bug.cgi?id=124616

tons of assertions on launch (Requested by thorton on
#webkit).

  • API/JSContext.mm:

(-[JSContext setException:]):
(-[JSContext wrapperForObjCObject:]):
(-[JSContext wrapperForJSObject:]):

  • API/JSContextRef.cpp:

(JSContextGroupRelease):
(JSGlobalContextRelease):

  • API/JSManagedValue.mm:

(-[JSManagedValue initWithValue:]):
(-[JSManagedValue value]):

  • API/JSObjectRef.cpp:

(JSObjectIsFunction):
(JSObjectCopyPropertyNames):

  • API/JSValue.mm:

(containerValueToObject):

  • API/JSWrapperMap.mm:

(tryUnwrapObjcObject):

3:58 PM Changeset in webkit [159530] by Lucas Forschler
  • 5 edits in branches/safari-537.73-branch/Source

Versioning.

3:54 PM Changeset in webkit [159529] by matthew_hanson@apple.com
  • 2 edits in tags/Safari-538.7/Source/JavaScriptCore

Merge of 159515.

3:48 PM Changeset in webkit [159528] by fpizlo@apple.com
  • 11 edits in trunk/Source

Rename WatchpointSet::notifyWrite() should be renamed to WatchpointSet::fireAll()
https://bugs.webkit.org/show_bug.cgi?id=124609

Source/JavaScriptCore:

Rubber stamped by Mark Lam.

notifyWrite() is a thing that SymbolTable does. WatchpointSet uses that terminology
because it was original designed to match exactly SymbolTable's semantics. But now
it's a confusing term.

  • bytecode/Watchpoint.cpp:

(JSC::WatchpointSet::fireAllSlow):

  • bytecode/Watchpoint.h:

(JSC::WatchpointSet::fireAll):
(JSC::InlineWatchpointSet::fireAll):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::put):
(JSC::JSFunction::defineOwnProperty):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::haveABadTime):

  • runtime/Structure.h:

(JSC::Structure::notifyTransitionFromThisStructure):

  • runtime/SymbolTable.cpp:

(JSC::SymbolTableEntry::notifyWriteSlow):

Source/WebCore:

Rubber stamped by Mark Lam.

No new tests because no new behavior.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):

  • bindings/scripts/test/JS/JSTestEventTarget.h:

(WebCore::JSTestEventTarget::create):

3:47 PM Changeset in webkit [159527] by matthew_hanson@apple.com
  • 5 edits in tags/Safari-538.7/Source/JavaScriptCore

Merge of 159508.

3:38 PM Changeset in webkit [159526] by betravis@adobe.com
  • 15 edits in trunk
[CSS Shapes] Parse [<box>
<shape>] values

https://bugs.webkit.org/show_bug.cgi?id=124426

Reviewed by Dirk Schulze.

Source/WebCore:

Shape values can now have an optional box specifying the coordinate sytem to use
for sizing and positioning the shape. This patch adds the functionality to support
parsing these new values.

  • css/BasicShapeFunctions.cpp:

(WebCore::valueForBox): Added function to convert between BasicShape::ReferenceBox
and CSSPrimitiveValue (which wraps a CSSValueID).
(WebCore::boxForValue): Ditto.
(WebCore::valueForBasicShape): Translations between CSSBasicShape and BasicShape
must now include the reference box.
(WebCore::basicShapeForValue): Ditto.

  • css/BasicShapeFunctions.h:
  • css/CSSBasicShapes.cpp:

(WebCore::buildRectangleString): Include the box in the built CSS string.
(WebCore::CSSBasicShapeRectangle::cssText): Ditto.
(WebCore::CSSBasicShapeRectangle::equals): Include the box in comparisions.
(WebCore::buildCircleString):
(WebCore::CSSBasicShapeCircle::cssText):
(WebCore::CSSBasicShapeCircle::equals):
(WebCore::buildEllipseString):
(WebCore::CSSBasicShapeEllipse::cssText):
(WebCore::CSSBasicShapeEllipse::equals):
(WebCore::buildPolygonString):
(WebCore::CSSBasicShapePolygon::cssText):
(WebCore::CSSBasicShapePolygon::equals):
(WebCore::buildInsetRectangleString):
(WebCore::CSSBasicShapeInsetRectangle::cssText):
(WebCore::CSSBasicShapeInsetRectangle::equals):

  • css/CSSBasicShapes.h:

(WebCore::CSSBasicShape::box): BasicShapes now have an reference box.
(WebCore::CSSBasicShape::setBox): Ditto.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue): Shape-inside can also
parse the box values.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue): The shape properties use parseShapeProperty,
while minor adjustments were made to parseBasicShape's return type.
(WebCore::isBoxValue): Is the CSSValueID one of the box values.
(WebCore::CSSParser::parseShapeProperty): Parse one of the shape properties
and return an appropriate CSSValue.
(WebCore::CSSParser::parseBasicShape): Return a CSSBasicShape rather than
adding a ShapeValue to the style.

  • css/CSSParser.h:
  • rendering/style/BasicShapes.h:

(WebCore::BasicShape::box): Add a box to BasicShape and getters/setters.
(WebCore::BasicShape::setBox): Ditto.
(WebCore::BasicShape::BasicShape): Ditto.

LayoutTests:

Test that <box> <shape> and <shape> <box> values are both supported and successfully parsed.
Currently, we order the parsed result as <shape> <box> when the value is output through
the CSSOM. Also test that other combinations with shapes and boxes are not parsed.

  • fast/shapes/parsing/parsing-shape-inside-expected.txt:
  • fast/shapes/parsing/parsing-shape-inside.html:
  • fast/shapes/parsing/parsing-shape-outside-expected.txt:
  • fast/shapes/parsing/parsing-shape-outside.html:
  • fast/shapes/parsing/parsing-test-utils.js:
3:06 PM Changeset in webkit [159525] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] 9 WebGL conformance failures after r159518.
https://bugs.webkit.org/show_bug.cgi?id=124608

Reviewed by Dean Jackson.

Once we removed the CIImage drawing path, there was no longer any reason to flip the
CGImageRef before drawing to the provided GraphicsContext.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):

2:57 PM Changeset in webkit [159524] by matthew_hanson@apple.com
  • 14 edits
    1 copy in tags/Safari-538.7/Source/JavaScriptCore

Rollout r159483. This change effectively adds r159351 back into the tag.

2:50 PM Changeset in webkit [159523] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

Web Speech API crashes onboundary event handling with reload
https://bugs.webkit.org/show_bug.cgi?id=124607

Reviewed by Tim Horton.

If the page goes away, we need to cleanup the Mac platform synthesizer object, because
NSSpeechSynthesizer is retained elsewhere to handle the callbacks (so it doesn't automatically
get torn down).

The layout tests for speech rely on a Mock synthesizer, so there is no good way to test this
Mac platform specific behavior.

  • platform/mac/PlatformSpeechSynthesizerMac.mm:

(-[WebSpeechSynthesisWrapper invalidate]):
(WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):

2:27 PM Changeset in webkit [159522] by mitz@apple.com
  • 2 edits in trunk/Tools

<rdar://problem/15139479> Reenable the JSC Objective-C API tests on Mountain Lion once the bots are running Xcode 5

Rubber-stamped by Mark Rowe.

Reverted r156840.

  • TestWebKitAPI/Tests/mac/WebViewDidCreateJavaScriptContext.mm:
1:59 PM Changeset in webkit [159521] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION (r159395): Error compiling for ARMv7
https://bugs.webkit.org/show_bug.cgi?id=124552

Reviewed by Geoffrey Garen.

Fixed the implementation of branch8(RelationalCondition cond, AbsoluteAddress address, TrustedImm32 right)
to materialize and use address similar to other ARMv7 branchXX() functions.

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::branch8):

1:55 PM Changeset in webkit [159520] by mark.lam@apple.com
  • 34 edits
    5 adds in trunk

Add tracking of endColumn for Executables.
https://bugs.webkit.org/show_bug.cgi?id=124245.

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  1. Fixed computation of columns to take into account the startColumn from <script> tags. Previously, we were only computing the column relative to the char after the <script> tag. Now, the column number that JSC computes is always the column number you'll see when viewing the source in a text editor (assuming the first column position is 1, not 0).
  1. Previously, unlinkedExecutables kept the a base-1 startColumn for ProgramExecutables and EvalExecutables, but uses base-0 columns for FunctionExecutables. This has been fixed so that they all use base-0 columns. When the executable gets linked, the column is adjusted into a base-1 value.
  1. In the UnlinkedFunctionExecutable, renamed m_functionStartOffset to m_unlinkedFunctionNameStart because it actually points to the start column in the name part of the function declaration.

Similarly, renamed m_functionStartColumn to m_unlinkedBodyStartColumn
because it points to the first character in the function body. This is
usually '{' except for functions created from "global code" which
excludes its braces. See FunctionExecutable::fromGlobalCode().

The exclusion of braces for the global code case is needed so that

computed start and end columns will more readily map to what a JS
developer would expect them to be. Otherwise, the first column of the
function source will not be 1 (includes prepended characters added in
constructFunctionSkippingEvalEnabledCheck()).

Also, similarly, a m_unlinkedBodyEndColumn has been added to track the
end column of the UnlinkedFunctionExecutable.

  1. For unlinked executables, end column values are either:
    1. Relative to the start of the last line if (last line != first line).
    2. Relative to the start column position if (last line == first line).

The second case is needed so that we can add an appropriate adjustment
to the end column value (just like we do for the start column) when we
link the executable.

  1. This is not new to this patch, but it worth noting that the lineCount values used through this patch has the following meaning:
    • a lineCount of 0 means the source for this code block is on 1 line.
    • a lineCount of N means there are N + l lines of source.

This interpretation is janky, but was present before this patch. We can
clean that up later in another patch.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • In order to implement WebCore::Internals::parserMetaData(), we need to move some seemingly unrelated header files from the Project section to the Private section so that they can be #include'd by the forwarding CodeBlock.h from WebCore.
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::sourceCodeForTools):
(JSC::CodeBlock::CodeBlock):

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::generateFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):

  • m_isFromGlobalCode is needed to support the exclusion of the open brace / prepended code for functions created from "global code".

(JSC::UnlinkedFunctionExecutable::link):
(JSC::UnlinkedFunctionExecutable::fromGlobalCode):
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):

  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedFunctionExecutable::create):
(JSC::UnlinkedFunctionExecutable::unlinkedFunctionNameStart):
(JSC::UnlinkedFunctionExecutable::unlinkedBodyStartColumn):
(JSC::UnlinkedFunctionExecutable::unlinkedBodyEndColumn):
(JSC::UnlinkedFunctionExecutable::recordParse):
(JSC::UnlinkedCodeBlock::recordParse):
(JSC::UnlinkedCodeBlock::endColumn):

  • bytecompiler/NodesCodegen.cpp:

(JSC::FunctionBodyNode::emitBytecode):

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createFunctionBody):
(JSC::ASTBuilder::setFunctionNameStart):

  • parser/Lexer.cpp:

(JSC::::shiftLineTerminator):

  • Removed an unused SourceCode Lexer<T>::sourceCode() function.
  • parser/Lexer.h:

(JSC::Lexer::positionBeforeLastNewline):
(JSC::Lexer::prevTerminator):

  • Added tracking of m_positionBeforeLastNewline in the Lexer to enable us to exclude the close brace / appended code for functions created from "global code".
  • parser/Nodes.cpp:

(JSC::ProgramNode::ProgramNode):
(JSC::ProgramNode::create):
(JSC::EvalNode::EvalNode):
(JSC::EvalNode::create):
(JSC::FunctionBodyNode::FunctionBodyNode):
(JSC::FunctionBodyNode::create):
(JSC::FunctionBodyNode::setEndPosition):

  • setEndPosition() is needed to fixed up the end position so that we can exclude the close brace / appended code for functions created from "global code".
  • parser/Nodes.h:

(JSC::ProgramNode::startColumn):
(JSC::ProgramNode::endColumn):
(JSC::EvalNode::startColumn):
(JSC::EvalNode::endColumn):
(JSC::FunctionBodyNode::setFunctionNameStart):
(JSC::FunctionBodyNode::functionNameStart):
(JSC::FunctionBodyNode::endColumn):

  • parser/Parser.cpp:

(JSC::::parseFunctionBody):
(JSC::::parseFunctionInfo):

  • parser/Parser.h:

(JSC::Parser::positionBeforeLastNewline):
(JSC::::parse):

  • Subtracted 1 from startColumn here to keep the node column values consistently base-0. See note 2 above.

(JSC::parse):

  • parser/SourceProviderCacheItem.h:

(JSC::SourceProviderCacheItem::SourceProviderCacheItem):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createFunctionBody):
(JSC::SyntaxChecker::setFunctionNameStart):

  • runtime/CodeCache.cpp:

(JSC::CodeCache::getGlobalCodeBlock):
(JSC::CodeCache::getProgramCodeBlock):
(JSC::CodeCache::getEvalCodeBlock):
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):

  • runtime/CodeCache.h:
  • runtime/Executable.cpp:

(JSC::ScriptExecutable::newCodeBlockFor):
(JSC::FunctionExecutable::FunctionExecutable):
(JSC::ProgramExecutable::initializeGlobalProperties):
(JSC::FunctionExecutable::fromGlobalCode):

  • runtime/Executable.h:

(JSC::ExecutableBase::isEvalExecutable):
(JSC::ExecutableBase::isProgramExecutable):
(JSC::ScriptExecutable::ScriptExecutable):
(JSC::ScriptExecutable::endColumn):
(JSC::ScriptExecutable::recordParse):
(JSC::FunctionExecutable::create):
(JSC::FunctionExecutable::bodyIncludesBraces):

  • runtime/FunctionConstructor.cpp:

(JSC::constructFunctionSkippingEvalEnabledCheck):

  • runtime/FunctionPrototype.cpp:

(JSC::insertSemicolonIfNeeded):
(JSC::functionProtoFuncToString):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::createProgramCodeBlock):
(JSC::JSGlobalObject::createEvalCodeBlock):

Source/WebCore:

Test: js/dom/script-start-end-locations.html

  • ForwardingHeaders/bytecode: Added.
  • ForwardingHeaders/bytecode/CodeBlock.h: Added.
  • WebCore.exp.in:
  • testing/Internals.cpp:

(WebCore::GetCallerCodeBlockFunctor::GetCallerCodeBlockFunctor):
(WebCore::GetCallerCodeBlockFunctor::operator()):
(WebCore::GetCallerCodeBlockFunctor::codeBlock):
(WebCore::Internals::parserMetaData):

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
  • Added an exported symbol to make the Win32 build happy. The Win64 symbol is currently a copy of the Win32 one. It'll need to be updated if the mangled symbol is different for Win64.

LayoutTests:

  • fast/events/window-onerror2-expected.txt:
  • inspector-protocol/debugger/setBreakpoint-actions-expected.txt:
  • js/dom/script-start-end-locations-expected.txt: Added.
  • js/dom/script-start-end-locations.html: Added.
  • js/dom/script-tests/script-start-end-locations.js: Added.
  • js/dom/stack-trace-expected.txt:
  • js/dom/stack-trace.html:
  • Changed tabs to spaces. The tabs were making it hard to visually confirm the exected column values for 2 functions.
1:39 PM Changeset in webkit [159519] by jer.noble@apple.com
  • 20 edits
    4 adds in trunk

[MSE] Support fastSeek() in MediaSource.
https://bugs.webkit.org/show_bug.cgi?id=124422

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/media-source/media-source-fastseek.html

  • Modules/mediasource/MediaSource.cpp:
  • Modules/mediasource/MediaSource.h:

Add support for "seek to the next fastest time" in MediaSource by
returning the time of the nearest Sync sample.

Move the data structure logic out of SourceBuffer and into it's own
class:

  • Modules/mediasource/SampleMap.cpp: Added.

(WebCore::SampleIsLessThanMediaTimeComparator::operator()):
(WebCore::SampleIsGreaterThanMediaTimeComparator::operator()):
(WebCore::SampleIsRandomAccess::operator()):
(WebCore::SamplePresentationTimeIsWithinRangeComparator::operator()):
(WebCore::SampleMap::addSample):
(WebCore::SampleMap::removeSample):
(WebCore::SampleMap::findSampleContainingPresentationTime):
(WebCore::SampleMap::findSampleAfterPresentationTime):
(WebCore::SampleMap::findSampleWithDecodeTime):
(WebCore::SampleMap::reverseFindSampleContainingPresentationTime):
(WebCore::SampleMap::reverseFindSampleBeforePresentationTime):
(WebCore::SampleMap::reverseFindSampleWithDecodeTime):
(WebCore::SampleMap::findSyncSamplePriorToPresentationTime):
(WebCore::SampleMap::findSyncSamplePriorToDecodeIterator):
(WebCore::SampleMap::findSyncSampleAfterPresentationTime):
(WebCore::SampleMap::findSyncSampleAfterDecodeIterator):
(WebCore::SampleMap::findSamplesBetweenPresentationTimes):
(WebCore::SampleMap::findDependentSamples):

  • Modules/mediasource/SampleMap.h: Added.

(WebCore::SampleMap::presentationBegin):
(WebCore::SampleMap::presentationEnd):
(WebCore::SampleMap::decodeBegin):
(WebCore::SampleMap::decodeEnd):
(WebCore::SampleMap::reversePresentationBegin):
(WebCore::SampleMap::reversePresentationEnd):
(WebCore::SampleMap::reverseDecodeBegin):
(WebCore::SampleMap::reverseDecodeEnd):

Add logic to find and return the time of the next & previous sync
sample, within the threshold provided:

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::TrackBuffer::TrackBuffer):
(WebCore::SourceBuffer::sourceBufferPrivateSeekToTime):
(WebCore::SourceBuffer::sourceBufferPrivateFastSeekTimeForMediaTime):
(WebCore::SourceBuffer::appendBufferTimerFired):
(WebCore::SourceBuffer::setActive):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
(WebCore::SourceBuffer::sourceBufferPrivateDidBecomeReadyForMoreSamples):
(WebCore::SourceBuffer::provideMediaData):

  • Modules/mediasource/SourceBuffer.h:
  • platform/graphics/SourceBufferPrivate.h:

(WebCore::SourceBufferPrivate::setActive):

  • platform/graphics/SourceBufferPrivateClient.h:

(WebCore::SourceBufferPrivateClient::sourceBufferPrivateFastSeekTimeForMediaTime):
(WebCore::SourceBufferPrivateClient::sourceBufferPrivateSeekToTime):

Add new files to the project:

  • WebCore.xcodeproj/project.pbxproj:

Drive-by fixes in HTMLMediaElement:

  • html/HTMLMediaSource.h:
  • html/HTMLMediaElement.cpp:

(HTMLMediaElement::finishSeek): Cause the MediaSource to check the ready state of all its buffers.
(HTMLMediaElement::selectNextSourceChild): Pass in whether the source element has a MediaSource URL.

Implement the seekWithTolerance behavior in MockMediaPlayerMediaSource:

  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::maxTimeSeekableDouble):
(WebCore::MockMediaPlayerMediaSource::currentTimeDouble):
(WebCore::MockMediaPlayerMediaSource::seekWithTolerance):
(WebCore::MockMediaPlayerMediaSource::advanceCurrentTime):

  • platform/mock/mediasource/MockMediaPlayerMediaSource.h:
  • platform/mock/mediasource/MockMediaSourcePrivate.cpp:

(WebCore::MockMediaSourcePrivate::seekToTime):

  • platform/mock/mediasource/MockMediaSourcePrivate.h:
  • platform/mock/mediasource/MockSourceBufferPrivate.cpp:

(WebCore::MockMediaSample::flags):
(WebCore::MockSourceBufferPrivate::setActive):
(WebCore::MockSourceBufferPrivate::fastSeekTimeForMediaTime):
(WebCore::MockSourceBufferPrivate::seekToTime):

  • platform/mock/mediasource/MockSourceBufferPrivate.h:

LayoutTests:

  • media/media-source/media-source-fastseek-expected.txt: Added.
  • media/media-source/media-source-fastseek.html: Added.
  • media/media-source/mock-media-source.js:

(var):

1:37 PM Changeset in webkit [159518] by jer.noble@apple.com
  • 9 edits in trunk/Source/WebCore

[Mac] 10X slower than Chrome when drawing a video into a canvas
https://bugs.webkit.org/show_bug.cgi?id=124599

Reviewed by Dean Jackson.

Improve performance by creating a CGImageRef which directly references the CVPixelBuffer provided
by AVPlayerItemVideoOutput:

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::CVPixelBufferGetBytePointerCallback):
(WebCore::CVPixelBufferReleaseBytePointerCallback):
(WebCore::CVPixelBufferReleaseInfoCallback):
(WebCore::createImageFromPixelBuffer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateLastImage):

Additionally, when asked to paint with an AVPlayerItemVideoOutput, block until the output notifies
its delegate that a pixel buffer is available:

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::globalPullDelegateQueue):
(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::nativeImageForCurrentTime):
(WebCore::MediaPlayerPrivateAVFoundationObjC::waitForVideoOutputMediaDataWillChange):
(WebCore::MediaPlayerPrivateAVFoundationObjC::outputMediaDataWillChange):
(-[WebCoreAVFPullDelegate initWithCallback:]):
(-[WebCoreAVFPullDelegate outputMediaDataWillChange:]):
(-[WebCoreAVFPullDelegate outputSequenceWasFlushed:]):

To further optimize video -> canvas drawing, add a method which can return a PassNativeImage to be
drawn directly onto the canvas, rather than rendering into an intermediary context:

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::nativeImageForCurrentTime):

  • html/HTMLVideoElement.h:
  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::drawImage):

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::nativeImageForCurrentTime):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::nativeImageForCurrentTime):

1:23 PM Changeset in webkit [159517] by beidson@apple.com
  • 10 edits
    3 deletes in trunk/Source/WebCore

Consolidate IDBBackingStore*Interface and IDBBackingStore*LevelDB
https://bugs.webkit.org/show_bug.cgi?id=124597

Reviewed by Alexey Proskuryakov.

The Interface abstraction doesn’t make sense anymore, as LevelDB will be the only implementor.

  • Modules/indexeddb/IDBBackingStoreCursorInterface.h: Removed.
  • Modules/indexeddb/IDBBackingStoreInterface.h: Removed.
  • Modules/indexeddb/IDBBackingStoreTransactionInterface.h: Removed.
  • Modules/indexeddb/IDBServerConnection.h:
  • Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.h:

(WebCore::IDBBackingStoreCursorLevelDB::key):
(WebCore::IDBBackingStoreCursorLevelDB::primaryKey):
(WebCore::IDBBackingStoreCursorLevelDB::recordIdentifier):

  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:

(WebCore::IDBBackingStoreLevelDB::getOrEstablishIDBDatabaseMetadata):
(WebCore::IDBBackingStoreLevelDB::updateIDBDatabaseVersion):
(WebCore::IDBBackingStoreLevelDB::deleteDatabase):
(WebCore::IDBBackingStoreLevelDB::createObjectStore):
(WebCore::IDBBackingStoreLevelDB::deleteObjectStore):
(WebCore::IDBBackingStoreLevelDB::getRecord):
(WebCore::IDBBackingStoreLevelDB::putRecord):
(WebCore::IDBBackingStoreLevelDB::clearObjectStore):
(WebCore::IDBBackingStoreLevelDB::deleteRecord):
(WebCore::IDBBackingStoreLevelDB::getKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStoreLevelDB::maybeUpdateKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStoreLevelDB::keyExistsInObjectStore):
(WebCore::IDBBackingStoreLevelDB::createIndex):
(WebCore::IDBBackingStoreLevelDB::deleteIndex):
(WebCore::IDBBackingStoreLevelDB::putIndexDataForRecord):
(WebCore::IDBBackingStoreLevelDB::findKeyInIndex):
(WebCore::IDBBackingStoreLevelDB::getPrimaryKeyViaIndex):
(WebCore::IDBBackingStoreLevelDB::keyExistsInIndex):
(WebCore::IDBBackingStoreLevelDB::makeIndexWriters):
(WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
(WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
(WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
(WebCore::IDBBackingStoreLevelDB::openIndexCursor):

  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
  • Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.h:

(WebCore::IDBBackingStoreTransactionLevelDB::levelDBTransactionFrom):

  • Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.cpp:

(WebCore::IDBIndexWriterLevelDB::writeIndexKeys):
(WebCore::IDBIndexWriterLevelDB::verifyIndexKeys):
(WebCore::IDBIndexWriterLevelDB::addingKeyAllowed):

  • Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.h:
  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:

(WebCore::IDBServerConnectionLevelDB::get):
(WebCore::IDBServerConnectionLevelDB::openCursor):
(WebCore::IDBServerConnectionLevelDB::count):
(WebCore::IDBServerConnectionLevelDB::deleteRange):

  • WebCore.xcodeproj/project.pbxproj:
1:14 PM Changeset in webkit [159516] by commit-queue@webkit.org
  • 20 edits in trunk/Source/WebCore

Get rid of bare new in SVGAnimatedColorAnimator::constructFromString()
https://bugs.webkit.org/show_bug.cgi?id=124595

Patch by Sergio Correia <Sergio Correia> on 2013-11-19
Reviewed by Darin Adler.

Use std::unique_ptr instead, to manage the arguments passed to the create
methods of SVGAnimatedType.

No new tests, covered by existing tests.

  • svg/SVGAnimatedAngle.cpp:

(WebCore::SVGAnimatedAngleAnimator::constructFromString): Replace bare
pointer with std::unique_ptr.

  • svg/SVGAnimatedBoolean.cpp:

(WebCore::SVGAnimatedBooleanAnimator::constructFromString): Ditto.

  • svg/SVGAnimatedColor.cpp:

(WebCore::SVGAnimatedColorAnimator::constructFromString): Ditto.

  • svg/SVGAnimatedEnumeration.cpp:

(WebCore::SVGAnimatedEnumerationAnimator::constructFromString): Ditto.

  • svg/SVGAnimatedInteger.cpp:

(WebCore::SVGAnimatedIntegerAnimator::constructFromString): Ditto.

  • svg/SVGAnimatedIntegerOptionalInteger.cpp:

(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::constructFromString):
Ditto.

  • svg/SVGAnimatedLength.cpp:

(WebCore::SVGAnimatedLengthAnimator::constructFromString): Ditto.

  • svg/SVGAnimatedLengthList.cpp:

(WebCore::SVGAnimatedLengthListAnimator::constructFromString): Ditto.

  • svg/SVGAnimatedNumber.cpp:

(WebCore::SVGAnimatedNumberAnimator::constructFromString): Ditto.

  • svg/SVGAnimatedNumberList.cpp:

(WebCore::SVGAnimatedNumberListAnimator::constructFromString): Ditto.

  • svg/SVGAnimatedNumberOptionalNumber.cpp:

(WebCore::SVGAnimatedNumberOptionalNumberAnimator::constructFromString):
Ditto.

  • svg/SVGAnimatedPointList.cpp:

(WebCore::SVGAnimatedPointListAnimator::constructFromString): Ditto.

  • svg/SVGAnimatedPreserveAspectRatio.cpp:

(WebCore::SVGAnimatedPreserveAspectRatioAnimator::constructFromString):
Ditto.

  • svg/SVGAnimatedRect.cpp:

(WebCore::SVGAnimatedRectAnimator::constructFromString): Ditto.

  • svg/SVGAnimatedString.cpp:

(WebCore::SVGAnimatedStringAnimator::constructFromString): Ditto.

  • svg/SVGAnimatedTransformList.cpp:

(WebCore::SVGAnimatedTransformListAnimator::constructFromString):
Ditto.

  • svg/SVGAnimatedType.cpp:

(WebCore::SVGAnimatedType::createAngleAndEnumeration): Use
std::unique_ptr instead of bare pointer as parameter.
(WebCore::SVGAnimatedType::createBoolean): Ditto.
(WebCore::SVGAnimatedType::createColor): Ditto.
(WebCore::SVGAnimatedType::createEnumeration): Ditto.
(WebCore::SVGAnimatedType::createInteger): Ditto.
(WebCore::SVGAnimatedType::createIntegerOptionalInteger): Ditto.
(WebCore::SVGAnimatedType::createLength): Ditto.
(WebCore::SVGAnimatedType::createLengthList): Ditto.
(WebCore::SVGAnimatedType::createNumber): Ditto.
(WebCore::SVGAnimatedType::createNumberList): Ditto.
(WebCore::SVGAnimatedType::createNumberOptionalNumber): Ditto.
(WebCore::SVGAnimatedType::createPointList): Ditto.
(WebCore::SVGAnimatedType::createPreserveAspectRatio): Ditto.
(WebCore::SVGAnimatedType::createRect): Ditto.
(WebCore::SVGAnimatedType::createString): Ditto.
(WebCore::SVGAnimatedType::createTransformList): Ditto.

  • svg/SVGAnimatedType.h: Use std::unique_ptr as parameter in the

create methods.

  • svg/SVGAnimatedTypeAnimator.h:

(WebCore::SVGAnimatedTypeAnimator::constructFromBaseValue): Make
helper return std::unique_ptr instead of bare pointer.
(WebCore::SVGAnimatedTypeAnimator::constructFromBaseValues): Ditto.

12:59 PM Changeset in webkit [159515] by dino@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

MarkedSpace::resumeAllocating needs to delay release
https://bugs.webkit.org/show_bug.cgi?id=124596

Reviewed by Geoffrey Garen.

  • heap/MarkedSpace.cpp:

(JSC::MarkedSpace::resumeAllocating): Add DelayedReleaseScope protection.

12:34 PM Changeset in webkit [159514] by Antoine Quint
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: layer info sidebar should convert to MB for very large layers
https://bugs.webkit.org/show_bug.cgi?id=124570

Reviewed by Timothy Hatcher.

Setting higherResolution to true (its default value if omitted) when calling
Number.bytesToString() would always result in a KB-formatted string instead
since it didn't check for a < 1024 value as well.

  • UserInterface/Utilities.js:

(Number.bytesToString):

12:15 PM Changeset in webkit [159513] by hmuller@adobe.com
  • 3 edits in trunk/Source/WebCore

[CSS Shapes] Refactor RectangleShape
https://bugs.webkit.org/show_bug.cgi?id=124416

Privatize and rename the FloatRoundedRect class defined in RectangleShape.h.
The new class is called RectangleShape::ShapeBounds. This change enables
creating a proper FloatRoundedRect analog of the existing RoundedRect class;
part of adding support for box shapes, per the latest CSS spec.

Reviewed by Dean Jackson.

No new tests, just refactoring.

  • rendering/shapes/RectangleShape.cpp:

(WebCore::RectangleShape::ShapeBounds::paddingBounds):
(WebCore::RectangleShape::ShapeBounds::marginBounds):
(WebCore::RectangleShape::ShapeBounds::cornerInterceptForWidth):
(WebCore::RectangleShape::shapePaddingBounds):
(WebCore::RectangleShape::shapeMarginBounds):
(WebCore::RectangleShape::getExcludedIntervals):
(WebCore::RectangleShape::getIncludedIntervals):
(WebCore::RectangleShape::firstIncludedIntervalLogicalTop):

  • rendering/shapes/RectangleShape.h:

(WebCore::RectangleShape::ShapeBounds::ShapeBounds):
(WebCore::RectangleShape::ShapeBounds::rx):
(WebCore::RectangleShape::ShapeBounds::ry):

12:14 PM Changeset in webkit [159512] by commit-queue@webkit.org
  • 18 edits in trunk/Source/WebCore

Mark classes deriving from SVGAnimatedTypeAnimator as FINAL
https://bugs.webkit.org/show_bug.cgi?id=124456

Patch by Sergio Correia <Sergio Correia> on 2013-11-19
Reviewed by Darin Adler.

Also add OVERRIDE to their virtual methods appropriately and remove
existing empty virtual destructors.

No new tests, covered by existing ones.

  • svg/SVGAnimatedAngle.h:
  • svg/SVGAnimatedBoolean.h:
  • svg/SVGAnimatedColor.h:
  • svg/SVGAnimatedEnumeration.h:
  • svg/SVGAnimatedInteger.h:
  • svg/SVGAnimatedIntegerOptionalInteger.h:
  • svg/SVGAnimatedLength.h:
  • svg/SVGAnimatedLengthList.h:
  • svg/SVGAnimatedNumber.h:
  • svg/SVGAnimatedNumberList.h:
  • svg/SVGAnimatedNumberOptionalNumber.h:
  • svg/SVGAnimatedPath.h:
  • svg/SVGAnimatedPointList.h:
  • svg/SVGAnimatedPreserveAspectRatio.h:
  • svg/SVGAnimatedRect.h:
  • svg/SVGAnimatedString.h:
  • svg/SVGAnimatedTransformList.h:
12:08 PM Changeset in webkit [159511] by beidson@apple.com
  • 13 edits
    3 moves
    2 adds
    2 deletes in trunk/Source

Add WebIDBServerConnection and DatabaseProcessIDBConnection stubs
https://bugs.webkit.org/show_bug.cgi?id=124562

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Export some more symbols and headers for WK2 to use.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit2:

Also remove Web/DatabaseProcessDatabaseBackend stubs, as that is no longer the abstraction layer.

  • DatabaseProcess/DatabaseToWebProcessConnection.cpp:

(WebKit::DatabaseToWebProcessConnection::didReceiveMessage):
(WebKit::DatabaseToWebProcessConnection::establishIDBConnection):

  • DatabaseProcess/DatabaseToWebProcessConnection.h:
  • DatabaseProcess/DatabaseToWebProcessConnection.messages.in:
  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.cpp.

(WebKit::DatabaseProcessIDBConnection::DatabaseProcessIDBConnection):
(WebKit::DatabaseProcessIDBConnection::~DatabaseProcessIDBConnection):
(WebKit::DatabaseProcessIDBConnection::establishConnection):
(WebKit::DatabaseProcessIDBConnection::messageSenderConnection):

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.h.

(WebKit::DatabaseProcessIDBConnection::create):

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in: Renamed from Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBDatabaseBackend.messages.in.
  • Shared/Databases/IndexedDB/IDBUtilities.cpp:

(WebKit::uniqueDatabaseIdentifier): Modified to take two security origin arguments.

  • Shared/Databases/IndexedDB/IDBUtilities.h:
  • WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:

(WebKit::WebIDBFactoryBackend::open):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: Added. Stubbed out all the pure virtual methods.

(WebKit::generateBackendIdentifier):
(WebKit::WebIDBServerConnection::WebIDBServerConnection):
(WebKit::WebIDBServerConnection::~WebIDBServerConnection):
(WebKit::WebIDBServerConnection::isClosed):
(WebKit::WebIDBServerConnection::getOrEstablishIDBDatabaseMetadata):
(WebKit::WebIDBServerConnection::deleteDatabase):
(WebKit::WebIDBServerConnection::close):
(WebKit::WebIDBServerConnection::openTransaction):
(WebKit::WebIDBServerConnection::beginTransaction):
(WebKit::WebIDBServerConnection::commitTransaction):
(WebKit::WebIDBServerConnection::resetTransaction):
(WebKit::WebIDBServerConnection::rollbackTransaction):
(WebKit::WebIDBServerConnection::setIndexKeys):
(WebKit::WebIDBServerConnection::createObjectStore):
(WebKit::WebIDBServerConnection::createIndex):
(WebKit::WebIDBServerConnection::deleteIndex):
(WebKit::WebIDBServerConnection::get):
(WebKit::WebIDBServerConnection::put):
(WebKit::WebIDBServerConnection::openCursor):
(WebKit::WebIDBServerConnection::count):
(WebKit::WebIDBServerConnection::deleteRange):
(WebKit::WebIDBServerConnection::clearObjectStore):
(WebKit::WebIDBServerConnection::deleteObjectStore):
(WebKit::WebIDBServerConnection::changeDatabaseVersion):
(WebKit::WebIDBServerConnection::cursorAdvance):
(WebKit::WebIDBServerConnection::cursorIterate):
(WebKit::WebIDBServerConnection::cursorPrefetchIteration):
(WebKit::WebIDBServerConnection::cursorPrefetchReset):
(WebKit::WebIDBServerConnection::messageSenderConnection):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: Added.
  • WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.cpp: Removed.
  • WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h: Removed.
  • WebProcess/Databases/WebToDatabaseProcessConnection.cpp:
  • DerivedSources.make:
  • WebKit2.xcodeproj/project.pbxproj:
11:55 AM Changeset in webkit [159510] by dino@apple.com
  • 2 edits in trunk/LayoutTests

fast/forms/form-associated-element-crash.html often times out on Mavericks WK1
https://bugs.webkit.org/show_bug.cgi?id=124593

Marked as occasionally timing out.

  • platform/mac/TestExpectations:
11:25 AM Changeset in webkit [159509] by Michał Pakuła vel Rutka
  • 3 edits in trunk/Source/WebKit2

Unreviewed EFL and GTK build fix attempt after r159507

  • CMakeLists.txt: Changed Platform/CoreIPC/DataReference.cpp to Platform/IPC/DataReference.cpp
  • GNUmakefile.list.am: Ditto
11:10 AM Changeset in webkit [159508] by mhahnenberg@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

IncrementalSweeper needs to use DelayedReleaseScope too
https://bugs.webkit.org/show_bug.cgi?id=124558

Reviewed by Filip Pizlo.

It does sweeping too, so it needs to use it. Also refactored an
ASSERT that should have caught this sooner.

  • heap/DelayedReleaseScope.h:

(JSC::DelayedReleaseScope::isInEffectFor):

  • heap/IncrementalSweeper.cpp:

(JSC::IncrementalSweeper::doSweep):

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::sweep):

  • heap/MarkedSpace.cpp:

(JSC::MarkedSpace::sweep):

10:32 AM Changeset in webkit [159507] by andersca@apple.com
  • 2 edits
    2 moves in trunk/Source/WebKit2

Move DataReference to Platform/IPC.

  • Platform/IPC/DataReference.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/DataReference.cpp.
  • Platform/IPC/DataReference.h: Renamed from Source/WebKit2/Platform/CoreIPC/DataReference.h.
  • WebKit2.xcodeproj/project.pbxproj:
10:20 AM Changeset in webkit [159506] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Add and call PageLoadState::reset
https://bugs.webkit.org/show_bug.cgi?id=124591

Reviewed by Dan Bernstein.

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::reset):

  • UIProcess/PageLoadState.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::processDidCrash):

10:14 AM Changeset in webkit [159505] by Antoine Quint
  • 2 edits in trunk/Source/WebInspectorUI

Remove some unused utilities from Utilities.js
https://bugs.webkit.org/show_bug.cgi?id=124590

Reviewed by Darin Adler.

Remove some methods and properties that were no longer used through the codebase.

  • UserInterface/Utilities.js:
9:36 AM Changeset in webkit [159504] by commit-queue@webkit.org
  • 7 edits
    4 adds in trunk

Map the dir attribute to the CSS direction property.
https://bugs.webkit.org/show_bug.cgi?id=124572.

Patch by Frédéric Wang <fred.wang@free.fr> on 2013-11-19
Reviewed by Darin Adler.

Source/WebCore:

Tests: mathml/presentation/direction-overall.html

mathml/presentation/direction-token.html
mathml/presentation/direction.html

  • mathml/MathMLElement.cpp:

(WebCore::MathMLElement::isPresentationAttribute): add dir
(WebCore::MathMLElement::collectStyleForPresentationAttribute): map dir

  • mathml/mathattrs.in: add the dir attribute
  • mathml/mathtags.in: add the mstyle tag (needed to use mstyleTag)

LayoutTests:

  • mathml/presentation/direction-expected.html: add more tests.
  • mathml/presentation/direction-overall-expected.html: Added.
  • mathml/presentation/direction-overall.html: Added.
  • mathml/presentation/direction-token-expected.html: Added.
  • mathml/presentation/direction-token.html: Added.
  • mathml/presentation/direction.html: add more tests.
9:22 AM Changeset in webkit [159503] by commit-queue@webkit.org
  • 68 edits in trunk/Source/WebCore

[SVG] Convert OwnPtr/PassOwnPtr to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=124382

Patch by Sergio Correia <Sergio Correia> on 2013-11-19
Reviewed by Darin Adler.

The files modified are mostly under WebCore/svg/; in a few cases, some
"external" files needed changes as well.

No new tests, covered by existing ones.

  • css/CSSFontFaceSource.cpp:
  • loader/cache/CachedImage.cpp:
  • loader/cache/CachedImage.h:
  • platform/graphics/SimpleFontData.cpp:
  • platform/graphics/SimpleFontData.h:
  • rendering/svg/RenderSVGResourceContainer.cpp:
  • svg/SVGAnimateElement.cpp:
  • svg/SVGAnimateElement.h:
  • svg/SVGAnimatedAngle.cpp:
  • svg/SVGAnimatedAngle.h:
  • svg/SVGAnimatedBoolean.cpp:
  • svg/SVGAnimatedBoolean.h:
  • svg/SVGAnimatedColor.cpp:
  • svg/SVGAnimatedColor.h:
  • svg/SVGAnimatedEnumeration.cpp:
  • svg/SVGAnimatedEnumeration.h:
  • svg/SVGAnimatedInteger.cpp:
  • svg/SVGAnimatedInteger.h:
  • svg/SVGAnimatedIntegerOptionalInteger.cpp:
  • svg/SVGAnimatedIntegerOptionalInteger.h:
  • svg/SVGAnimatedLength.cpp:
  • svg/SVGAnimatedLength.h:
  • svg/SVGAnimatedLengthList.cpp:
  • svg/SVGAnimatedLengthList.h:
  • svg/SVGAnimatedNumber.cpp:
  • svg/SVGAnimatedNumber.h:
  • svg/SVGAnimatedNumberList.cpp:
  • svg/SVGAnimatedNumberList.h:
  • svg/SVGAnimatedNumberOptionalNumber.cpp:
  • svg/SVGAnimatedNumberOptionalNumber.h:
  • svg/SVGAnimatedPath.cpp:
  • svg/SVGAnimatedPath.h:
  • svg/SVGAnimatedPointList.cpp:
  • svg/SVGAnimatedPointList.h:
  • svg/SVGAnimatedPreserveAspectRatio.cpp:
  • svg/SVGAnimatedPreserveAspectRatio.h:
  • svg/SVGAnimatedRect.cpp:
  • svg/SVGAnimatedRect.h:
  • svg/SVGAnimatedString.cpp:
  • svg/SVGAnimatedString.h:
  • svg/SVGAnimatedTransformList.cpp:
  • svg/SVGAnimatedTransformList.h:
  • svg/SVGAnimatedType.cpp:
  • svg/SVGAnimatedType.h:
  • svg/SVGAnimatedTypeAnimator.cpp:
  • svg/SVGAnimatedTypeAnimator.h:
  • svg/SVGAnimatorFactory.h:
  • svg/SVGDocumentExtensions.cpp:
  • svg/SVGDocumentExtensions.h:
  • svg/SVGFontData.h:
  • svg/SVGFontElement.cpp:
  • svg/SVGFontElement.h:
  • svg/SVGGraphicsElement.cpp:
  • svg/SVGGraphicsElement.h:
  • svg/SVGPathByteStreamSource.h:
  • svg/SVGPathParser.h:
  • svg/SVGPathSegListSource.h:
  • svg/SVGPathStringSource.h:
  • svg/SVGPathUtilities.cpp:
  • svg/SVGPathUtilities.h:
  • svg/animation/SMILTimeContainer.cpp:
  • svg/animation/SMILTimeContainer.h:
  • svg/graphics/SVGImage.cpp:
  • svg/graphics/SVGImage.h:
  • svg/graphics/SVGImageCache.h:
  • svg/properties/SVGAttributeToPropertyMap.cpp:
  • svg/properties/SVGAttributeToPropertyMap.h:
9:15 AM Changeset in webkit [159502] by zoltan@webkit.org
  • 2 edits in trunk/Source/WebCore

Add LineInlineHeaders.h to WebCore.xcodeproj
<https://webkit.org/b/124460>

Reviewed by Csaba Osztrogonác.

LineInlineHeaders.h (r159354) hasn't been added to WebCore.xcodeproj. This patch adds to it.

No new tests, no behavior change.

  • WebCore.xcodeproj/project.pbxproj:
9:11 AM Changeset in webkit [159501] by Michał Pakuła vel Rutka
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening

  • platform/efl/TestExpectations: Add new failure test expectations.
6:55 AM Changeset in webkit [159500] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[AX] Use std::unique_ptr to manage AXComputedObjectAttributeCache
https://bugs.webkit.org/show_bug.cgi?id=124404

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-11-19
Reviewed by Mario Sanchez Prada.

Convert OwnPtr/PassOwnPtr to std::unique_ptr.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::startCachingComputedObjectAttributesUntilTreeMutates):
(WebCore::AXObjectCache::stopCachingComputedObjectAttributes):

  • accessibility/AXObjectCache.h:

(WebCore::AXComputedObjectAttributeCache::AXComputedObjectAttributeCache):

6:01 AM Changeset in webkit [159499] by Csaba Osztrogonác
  • 275 edits in trunk

Unreviewed typo fix after r159494.

5:15 AM Changeset in webkit [159498] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Yet another build fix. Just allow any character.
There are just too many special characters to be listed here.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest._lines_to_ignore_in_parser_result):

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(TestPerfTest.test_parse_output_with_subtests)

5:05 AM Changeset in webkit [159497] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Another build fix. Allow ':' in subtest names.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest._lines_to_ignore_in_parser_result):

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(TestPerfTest.test_parse_output_with_subtests)

4:38 AM Changeset in webkit [159496] by ryuan.choi@samsung.com
  • 4 edits in trunk

[EFL] Use Config mode of find_package for EFL 1.8
https://bugs.webkit.org/show_bug.cgi?id=124555

Reviewed by Gyuyoung Kim.

.:

EFL 1.8 changed VERSION macro so it's difficult to use tricky approach
which parses header file to know the version. Instead, EFL 1.8 supports
Config mode of find_package using XXXConfig.cmake such as EinaConfig.cmake.

This patch tries to use Config mode if it is available after checking Eo.

  • Source/cmake/OptionsEfl.cmake:

Tools:

  • MiniBrowser/efl/CMakeLists.txt: Introduced a config mode to find elementary.
4:22 AM Changeset in webkit [159495] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Build fix. Subtest names need to be more permissive.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest._lines_to_ignore_in_parser_result):

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(TestPerfTest.test_parse_output_with_subtests)

4:14 AM Changeset in webkit [159494] by Csaba Osztrogonác
  • 275 edits in trunk

Unreviewed. Set svn:eol-style=native for Windows project files.

3:45 AM Changeset in webkit [159493] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Adding a crash expectation.

  • platform/efl/TestExpectations:
3:30 AM Changeset in webkit [159492] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Adding a crash expectation for a test regarding
object-fit.

  • platform/efl/TestExpectations:
3:12 AM BuildingGtk edited by tomeu.vizoso@collabora.com
(diff)
3:08 AM Changeset in webkit [159491] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. descent-clip-in-scaled-page.html is being passed
after enabling subpixel layout on EFL port.

  • platform/efl/TestExpectations:
2:37 AM Changeset in webkit [159490] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening. Adding failure expectations for the remaining layout test failures.

  • platform/gtk/TestExpectations:
1:43 AM Changeset in webkit [159489] by rniwa@webkit.org
  • 8 edits in trunk/Source/WebCore

Add more assertions with security implications in DocumentOrderedMap
https://bugs.webkit.org/show_bug.cgi?id=124559

Reviewed by Antti Koivisto.

Assert that newly added elements and existing elements in the document ordered map are in the same tree scope
as the document ordered map. Also exit early if we're about to add an element in a wrong document to the map.
We don't exit early in get() because the damage has already been done at that point (the element may have been
deleted already).

  • dom/Document.cpp:

(WebCore::Document::addImageElementByLowercasedUsemap):

  • dom/DocumentOrderedMap.cpp:

(WebCore::DocumentOrderedMap::add): Assert that the newly added element is in the current tree scope.
Also exit early if either the element is not in the tree scope or not in the right document.
While this doesn't make the function completely fault safe, it'll catch when we try to add a detached node.
(WebCore::DocumentOrderedMap::remove): Convert existing assertions to ones with security implication.
(WebCore::DocumentOrderedMap::get): Assert with security implication that the element we're about to return
is in the current tree scope. The element may have already been deleted if we ever hit these assertions.
(WebCore::DocumentOrderedMap::getAllElementsById): Convert an existing assertion to an assertion with security
implication.

  • dom/DocumentOrderedMap.h:
  • dom/TreeScope.cpp:

(WebCore::TreeScope::addElementById):
(WebCore::TreeScope::addElementByName):
(WebCore::TreeScope::addImageMap):
(WebCore::TreeScope::addLabel):

  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::addDocumentNamedItem):
(WebCore::HTMLDocument::addWindowNamedItem):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::insertedInto): Set InTreeScope flag before calling addImageElementByLowercasedUsemap.

  • html/HTMLMapElement.cpp:

(WebCore::HTMLMapElement::insertedInto): Ditto for addImageMap.

1:28 AM Changeset in webkit [159488] by Manuel Rego Casasnovas
  • 3 edits
    1 add in trunk/PerformanceTests

[CSS Regions] Add performance test for selection
https://bugs.webkit.org/show_bug.cgi?id=119230

Reviewed by Ryosuke Niwa.

Add new performance test for selection in CSS Regions. It checks a
selection from the first region to the last one, passing through all the
regions.

Test is skipped for now while implementation of selection in CSS Regions
is still evolving.

  • Layout/RegionsSelection.html: Added.
  • Layout/resources/regions.js:

(.):

  • Skipped:

Nov 18, 2013:

11:53 PM Changeset in webkit [159487] by commit-queue@webkit.org
  • 23 edits
    2 copies
    1 add
    2 deletes in trunk/Source

Unreviewed, rolling out r159455.
http://trac.webkit.org/changeset/159455
https://bugs.webkit.org/show_bug.cgi?id=124568

broke two api tests (see bug 124564) (Requested by thorton on
#webkit).

Source/WebCore:

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.exp.in:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/DOM.mm:

(-[DOMNode renderedImage]):
(-[DOMRange renderedImageForcingBlackText:]):

  • dom/Clipboard.cpp:

(WebCore::Clipboard::createDragImage):

  • dom/ClipboardMac.mm:

(WebCore::Clipboard::createDragImage):

  • page/DragController.cpp:

(WebCore::DragController::startDrag):

  • page/Frame.cpp:

(WebCore::ScopedFramePaintingState::ScopedFramePaintingState):
(WebCore::ScopedFramePaintingState::~ScopedFramePaintingState):
(WebCore::Frame::nodeImage):
(WebCore::Frame::dragImageForSelection):

  • page/Frame.h:
  • page/FrameSnapshotting.cpp: Removed.
  • page/FrameSnapshotting.h: Removed.
  • page/mac/FrameMac.mm: Copied from Source/WebCore/page/win/FrameWin.h.

(WebCore::Frame::nodeImage):
(WebCore::Frame::dragImageForSelection):

  • page/mac/FrameSnapshottingMac.h: Copied from Source/WebCore/page/win/FrameWin.h.
  • page/mac/FrameSnapshottingMac.mm: Added.

(WebCore::imageFromRect):
(WebCore::selectionImage):
(WebCore::rangeImage):
(WebCore::snapshotDragImage):

  • page/win/FrameWin.cpp:

(WebCore::Frame::dragImageForSelection):
(WebCore::Frame::nodeImage):

  • page/win/FrameWin.h:
  • platform/DragImage.cpp:

(WebCore::fitDragImageToMaxSize):
(WebCore::createDragImageForLink):

  • platform/DragImage.h:

Source/WebKit/ios:

  • WebCoreSupport/WebFrameIOS.mm:

Source/WebKit/mac:

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _selectionDraggingImage]):
(-[WebHTMLView selectionImageForcingBlackText:]):

Source/WebKit/win:

  • DOMCoreClasses.cpp:

(DOMElement::renderedImage):

11:52 PM Changeset in webkit [159486] by ryuan.choi@samsung.com
  • 4 edits in trunk/Source

[EFL] Initialize efreet before getting directories
https://bugs.webkit.org/show_bug.cgi?id=124560

Reviewed by Gyuyoung Kim.

efreet is used to get several directories including home dierectory since
r123731, but it does not call efreet_init/efreet_shutdown explicitly.

Source/WebKit/efl:

  • ewk/ewk_main.cpp: Call efreet_init()/efreet_shutdown() explicitly.

(ewk_init):
(ewk_shutdown):

Source/WebKit2:

  • UIProcess/API/efl/ewk_main.cpp: Call efreet_init()/efreet_shutdown() explicitly.

(ewk_init):
(ewk_shutdown):

11:20 PM Changeset in webkit [159485] by mrowe@apple.com
  • 12 edits in trunk

Use hw.activecpu for determining how many processes to spawn.

It's documented as the preferred way to determine the number of threads
or processes to create in a SMP aware application.

Rubber-stamped by Tim Horton.

Source/ThirdParty/ANGLE:

  • ANGLE.xcodeproj/project.pbxproj:

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit2:

  • WebKit2.xcodeproj/project.pbxproj:

Tools:

  • Scripts/copy-webkitlibraries-to-product-directory:
  • Scripts/run-jsc-stress-tests:
  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
10:47 PM Changeset in webkit [159484] by timothy_horton@apple.com
  • 5 edits in trunk/Tools

build.webkit.org/dashboard builder headers should link to the builder page
https://bugs.webkit.org/show_bug.cgi?id=124553

Reviewed by Timothy Hatcher.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:

(BuildbotQueue.prototype.get overviewURL):
Add overviewURL(), which returns the URL to the builder overview page, with the last 50 builds shown.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotBuilderQueueView.js:

(BuildbotBuilderQueueView.prototype.update.appendBuildArchitecture):
(BuildbotBuilderQueueView.prototype.update):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:

(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus):
(BuildbotTesterQueueView.prototype.update.appendBuild):
(BuildbotTesterQueueView.prototype.update):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/BuildbotQueueView.css:

(.queue-view .queueLabel):
(.queue-view .queueLabel:not(:first-child)):
Make the header a link instead of a label, and wire it up to overviewURL.

10:30 PM Changeset in webkit [159483] by Lucas Forschler
  • 14 edits
    1 delete in tags/Safari-538.7/Source/JavaScriptCore

Rollout r159351. <rdar://problem/15500057>

10:10 PM Changeset in webkit [159482] by Samuel White
  • 3 edits
    2 adds in trunk

AX: aria-labelledby should be used in preference to aria-labeledby
https://bugs.webkit.org/show_bug.cgi?id=62351

Reviewed by Chris Fleizach.

Source/WebCore:

Making sure aria-labelled by overrides the incorrectly spelled aria-labeledby attribute.

Test: accessibility/aria-labelledby-overrides-aria-labeledby.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::ariaLabeledByElements):

LayoutTests:

Added test to make sure aria-labelledby overrides aria-labeledby correctly.

  • accessibility/aria-labelledby-overrides-aria-labeledby-expected.txt: Added.
  • accessibility/aria-labelledby-overrides-aria-labeledby.html: Added.
10:01 PM Changeset in webkit [159481] by Alan Bujtas
  • 5 edits
    2 adds in trunk

use after free in WebCore::DocumentOrderedMap::remove / WebCore::TreeScope::removeElementById
https://bugs.webkit.org/show_bug.cgi?id=121324

Reviewed by Ryosuke Niwa.

Update the document ordered map for an image element before dispatching load or error events
when it's inserted into a document.

Source/WebCore:

Test: fast/dom/modify-node-and-while-in-the-callback-too-crash.html

  • dom/DocumentOrderedMap.cpp: defensive fix to avoid use after free issues.

(WebCore::DocumentOrderedMap::remove):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::insertedInto):

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::updateFromElement): setting m_failedLoadURL makes
repeated updateFromElement calls return early.

LayoutTests:

  • fast/dom/modify-node-and-while-in-the-callback-too-crash-expected.txt: Added.
  • fast/dom/modify-node-and-while-in-the-callback-too-crash.html: Added.
9:14 PM Changeset in webkit [159480] by mrowe@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Disable deprecation warnings related to NSCalendarDate in WebHistory.

Reviewed by Anders Carlsson.

  • History/WebHistory.h: Use a #pragma to have the compiler treat this header as

a system header, even when not included from a system location. This has the effect
of suppressing warnings when including this header. It's a more general effect than
we're after but is also less invasive than disabling deprecation warnings around
the APIs that are defined in terms of NSCalendarDate. We'll hopefully revisit this
in the future.

  • History/WebHistory.mm: Disable deprecation warnings around uses of NSCalendarDate.
8:55 PM Changeset in webkit [159479] by benjamin@webkit.org
  • 5 edits in trunk/Source/WebCore

Upstream iOS's ResourceHandle implementation
https://bugs.webkit.org/show_bug.cgi?id=124554

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-11-18
Reviewed by Sam Weinig.

  • platform/network/ResourceHandle.h:

(WebCore::ResourceHandle::quickLookHandle):
(WebCore::ResourceHandle::setQuickLookHandle):

  • platform/network/ResourceHandleClient.h:

(WebCore::ResourceHandleClient::connectionProperties):
(WebCore::ResourceHandleClient::shouldCacheResponse):

  • platform/network/ResourceHandleInternal.h:

(WebCore::ResourceHandleInternal::ResourceHandleInternal):

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::synthesizeRedirectResponseIfNecessary):
(WebCore::willSendRequest):
(WebCore::didReceiveResponse):
(WebCore::didReceiveDataArray):
(WebCore::didReceiveData):
(WebCore::didFinishLoading):
(WebCore::didFail):
(WebCore::willCacheResponse):
(WebCore::canRespondToProtectionSpace):
(WebCore::ResourceHandle::createCFURLConnection):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::willSendRequest):
(WebCore::ResourceHandle::platformLoadResourceSynchronously):
(WebCore::ResourceHandle::currentRequest):
(WebCore::ResourceHandle::connectionClientCallbacks):

7:50 PM Changeset in webkit [159478] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

7:47 PM Changeset in webkit [159477] by Lucas Forschler
  • 1 copy in tags/Safari-538.7

New Tag.

6:41 PM Changeset in webkit [159476] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] Layout tests need to be rebaselined.
https://bugs.webkit.org/show_bug.cgi?id=124477

Unreviewed, EFL rebaseline.

EFL tests are rebaselined after r126683 and r140149.

Patch by Sun-woo Nam <sunny.nam@samsung.com> on 2013-11-18

  • platform/efl/fast/block/float/016-expected.txt:
  • platform/efl/fast/forms/textAreaLineHeight-expected.txt:
5:13 PM Changeset in webkit [159475] by Alexandru Chiculita
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Update WebInspectorUI to use the new "nodeIds" parameter for DOM.performSearch
https://bugs.webkit.org/show_bug.cgi?id=124544

Reviewed by Joseph Pecoraro.

Added the new DOM.performSearch "nodeIds" parameter and made the two implementations
of DOMTreeContentView provide the right context node ids.

DOMTreeContentView is just using the id of the document node while ContentFlowDOMTreeContentView
is passing the list of content nodes.

Note that adding an extra optional parameter to DOM.performSearch does not break iOS 6 and 7 compatibility.

  • UserInterface/ContentFlowDOMTreeContentView.js:

(WebInspector.ContentFlowDOMTreeContentView.prototype.getSearchContextNodes):

  • UserInterface/DOMTreeContentView.js:

(WebInspector.DOMTreeContentView.prototype.performSearch.contextNodesReady):
(WebInspector.DOMTreeContentView.prototype.performSearch):
(WebInspector.DOMTreeContentView.prototype.getSearchContextNodes):

  • UserInterface/FrameDOMTreeContentView.js:

(WebInspector.FrameDOMTreeContentView.prototype.getSearchContextNodes):

  • UserInterface/InspectorBackendCommands.js:
5:00 PM Changeset in webkit [159474] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Let's try this again.

  • UIProcess/PageLoadState.cpp:
4:56 PM Changeset in webkit [159473] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Unreviewed, rolling out r159430.
http://trac.webkit.org/changeset/159430
https://bugs.webkit.org/show_bug.cgi?id=124548

WebCore can know nothing about nor use files from WebKit/
(Requested by thorton on #webkit).

Source/WebCore:

  • DerivedSources.make:

Source/WebKit/win:

  • WebView.cpp:

(webKitVersionString):

4:50 PM Changeset in webkit [159472] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Disable assertions in PageLoadState.cpp for now.

  • UIProcess/PageLoadState.cpp:
4:46 PM Changeset in webkit [159471] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

TestWebKitAPI crashes when running under GuardMalloc
https://bugs.webkit.org/show_bug.cgi?id=124546

Reviewed by Tim Horton.

  • UIProcess/Downloads/DownloadProxyMap.cpp:

(WebKit::DownloadProxyMap::downloadFinished):
Grab the download ID before removing the DownloadProxy from the map.

4:45 PM Changeset in webkit [159470] by beidson@apple.com
  • 4 edits in trunk/Source/WebCore

Remove IDBServerConnection's deprecatedBackingStore()
https://bugs.webkit.org/show_bug.cgi?id=124547

Reviewed by Tim Horton.

It is no longer needed, as the front end no longer knows about the backing store.

  • Modules/indexeddb/IDBServerConnection.h:
  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:
  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
4:35 PM Changeset in webkit [159469] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

ARM64 CRASH: Debug builds crash in emitPointerValidation()
https://bugs.webkit.org/show_bug.cgi?id=124545

Reviewed by Filip Pizlo.

Changed emitPointerValidation() to use pushToSave() and popToRestore() as
all macro assemblers have an implementation of these functions.

  • jit/ThunkGenerators.cpp:

(JSC::emitPointerValidation):

4:32 PM Changeset in webkit [159468] by Samuel White
  • 15 edits
    2 adds in trunk

AX: Add ability to fetch only visible table rows.
https://bugs.webkit.org/show_bug.cgi?id=124430

Reviewed by Chris Fleizach.

Source/WebCore:

Adding AccessibilityTable::visibleRows method to support AXVisibleRows attribute mac platform.

Test: platform/mac/accessibility/table-visible-rows.html

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::columnHeaders):
(WebCore::AccessibilityTable::rowHeaders):
(WebCore::AccessibilityTable::visibleRows):

  • accessibility/AccessibilityTable.h:
  • accessibility/AccessibilityTableRow.h:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

Tools:

Adding method to fetch array of AccessibilityUIElements to help with test brevity and test breakage. Specifically, we
have a good deal of churn any time we add or update an element attribute. This happens because the number of tests
that rely on a simple element description text dump to verify a single attribute is non trivial. So any time you
change add an attribute, you have to update all the tests that are now implicitly verifying this new attribute. But
as the test guidelines state, our tests should be more focused and specific about what they test.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(uiElementArrayAttributeValueCallback):
(AccessibilityUIElement::uiElementArrayAttributeValue):
(AccessibilityUIElement::getJSClass):

  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::uiElementArrayAttributeValue):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::uiElementArrayAttributeValue):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::uiElementArrayAttributeValue):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::getUIElementsWithAttribute):
(WTR::AccessibilityUIElement::uiElementArrayAttributeValue):

LayoutTests:

Adding test to make sure AXVisibleRows behaves correctly.

  • platform/mac/accessibility/table-visible-rows-expected.txt: Added.
  • platform/mac/accessibility/table-visible-rows.html: Added.
4:17 PM Changeset in webkit [159467] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Update localizedStrings, remove stale string
https://bugs.webkit.org/show_bug.cgi?id=124543

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-11-18
Reviewed by Jessie Berlin.

Remove stale localized strings after r124543 remove the old color picker.

  • Localizations/en.lproj/localizedStrings.js:
4:07 PM Changeset in webkit [159466] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

ARM64: Update getHostCallReturnValue() to use architected frame pointer register
https://bugs.webkit.org/show_bug.cgi?id=124520

Reviewed by Filip Pizlo.

Changed from using the prior JSC specific x25 callframe register to the ARM64
architected x29 (fp) register. This change should have been done as part of
https://bugs.webkit.org/show_bug.cgi?id=123956.

  • jit/JITOperations.cpp:
3:40 PM Changeset in webkit [159465] by rniwa@webkit.org
  • 9 edits in trunk

Simplify and reformat the output of performance tests inside test runners
https://bugs.webkit.org/show_bug.cgi?id=124496

Reviewed by Antti Koivisto.

PerformanceTests:

As a preparation to support subtests for Dromaeo and DoYouEvenBench, simplify the output performance tests generate.
Also modernize the output to better support "metric" concept we introduced a while ago.

New output on Dromaeo/dom-attr looks like this:


Running 5 times
getAttribute -> [1105, 1108, 1134, 1137, 1154]
element.property -> [1634, 1655, 1685, 1696, 1723]
setAttribute -> [646.3536463536464, 651, 651, 656.3436563436563, 658]
element.property = value -> [934, 949, 963, 964, 974]
element.expando = value -> [419, 419.5804195804196, 421.57842157842157, 425.57442557442556, 429]
element.expando -> [501, 517, 519.4805194805194, 521.4785214785214, 525]

1: 117.40644785571585 runs/s
2: 118.84720469666297 runs/s
3: 119.80547640905021 runs/s
4: 120.51886194758805 runs/s
5: 121.51924380569295 runs/s

:Time -> [117.40644785571585, 118.84720469666297, 119.80547640905021, 120.51886194758805, 121.51924380569295] runs/s

mean: 119.619446942942 runs/s
median: 119.80547640905021 runs/s
stdev: 1.5769040458730506 runs/s
min: 117.40644785571585 runs/s
max: 121.51924380569295 runs/s


  • Dromaeo/resources/dromaeorunner.js:

(DRT.progress): Use the new format for subtest reports.

  • resources/runner.js:

(.): Declare verboseLogging, which is set to true outside of test runners.
(PerfTestRunner.logInfo): Use verboseLogging instead of directly checking window.testRunner.
(PerfTestRunner.logDetail): Added. Logs informative text with a label such as "mean: 123 s" with 4-space indentation.
(PerfTestRunner.logStatistics): Use logDetail.
(.start): Initialize verboseLogging. Also log "Running 20 times" as an informative log using logDetail.
(.ignoreWarmUpAndLog): Use logDetail for showing the progress. These logs were useless inside test runners anyway
because perftest didn't get to see any output until the test finished running.
(.finish): Call logStatistics with metric name as opposed to a label. Each metric name is now prefixed with ':' to be
distinguishable from subtests, making the new format forward compatible.

Tools:

As a preparation to support subtests for Dromaeo and DoYouEvenBench, simplify the output
performance tests generate. Instead of spitting out noise in PerfTestRunner (runner.js)
and ignoring it in PerfTest._filter_output (perftest.py), simply avoid generating it in
the first place.

Also modernize the output to adopt "metric" concept better and make it forward compatible
with subtests.

With this patch, performance tests written using runner.js only produces empty lines or
lines of the following format inside test runners (DumpRenderTree and WebKitTestRunner):
<subtest name> -> [<value 1>, <value 2>, ...]
:<metric name> -> [<value 1>, <value 2>, ...]

This greatly simplifies the parsing logic inside PerfTest._run_with_driver.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest): Removed a bunch of regular expressions that are no longer used.
(PerfTest._run_with_driver): Just parse the values and description and treat everything
else as errors.

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(TestPerfTest.test_parse_output): Removed the junk.
(TestPerfTest._assert_failed_on_line): Extracted from test_parse_output_with_failing_line,
which was removed in favor of the tests below.
(TestPerfTest.test_parse_output_with_running_five_times): Added.
(TestPerfTest.test_parse_output_with_detailed_info): Added.
(TestPerfTest.test_parse_output_with_statistics): Added.
(TestPerfTest.test_parse_output_with_description): Removed the junk.
(TestPerfTest.test_parse_output_with_subtests): Ditto.
(TestSingleProcessPerfTest.test_use_only_one_process): Ditto.

  • Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:

(EventTargetWrapperTestData): Ditto.
(SomeParserTestData): Ditto.
(MemoryTestData): Ditto.

LayoutTests:

Rebaseline the expected result now that the output has been simplified.

  • fast/harness/perftests/runs-per-second-log-expected.txt:
3:40 PM Changeset in webkit [159464] by ryuan.choi@samsung.com
  • 3 edits in trunk/Source/WebKit2

Unreviewed build fix attempt on GTK and EFL port after r159461

  • CMakeLists.txt: Added APINavigationData.cpp and removed WebNavigationData.cpp
  • GNUmakefile.list.am: Ditto.
3:33 PM Changeset in webkit [159463] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

At some scales, opaque compositing layers have garbage pixels around the edges
https://bugs.webkit.org/show_bug.cgi?id=124541

Reviewed by Dean Jackson.

Layers get marked as having opaque contents when their background is
known to paint the entire layer. However, this failed to take into
account two reasons why every pixel may not get painted.

First, subpixel layout can result in non-integral RenderLayer
bounds, which will get rounded up to an integral GraphicsLayer
size. When this happens we may not paint edge pixels.

Second, at non-integral scale factors, graphics context scaling
may cause us to not paint edge pixels.

Fix by only marking PlatformCALayers as having opaque contents
when the contentsScale of the layer is integral.

Not testable, because we can't guarantee to get garbage pixels
in a ref test, and layer dumps show GraphicsLayer's notion of
content opaqueness, not the one we set on the PlatformCALayer.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::isIntegral):
(WebCore::clampedContentsScaleForScale):
(WebCore::GraphicsLayerCA::updateRootRelativeScale):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateContentsOpaque):
(WebCore::GraphicsLayerCA::getTransformFromAnimationsWithMaxScaleImpact):
Drive-by typo fix.
(WebCore::GraphicsLayerCA::noteChangesForScaleSensitiveProperties):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

3:19 PM Changeset in webkit [159462] by fpizlo@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

put_to_scope[5] should not point to the structure if it's a variable access, but it should point to the WatchpointSet
https://bugs.webkit.org/show_bug.cgi?id=124539

Reviewed by Mark Hahnenberg.

This is in preparation for getting put_to_scope to directly invalidate the watchpoint set
on stores, which will allow us to run constant inference on all globals.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::finalizeUnconditionally):

  • bytecode/Instruction.h:
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • runtime/JSScope.cpp:

(JSC::abstractAccess):
(JSC::JSScope::abstractResolve):

  • runtime/JSScope.h:

(JSC::ResolveOp::ResolveOp):

  • runtime/SymbolTable.h:

(JSC::SymbolTableEntry::watchpointSet):

3:16 PM Changeset in webkit [159461] by andersca@apple.com
  • 8 edits
    2 moves in trunk/Source/WebKit2

Rename WebNavigationData to API::NavigationData
https://bugs.webkit.org/show_bug.cgi?id=124542

Reviewed by Dan Bernstein.

  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKNavigationDataRef.cpp:

(WKNavigationDataGetTypeID):

  • UIProcess/API/Cocoa/WKNavigationData.mm:

(-[WKNavigationData dealloc]):
(-[WKNavigationData title]):
(-[WKNavigationData originalRequest]):
(-[WKNavigationData destinationURL]):
(-[WKNavigationData response]):

  • UIProcess/API/Cocoa/WKNavigationDataInternal.h:

(WebKit::wrapper):

  • UIProcess/API/mac/WKProcessGroup.mm:
  • UIProcess/APINavigationData.cpp: Renamed from Source/WebKit2/UIProcess/WebNavigationData.cpp.

(API::NavigationData::NavigationData):
(API::NavigationData::~NavigationData):

  • UIProcess/APINavigationData.h: Renamed from Source/WebKit2/UIProcess/WebNavigationData.h.

(API::NavigationData::create):
(API::NavigationData::title):
(API::NavigationData::url):
(API::NavigationData::originalRequest):
(API::NavigationData::response):

  • UIProcess/WebHistoryClient.cpp:

(WebKit::WebHistoryClient::didNavigateWithNavigationData):

  • WebKit2.xcodeproj/project.pbxproj:
3:08 PM Changeset in webkit [159460] by hyatt@apple.com
  • 14 edits
    2 adds in trunk

Add a quirk to not respect center text-align when positioning

<rdar://problem/15427571>
https://bugs.webkit.org/show_bug.cgi?id=124522

Reviewed by Simon Fraser.

Added fast/block/legacy-text-align-position-quirk.html

Source/WebCore:

  • page/Settings.in:

Add the quirk setting.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::startAlignedOffsetForLine):
Don't pay attention to center text-align when the quirk is set.

Source/WebKit/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences useLegacyTextAlignPositionedElementBehavior]):
(-[WebPreferences setUseLegacyTextAlignPositionedElementBehavior:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:

  • Shared/WebPreferencesStore.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesUseLegacyTextAlignPositionedElementBehavior):
(WKPreferencesSetUseLegacyTextAlignPositionedElementBehavior):

  • UIProcess/API/C/WKPreferencesPrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

LayoutTests:

  • fast/block/legacy-text-align-position-quirk-expected.html: Added.
  • fast/block/legacy-text-align-position-quirk.html: Added.
3:07 PM Changeset in webkit [159459] by mhahnenberg@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

APIEntryShims need some love
https://bugs.webkit.org/show_bug.cgi?id=124540

Reviewed by Filip Pizlo.

We were missing them in key places which some other hacking revealed. These could have manifested as
race conditions for VMs being used in multithreaded environments.

  • API/JSContext.mm:

(-[JSContext setException:]):
(-[JSContext wrapperForObjCObject:]):
(-[JSContext wrapperForJSObject:]):

  • API/JSContextRef.cpp:

(JSContextGroupRelease):
(JSGlobalContextRelease):

  • API/JSManagedValue.mm:

(-[JSManagedValue initWithValue:]):
(-[JSManagedValue value]):

  • API/JSObjectRef.cpp:

(JSObjectIsFunction):
(JSObjectCopyPropertyNames):

  • API/JSValue.mm:

(containerValueToObject):

  • API/JSWrapperMap.mm:

(tryUnwrapObjcObject):

2:43 PM Changeset in webkit [159458] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add State to PageLoadState
https://bugs.webkit.org/show_bug.cgi?id=124538

Reviewed by Tim Horton.

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::PageLoadState):
(WebKit::PageLoadState::didStartProvisionalLoad):
(WebKit::PageLoadState::didReceiveServerRedirectForProvisionalLoad):
(WebKit::PageLoadState::didFailProvisionalLoad):
(WebKit::PageLoadState::didCommitLoad):
(WebKit::PageLoadState::didFinishLoad):
(WebKit::PageLoadState::didSameDocumentNavigation):

  • UIProcess/PageLoadState.h:
2:40 PM Changeset in webkit [159457] by bshafiei@apple.com
  • 1 copy in tags/Safari-537.73.11

New tag.

2:14 PM Changeset in webkit [159456] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

The PageLoadState object should keep track of the current URL
https://bugs.webkit.org/show_bug.cgi?id=124536

Reviewed by Dan Bernstein.

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::didCommitLoad):
(WebKit::PageLoadState::didFinishLoad):
(WebKit::PageLoadState::didFailLoad):
(WebKit::PageLoadState::didSameDocumentNavigation):

  • UIProcess/PageLoadState.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didFinishLoadForFrame):
(WebKit::WebPageProxy::didFailLoadForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):

2:10 PM Changeset in webkit [159455] by commit-queue@webkit.org
  • 23 edits
    2 adds
    3 deletes in trunk/Source

Consolidate various frame snapshot capabilities.
https://bugs.webkit.org/show_bug.cgi?id=124325

Patch by Brian J. Burg <Brian Burg> on 2013-11-18
Reviewed by Timothy Hatcher.

Source/WebCore:

Various snapshot creation methods had duplicated code and were split
between Frame, DragImage, and platform-specific implementationss.
This patch puts WebCore snapshot methods into FrameSnapshotting
and removes platform implementations where possible.

DragImage methods reuse snapshot methods where possible. Inspector
will be able to take snapshots without using drag images.

No new tests, this is a refactoring.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.exp.in:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/DOM.mm:

(-[DOMNode renderedImage]):
(-[DOMRange renderedImageForcingBlackText:]):

  • dom/Clipboard.cpp:

(WebCore::Clipboard::createDragImage):

  • dom/ClipboardMac.mm:

(WebCore::Clipboard::createDragImage):

  • page/DragController.cpp:

(WebCore::DragController::startDrag):

  • page/Frame.cpp:
  • page/Frame.h:
  • page/FrameSnapshotting.cpp: Added.

(WebCore::ScopedFramePaintingState::ScopedFramePaintingState):
(WebCore::ScopedFramePaintingState::~ScopedFramePaintingState):
(WebCore::snapshotFrameRect): Move most buffer logic to here.
(WebCore::snapshotSelection): Moved from Frame.
(WebCore::snapshotNode): Moved from Frame.

  • page/FrameSnapshotting.h: Added.
  • page/mac/FrameMac.mm: Removed.
  • page/mac/FrameSnapshottingMac.h: Removed.
  • page/mac/FrameSnapshottingMac.mm: Removed.
  • page/win/FrameWin.cpp: remove duplicate implementation.
  • page/win/FrameWin.h: Fix an incorrect parameter name.
  • platform/DragImage.cpp:

(WebCore::ScopedNodeDragState::ScopedNodeDragState):
(WebCore::ScopedNodeDragState::~ScopedNodeDragState):
(WebCore::createDragImageFromSnapshot): Boilerplate buffer conversion.
(WebCore::createDragImageForNode):
(WebCore::createDragImageForSelection):
(WebCore::ScopedFrameSelectionState::ScopedFrameSelectionState):
(WebCore::ScopedFrameSelectionState::~ScopedFrameSelectionState):
(WebCore::createDragImageForRange): Moved from Frame.
(WebCore::createDragImageForImage): Moved from FrameSnapshottingMac.
(WebCore::createDragImageForLink): use nullptr.

Source/WebKit/ios:

  • WebCoreSupport/WebFrameIOS.mm: use new header file.

Source/WebKit/mac:

Use new platform-independent methods instead of Mac methods.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _selectionDraggingImage]):
(-[WebHTMLView selectionImageForcingBlackText:]):

Source/WebKit/win:

  • DOMCoreClasses.cpp:

(DOMElement::renderedImage): use createDragImageForNode.

1:49 PM Changeset in webkit [159454] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Crash when using media source
https://bugs.webkit.org/show_bug.cgi?id=124525

Patch by Brendan Long <b.long@cablelabs.com> on 2013-11-18
Reviewed by Philippe Normand.

No new tests because this is already covered by tests in media/media-source (which aren't enabled because the feature isn't done).

  • platform/graphics/gstreamer/MediaSourceGStreamer.cpp:

(WebCore::MediaSourceGStreamer::MediaSourceGStreamer): Add missing adoptRef()

1:48 PM Changeset in webkit [159453] by timothy_horton@apple.com
  • 4 edits in trunk/Tools

Occasionally, hundreds of tests fail with small text diffs on Mavericks
https://bugs.webkit.org/show_bug.cgi?id=124312

Reviewed by Simon Fraser.

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager._set_up_run):

  • Scripts/webkitpy/port/base.py:

(Port.to.reset_preferences):

  • Scripts/webkitpy/port/mac.py:

(MacPort.reset_preferences):
Delete DumpRenderTree and WebKitTestRunner defaults domains before running tests,
returning some of the functionality of 158652 after 159364 removed it.

1:44 PM Changeset in webkit [159452] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

URTBF after r159444.

  • GNUmakefile.list.am:
1:28 PM Changeset in webkit [159451] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

PageLoadState should keep track of the provisional URL
https://bugs.webkit.org/show_bug.cgi?id=124535

Reviewed by Dan Bernstein.

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::didStartProvisionalLoad):
(WebKit::PageLoadState::didReceiveServerRedirectForProvisionalLoad):
(WebKit::PageLoadState::didCommitLoad):

  • UIProcess/PageLoadState.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
(WebKit::WebPageProxy::didCommitLoadForFrame):

1:21 PM Changeset in webkit [159450] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

Remove unneeded BackingStore-related #include from IDBFactoryBackendInterface

Rubberstamped by Beth Dakin.

  • Modules/indexeddb/IDBFactoryBackendInterface.h:
1:03 PM Changeset in webkit [159449] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

Move m_pendingAPIRequestURL to PageLoadState
https://bugs.webkit.org/show_bug.cgi?id=124531

Reviewed by Tim Horton.

  • UIProcess/API/C/WKPage.cpp:

(WKPageCopyPendingAPIRequestURL):

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::pendingAPIRequestURL):
(WebKit::PageLoadState::setPendingAPIRequestURL):
(WebKit::PageLoadState::clearPendingAPIRequestURL):

  • UIProcess/PageLoadState.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadURL):
(WebKit::WebPageProxy::loadURLRequest):
(WebKit::WebPageProxy::reload):
(WebKit::WebPageProxy::goForward):
(WebKit::WebPageProxy::goBack):
(WebKit::WebPageProxy::goToBackForwardItem):
(WebKit::WebPageProxy::activeURL):
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::estimatedProgress):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::pageLoadState):

  • UIProcess/cf/WebPageProxyCF.cpp:

(WebKit::WebPageProxy::sessionStateData):
(WebKit::WebPageProxy::restoreFromSessionStateData):

12:52 PM Changeset in webkit [159448] by fpizlo@apple.com
  • 6 edits in trunk/Source

Allow the FTL debug dumps to include the new size field
https://bugs.webkit.org/show_bug.cgi?id=124479

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

  • ftl/FTLStackMaps.cpp:

(JSC::FTL::StackMaps::Location::parse):
(JSC::FTL::StackMaps::Location::dump):

  • ftl/FTLStackMaps.h:

Source/WTF:

  • wtf/PrintStream.cpp:

(WTF::printInternal):

  • wtf/PrintStream.h:
12:42 PM Changeset in webkit [159447] by commit-queue@webkit.org
  • 11 edits in trunk/Source/WebCore

Change mediasource and mediastream modules to use nullptr
https://bugs.webkit.org/show_bug.cgi?id=124530

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-11-18
Reviewed by Tim Horton.

No new tests needed, no behavior change.

  • Modules/mediasource/MediaSource.cpp:
  • Modules/mediasource/SourceBuffer.cpp:
  • Modules/mediastream/MediaStream.cpp:
  • Modules/mediastream/RTCDTMFSender.cpp:
  • Modules/mediastream/RTCDataChannel.cpp:
  • Modules/mediastream/RTCIceCandidate.cpp:
  • Modules/mediastream/RTCPeerConnection.cpp:
  • Modules/mediastream/RTCSessionDescription.cpp:
  • Modules/mediastream/RTCStatsResponse.cpp:
  • Modules/mediastream/UserMediaRequest.cpp:
12:32 PM Changeset in webkit [159446] by Michał Pakuła vel Rutka
  • 2 edits in trunk/Source/WebKit2

Unreviewed EFL build fix after r159444

  • CMakeLists.txt: Added PageLoadState.cpp.
12:01 PM Changeset in webkit [159445] by beidson@apple.com
  • 13 edits in trunk/Source/WebCore

Move execution of IDBCursorBackendOperations to the IDBServerConnection
https://bugs.webkit.org/show_bug.cgi?id=124463

Reviewed by Tim Horton.

This almost entirely removes knowledge of the backing store from the front end.

The primary change here is to give cursors a unique ID.

This way the IDBCursorBackend can reference itself by ID, while the
IDBServerConnection can handle mapping that ID to a backing store.

  • Modules/indexeddb/IDBBackingStoreCursorInterface.h:
  • Modules/indexeddb/IDBBackingStoreInterface.h:
  • Modules/indexeddb/IDBCursorBackend.cpp:

(WebCore::IDBCursorBackend::IDBCursorBackend):
(WebCore::IDBCursorBackend::deleteFunction):
(WebCore::IDBCursorBackend::prefetchReset):
(WebCore::IDBCursorBackend::close):
(WebCore::IDBCursorBackend::updateCursorData):
(WebCore::IDBCursorBackend::clearCursorData):

  • Modules/indexeddb/IDBCursorBackend.h:

(WebCore::IDBCursorBackend::create):
(WebCore::IDBCursorBackend::key):
(WebCore::IDBCursorBackend::primaryKey):
(WebCore::IDBCursorBackend::value):
(WebCore::IDBCursorBackend::id):
(WebCore::IDBCursorBackend::transaction):
(WebCore::IDBCursorBackend::setSavedCursorID):

  • Modules/indexeddb/IDBCursorBackendOperations.cpp:

(WebCore::CursorAdvanceOperation::perform):
(WebCore::CursorIterationOperation::perform):
(WebCore::CursorPrefetchIterationOperation::perform):

  • Modules/indexeddb/IDBCursorBackendOperations.h:

(WebCore::CursorIterationOperation::key):
(WebCore::CursorIterationOperation::callbacks):
(WebCore::CursorAdvanceOperation::count):
(WebCore::CursorAdvanceOperation::callbacks):
(WebCore::CursorPrefetchIterationOperation::numberToFetch):
(WebCore::CursorPrefetchIterationOperation::callbacks):

  • Modules/indexeddb/IDBServerConnection.h:
  • Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.h:

(WebCore::IDBBackingStoreCursorLevelDB::IDBBackingStoreCursorLevelDB):

  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:

(WebCore::ObjectStoreKeyCursorImpl::create):
(WebCore::ObjectStoreKeyCursorImpl::clone):
(WebCore::ObjectStoreKeyCursorImpl::ObjectStoreKeyCursorImpl):
(WebCore::ObjectStoreCursorImpl::create):
(WebCore::ObjectStoreCursorImpl::clone):
(WebCore::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
(WebCore::IDBBackingStoreLevelDB::openObjectStoreCursor):
(WebCore::IDBBackingStoreLevelDB::openObjectStoreKeyCursor):
(WebCore::IDBBackingStoreLevelDB::openIndexKeyCursor):
(WebCore::IDBBackingStoreLevelDB::openIndexCursor):

  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:

(WebCore::IDBServerConnectionLevelDB::IDBServerConnectionLevelDB):
(WebCore::IDBServerConnectionLevelDB::setIndexKeys):
(WebCore::IDBServerConnectionLevelDB::createObjectStore):
(WebCore::IDBServerConnectionLevelDB::createIndex):
(WebCore::IDBServerConnectionLevelDB::deleteIndex):
(WebCore::IDBServerConnectionLevelDB::get):
(WebCore::IDBServerConnectionLevelDB::put):
(WebCore::IDBServerConnectionLevelDB::openCursor):
(WebCore::IDBServerConnectionLevelDB::count):
(WebCore::IDBServerConnectionLevelDB::deleteRange):
(WebCore::IDBServerConnectionLevelDB::clearObjectStore):
(WebCore::IDBServerConnectionLevelDB::deleteObjectStore):
(WebCore::IDBServerConnectionLevelDB::changeDatabaseVersion):
(WebCore::IDBServerConnectionLevelDB::cursorAdvance):
(WebCore::IDBServerConnectionLevelDB::cursorIterate):
(WebCore::IDBServerConnectionLevelDB::cursorPrefetchIteration):
(WebCore::IDBServerConnectionLevelDB::cursorPrefetchReset):

  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
12:00 PM Changeset in webkit [159444] by andersca@apple.com
  • 4 edits
    2 adds in trunk/Source/WebKit2

Add PageLoadState class
https://bugs.webkit.org/show_bug.cgi?id=124528

Reviewed by Dan Bernstein.

Trying to use the main frame load state as the page load state was a bad idea,
add a new PageLoadState and use it instead. Ultimately the long term plan is to
transition away from FrameLoadState entirely.

  • UIProcess/PageLoadState.cpp: Added.

(WebKit::PageLoadState::PageLoadState):
(WebKit::PageLoadState::~PageLoadState):
(WebKit::PageLoadState::didStartProvisionalLoad):

  • UIProcess/PageLoadState.h: Added.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):

  • UIProcess/WebPageProxy.h:
  • WebKit2.xcodeproj/project.pbxproj:
11:59 AM Changeset in webkit [159443] by jer.noble@apple.com
  • 4 edits in trunk/Source

[WTF] Media time should not have a constructor which accepts a single int or float.
https://bugs.webkit.org/show_bug.cgi?id=124470

Source/WebCore:

Reviewed by Eric Carlson.

Fix the compile error exposed by removing the default parameter in the MediaTime constructor.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::setTimestampOffset):

Source/WTF:

Having a constructor taking a single number value, as it's very easy to accidentially mis-
initialize a MediaTime with a double (automatically casted to a int64_t).

Reviewed by Eric Carlson.

  • wtf/MediaTime.h:
11:53 AM Changeset in webkit [159442] by commit-queue@webkit.org
  • 10 edits in trunk/Source/WebCore

Change webaudio to use nullptr for null pointers
https://bugs.webkit.org/show_bug.cgi?id=124526

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-11-18
Reviewed by Anders Carlsson.

No new tests needed, no behavior change.

  • Modules/webaudio/AudioBuffer.cpp:
  • Modules/webaudio/AudioContext.cpp:
  • Modules/webaudio/AudioNode.cpp:
  • Modules/webaudio/ChannelMergerNode.cpp:
  • Modules/webaudio/ChannelSplitterNode.cpp:
  • Modules/webaudio/MediaStreamAudioSource.cpp:
  • Modules/webaudio/OfflineAudioContext.cpp:
  • Modules/webaudio/PeriodicWave.cpp:
  • Modules/webaudio/ScriptProcessorNode.cpp:
11:44 AM Changeset in webkit [159441] by dfarler@apple.com
  • 2 edits in trunk/Source/WebKit2

[ASAN] WebKit2: Remove calls to dead DownloadAuthenticationClient code
https://bugs.webkit.org/show_bug.cgi?id=124367

Reviewed by Alexey Proskuryakov.

  • Shared/Downloads/DownloadAuthenticationClient.cpp:

(WebKit::DownloadAuthenticationClient::receivedCredential):
(WebKit::DownloadAuthenticationClient::receivedRequestToContinueWithoutCredential):
(WebKit::DownloadAuthenticationClient::receivedCancellation):
Remove calls to nowhere:
WebKit::Download::cancelAuthenticationChallenge(WebCore::AuthenticationChallenge const&)
WebKit::Download::continueWithoutCredential(WebCore::AuthenticationChallenge const&)
WebKit::Download::useCredential(WebCore::AuthenticationChallenge const&, WebCore::Credential const&)

11:34 AM Changeset in webkit [159440] by timothy_horton@apple.com
  • 2 edits
    1 delete in trunk/Tools

Checkmarks are shifted down on iPhone at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=122909

Reviewed by Alexey Proskuryakov.

Put the checkmark SVG in the CSS file as a data URI so it loads immediately.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/StatusLineView.css:

(.status-line .bubble):
(.status-line.good .bubble.pictogram):

11:10 AM Changeset in webkit [159439] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

Use a strong enum for frame load states
https://bugs.webkit.org/show_bug.cgi?id=124524

Reviewed by Dan Bernstein.

  • UIProcess/API/C/WKFrame.cpp:

(WKFrameGetFrameLoadState):

  • UIProcess/FrameLoadState.cpp:

(WebKit::FrameLoadState::FrameLoadState):
(WebKit::FrameLoadState::didStartProvisionalLoad):
(WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad):
(WebKit::FrameLoadState::didFailProvisionalLoad):
(WebKit::FrameLoadState::didCommitLoad):
(WebKit::FrameLoadState::didFinishLoad):
(WebKit::FrameLoadState::didFailLoad):

  • UIProcess/FrameLoadState.h:
  • UIProcess/WebFrameProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::activeURL):
(WebKit::WebPageProxy::resetStateAfterProcessExited):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::loadStateAtProcessExit):

11:00 AM Changeset in webkit [159438] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WTF

URTBF after r159432 to make WinCairo build happy.

  • wtf/text/WTFString.h:
10:54 AM Changeset in webkit [159437] by andersca@apple.com
  • 9 edits in trunk/Source

Remove unnecessary COMPILER(CLANG) #ifdefs in Mac-only code
https://bugs.webkit.org/show_bug.cgi?id=124523

Reviewed by Dan Bernstein.

Source/WebKit/mac:

  • Plugins/Hosted/NetscapePluginHostManager.mm:

(WebKit::NetscapePluginHostManager::spawnPluginHost):
(WebKit::NetscapePluginHostManager::didCreateWindow):

  • Plugins/Hosted/NetscapePluginHostProxy.mm:

(WebKit::NetscapePluginHostProxy::makeCurrentProcessFrontProcess):
(WebKit::NetscapePluginHostProxy::makePluginHostProcessFrontProcess):
(WebKit::NetscapePluginHostProxy::isPluginHostProcessFrontProcess):

Source/WebKit2:

  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::beginModal):

  • PluginProcess/mac/PluginProcessShim.mm:
  • Shared/Plugins/Netscape/NetscapePluginModule.cpp:

(WebKit::NetscapePluginModule::tryLoad):

  • Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::PluginProcessProxy::getPluginProcessSerialNumber):
(WebKit::PluginProcessProxy::makePluginProcessTheFrontProcess):
(WebKit::PluginProcessProxy::makeUIProcessTheFrontProcess):
(WebKit::PluginProcessProxy::exitFullscreen):

10:46 AM Changeset in webkit [159436] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/win

[Win] Optimization, no need to erase background before paint.
https://bugs.webkit.org/show_bug.cgi?id=124453

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-11-18
Reviewed by Brent Fulgham.

As the paint will blit a bitmap onto the invalid area (no alpha),
there is no need to erase the background first, as this will be overwritten by the blit.

  • WebView.cpp:

(WebView::WebViewWndProc): Avoid erasing background before paint.

10:45 AM Changeset in webkit [159435] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Curl] Basic authentication is not reused.
https://bugs.webkit.org/show_bug.cgi?id=124452

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-11-18
Reviewed by Brent Fulgham.

After a successful basic authentication, the credentials are not reused for later requests.
In the CFNetwork port, this is solved by trying basic authentication first, if credentials exists.
Also, when a 401 response is received, the first thing the CFNetwork port does, is to use
m_user/m_pass as credentials in the following request if they are set.
This can be done the same way for the Curl version.

  • platform/network/curl/ResourceHandleCurl.cpp:

(WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Try using m_user/m_pass as credentials first, if they are set.

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::ResourceHandleManager::applyAuthenticationToRequest): Try basic authentication first, if credentials exists.

10:42 AM Changeset in webkit [159434] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Ignore deprecation warnings for now.

  • History/WebHistory.h:
10:35 AM Changeset in webkit [159433] by Michał Pakuła vel Rutka
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening

  • platform/efl/TestExpectations: Add failure expectations for CSS filters layout tests.
10:35 AM Changeset in webkit [159432] by commit-queue@webkit.org
  • 4 edits
    4 adds in trunk/Source/WebCore

[curl] Add file cache
https://bugs.webkit.org/show_bug.cgi?id=123333

Patch by Mátyás Mustoha <mmatyas@inf.u-szeged.hu> on 2013-11-18
Reviewed by Brent Fulgham.

Implementation of on disc file cache
for the curl network backend.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • platform/network/curl/CurlCacheEntry.cpp: Added.

(WebCore::CurlCacheEntry::CurlCacheEntry):
(WebCore::CurlCacheEntry::~CurlCacheEntry):
(WebCore::CurlCacheEntry::isCached):
(WebCore::CurlCacheEntry::requestHeaders):
(WebCore::CurlCacheEntry::saveCachedData):
(WebCore::CurlCacheEntry::loadCachedData):
(WebCore::CurlCacheEntry::saveResponseHeaders):
(WebCore::CurlCacheEntry::loadResponseHeaders):
(WebCore::CurlCacheEntry::setResponseFromCachedHeaders):
(WebCore::CurlCacheEntry::didFail):
(WebCore::CurlCacheEntry::didFinishLoading):
(WebCore::CurlCacheEntry::generateBaseFilename):
(WebCore::CurlCacheEntry::loadFileToBuffer):
(WebCore::CurlCacheEntry::invalidate):
(WebCore::CurlCacheEntry::parseResponseHeaders):

  • platform/network/curl/CurlCacheEntry.h: Added.

(WebCore::CurlCacheEntry::isInMemory):

  • platform/network/curl/CurlCacheManager.cpp: Added.

(WebCore::CurlCacheManager::getInstance):
(WebCore::CurlCacheManager::CurlCacheManager):
(WebCore::CurlCacheManager::~CurlCacheManager):
(WebCore::CurlCacheManager::setCacheDirectory):
(WebCore::CurlCacheManager::loadIndex):
(WebCore::CurlCacheManager::saveIndex):
(WebCore::CurlCacheManager::didReceiveResponse):
(WebCore::CurlCacheManager::didFinishLoading):
(WebCore::CurlCacheManager::isCached):
(WebCore::CurlCacheManager::requestHeaders):
(WebCore::CurlCacheManager::didReceiveData):
(WebCore::CurlCacheManager::saveResponseHeaders):
(WebCore::CurlCacheManager::invalidateCacheEntry):
(WebCore::CurlCacheManager::didFail):
(WebCore::CurlCacheManager::loadCachedData):

  • platform/network/curl/CurlCacheManager.h: Added.

(WebCore::CurlCacheManager::getCacheDirectory):

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::writeCallback):
(WebCore::headerCallback):
(WebCore::ResourceHandleManager::downloadTimerCallback):
(WebCore::ResourceHandleManager::initializeHandle):

10:30 AM Changeset in webkit [159431] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[Win] Link fails when DFG JIT is enabled.
https://bugs.webkit.org/show_bug.cgi?id=123614

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-11-18
Reviewed by Brent Fulgham.

10:25 AM Changeset in webkit [159430] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[Win] WebKit version in user agent string is incorrect.
https://bugs.webkit.org/show_bug.cgi?id=124454

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-11-18
Reviewed by Brent Fulgham.

Source/WebCore:

  • DerivedSources.make: Generate WebKitVersion.h

Source/WebKit/win:

  • WebView.cpp:

(webKitVersionString): Create WebKit version string from WebKitVersion.h.

10:22 AM Changeset in webkit [159429] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[sh4] Add missing implementation in MacroAssembler to fix build (broken since r159395).
https://bugs.webkit.org/show_bug.cgi?id=124484

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-18
Reviewed by Michael Saboff.

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::load8):
(JSC::MacroAssemblerSH4::branch8):

10:19 AM Changeset in webkit [159428] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

ARM64 CRASH: Improper offset in getHostCallReturnValue() to access callerFrame in CallFrame
https://bugs.webkit.org/show_bug.cgi?id=124481

Reviewed by Mark Lam.

Fixed the offset to access CallerFrame in the ARM64 version of getHostCallReturnValue() to be 0
to correspond with the change in CallFrame layout done in r158315.

  • jit/JITOperations.cpp:
9:56 AM Changeset in webkit [159427] by msaboff@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Crash in virtualForThunkGenerator generated code on ARM64
https://bugs.webkit.org/show_bug.cgi?id=124447

Reviewed by Geoffrey Garen.

The baseline JIT generates slow path call code with the caller in regT0. The DFG
generates call code with the caller in nonArgGPR0. The virtualForThunkGenerator
generates code with the caller in nonArgGPR0. For X86 and X86_64, regT0 and nonArgGPR0
are the same CPU register, eax. For other platforms this isn't the case. The same
issue exists for JSVALUE32_64 ports as well, where there also is an issue with the callee
tag registers being regT1 and nonArgGPR1 in the various locations.

Changed nonArgGPR0, nonArgGPR1 and nonArgGPR2 for X86 and X86_64 to not match up with
regT0-2. Changing these registers will cause a crash on all ports should we have a
similar problem in the future. Changed the DFG call generating code to use regT0 and
regT1. Now all slow path call code is generated using regT0 and for JSVALUE32_64 regT1.
Added r12 to X86_64 as a new temp register (regT9) and moved r13 down to regT10.
The new temp register decreases the likelihood of inadvertant register overlap.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

  • jit/GPRInfo.h:

(JSC::GPRInfo::toRegister):
(JSC::GPRInfo::toIndex):

  • jit/ThunkGenerators.cpp:

(JSC::virtualForThunkGenerator):

9:06 AM Changeset in webkit [159426] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.3.2

Tagging the WebKitGTK+ 2.3.2 release

8:58 AM Changeset in webkit [159425] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Add missing load8/branch8 with AbsoluteAddress parameter to MIPS port.

[MIPS] Build fails since r159395.
https://bugs.webkit.org/show_bug.cgi?id=124491

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2013-11-18
Reviewed by Michael Saboff.

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::load8):
(JSC::MacroAssemblerMIPS::branch8):

8:54 AM Changeset in webkit [159424] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Adding failure expectations for the current set

of untriaged failures on the 64-bit WK2 builder.

8:35 AM Changeset in webkit [159423] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r159351): It made zillion tests assert on !CF platforms
https://bugs.webkit.org/show_bug.cgi?id=124490

Reviewed by Mark Hahnenberg.

  • heap/MarkedSpace.cpp:

(JSC::MarkedSpace::sweep):

8:01 AM Changeset in webkit [159422] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

Remove architecture specific code in LowLevelInterpreter.
https://bugs.webkit.org/show_bug.cgi?id=124501

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-18
Reviewed by Michael Saboff.

  • llint/LowLevelInterpreter.asm: Use generic path instead of sh4 specific code.
  • llint/LowLevelInterpreter32_64.asm: Merge sh4/mips path with arm path. The

"move t0, a0" is not needed for arm because t0 == a0 with this architecture.

  • offlineasm/sh4.rb: Handle move opcode with pr register.
7:28 AM Changeset in webkit [159421] by rniwa@webkit.org
  • 3 edits in trunk/PerformanceTests

[Performance tests] Interactive/SelectAll.html throws an exception
https://bugs.webkit.org/show_bug.cgi?id=124495

Reviewed by Antti Koivisto

Return a boolean indicating whether more values are needed or not in
PerfTestRunner.measureValueAsync so that runTest can terminate gracefully.

  • Interactive/SelectAll.html:

(runTest): Don't schedule a timer for runTest if we've got enough values.

  • resources/runner.js:

(PerfTestRunner.measureValueAsync): Returns true iff more values are needed.

6:52 AM Changeset in webkit [159420] by Carlos Garcia Campos
  • 4 edits in trunk

Unreviewed. Update NEWS and Versions.m4 for 2.3.2 release.

.:

  • Source/autotools/Versions.m4: Bump version numbers.

Source/WebKit/gtk:

  • NEWS: Added release notes for 2.3.2.
6:49 AM Changeset in webkit [159419] by Carlos Garcia Campos
  • 5 edits in trunk/Source

Unreviewed. Fix make distcheck.

Source/WebCore:

  • GNUmakefile.am: Add inspector json files to EXTRA_DIST and

remove maketokenizer from EXTRA_DIST.

  • GNUmakefile.list.am: Add missing header files.

Source/WTF:

  • GNUmakefile.list.am: Add missing header file.
6:42 AM Changeset in webkit [159418] by rniwa@webkit.org
  • 3 edits in trunk/Tools

Remove _lines_to_ignore_in_stderr, which was only used in Chromium port
https://bugs.webkit.org/show_bug.cgi?id=124499

Reviewed by Csaba Osztrogonác.

Removed the code. I didn't like this hack back when it was added, and I don't like it today.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest._should_ignore_line):

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(TestPerfTest): Removed the unit test.

4:45 AM WebKitGTK/Debugging edited by Manuel Rego Casasnovas
Fix error, you cannot pass --debug to GtkLauncher (diff)
4:23 AM Changeset in webkit [159417] by gyuyoung.kim@samsung.com
  • 12 edits in trunk/Source/WebCore

Generate toHTMLDataList|Html|EmbedElement
https://bugs.webkit.org/show_bug.cgi?id=124482

Reviewed by Tim Horton.

To clean up static_cast<HTMLFoo*>, toHTMLEmbedElement, toHTMLHtmlElement, toHTMLDataListElement
are generated.

No new tests, no behavior changes.

  • html/HTMLDataListElement.h:
  • html/HTMLEmbedElement.h:
  • html/HTMLHtmlElement.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::dataList):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::ownerDataListElement):

  • html/HTMLTagNames.in:
  • html/ImageDocument.cpp:

(WebCore::ImageDocument::createDocumentStructure):

  • html/MediaDocument.cpp:

(WebCore::MediaDocumentParser::createDocumentStructure):
(WebCore::MediaDocument::replaceMediaElementTimerFired):

  • html/PluginDocument.cpp:

(WebCore::PluginDocumentParser::createDocumentStructure):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paintSliderTicks):

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::startElementNs):

3:48 AM Changeset in webkit [159416] by gyuyoung.kim@samsung.com
  • 18 edits in trunk/Source/WebCore

Clean up static_cast<HTMLFoo*> usage
https://bugs.webkit.org/show_bug.cgi?id=124480

Reviewed by Tim Horton.

Though there are toHTMLFoo(), some places are still using static_cast<>.
Additionally, toHTMLBodyElement() is supported from now.

No new tests, no behavior changes.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::isRequired):

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::isDataTable):

  • bindings/js/JSHTMLFrameSetElementCustom.cpp:

(WebCore::JSHTMLFrameSetElement::nameGetter):

  • bindings/js/JSPluginElementFunctions.cpp:

(WebCore::pluginInstance):

  • dom/Document.cpp:

(WebCore::Document::openSearchDescriptionURL):
(WebCore::Document::iconURLs):

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::makeInsertedContentRoundTrippableWithHTMLTreeBuilder):

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::setTextAlignmentForChangedBaseWritingDirection):

  • html/HTMLBodyElement.h:
  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::bgColor):
(WebCore::HTMLDocument::setBgColor):
(WebCore::HTMLDocument::fgColor):
(WebCore::HTMLDocument::setFgColor):
(WebCore::HTMLDocument::alinkColor):
(WebCore::HTMLDocument::setAlinkColor):
(WebCore::HTMLDocument::linkColor):
(WebCore::HTMLDocument::setLinkColor):
(WebCore::HTMLDocument::vlinkColor):
(WebCore::HTMLDocument::setVlinkColor):

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::rendererIsNeeded):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::updateAncestorDisabledState):
(WebCore::HTMLFormControlElement::enclosingFormControlElement):

  • html/HTMLFormElement.cpp:

(WebCore::submitElementFromEvent):

  • html/HTMLImageLoader.cpp:

(WebCore::HTMLImageLoader::notifyFinished):

  • html/HTMLLegendElement.cpp:

(WebCore::HTMLLegendElement::virtualForm):

  • html/RadioNodeList.cpp:

(WebCore::RadioNodeList::checkElementMatchesRadioNodeListFilter):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForNode):

3:37 AM Changeset in webkit [159415] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[arm] Add missing implementation in MacroAssembler to fix build (broken since r159395).
https://bugs.webkit.org/show_bug.cgi?id=124488

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-18
Reviewed by Zoltan Herczeg.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::branch8):

3:31 AM Changeset in webkit [159414] by ryuan.choi@samsung.com
  • 5 edits
    4 adds in trunk/Source

[EFL] Add EWebKitConfig.cmake and EWebKit2Config.cmake
https://bugs.webkit.org/show_bug.cgi?id=124478

Reviewed by Gyuyoung Kim.

EWebKit is built using CMake but applications use *.pc to use it.
This patch provides EWebKitConfig.cmake and EWebKit2Config.cmake
for applications which use EWebkit and is compiled by CMake.

Source/WebKit:

  • PlatformEfl.cmake:

Configure and install EWebKitConfig.cmake and EWebKitConfigVersion.cmake

Source/WebKit/efl:

  • EWebKitConfig.cmake.in: Added.
  • EWebKitConfigVersion.cmake.in: Added.

Source/WebKit2:

  • PlatformEfl.cmake:

Configure and install EWebKit2Config.cmake and EWebKit2ConfigVersion.cmake

  • efl/EWebKit2Config.cmake.in: Added.
  • efl/EWebKit2ConfigVersion.cmake.in: Added.
3:22 AM Changeset in webkit [159413] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Update GObject DOM symbols file after r158760.

  • bindings/gobject/webkitdom.symbols: Add

webkit_dom_text_track_get_id prototype.

3:19 AM Changeset in webkit [159412] by zandobersek@gmail.com
  • 4 edits in trunk/LayoutTests

Unreviewed GTK gardening.
Cleaning up expectations for unexpectedly passing tests, either removing or updating them
to reflect the current status of the test.

  • platform/gtk-wk1/TestExpectations:
  • platform/gtk-wk2/TestExpectations:
  • platform/gtk/TestExpectations:
3:05 AM Changeset in webkit [159411] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebCore

REGRESSION(r158821): [GTK] API break due to removed properties in GObject DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=124489

Reviewed by Philippe Normand.

In r158821, several properties were changed from readonly to
CustomSetter. The GObject DOM bindings currently skips any
attribute having a custom getter or setter, and those properties
are not generated anymore. We should add support for generating
attributes having a custom getter or setter in GObject DOM
bindings generator, but to fix the ABI break now we bring the old
implementatiom back as custom implementation. This fixes the ABI
compatibility, but not the API since the GObject properties are
not generated.

  • bindings/gobject/WebKitDOMCustom.cpp:

(webkit_dom_audio_track_get_kind):
(webkit_dom_audio_track_get_language):
(webkit_dom_text_track_get_kind):
(webkit_dom_text_track_get_language):
(webkit_dom_video_track_get_kind):
(webkit_dom_video_track_get_language):

  • bindings/gobject/WebKitDOMCustom.h:
  • bindings/gobject/WebKitDOMCustom.symbols:
2:22 AM Changeset in webkit [159410] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Update GObject DOM symbols file after r158662.

  • bindings/gobject/webkitdom.symbols: Add missing prototypes.
2:19 AM Changeset in webkit [159409] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Addressing the current set of timing-out tests. Timeout expectations

are added where appropriate, with one js/regress/ test speculatively marked as slow.

2:01 AM Changeset in webkit [159408] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Update GObject DOM symbols file after r159208 and r159363.

  • bindings/gobject/webkitdom.symbols: Add

webkit_dom_html_media_element_fast_seek prototype.

1:52 AM Changeset in webkit [159407] by zandobersek@gmail.com
  • 9 edits
    2 adds in trunk/LayoutTests

Unreviewed GTK gardening.

Update the global constructors' attibutes baseline for the WK2 flavor of the GTK port.
Update baselines for tests under media/.

  • platform/gtk-wk2/js/dom/global-constructors-attributes-expected.txt:
  • platform/gtk/media/W3C/video/canPlayType/canPlayType_codecs_order_1-expected.txt:
  • platform/gtk/media/W3C/video/canPlayType/canPlayType_supported_but_no_codecs_parameter_1-expected.txt:
  • platform/gtk/media/W3C/video/canPlayType/canPlayType_two_implies_one_1-expected.txt:
  • platform/gtk/media/W3C/video/canPlayType/canPlayType_two_implies_one_2-expected.txt:
  • platform/gtk/media/media-can-play-ogg-expected.txt:
  • platform/gtk/media/video-controls-captions-trackmenu-localized-expected.txt:
  • platform/gtk/media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles-expected.txt: Added.
  • platform/gtk/media/video-controls-captions-trackmenu-sorted-expected.txt:
  • platform/gtk/media/volume-bar-empty-when-muted-expected.txt: Added.
1:51 AM Changeset in webkit [159406] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebCore

REGRESSION(r159363): [GTK] API break in webkit_dom_html_media_element_set_current_time
https://bugs.webkit.org/show_bug.cgi?id=124485

Reviewed by Philippe Normand.

In r159363 currentTime attribute was changed to not raise
exceptions. This breaks the API of GObject DOM bindings because we
use a GError parameter for exceptions that has been removed.

  • bindings/gobject/WebKitDOMCustom.cpp:

(webkit_dom_html_media_element_set_current_time): Custom
implementation that receives a GError for backwards
compatibility.

  • bindings/gobject/WebKitDOMCustom.h:
  • bindings/gobject/WebKitDOMCustom.symbols: Add

webkit_dom_html_media_element_set_current_time prototype.

  • bindings/scripts/CodeGeneratorGObject.pm:

(SkipFunction): Skip
webkit_dom_html_media_element_set_current_time since we are adding
a custom implementation.

1:20 AM Changeset in webkit [159405] by zandobersek@gmail.com
  • 6 edits
    9 adds in trunk/LayoutTests

Unreviewed GTK gardening. Updating GTK-specific baselines for tests under editing/, scrollingcoordinator/ and tables/.

  • platform/gtk/editing/deleting/smart-delete-003-expected.txt:
  • platform/gtk/editing/deleting/smart-delete-004-expected.txt:
  • platform/gtk/editing/spelling/centering-misspelling-dots-expected.png: Added.
  • platform/gtk/editing/spelling/centering-misspelling-dots-expected.txt: Added.
  • platform/gtk/editing/spelling/misspelling-dots-dont-extend-beyond-words-expected.png: Added.
  • platform/gtk/editing/spelling/misspelling-dots-dont-extend-beyond-words-expected.txt: Added.
  • platform/gtk/editing/unsupported-content/table-delete-001-expected.txt:
  • platform/gtk/editing/unsupported-content/table-delete-003-expected.txt:
  • platform/gtk/scrollingcoordinator: Added.
  • platform/gtk/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.png: Added.
  • platform/gtk/scrollingcoordinator/non-fast-scrollable-region-scaled-iframe-expected.txt: Added.
  • platform/gtk/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.png: Added.
  • platform/gtk/scrollingcoordinator/non-fast-scrollable-region-transformed-iframe-expected.txt: Added.
  • platform/gtk/tables/mozilla_expected_failures/bugs/bug91057-expected.txt:
12:51 AM Changeset in webkit [159404] by zandobersek@gmail.com
  • 19 edits
    3 adds in trunk/LayoutTests

Unreviewed GTK gardening. Rebaselining various tests under fast/.

  • platform/gtk/fast/backgrounds/size/contain-and-cover-zoomed-expected.png:
  • platform/gtk/fast/backgrounds/size/contain-and-cover-zoomed-expected.txt: Added.
  • platform/gtk/fast/block/float/016-expected.png:
  • platform/gtk/fast/block/float/016-expected.txt:
  • platform/gtk/fast/block/lineboxcontain/block-with-ideographs-expected.png: Added.
  • platform/gtk/fast/block/lineboxcontain/block-with-ideographs-expected.txt:
  • platform/gtk/fast/css/empty-pseudo-class-expected.txt:
  • platform/gtk/fast/css/fieldset-display-row-expected.png:
  • platform/gtk/fast/css/fieldset-display-row-expected.txt:
  • platform/gtk/fast/css/first-child-pseudo-class-expected.txt:
  • platform/gtk/fast/css/last-child-pseudo-class-expected.txt:
  • platform/gtk/fast/css/only-child-pseudo-class-expected.txt:
  • platform/gtk/fast/forms/basic-textareas-expected.png:
  • platform/gtk/fast/forms/basic-textareas-expected.txt:
  • platform/gtk/fast/forms/basic-textareas-quirks-expected.png:
  • platform/gtk/fast/forms/basic-textareas-quirks-expected.txt:
  • platform/gtk/fast/forms/textAreaLineHeight-expected.png:
  • platform/gtk/fast/forms/textAreaLineHeight-expected.txt:
  • platform/gtk/fast/parser/entity-comment-in-textarea-expected.png:
  • platform/gtk/fast/parser/entity-comment-in-textarea-expected.txt:
  • platform/gtk/fast/repaint/increasing-region-content-height-expected.txt: Added.
12:42 AM Changeset in webkit [159403] by ap@apple.com
  • 6 edits
    2 adds in trunk

Support exporting public RSASSA-PKCS1-v1_5 keys
https://bugs.webkit.org/show_bug.cgi?id=124475

Reviewed by Sam Weinig.

Source/WebCore:

Test: crypto/subtle/rsa-export-key.html

  • bindings/js/JSCryptoKeySerializationJWK.h:
  • bindings/js/JSCryptoKeySerializationJWK.cpp:

(WebCore::JSCryptoKeySerializationJWK::buildJSONForRSAComponents):
(WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
(WebCore::JSCryptoKeySerializationJWK::serialize):
Added said support (this part works with private keys too).

  • crypto/keys/CryptoKeyRSA.h:
  • crypto/mac/CryptoKeyRSAMac.cpp:

(WebCore::CryptoKeyRSA::getPublicKeyComponents): Moved the logic for getting a
public key from private one here for reuse in keySizeInBits().
(WebCore::CryptoKeyRSA::isRestrictedToHash):
(WebCore::CryptoKeyRSA::keySizeInBits):
(WebCore::CryptoKeyRSA::exportData):
Exposed information necessary for JWK serialization.

LayoutTests:

  • crypto/subtle/rsa-export-key-expected.txt: Added.
  • crypto/subtle/rsa-export-key.html: Added.
12:27 AM Changeset in webkit [159402] by zandobersek@gmail.com
  • 20 edits in trunk/LayoutTests

Unreviewed GTK gardening. Rebaselining CSS tests' expectations.

  • platform/gtk/css1/box_properties/margin_right-expected.png:
  • platform/gtk/css1/box_properties/margin_right-expected.txt:
  • platform/gtk/css1/box_properties/padding-expected.png:
  • platform/gtk/css1/box_properties/padding-expected.txt:
  • platform/gtk/css1/box_properties/padding_left-expected.png:
  • platform/gtk/css1/box_properties/padding_left-expected.txt:
  • platform/gtk/css1/box_properties/padding_right-expected.png:
  • platform/gtk/css1/box_properties/padding_right-expected.txt:
  • platform/gtk/css1/box_properties/padding_top-expected.png:
  • platform/gtk/css1/box_properties/padding_top-expected.txt:
  • platform/gtk/css1/formatting_model/vertical_formatting-expected.png:
  • platform/gtk/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/gtk/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt:
  • platform/gtk/css2.1/t0804-c5507-padn-r-00-c-ag-expected.png:
  • platform/gtk/css2.1/t0804-c5507-padn-r-00-c-ag-expected.txt:
  • platform/gtk/css2.1/t0804-c5509-padn-l-00-b-ag-expected.txt:
  • platform/gtk/css2.1/t0804-c5510-padn-00-b-ag-expected.txt:
  • platform/gtk/css2.1/t0905-c414-flt-wrap-00-e-expected.png:
  • platform/gtk/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
12:25 AM Changeset in webkit [159401] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit2

[EFL][WK2] Process single tap using mouse move, down and up event.
https://bugs.webkit.org/show_bug.cgi?id=106864

Patch by Eunmi Lee <eunmi15.lee@samsung.com> on 2013-11-18
Reviewed by Christophe Dumez.

Send mouse events to the web process to perform the clicking when
single tap gesture is recognized.
Additionally, add WKViewSendMouseDownEvent(), WKViewSendMouseUpEvent()
and WKViewSendMouseMoveEvent() to avoid using WK2 internals in the EFL
API implementation.

  • UIProcess/API/C/efl/WKViewEfl.cpp:

(WKViewSendMouseDownEvent):
(WKViewSendMouseUpEvent):
(WKViewSendMouseMoveEvent):

  • UIProcess/API/C/efl/WKViewEfl.h:
  • UIProcess/API/efl/GestureRecognizer.cpp:

(WebKit::GestureHandler::handleSingleTap):

  • UIProcess/efl/WebViewEfl.cpp:

(WebKit::WebViewEfl::sendMouseEvent):

  • UIProcess/efl/WebViewEfl.h:

Nov 17, 2013:

11:51 PM Changeset in webkit [159400] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[sh4] Fix revertJumpReplacementToBranchPtrWithPatch in MacroAssembler.
https://bugs.webkit.org/show_bug.cgi?id=124468

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-17
Reviewed by Michael Saboff.

Current implementation of revertJumpReplacementToBranchPtrWithPatch is wrong in
the sh4 MacroAssembler part, leading to random instabilities. This patch fixes it
and also renames the bad-named revertJumpToMove to revertJumpReplacementToBranchPtrWithPatch
in the SH4Assembler.

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::revertJumpReplacementToBranchPtrWithPatch):

  • assembler/SH4Assembler.h:

(JSC::SH4Assembler::replaceWithJump):
(JSC::SH4Assembler::revertJumpReplacementToBranchPtrWithPatch):

11:37 PM Changeset in webkit [159399] by fpizlo@apple.com
  • 3 edits in trunk/WebKitLibraries

Update binary drops to include atrick's "Ran out of registers" fix in r194942.

  • LLVMIncludesMountainLion.tar.bz2:
  • LLVMLibrariesMountainLion.tar.bz2:
11:06 PM Changeset in webkit [159398] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Unreviewed, fix this script for older Rubies where Pathname doesn't coerce to String
quite as easily.

With help from Andy Trick.

  • Scripts/export-llvm-build:
9:42 PM Changeset in webkit [159397] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening. Add webgl crash tests because webgl is not supported
by EFL WK2 fully yet as well as not fully supported by Intel and AMD hardware.

  • platform/efl-wk2/TestExpectations:
8:18 PM Changeset in webkit [159396] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test platform/mac-wk2/plugins/slow/asynchronous-plugin-initialization-multiple.html is extremely flaky on Mac WK2 bots, especially debug
https://bugs.webkit.org/show_bug.cgi?id=124476

  • platform/mac-wk2/TestExpectations:

Mark test as flaky.

6:10 PM Changeset in webkit [159395] by fpizlo@apple.com
  • 18 edits in trunk/Source/JavaScriptCore

Simplify WatchpointSet state tracking
https://bugs.webkit.org/show_bug.cgi?id=124465

Reviewed by Sam Weinig.

We previously represented the state of watchpoint sets using two booleans. But that
makes it awkward to case over the state.

We also previously supported a watchpoint set being both watched and invalidated. We
never used that capability, and its presence was just purely confusing.

This turns the whole thing into an enum.

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::branch8):

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::branch8):

  • assembler/MacroAssemblerX86.h:

(JSC::MacroAssemblerX86::branch8):

  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::branch8):

  • bytecode/Watchpoint.cpp:

(JSC::WatchpointSet::WatchpointSet):
(JSC::WatchpointSet::add):
(JSC::WatchpointSet::notifyWriteSlow):
(JSC::InlineWatchpointSet::inflateSlow):

  • bytecode/Watchpoint.h:

(JSC::WatchpointSet::state):
(JSC::WatchpointSet::isStillValid):
(JSC::WatchpointSet::startWatching):
(JSC::WatchpointSet::notifyWrite):
(JSC::WatchpointSet::addressOfState):
(JSC::InlineWatchpointSet::InlineWatchpointSet):
(JSC::InlineWatchpointSet::hasBeenInvalidated):
(JSC::InlineWatchpointSet::startWatching):
(JSC::InlineWatchpointSet::notifyWrite):
(JSC::InlineWatchpointSet::decodeState):
(JSC::InlineWatchpointSet::encodeState):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitVarInjectionCheck):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitVarInjectionCheck):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/JSFunction.cpp:

(JSC::JSFunction::JSFunction):

  • runtime/JSFunctionInlines.h:

(JSC::JSFunction::JSFunction):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::JSGlobalObject):

  • runtime/Structure.cpp:

(JSC::Structure::Structure):

  • runtime/SymbolTable.cpp:

(JSC::SymbolTableEntry::attemptToWatch):

  • runtime/SymbolTable.h:
5:46 PM Changeset in webkit [159394] by fpizlo@apple.com
  • 39 edits
    9 adds
    2 deletes in trunk

FTL should have an explicit notion of bytecode liveness
https://bugs.webkit.org/show_bug.cgi?id=124181

Source/JavaScriptCore:

Reviewed by Sam Weinig.

This makes FTL OSR exit use bytecode liveness analysis to determine which variables
to include values for. The decision of how to get the values of variables is based on
forward propagation of MovHints and SetLocals.

This fixes a bunch of bugs (like https://bugs.webkit.org/show_bug.cgi?id=124138 but
also others that I noticed when I started writing more targetted tests) and allows us
to remove some sketchy code.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/BytecodeBasicBlock.h:
  • bytecode/BytecodeLivenessAnalysis.cpp:

(JSC::isValidRegisterForLiveness):
(JSC::setForOperand):
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
(JSC::stepOverInstruction):
(JSC::computeLocalLivenessForBytecodeOffset):
(JSC::BytecodeLivenessAnalysis::runLivenessFixpoint):
(JSC::BytecodeLivenessAnalysis::operandIsLiveAtBytecodeOffset):
(JSC::getLivenessInfo):
(JSC::BytecodeLivenessAnalysis::getLivenessInfoAtBytecodeOffset):
(JSC::BytecodeLivenessAnalysis::computeFullLiveness):

  • bytecode/BytecodeLivenessAnalysis.h:
  • bytecode/BytecodeLivenessAnalysisInlines.h: Added.

(JSC::operandIsAlwaysLive):
(JSC::operandThatIsNotAlwaysLiveIsLive):
(JSC::operandIsLive):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::captureCount):
(JSC::CodeBlock::captureStart):
(JSC::CodeBlock::captureEnd):

  • bytecode/CodeOrigin.cpp:

(JSC::InlineCallFrame::dumpInContext):

  • bytecode/FullBytecodeLiveness.h: Added.

(JSC::FullBytecodeLiveness::FullBytecodeLiveness):
(JSC::FullBytecodeLiveness::getOut):
(JSC::FullBytecodeLiveness::operandIsLive):
(JSC::FullBytecodeLiveness::getLiveness):

  • dfg/DFGAvailability.cpp: Added.

(JSC::DFG::Availability::dump):
(JSC::DFG::Availability::dumpInContext):

  • dfg/DFGAvailability.h: Added.

(JSC::DFG::Availability::Availability):
(JSC::DFG::Availability::unavailable):
(JSC::DFG::Availability::withFlush):
(JSC::DFG::Availability::withNode):
(JSC::DFG::Availability::withUnavailableNode):
(JSC::DFG::Availability::nodeIsUndecided):
(JSC::DFG::Availability::nodeIsUnavailable):
(JSC::DFG::Availability::hasNode):
(JSC::DFG::Availability::node):
(JSC::DFG::Availability::flushedAt):
(JSC::DFG::Availability::operator!):
(JSC::DFG::Availability::operator==):
(JSC::DFG::Availability::merge):
(JSC::DFG::Availability::mergeNodes):
(JSC::DFG::Availability::unavailableMarker):

  • dfg/DFGBasicBlock.h:
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGDisassembler.cpp:

(JSC::DFG::Disassembler::Disassembler):

  • dfg/DFGFlushFormat.cpp:

(WTF::printInternal):

  • dfg/DFGFlushFormat.h:

(JSC::DFG::resultFor):
(JSC::DFG::useKindFor):
(JSC::DFG::dataFormatFor):

  • dfg/DFGFlushedAt.cpp:

(JSC::DFG::FlushedAt::dump):

  • dfg/DFGFlushedAt.h:

(JSC::DFG::FlushedAt::FlushedAt):
(JSC::DFG::FlushedAt::merge):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::livenessFor):
(JSC::DFG::Graph::isLiveInBytecode):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::baselineCodeBlockFor):

  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp:

(JSC::DFG::OSRAvailabilityAnalysisPhase::run):

  • dfg/DFGOSRAvailabilityAnalysisPhase.h:
  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGResurrectionForValidationPhase.cpp: Added.

(JSC::DFG::ResurrectionForValidationPhase::ResurrectionForValidationPhase):
(JSC::DFG::ResurrectionForValidationPhase::run):
(JSC::DFG::performResurrectionForValidation):

  • dfg/DFGResurrectionForValidationPhase.h: Added.
  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

  • dfg/DFGValueSource.h:

(JSC::DFG::ValueSource::forFlushFormat):

  • dfg/DFGVariableAccessData.h:
  • ftl/FTLExitValue.cpp:

(JSC::FTL::ExitValue::dumpInContext):

  • ftl/FTLInlineCacheSize.cpp:

(JSC::FTL::sizeOfGetById):

  • ftl/FTLLocation.cpp:

(JSC::FTL::Location::gpr):
(JSC::FTL::Location::fpr):
(JSC::FTL::Location::directGPR):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::LowerDFGToLLVM):
(JSC::FTL::LowerDFGToLLVM::compileBlock):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileSetLocal):
(JSC::FTL::LowerDFGToLLVM::compileZombieHint):
(JSC::FTL::LowerDFGToLLVM::compilePutById):
(JSC::FTL::LowerDFGToLLVM::compileInvalidationPoint):
(JSC::FTL::LowerDFGToLLVM::initializeOSRExitStateForBlock):
(JSC::FTL::LowerDFGToLLVM::appendOSRExit):
(JSC::FTL::LowerDFGToLLVM::emitOSRExitCall):
(JSC::FTL::LowerDFGToLLVM::buildExitArguments):
(JSC::FTL::LowerDFGToLLVM::addExitArgumentForNode):
(JSC::FTL::LowerDFGToLLVM::observeMovHint):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::alloca):

  • ftl/FTLValueSource.cpp: Removed.
  • ftl/FTLValueSource.h: Removed.
  • llvm/LLVMAPIFunctions.h:
  • runtime/DumpContext.cpp:

(JSC::DumpContext::DumpContext):

  • runtime/DumpContext.h:
  • runtime/Options.h:
  • runtime/SymbolTable.h:

(JSC::SharedSymbolTable::captureStart):
(JSC::SharedSymbolTable::captureEnd):
(JSC::SharedSymbolTable::captureCount):

Tools:

Reviewed by Mark Hahnenberg.

  • Scripts/run-jsc-stress-tests:

LayoutTests:

Reviewed by Mark Hahnenberg or Sam Weinig.

I totally added this test after the rest of the patch was r+'d. Under the right tier-up
modes this triggers one of the bugs that the rest of the patch is trying to avoid.

  • js/regress/script-tests/weird-inlining-const-prop.js: Added.

(foo):
(bar):
(fuzz):
(testImpl):
(test):

  • js/regress/weird-inlining-const-prop-expected.txt: Added.
  • js/regress/weird-inlining-const-prop.html: Added.
5:18 PM Changeset in webkit [159393] by ap@apple.com
  • 4 edits
    2 adds in trunk

RSASSA-PKCS1-v1_5 JWK import doesn't check key size
https://bugs.webkit.org/show_bug.cgi?id=124472

Reviewed by Sam Weinig.

Source/WebCore:

Test: crypto/subtle/rsassa-pkcs1-v1_5-import-jwk-small-key.html

  • bindings/js/JSCryptoKeySerializationJWK.cpp:

(WebCore::JSCryptoKeySerializationJWK::keySizeIsValid): Added the checks.
(WebCore::JSCryptoKeySerializationJWK::keyDataRSAComponents): Check key size when
importing.
(WebCore::JSCryptoKeySerializationJWK::serialize): Updated a comment.

  • crypto/keys/CryptoKeySerializationRaw.cpp: (WebCore::CryptoKeySerializationRaw::serialize):

Updated a comment.

LayoutTests:

  • crypto/subtle/rsassa-pkcs1-v1_5-import-jwk-small-key-expected.txt: Added.
  • crypto/subtle/rsassa-pkcs1-v1_5-import-jwk-small-key.html: Added.
5:17 PM Changeset in webkit [159392] by ap@apple.com
  • 6 edits in trunk

JWK crypto key export result is a DOM string instead of an array buffer
https://bugs.webkit.org/show_bug.cgi?id=124473

Reviewed by Sam Weinig.

Source/WebCore:

  • bindings/js/JSSubtleCryptoCustom.cpp: (WebCore::JSSubtleCrypto::exportKey):

Fix it.

LayoutTests:

  • crypto/subtle/aes-export-key.html:
  • crypto/subtle/hmac-export-key.html:
  • crypto/subtle/resources/common.js: (bytesToASCIIString): Added a function that

converts an ArrayBuffer to a string, assuming it's all ASCII.

5:12 PM Changeset in webkit [159391] by weinig@apple.com
  • 20 edits in trunk/Source/WebCore

LayoutStateMaintainer should use references where possible
https://bugs.webkit.org/show_bug.cgi?id=124471

Reviewed by Dan Bernstein.

  • page/FrameView.cpp:

(WebCore::FrameView::layout):

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

  • rendering/LayoutState.h:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::simplifiedLayout):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlock):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::layout):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::layout):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::layoutBlock):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::pushFlowThreadLayoutState):

  • rendering/RenderFlowThread.h:
  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::layoutBlock):

  • rendering/RenderMedia.cpp:

(WebCore::RenderMedia::layout):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::layout):

  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::layout):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::calcRowLogicalHeight):
(WebCore::RenderTableSection::layout):
(WebCore::RenderTableSection::layoutRows):

  • rendering/RenderTextTrackCue.cpp:

(WebCore::RenderTextTrackCue::layout):

  • rendering/RenderView.cpp:

(WebCore::RenderView::pushLayoutState):
(WebCore::RenderView::pushLayoutStateForCurrentFlowThread):

  • rendering/RenderView.h:

(WebCore::LayoutStateMaintainer::LayoutStateMaintainer):
(WebCore::LayoutStateMaintainer::push):
(WebCore::LayoutStateMaintainer::pop):

1:41 PM Changeset in webkit [159390] by ap@apple.com
  • 32 edits in trunk/Source

Use uint8_t vectors for WebCrypto data
https://bugs.webkit.org/show_bug.cgi?id=124466

Reviewed by Sam Weinig.

Source/WebCore:

Using Vector<char> for crypto key data is somewhat non-idiomatic, and it gets simply
dangerous for bignums, because signed arithmetic is not appropriate for bignum digits.

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::generateSecWebSocketKey):
(WebCore::WebSocketHandshake::getExpectedWebSocketAccept):
No longer need to cast data to char* here.

  • bindings/js/JSCryptoKeySerializationJWK.cpp:
  • bindings/js/JSCryptoKeySerializationJWK.h:
  • crypto/CryptoDigest.h:
  • crypto/CryptoKey.h:
  • crypto/keys/CryptoKeyAES.cpp:
  • crypto/keys/CryptoKeyAES.h:
  • crypto/keys/CryptoKeyDataOctetSequence.h:
  • crypto/keys/CryptoKeyDataRSAComponents.cpp:
  • crypto/keys/CryptoKeyDataRSAComponents.h:
  • crypto/keys/CryptoKeyHMAC.cpp:
  • crypto/keys/CryptoKeyHMAC.h:
  • crypto/keys/CryptoKeyRSA.h:
  • crypto/keys/CryptoKeySerializationRaw.cpp:
  • crypto/keys/CryptoKeySerializationRaw.h:
  • crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:
  • crypto/mac/CryptoAlgorithmHMACMac.cpp:
  • crypto/mac/CryptoDigestMac.cpp:
  • crypto/mac/CryptoKeyMac.cpp:
  • crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h:

Switched to Vector<uint8_t>.

  • crypto/mac/CryptoKeyRSAMac.cpp:

(WebCore::getPublicKeyComponents): Extracted from buildAlgorithmDescription() and simplified.
(WebCore::CryptoKeyRSA::create): Switched to Vector<uint8_t>.
(WebCore::CryptoKeyRSA::buildAlgorithmDescription): No longer need to copy data just
to change type from Vector<char> to Vector<unsigned char>.
(WebCore::bigIntegerToUInt32): Ditto. No longer need to cast types when dealing with the bignum.
(WebCore::CryptoKeyRSA::generatePair): Improved an error message a little.

  • fileapi/FileReaderLoader.cpp: (WebCore::FileReaderLoader::convertToDataURL):
  • inspector/DOMPatchSupport.cpp: (WebCore::DOMPatchSupport::createDigest):
  • inspector/InspectorPageAgent.cpp: (WebCore::InspectorPageAgent::archive):
  • platform/graphics/cg/ImageBufferCG.cpp: (WebCore::CGImageToDataURL):

No longer need to cast data to char* here.

Source/WTF:

Binary data can be UTF-8, in which case "char*" is idiomatic, or it can be arbitrary
binary data, in which case "uint8_t*" is more common.

Changed encode functions that took "const char *" to "const void*", and decode
functions that took "Vector<char>&" now take an adapter class.

The adapter relies on Vector<char> and Vector<uint8_t> classes having an identical layout.

  • wtf/text/Base64.cpp:

(WTF::base64Encode):
(WTF::base64URLEncode):
(WTF::base64DecodeInternal):
(WTF::base64Decode):
(WTF::base64URLDecode):

  • wtf/text/Base64.h:

(WTF::SignedOrUnsignedCharVectorAdapter):
(WTF::ConstSignedOrUnsignedCharVectorAdapter):
(WTF::base64Encode):
(WTF::base64URLEncode):

1:37 PM Changeset in webkit [159389] by Antti Koivisto
  • 3 edits
    2 adds in trunk

REGRESSION (r158774): Iteration over element children is broken
https://bugs.webkit.org/show_bug.cgi?id=124145

Source/WebCore:

Reviewed by Anders Carlsson.

Mutation during traversal invalidates the position cache. After the mid-point we start
traversing backwards as it the shortest path. However backward traversal of children-only
HTMLCollection was wrong and would end up going to descendants.

Reduction by yannick.poirier@inverto.tv.

Test: fast/dom/htmlcollection-children-mutation.html

  • html/HTMLCollection.cpp:

(WebCore::HTMLCollection::collectionTraverseBackward):

Traverse direct children only when m_shouldOnlyIncludeDirectChildren bit is set.

LayoutTests:

Reviewed by Anders Carlsson.

  • fast/dom/htmlcollection-children-mutation-expected.txt: Added.
  • fast/dom/htmlcollection-children-mutation.html: Added.
1:00 PM Changeset in webkit [159388] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Try to fix the EFL build.

  • UIProcess/efl/PagePolicyClientEfl.cpp:

(WebKit::PagePolicyClientEfl::decidePolicyForResponseCallback): No need to call
WKFrameCanShowMIMEType now that this information is passed in as a parameter.

12:30 PM Changeset in webkit [159387] by mitz@apple.com
  • 19 edits in trunk

No way for policy client to determine if a the response’s MIME type can be shown
https://bugs.webkit.org/show_bug.cgi?id=124445

Reviewed by Sam Weinig.

Source/WebKit2:

  • Platform/CoreIPC/HandleMessage.h:

(CoreIPC::callMemberFunction): Added a fifth message parameter to this template.

  • UIProcess/API/C/WKPage.h: Added a canShowMIMEType parameter to

WKPageDecidePolicyForResponseCallback and deprecated the old version.

  • UIProcess/API/mac/WKBrowsingContextController.mm:

(setUpPagePolicyClient): Include whether the response MIME type can be shown under a new key
in the action information dictionary.

  • UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Declared

WKActionCanShowMIMETypeKey.

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::createInspectorPage): Updated for changes in the policy client.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::decidePolicyForResponse): Added canShowMIMEType parameter, which is
passed to the policy client.
(WebKit::WebPageProxy::decidePolicyForResponseSync): Added canShowMIMEType parameter, which
is passed to the above function.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in: Added canShowMIMEType paramter to

DecidePolicyForResponseSync.

  • UIProcess/WebPolicyClient.cpp:

(WebKit::WebPolicyClient::decidePolicyForResponse): Added canShowMIMEType parameter, which
is passed to the client callback.

  • UIProcess/WebPolicyClient.h:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): Determine if the response
MIME type can be shown and pass this information along in the message to the UI process.

Tools:

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(decidePolicyForResponse): Added canShowMIMEType parameter.
(-[WK2BrowserWindowController awakeFromNib]): Updated for changes in the policy client.

  • TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp:

(TestWebKitAPI::decidePolicyForResponse): Added canShowMIMEType parameter.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createWebViewWithOptions): Updated for changes in the policy client.
(WTR::TestController::decidePolicyForResponse): Added canShowMIMEType parameter.

  • WebKitTestRunner/TestController.h:
10:25 AM Changeset in webkit [159386] by zoltan@webkit.org
  • 4 edits
    1 move in trunk/Source/WebCore

Move LineLayoutState.h into rendering/line
<https://webkit.org/b/124458>

Reviewed by Mihnea Ovidenie.

LineLayoutState is a helper class of RenderBlockLineLayout, so I'm moving it into line subdirectory.

No new tests, no behavior change.

  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/line/LineLayoutState.h: Renamed from Source/WebCore/rendering/LineLayoutState.h.

(WebCore::FloatWithRect::FloatWithRect):
(WebCore::LineLayoutState::LineLayoutState):
(WebCore::LineLayoutState::lineInfo):
(WebCore::LineLayoutState::endLineLogicalTop):
(WebCore::LineLayoutState::setEndLineLogicalTop):
(WebCore::LineLayoutState::endLine):
(WebCore::LineLayoutState::setEndLine):
(WebCore::LineLayoutState::lastFloat):
(WebCore::LineLayoutState::setLastFloat):
(WebCore::LineLayoutState::floats):
(WebCore::LineLayoutState::floatIndex):
(WebCore::LineLayoutState::setFloatIndex):
(WebCore::LineLayoutState::adjustedLogicalLineTop):
(WebCore::LineLayoutState::setAdjustedLogicalLineTop):
(WebCore::LineLayoutState::flowThread):
(WebCore::LineLayoutState::setFlowThread):
(WebCore::LineLayoutState::endLineMatched):
(WebCore::LineLayoutState::setEndLineMatched):
(WebCore::LineLayoutState::checkForFloatsFromLastLine):
(WebCore::LineLayoutState::setCheckForFloatsFromLastLine):
(WebCore::LineLayoutState::markForFullLayout):
(WebCore::LineLayoutState::isFullLayout):
(WebCore::LineLayoutState::usesRepaintBounds):
(WebCore::LineLayoutState::setRepaintRange):
(WebCore::LineLayoutState::updateRepaintRangeFromBox):

9:29 AM Changeset in webkit [159385] by Antti Koivisto
  • 3 edits
    2 adds in trunk

Simple line path does not respect visibility:hidden
https://bugs.webkit.org/show_bug.cgi?id=124467

Reviewed by Anders Carlsson.

Source/WebCore:

Test: fast/text/text-visibility.html

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintFlow):

LayoutTests:

  • fast/text/text-visibility-expected.html: Added.
  • fast/text/text-visibility.html: Added.

Nov 16, 2013:

7:49 PM Changeset in webkit [159384] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix indentation of JSActivation.h.

Rubber stamped by Mark Hahnenberg.

  • runtime/JSActivation.h:
7:41 PM Changeset in webkit [159383] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix indentation of JSVariableObject.h.

Rubber stamped by Mark Hahnenberg.

I'm about to do some damage to this file. I wanted to give it some sanity first.

  • runtime/JSVariableObject.h:
3:19 PM Changeset in webkit [159382] by timothy_horton@apple.com
  • 3 edits
    1 add in trunk/Tools

Checkmarks are shifted down on iPhone at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=122909

Reviewed by Timothy Hatcher.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/checkmark.svg: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/StatusLineView.js:

(StatusLineView.prototype.set repeatCount):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/StatusLineView.css:

(.status-line.good .bubble.pictogram):
Use an SVG image instead of an obscure font for the checkboxes so they
render identically on all platforms.

2:28 PM Changeset in webkit [159381] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[sh4] Fix build (broken since r159346).
https://bugs.webkit.org/show_bug.cgi?id=124455

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-11-16
Reviewed by Oliver Hunt.

Fix LLINT implementation for sh4 architecture to handle properly load and store operations with pr register.

  • offlineasm/sh4.rb:
11:14 AM Changeset in webkit [159380] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

WebCrypto no longer uses sequences of ArrayBuffers
https://bugs.webkit.org/show_bug.cgi?id=124451

Build fix.

  • crypto/mac/CryptoAlgorithmHMACMac.cpp: (WebCore::calculateSignature):

Now that the function became shorter, clang realized that a variable was used
uninitialized in an impossible code path.

10:58 AM Changeset in webkit [159379] by ap@apple.com
  • 48 edits in trunk

WebCrypto no longer uses sequences of ArrayBuffers
https://bugs.webkit.org/show_bug.cgi?id=124451

Reviewed by Sam Weinig.

Source/WebCore:

Covered by existing tests.

Changed all operations to take single CryptoOperationData objects.

  • bindings/js/JSCryptoOperationData.cpp:
  • bindings/js/JSCryptoOperationData.h:
  • bindings/js/JSSubtleCryptoCustom.cpp:

(WebCore::JSSubtleCrypto::encrypt):
(WebCore::JSSubtleCrypto::decrypt):
(WebCore::JSSubtleCrypto::sign):
(WebCore::JSSubtleCrypto::verify):
(WebCore::JSSubtleCrypto::digest):

  • crypto/CryptoAlgorithm.cpp:

(WebCore::CryptoAlgorithm::encrypt):
(WebCore::CryptoAlgorithm::decrypt):
(WebCore::CryptoAlgorithm::sign):
(WebCore::CryptoAlgorithm::verify):
(WebCore::CryptoAlgorithm::digest):

  • crypto/CryptoAlgorithm.h:
  • crypto/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:

(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::sign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::verify):

  • crypto/algorithms/CryptoAlgorithmAES_CBC.h:
  • crypto/algorithms/CryptoAlgorithmHMAC.h:
  • crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
  • crypto/algorithms/CryptoAlgorithmSHA1.cpp:

(WebCore::CryptoAlgorithmSHA1::digest):

  • crypto/algorithms/CryptoAlgorithmSHA1.h:
  • crypto/algorithms/CryptoAlgorithmSHA224.cpp:

(WebCore::CryptoAlgorithmSHA224::digest):

  • crypto/algorithms/CryptoAlgorithmSHA224.h:
  • crypto/algorithms/CryptoAlgorithmSHA256.cpp:

(WebCore::CryptoAlgorithmSHA256::digest):

  • crypto/algorithms/CryptoAlgorithmSHA256.h:
  • crypto/algorithms/CryptoAlgorithmSHA384.cpp:

(WebCore::CryptoAlgorithmSHA384::digest):

  • crypto/algorithms/CryptoAlgorithmSHA384.h:
  • crypto/algorithms/CryptoAlgorithmSHA512.cpp:

(WebCore::CryptoAlgorithmSHA512::digest):

  • crypto/algorithms/CryptoAlgorithmSHA512.h:
  • crypto/mac/CryptoAlgorithmAES_CBCMac.cpp:

(WebCore::transformAES_CBC):
(WebCore::CryptoAlgorithmAES_CBC::encrypt):
(WebCore::CryptoAlgorithmAES_CBC::decrypt):

  • crypto/mac/CryptoAlgorithmHMACMac.cpp:

(WebCore::calculateSignature):
(WebCore::CryptoAlgorithmHMAC::sign):
(WebCore::CryptoAlgorithmHMAC::verify):

  • crypto/parameters/CryptoAlgorithmRsaKeyGenParams.h:

LayoutTests:

Updated tests accordingly.

  • crypto/subtle/aes-cbc-192-encrypt-decrypt.html:
  • crypto/subtle/aes-cbc-256-encrypt-decrypt.html:
  • crypto/subtle/aes-cbc-encrypt-decrypt-expected.txt:
  • crypto/subtle/aes-cbc-encrypt-decrypt-with-padding.html:
  • crypto/subtle/aes-cbc-encrypt-decrypt.html:
  • crypto/subtle/aes-cbc-import-jwk.html:
  • crypto/subtle/aes-cbc-wrong-key-class-expected.txt:
  • crypto/subtle/aes-cbc-wrong-key-class.html:
  • crypto/subtle/argument-conversion-expected.txt:
  • crypto/subtle/argument-conversion.html:
  • crypto/subtle/hmac-import-jwk.html:
  • crypto/subtle/hmac-sign-verify-empty-key.html:
  • crypto/subtle/hmac-sign-verify.html:
  • crypto/subtle/rsassa-pkcs1-v1_5-sign-verify.html:
  • crypto/subtle/sha-1-expected.txt:
  • crypto/subtle/sha-1.html:
  • crypto/subtle/sha-224-expected.txt:
  • crypto/subtle/sha-224.html:
  • crypto/subtle/sha-256-expected.txt:
  • crypto/subtle/sha-256.html:
  • crypto/subtle/sha-384-expected.txt:
  • crypto/subtle/sha-384.html:
  • crypto/subtle/sha-512-expected.txt:
  • crypto/subtle/sha-512.html:
2:08 AM Changeset in webkit [159378] by zoltan@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove the include of LineWidth.h from SimpleLineLayoutFunctions.cpp
<https://webkit.org/b/124449>

Reviewed by Antti Koivisto.

I removed the include of LineWidth, since SimpleLineLayoutFunctions.cpp doesn't use it.

No new tests, no behavior change.

  • rendering/SimpleLineLayoutFunctions.cpp:

Nov 15, 2013:

11:10 PM Changeset in webkit [159377] by ap@apple.com
  • 18 edits in trunk

Support exporting symmetric keys as JWK
https://bugs.webkit.org/show_bug.cgi?id=124442

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • runtime/JSONObject.h: Export JSONStringify.

Source/WebCore:

Error handling is not consistent yet - some errors cause exceptions, and others
result in rejected promises. This part of spec is incomplete, so I basically did
what was most straightforward in each case.

  • bindings/js/JSCryptoKeySerializationJWK.h:
  • bindings/js/JSCryptoKeySerializationJWK.cpp:

(WebCore::JSCryptoKeySerializationJWK::reconcileUsages): Updated a comment with a better link.
(WebCore::JSCryptoKeySerializationJWK::buildJSONForOctetSequence): A helper to building JWK.
(WebCore::JSCryptoKeySerializationJWK::addToJSON): Ditto.
(WebCore::JSCryptoKeySerializationJWK::addBoolToJSON): Ditto.
(WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON): Ditto. The code for
mapping is my best guess, this all needs to be specified.
(WebCore::JSCryptoKeySerializationJWK::addJWKUseToJSON): A helper to building JWK.
(WebCore::JSCryptoKeySerializationJWK::serialize): Build a JSON string for the key.

  • bindings/js/JSSubtleCryptoCustom.cpp:

(WebCore::JSSubtleCrypto::importKey): Updated a comment.
(WebCore::JSSubtleCrypto::exportKey): Use CryptoKeySerialization (also for raw keys,
for consistency).

  • crypto/CryptoKey.h:

(WebCore::CryptoKey::algorithmIdentifier):
(WebCore::CryptoKey::usagesBitmap):
Exposed data needed for building JWK (it used to be only exposed in a form suitable
for DOM accessors).

  • crypto/keys/CryptoKeyHMAC.h: Ditto, added an accessor for JWK.
  • crypto/keys/CryptoKeySerializationRaw.cpp: (WebCore::CryptoKeySerializationRaw::serialize):
  • crypto/keys/CryptoKeySerializationRaw.h:

Moved from JSSubtleCryptoCustom.cpp for consistency.

Source/WTF:

Base64URL encoding doesn't use '=' padding, and doesn't need any other options.
Added this mode for encode, and removed policy arguments from exposed functions.

  • wtf/text/Base64.cpp:

(WTF::base64EncodeInternal):
(WTF::base64URLEncode):
(WTF::base64URLDecode):

  • wtf/text/Base64.h:

(WTF::base64URLEncode):

LayoutTests:

  • crypto/subtle/aes-export-key-expected.txt:
  • crypto/subtle/aes-export-key.html:
  • crypto/subtle/hmac-export-key-expected.txt:
  • crypto/subtle/hmac-export-key.html:
7:25 PM Changeset in webkit [159376] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

[Win] JavaScript crashes on 64-bit with JIT enabled.
https://bugs.webkit.org/show_bug.cgi?id=124409

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-11-15
Reviewed by Michael Saboff.

These are issues found with JIT on 64-bit:

  • The registers rsi and rdi in callToJavaScript needs to be saved and restored. This is required by the Windows 64-bit ABI.
  • The getHostCallReturnValue function needs to be updated according to it's GCC counterpart.
  • The poke argument offset needs to be 20h, because Windows 64-bit ABI requires stack space allocated for the 4 argument registers.
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Re-added JITStubsMSVC64.asm to project.
  • jit/CCallHelpers.h: Set poke argument offset.

(JSC::CCallHelpers::setupArguments): Compile fix, added needed method.

  • jit/JITStubsMSVC64.asm: Save and restore registers rsi and rdi.

Update getHostCallReturnValue according to the GCC version.

5:32 PM Changeset in webkit [159375] by roger_fong@apple.com
  • 2 edits in trunk/Source/ThirdParty

Unreviewed, gtest project file cleanup.

  • gtest/msvc/gtest-md.vcxproj:
5:28 PM Changeset in webkit [159374] by Simon Fraser
  • 3 edits
    1 delete in trunk/LayoutTests

Make results.html more sane
https://bugs.webkit.org/show_bug.cgi?id=124446

Reviewed by Sam Weinig.

Fix various issues with results.html:

  • make it use page scrolling, not overflow scrolling
  • remove -webkit-flex stuff that wasn't doing anything
  • prettify the floating overlay for flagged tests
  • pull some markup out of the JS and into the HTML
  • remove the self-testing, which provides very little reward.
  • fast/harness/resources/results-test.js: Removed.
  • fast/harness/results-expected.txt:
  • fast/harness/results.html:
5:16 PM Changeset in webkit [159373] by beidson@apple.com
  • 6 edits
    2 adds in trunk/Source/WebCore

Move IDBCursorBackend operations into their own files
https://bugs.webkit.org/show_bug.cgi?id=124444

Reviewed by Tim Horton.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.xcodeproj/project.pbxproj:
  • Modules/indexeddb/IDBCursorBackend.cpp:
  • Modules/indexeddb/IDBCursorBackend.h:

(WebCore::IDBCursorBackend::cursorType):
(WebCore::IDBCursorBackend::deprecatedBackingStoreCursor):
(WebCore::IDBCursorBackend::deprecatedSetBackingStoreCursor):
(WebCore::IDBCursorBackend::deprecatedSetSavedBackingStoreCursor):

  • Modules/indexeddb/IDBCursorBackendOperations.cpp: Added.

(WebCore::CallOnDestruct::CallOnDestruct):
(WebCore::CallOnDestruct::~CallOnDestruct):
(WebCore::CursorAdvanceOperation::perform):
(WebCore::CursorIterationOperation::perform):
(WebCore::CursorPrefetchIterationOperation::perform):

  • Modules/indexeddb/IDBCursorBackendOperations.h: Added.

(WebCore::CursorIterationOperation::create):
(WebCore::CursorIterationOperation::CursorIterationOperation):
(WebCore::CursorAdvanceOperation::create):
(WebCore::CursorAdvanceOperation::CursorAdvanceOperation):
(WebCore::CursorPrefetchIterationOperation::create):
(WebCore::CursorPrefetchIterationOperation::CursorPrefetchIterationOperation):

5:10 PM Changeset in webkit [159372] by timothy_horton@apple.com
  • 3 edits in trunk/LayoutTests

results.html should have a link to historical results for a test/all failing tests
https://bugs.webkit.org/show_bug.cgi?id=124402

Reviewed by Simon Fraser.

  • fast/harness/results.html:
  • fast/harness/resources/results-test.js:

Add the link to timeout/crash results too.

4:55 PM Changeset in webkit [159371] by ryuan.choi@samsung.com
  • 3 edits in trunk/Source/WebKit2

Unreviewed EFL build fix after r159358.

  • UIProcess/efl/PagePolicyClientEfl.cpp:

(WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):

  • UIProcess/efl/PagePolicyClientEfl.h:
4:22 PM Changeset in webkit [159370] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/security/frameNavigation/xss-DENIED-plugin-navigation.html is slow, frequently > 30 second timeout
https://bugs.webkit.org/show_bug.cgi?id=124373

  • platform/mac/TestExpectations:

Mark test as timeout as well, since that happens sometimes too.

4:11 PM Changeset in webkit [159369] by dfarler@apple.com
  • 4 edits in trunk/Source

Copy ASAN flag settings to WebCore and JavaScriptCore intermediate build tools
https://bugs.webkit.org/show_bug.cgi?id=124362

Reviewed by David Kilzer.

Source/JavaScriptCore:

  • Configurations/ToolExecutable.xcconfig:

Use ASAN_C*FLAGS.

Source/WebCore:

No new tests needed.

  • WebCore.xcodeproj/project.pbxproj:

Use ASAN_C*FLAGS for WebCoreExportFileGenerator.

4:01 PM Changeset in webkit [159368] by jer.noble@apple.com
  • 7 edits in trunk/Source/WebCore

[Mac][AVF] Allow video and audio tracks to be initialized with an AVAssetTrack.
https://bugs.webkit.org/show_bug.cgi?id=124421

Reviewed by Eric Carlson.

Currently, VideoTrackPrivateAVFObjC and AudioTrackPrivateAVFObjC are initialized with an
AVPlayerItemTrack, but most of its methods use the AVAssetTrack wrapped by the
AVPlayerItemTrack. Allow these objects to be alternatively initialized with an AVAssetTrack.

Add factory methods taking an AVAssetTrack:

  • platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.h:

(WebCore::AudioTrackPrivateAVFObjC::create):

  • platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:

(WebCore::AudioTrackPrivateAVFObjC::AudioTrackPrivateAVFObjC):
(WebCore::AudioTrackPrivateAVFObjC::setAssetTrack):
(WebCore::AudioTrackPrivateAVFObjC::assetTrack):

  • platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.cpp:

(WebCore::VideoTrackPrivateAVFObjC::VideoTrackPrivateAVFObjC):
(WebCore::VideoTrackPrivateAVFObjC::setAssetTrack):
(WebCore::VideoTrackPrivateAVFObjC::assetTrack):

  • platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.h:

Use m_assetTrack instead of [m_playerItemTrack assetTrack]:

  • platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h:

(WebCore::AVTrackPrivateAVFObjCImpl::assetTrack):

  • platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:

(WebCore::AVTrackPrivateAVFObjCImpl::AVTrackPrivateAVFObjCImpl):
(WebCore::AVTrackPrivateAVFObjCImpl::enabled):
(WebCore::AVTrackPrivateAVFObjCImpl::setEnabled):
(WebCore::AVTrackPrivateAVFObjCImpl::audioKind):
(WebCore::AVTrackPrivateAVFObjCImpl::videoKind):
(WebCore::AVTrackPrivateAVFObjCImpl::id):
(WebCore::AVTrackPrivateAVFObjCImpl::label):
(WebCore::AVTrackPrivateAVFObjCImpl::language):
(WebCore::AVTrackPrivateAVFObjCImpl::trackID):

3:50 PM Changeset in webkit [159367] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit/win

Unreviewed Win build fix; setCurrentTime() no longer takes an exception parameter.

  • FullscreenVideoController.cpp:

(FullscreenVideoController::setCurrentTime):

3:47 PM Changeset in webkit [159366] by mhahnenberg@apple.com
  • 2 edits
    2 deletes in trunk/Source/JavaScriptCore

Remove JSChunk
https://bugs.webkit.org/show_bug.cgi?id=124435

Reviewed by Geoffrey Garen.

It's empty and has been since it was added 3 years ago.

  • CMakeLists.txt:
  • runtime/JSChunk.cpp: Removed.
  • runtime/JSChunk.h: Removed.
3:44 PM Changeset in webkit [159365] by beidson@apple.com
  • 9 edits in trunk/Source

Let IDBDatabaseBackend create IDBTransactionBackend's directly
https://bugs.webkit.org/show_bug.cgi?id=124438

Reviewed by Beth Dakin.

Source/WebCore:

Create IDBTransactionBackends directly:

  • Modules/indexeddb/IDBDatabaseBackend.cpp:

(WebCore::IDBDatabaseBackend::createTransaction):

  • Modules/indexeddb/IDBDatabaseBackend.h:

Remove maybeCreateTransactionBackend():

  • Modules/indexeddb/IDBFactoryBackendInterface.h:
  • Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
  • Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:

Source/WebKit2:

Remove maybeCreateTransactionBackend():

  • WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
  • WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
3:42 PM Changeset in webkit [159364] by timothy_horton@apple.com
  • 3 edits in trunk/Tools

Occasionally, hundreds of tests fail with small text diffs on Mavericks
https://bugs.webkit.org/show_bug.cgi?id=124312

Reviewed by Alexey Proskuryakov.

Try reverting the part of r158652 that deleted all of the persistent
defaults, in the thought that there might be some sort of race between
processes causing some settings to be left in the wrong state.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(setDefaultsToConsistentValuesForTesting):

  • WebKitTestRunner/mac/main.mm:

(setDefaultsToConsistentValuesForTesting):

3:38 PM Changeset in webkit [159363] by jer.noble@apple.com
  • 12 edits
    2 deletes in trunk

HTMLMediaElement should not throw an exception from setCurrentTime or fastSeek.
https://bugs.webkit.org/show_bug.cgi?id=124294

Reviewed by Eric Carlson.

Source/WebCore:

Update the seek logic to match the current specification. This means removing exception
throwing from both the .idl and the implementation.

Remove the ExceptionCode parameter from setCurrentTime and fastSeek:

  • html/HTMLMediaElement.cpp:

(HTMLMediaElement::fastSeek):
(HTMLMediaElement::seek):
(HTMLMediaElement::seekWithTolerance):
(HTMLMediaElement::setCurrentTime):

  • html/HTMLMediaElement.h:
  • html/HTMLMediaElement.idl:
  • html/MediaController.cpp:

(MediaController::setCurrentTime):

  • html/MediaController.h:
  • html/MediaController.idl:
  • html/MediaControllerInterface.h:

Do not pass in an ExceptionCode placeholder when calling seek:

  • html/HTMLMediaElement.cpp:

(HTMLMediaElement::rewind):
(HTMLMediaElement::returnToRealtime):
(HTMLMediaElement::finishSeek):
(HTMLMediaElement::playInternal):
(HTMLMediaElement::mediaPlayerTimeChanged):
(HTMLMediaElement::mediaPlayerDurationChanged):
(HTMLMediaElement::applyMediaFragmentURI):

  • html/HTMLMediaElement.h:
  • html/HTMLMediaElement.idl:
  • html/MediaController.cpp:

(MediaController::bringElementUpToSpeed):

  • html/MediaController.h:
  • html/MediaController.idl:
  • html/MediaControllerInterface.h:
  • html/shadow/MediaControlElementTypes.cpp:

(WebCore::MediaControlSeekButtonElement::seekTimerFired):

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlRewindButtonElement::defaultEventHandler):
(WebCore::MediaControlTimelineElement::defaultEventHandler):

  • platform/mac/WebVideoFullscreenHUDWindowController.mm:

(-[WebVideoFullscreenHUDWindowController setCurrentTime:]):

LayoutTests:

  • media/video-seek-no-src-exception-expected.txt: Removed.
  • media/video-seek-no-src-exception.html: Removed.
3:22 PM Changeset in webkit [159362] by beidson@apple.com
  • 11 edits in trunk/Source

Remove last vestiges of IDBBackingStore* from IDBTransactionBackend.
https://bugs.webkit.org/show_bug.cgi?id=124436

Reviewed by Tim Horton.

Source/WebCore:

  • Modules/indexeddb/IDBFactoryBackendInterface.h: Removed createCursorBackend.
  • Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp: Removed createCursorBackend.
  • Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h: Removed createCursorBackend.
  • Modules/indexeddb/IDBCursorBackend.h:
  • Modules/indexeddb/IDBTransactionBackend.cpp:
  • Modules/indexeddb/IDBTransactionBackend.h:
  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:

(WebCore::IDBServerConnectionLevelDB::openCursor):

Source/WebKit2:

  • WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: Removed createCursorBackend.
  • WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
3:21 PM Changeset in webkit [159361] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test editing/selection/5057506.html frequently times out on Mac WK2
https://bugs.webkit.org/show_bug.cgi?id=124437

  • platform/mac-wk2/TestExpectations:

Mark aforementioned test as a flaky-timeout.

2:47 PM Changeset in webkit [159360] by mhahnenberg@apple.com
  • 15 edits
    2 deletes in trunk/Source

Remove VTableSpectrum
https://bugs.webkit.org/show_bug.cgi?id=124427

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

(JSC::Heap::lastChanceToFinalize):

  • heap/Heap.h:
  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::callDestructor):

  • heap/SlotVisitor.cpp:

(JSC::visitChildren):

  • heap/SlotVisitor.h:
  • heap/VTableSpectrum.cpp: Removed.
  • heap/VTableSpectrum.h: Removed.

Source/WebKit/blackberry:

  • WebCoreSupport/AboutDataEnableFeatures.in:

Source/WTF:

  • wtf/Platform.h:
2:24 PM Changeset in webkit [159359] by beidson@apple.com
  • 9 edits
    2 moves in trunk/Source/WebCore

Make IDBIndexWriter a LevelDB specific concept
https://bugs.webkit.org/show_bug.cgi?id=124434

Reviewed by Tim Horton.

This includes renaming the class and moving it into the leveldb subdirectory.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.xcodeproj/project.pbxproj:
  • Modules/indexeddb/IDBBackingStoreInterface.h:
  • Modules/indexeddb/IDBTransactionBackendOperations.cpp:
  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:

(WebCore::IDBBackingStoreLevelDB::makeIndexWriters):

  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
  • Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.cpp: Renamed from Source/WebCore/Modules/indexeddb/IDBIndexWriter.cpp.

(WebCore::IDBIndexWriterLevelDB::IDBIndexWriterLevelDB):
(WebCore::IDBIndexWriterLevelDB::writeIndexKeys):
(WebCore::IDBIndexWriterLevelDB::verifyIndexKeys):
(WebCore::IDBIndexWriterLevelDB::addingKeyAllowed):

  • Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.h: Renamed from Source/WebCore/Modules/indexeddb/IDBIndexWriter.h.

(WebCore::IDBIndexWriterLevelDB::create):

  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:

(WebCore::IDBServerConnectionLevelDB::setIndexKeys):
(WebCore::IDBServerConnectionLevelDB::put):

2:22 PM Changeset in webkit [159358] by mitz@apple.com
  • 20 edits in trunk

Give the policy client the originating frame of a navigation action
https://bugs.webkit.org/show_bug.cgi?id=124431

Reviewed by Anders Carlsson.

Source/WebKit2:

  • Platform/CoreIPC/HandleMessage.h:

(CoreIPC::callMemberFunction): Added a seventh message parameter to this template.

  • Shared/APIClientTraits.cpp: Defined API traits for WKPagePolicyClient, which now has two

versions.

  • Shared/APIClientTraits.h: Declared APIClientTraits<WKPagePolicyClient>.
  • UIProcess/API/C/WKPage.h: Added an originatingFrame parameter to

WKPageDecidePolicyForNavigationActionCallback and deprecated the old version. Bumped the
policy client version to 1.

  • UIProcess/API/mac/WKBrowsingContextController.mm:

(setUpPagePolicyClient): Include the originating frame’s URL under the a new key in the
action information dictionary.

  • UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Declared

WKActionOriginatingFrameURLKey.

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::decidePolicyForNavigationAction): Added originatingFrame parameter.
(WebKit::WebInspectorProxy::createInspectorPage): Updated to the new version of the policy
client interface.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::decidePolicyForNavigationAction): Added originatingFrameID parameter
and passing the originating frame to the policy client.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in: Added originatingFrameID paremeter to

DecidePolicyForNavigationAction.

  • UIProcess/WebPolicyClient.cpp:

(WebKit::WebPolicyClient::decidePolicyForNavigationAction): Added originatingFrame
parameter, which is passed to the client callback.

  • UIProcess/WebPolicyClient.h:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Determine the
originating frame for link activation and form submission actions and send its ID in the
DecidePolicyForNavigationAction message.

Tools:

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(decidePolicyForNavigationAction): Added originatingFrame parameter.
(-[WK2BrowserWindowController awakeFromNib]): Updated for the new version of the policy
client.

  • TestWebKitAPI/Tests/WebKit2/DownloadDecideDestinationCrash.cpp:

(TestWebKitAPI::decidePolicyForNavigationAction): Added originatingFrame parameter.
(TestWebKitAPI::setPagePolicyClient): Updated for the new version of the policy client.

  • TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp:

(TestWebKitAPI::decidePolicyForNavigationAction): Added originatingFrame parameter.
(TestWebKitAPI::TEST): Updated for the new version of the policy client.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createWebViewWithOptions): Updated for the new version of the policy
client.
(WTR::TestController::decidePolicyForNavigationAction): Added originatingFrame parameter.

  • WebKitTestRunner/TestController.h:
2:08 PM Changeset in webkit [159357] by Alexandru Chiculita
  • 12 edits
    13 adds in trunk

Web Inspector: DOM.performSearch should accept a list of context nodes
https://bugs.webkit.org/show_bug.cgi?id=124390

Reviewed by Timothy Hatcher.

Source/WebCore:

Extracted the code in InspectorDOMAgent::performSearch into its own helper class
called InspectorNodeFinder. Also added a new array parameter called "nodeIds"
that can be used to limit the search results to just partial subtrees.

Tests: inspector-protocol/dom/dom-search-crash.html

inspector-protocol/dom/dom-search-with-context.html
inspector-protocol/dom/dom-search.html

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/protocol/DOM.json:
  • inspector/InspectorAllInOne.cpp:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::performSearch):

  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorNodeFinder.cpp: Added.

(WebCore::stripCharacters):
(WebCore::InspectorNodeFinder::InspectorNodeFinder):
(WebCore::InspectorNodeFinder::performSearch):
(WebCore::InspectorNodeFinder::searchUsingDOMTreeTraversal):
(WebCore::InspectorNodeFinder::matchesAttribute):
(WebCore::InspectorNodeFinder::matchesElement):
(WebCore::InspectorNodeFinder::searchUsingXPath):
(WebCore::InspectorNodeFinder::searchUsingCSSSelectors):

  • inspector/InspectorNodeFinder.h: Added.

(WebCore::InspectorNodeFinder::results):

LayoutTests:

Added new inspector-protocol tests to check for the DOM.performSearch implementation.
Also, ported an existing test from the old "inspector" format.

  • http/tests/inspector-protocol/resources/InspectorDOMListener.js: Added boilerplate code that

can be used to track node ids and class names.
(createDOMListener.createNodeAttributesMap):
(createDOMListener.collectNode):
(createDOMListener.onSetChildNodes):
(createDOMListener.onChildNodeRemoved):
(createDOMListener.onChildNodeInserted):
(createDOMListener.return.getNodeById):
(createDOMListener.return.getNodeIdentifier):

  • http/tests/inspector-protocol/resources/InspectorTest.js:

(InspectorFrontendAPI.dispatchMessageAsync): Added a way to catch all the messages received in the inspector.
It is useful for debugging the test file.
(InspectorTest.addEventListener): Helper method to register multiple handlers for the same event.

  • inspector-protocol/dom/dom-search-crash-expected.txt: Added.
  • inspector-protocol/dom/dom-search-crash.html: Added.
  • inspector-protocol/dom/dom-search-expected.txt: Added.
  • inspector-protocol/dom/dom-search-with-context-expected.txt: Added.
  • inspector-protocol/dom/dom-search-with-context.html: Added.
  • inspector-protocol/dom/dom-search.html: Added.
  • inspector-protocol/dom/resources/dom-search-crash-iframe.html: Cloned from inspector/dom/resources/dom-search-crash-iframe.html
  • inspector-protocol/dom/resources/dom-search-iframe.html: Added.
  • inspector-protocol/dom/resources/dom-search-queries.js: Added.
2:07 PM Changeset in webkit [159356] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

Make lint-test-expectations pass for platform/win

  • platform/win/TestExpectations:

I always kept the stronger expectation in the case of duplicates.

1:59 PM Changeset in webkit [159355] by beidson@apple.com
  • 5 edits in trunk/Source/WebCore

Remove IDBBackingStoreInterface.h includes that are no longer needed
https://bugs.webkit.org/show_bug.cgi?id=124433

Reviewed by Tim Horton.

  • Modules/indexeddb/IDBCursorBackend.cpp:
  • Modules/indexeddb/IDBCursorBackend.h:
  • Modules/indexeddb/IDBFactoryBackendInterface.h:
  • Modules/indexeddb/IDBTransactionBackend.h:
1:40 PM Changeset in webkit [159354] by zoltan@webkit.org
  • 8 edits
    1 move
    6 adds in trunk/Source/WebCore

Move BreakingContext and LineBreaker into their own files
<https://webkit.org/b/124336>

Reviewed by David Hyatt.

In this change I introduced 'line' subdirectory inside 'rendering', this directory will contain all the classes
which have been refactored from RenderBlockLineLayout.cpp. This change contains the separation of BreakingContext,
and the separation of LineBreaker classes. Since I wanted to keep the helper functions organized, I also added a
new file called LineInlineHeaders.h, which contains the functions which used in LineBreaker.h and BreakingContext.h.
I moved LineInfo class into line directory. It was necessary this time, since I added a cpp for it. I'll move the
rest of the line layout related helper classes later. (I wanted to minimize merge conflicts.)

No new tests, no behavior change.

  • CMakeLists.txt:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCoreCommon.props:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::createRun):

  • rendering/line/BreakingContextInlineHeaders.h: Added.

(WebCore::WordMeasurement::WordMeasurement):
(WebCore::TrailingObjects::TrailingObjects):
(WebCore::TrailingObjects::setTrailingWhitespace):
(WebCore::TrailingObjects::clear):
(WebCore::TrailingObjects::appendBoxIfNeeded):
(WebCore::deprecatedAddMidpoint):
(WebCore::startIgnoringSpaces):
(WebCore::stopIgnoringSpaces):
(WebCore::ensureLineBoxInsideIgnoredSpaces):
(WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
(WebCore::BreakingContext::BreakingContext):
(WebCore::BreakingContext::currentObject):
(WebCore::BreakingContext::lineBreak):
(WebCore::BreakingContext::lineBreakRef):
(WebCore::BreakingContext::lineWidth):
(WebCore::BreakingContext::atEnd):
(WebCore::BreakingContext::clearLineBreakIfFitsOnLine):
(WebCore::BreakingContext::commitLineBreakAtCurrentWidth):
(WebCore::BreakingContext::initializeForCurrentObject):
(WebCore::BreakingContext::increment):
(WebCore::BreakingContext::handleBR):
(WebCore::borderPaddingMarginStart):
(WebCore::borderPaddingMarginEnd):
(WebCore::shouldAddBorderPaddingMargin):
(WebCore::previousInFlowSibling):
(WebCore::inlineLogicalWidth):
(WebCore::BreakingContext::handleOutOfFlowPositioned):
(WebCore::BreakingContext::handleFloat):
(WebCore::shouldSkipWhitespaceAfterStartObject):
(WebCore::BreakingContext::handleEmptyInline):
(WebCore::BreakingContext::handleReplaced):
(WebCore::firstPositiveWidth):
(WebCore::updateSegmentsForShapes):
(WebCore::iteratorIsBeyondEndOfRenderCombineText):
(WebCore::nextCharacter):
(WebCore::updateCounterIfNeeded):
(WebCore::measureHyphenWidth):
(WebCore::textWidth):
(WebCore::ensureCharacterGetsLineBox):
(WebCore::tryHyphenating):
(WebCore::BreakingContext::handleText):
(WebCore::textBeginsWithBreakablePosition):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
(WebCore::checkMidpoints):
(WebCore::BreakingContext::handleEndOfLine):

  • rendering/line/LineBreaker.cpp: Added.

(WebCore::LineBreaker::reset):
(WebCore::LineBreaker::skipTrailingWhitespace):
(WebCore::LineBreaker::skipLeadingWhitespace):

  • rendering/line/LineBreaker.h: Added.

(WebCore::LineBreaker::LineBreaker):
(WebCore::LineBreaker::lineWasHyphenated):
(WebCore::LineBreaker::positionedObjects):
(WebCore::LineBreaker::clear):

  • rendering/line/LineInfo.cpp: Added.

(WebCore::LineInfo::setEmpty):

  • rendering/line/LineInfo.h: Renamed from Source/WebCore/rendering/LineInfo.h.

(WebCore::LineInfo::LineInfo):
(WebCore::LineInfo::isFirstLine):
(WebCore::LineInfo::isLastLine):
(WebCore::LineInfo::isEmpty):
(WebCore::LineInfo::previousLineBrokeCleanly):
(WebCore::LineInfo::floatPaginationStrut):
(WebCore::LineInfo::runsFromLeadingWhitespace):
(WebCore::LineInfo::resetRunsFromLeadingWhitespace):
(WebCore::LineInfo::incrementRunsFromLeadingWhitespace):
(WebCore::LineInfo::setFirstLine):
(WebCore::LineInfo::setLastLine):
(WebCore::LineInfo::setPreviousLineBrokeCleanly):
(WebCore::LineInfo::setFloatPaginationStrut):

  • rendering/line/LineInlineHeaders.h: Added.

(WebCore::hasInlineDirectionBordersPaddingOrMargin):
(WebCore::lineStyle):
(WebCore::requiresLineBoxForContent):
(WebCore::shouldCollapseWhiteSpace):
(WebCore::skipNonBreakingSpace):
(WebCore::alwaysRequiresLineBox):
(WebCore::requiresLineBox):
(WebCore::setStaticPositions):

12:57 PM Changeset in webkit [159353] by beidson@apple.com
  • 16 edits in trunk/Source

Move execution of IDBTransactionBackendOperations to the IDBServerConnection
https://bugs.webkit.org/show_bug.cgi?id=124385

Reviewed by Tim Horton.

Source/WebCore:

Each IDBOperation has it’s ::perform() moved to a method on IDBServerConnection.
This almost removes all knowledge of the backing stores from the front end.

  • Modules/indexeddb/IDBDatabaseBackend.cpp:

(WebCore::IDBDatabaseBackend::clearObjectStore):
(WebCore::IDBDatabaseBackend::runIntVersionChangeTransaction):

  • Modules/indexeddb/IDBDatabaseBackend.h:
  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::clear):

Add methods to reflect each transaction backend operation:

  • Modules/indexeddb/IDBServerConnection.h:

Schedule certain operations with callbacks:

  • Modules/indexeddb/IDBTransactionBackend.cpp:

(WebCore::IDBTransactionBackend::scheduleVersionChangeOperation):
(WebCore::IDBTransactionBackend::schedulePutOperation):
(WebCore::IDBTransactionBackend::scheduleOpenCursorOperation):
(WebCore::IDBTransactionBackend::scheduleCountOperation):
(WebCore::IDBTransactionBackend::scheduleDeleteRangeOperation):
(WebCore::IDBTransactionBackend::scheduleClearObjectStoreOperation):

  • Modules/indexeddb/IDBTransactionBackend.h:

Make each operation’s perform() method defer to the IDBServerConnection (with a callback):

  • Modules/indexeddb/IDBTransactionBackendOperations.cpp:

(WebCore::CreateObjectStoreOperation::perform):
(WebCore::CreateIndexOperation::perform):
(WebCore::CreateIndexAbortOperation::perform):
(WebCore::DeleteIndexOperation::perform):
(WebCore::DeleteIndexAbortOperation::perform):
(WebCore::GetOperation::perform):
(WebCore::PutOperation::perform):
(WebCore::SetIndexesReadyOperation::perform):
(WebCore::OpenCursorOperation::perform):
(WebCore::CountOperation::perform):
(WebCore::DeleteRangeOperation::perform):
(WebCore::ClearObjectStoreOperation::perform):
(WebCore::DeleteObjectStoreOperation::perform):
(WebCore::IDBDatabaseBackend::VersionChangeOperation::perform):
(WebCore::CreateObjectStoreAbortOperation::perform):

Add accessors to each operation’s data members so the IDBServerConnection has everything it needs:

  • Modules/indexeddb/IDBTransactionBackendOperations.h:

(WebCore::CreateObjectStoreOperation::objectStoreMetadata):
(WebCore::DeleteObjectStoreOperation::objectStoreMetadata):
(WebCore::IDBDatabaseBackend::VersionChangeOperation::create):
(WebCore::IDBDatabaseBackend::VersionChangeOperation::version):
(WebCore::IDBDatabaseBackend::VersionChangeOperation::callbacks):
(WebCore::IDBDatabaseBackend::VersionChangeOperation::databaseCallbacks):
(WebCore::IDBDatabaseBackend::VersionChangeOperation::VersionChangeOperation):
(WebCore::CreateObjectStoreAbortOperation::CreateObjectStoreAbortOperation):
(WebCore::CreateIndexOperation::objectStoreID):
(WebCore::CreateIndexOperation::idbIndexMetadata):
(WebCore::CreateIndexOperation::CreateIndexOperation):
(WebCore::CreateIndexAbortOperation::CreateIndexAbortOperation):
(WebCore::DeleteIndexOperation::objectStoreID):
(WebCore::DeleteIndexOperation::idbIndexMetadata):
(WebCore::DeleteIndexOperation::DeleteIndexOperation):
(WebCore::DeleteIndexAbortOperation::DeleteIndexAbortOperation):
(WebCore::GetOperation::objectStoreID):
(WebCore::GetOperation::indexID):
(WebCore::GetOperation::cursorType):
(WebCore::GetOperation::keyRange):
(WebCore::GetOperation::callbacks):
(WebCore::GetOperation::autoIncrement):
(WebCore::GetOperation::keyPath):
(WebCore::GetOperation::GetOperation):
(WebCore::PutOperation::create):
(WebCore::PutOperation::putMode):
(WebCore::PutOperation::objectStore):
(WebCore::PutOperation::key):
(WebCore::PutOperation::indexIDs):
(WebCore::PutOperation::indexKeys):
(WebCore::PutOperation::callbacks):
(WebCore::PutOperation::value):
(WebCore::PutOperation::PutOperation):
(WebCore::OpenCursorOperation::create):
(WebCore::OpenCursorOperation::objectStoreID):
(WebCore::OpenCursorOperation::indexID):
(WebCore::OpenCursorOperation::direction):
(WebCore::OpenCursorOperation::cursorType):
(WebCore::OpenCursorOperation::taskType):
(WebCore::OpenCursorOperation::keyRange):
(WebCore::OpenCursorOperation::cursorDirection):
(WebCore::OpenCursorOperation::callbacks):
(WebCore::OpenCursorOperation::OpenCursorOperation):
(WebCore::CountOperation::create):
(WebCore::CountOperation::objectStoreID):
(WebCore::CountOperation::indexID):
(WebCore::CountOperation::keyRange):
(WebCore::CountOperation::callbacks):
(WebCore::CountOperation::CountOperation):
(WebCore::DeleteRangeOperation::create):
(WebCore::DeleteRangeOperation::objectStoreID):
(WebCore::DeleteRangeOperation::callbacks):
(WebCore::DeleteRangeOperation::keyRange):
(WebCore::DeleteRangeOperation::DeleteRangeOperation):
(WebCore::ClearObjectStoreOperation::create):
(WebCore::ClearObjectStoreOperation::objectStoreID):
(WebCore::ClearObjectStoreOperation::callbacks):
(WebCore::ClearObjectStoreOperation::ClearObjectStoreOperation):

Implement each operation in terms of the appropriate backing store, then perform the callback:

  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp:

(WebCore::IDBServerConnectionLevelDB::createObjectStore):
(WebCore::IDBServerConnectionLevelDB::createIndex):
(WebCore::IDBServerConnectionLevelDB::deleteIndex):
(WebCore::IDBServerConnectionLevelDB::get):
(WebCore::IDBServerConnectionLevelDB::put):
(WebCore::IDBServerConnectionLevelDB::openCursor):
(WebCore::IDBServerConnectionLevelDB::count):
(WebCore::IDBServerConnectionLevelDB::deleteRange):
(WebCore::IDBServerConnectionLevelDB::clearObjectStore):
(WebCore::IDBServerConnectionLevelDB::deleteObjectStore):
(WebCore::IDBServerConnectionLevelDB::changeDatabaseVersion):

  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h:
  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit2:

  • WebProcess/Databases/IndexedDB/WebProcessIDBDatabaseBackend.h:
12:28 PM Changeset in webkit [159352] by timothy_horton@apple.com
  • 5 edits
    1 add in trunk/Tools

build.webkit.org/dashboard should provide a way to focus on a subset of bots
https://bugs.webkit.org/show_bug.cgi?id=122676

Reviewed by Timothy Hatcher.

Add a small 'hide' button next to every platform logo, and a 'show all'
button which only appears when at least one platform is hidden. Hidden
platforms persist using localStorage.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:

(updateHiddenPlatforms):
(documentReady.unhideButton):
(documentReady.hideButton):
(documentReady):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Settings.js: Added.

(Settings.prototype.setObject):
(Settings.prototype.getObject):
(Settings.prototype.addSettingListener):
(Settings.prototype.fireSettingListener):
(Settings.prototype.toggleHiddenPlatform):
(Settings.prototype.clearHiddenPlatforms):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

(div.cellButton):
(div.cellButton.hide):
(.hidden):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html:
11:53 AM Changeset in webkit [159351] by mhahnenberg@apple.com
  • 14 edits
    1 add in trunk/Source/JavaScriptCore

-dealloc callbacks from wrapped Objective-C objects can happen at bad times
https://bugs.webkit.org/show_bug.cgi?id=123821

Reviewed by Darin Adler.

Currently with the JSC Obj-C API, JS wrappers for client Obj-C objects retain their associated Obj-C
object. When they are swept, they release their Obj-C objects which can trigger a call to that
object's -dealloc method. These -dealloc methods can then call back into the same VM, which is not
allowed during sweeping or VM shutdown.

We can handle this case by creating our own pool of Obj-C objects to be released when it is safe to do so.
This is accomplished by using DelayedReleaseScope, an RAII-style object that will retain all objects
that are unsafe to release until the end of the DelayedReleaseScope.

  • API/APIShims.h:

(JSC::APICallbackShim::APICallbackShim):
(JSC::APICallbackShim::vmForDropAllLocks):
(JSC::APICallbackShim::execForDropAllLocks):

  • API/JSAPIWrapperObject.mm:

(JSAPIWrapperObjectHandleOwner::finalize):

  • API/ObjCCallbackFunction.mm:

(JSC::ObjCCallbackFunctionImpl::destroy):
(JSC::ObjCCallbackFunction::destroy):

  • API/tests/testapi.mm:

(-[TinyDOMNode initWithVirtualMachine:]):
(-[TinyDOMNode dealloc]):
(-[TinyDOMNode appendChild:]):
(-[TinyDOMNode removeChildAtIndex:]):
(-[EvilAllocationObject initWithContext:]):
(-[EvilAllocationObject dealloc]):
(-[EvilAllocationObject doEvilThingsWithContext:]):

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • heap/DelayedReleaseScope.h: Added.

(JSC::DelayedReleaseScope::DelayedReleaseScope):
(JSC::DelayedReleaseScope::~DelayedReleaseScope):
(JSC::DelayedReleaseScope::releaseSoon):
(JSC::MarkedSpace::releaseSoon):

  • heap/Heap.cpp:

(JSC::Heap::collectAllGarbage):

  • heap/Heap.h:

(JSC::Heap::releaseSoon):

  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::allocateSlowCase):

  • heap/MarkedSpace.cpp:

(JSC::MarkedSpace::MarkedSpace):
(JSC::MarkedSpace::lastChanceToFinalize):
(JSC::MarkedSpace::sweep):

  • heap/MarkedSpace.h:
11:51 AM Changeset in webkit [159350] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test fast/dom/Geolocation/notimer-after-unload.html is flaky and crashy on Mac WK2
https://bugs.webkit.org/show_bug.cgi?id=124425

  • platform/mac-wk2/TestExpectations:

Mark as crash/pass/fail, since it does all three :(

11:34 AM Changeset in webkit [159349] by commit-queue@webkit.org
  • 11 edits
    1 add in trunk

Modifying RTCIceCandidate object construction to match the spec
https://bugs.webkit.org/show_bug.cgi?id=124369

Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-11-15
Reviewed by Eric Carlson.

According to the spec the RTCIceCandidateInit parameter in RTCSessionDescription constructor is optional,
which must not be nullable, and, if passed, must be a valid Dictionary. If the keys are not present, the string
object that stores them in the RTCIceCandidate class, must be null in those cases. Also, if a key is present
and its value is not valid an exception must be raised.

Source/WebCore:

Existing test was updated.

  • GNUmakefile.list.am:
  • Modules/mediastream/RTCIceCandidate.cpp:

(WebCore::RTCIceCandidate::create):

  • Modules/mediastream/RTCIceCandidate.idl:
  • UseJSC.cmake:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSRTCIceCandidateCustom.cpp: Added.

(WebCore::JSRTCIceCandidateConstructor::constructJSRTCIceCandidate):

LayoutTests:

  • fast/mediastream/RTCIceCandidate-expected.txt:
  • fast/mediastream/RTCIceCandidate.html:
11:30 AM Changeset in webkit [159348] by timothy_horton@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test webgl/1.0.2/conformance/ogles/GL/tan/tan_001_to_006.html fails on Intel
https://bugs.webkit.org/show_bug.cgi?id=124424

  • platform/mac/TestExpectations:

Mark as flaky everywhere, since I have no way to mark it as failing on Intel
and passing elsewhere.

11:21 AM Changeset in webkit [159347] by commit-queue@webkit.org
  • 49 edits
    6 adds
    19 deletes in trunk

Unreviewed, rolling out r159337.
http://trac.webkit.org/changeset/159337
https://bugs.webkit.org/show_bug.cgi?id=124423

broke a bunch of fast/regions tests on EFL/GTK (Requested by
philn on #webkit).

Source/WebCore:

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::setLayoutOverflow):
(WebCore::InlineFlowBox::setVisualOverflow):

  • rendering/InlineFlowBox.h:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::addOverflowFromChildren):
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::estimateRegionRangeForBoxChild):
(WebCore::RenderBlock::updateRegionRangeForBoxChild):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::hasNextPage):
(WebCore::RenderBlockFlow::relayoutForPagination):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::positionNewFloatOnLine):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::borderBoxRectInRegion):
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::addLayoutOverflow):
(WebCore::RenderBox::addVisualOverflow):
(WebCore::RenderBox::isUnsplittableForPagination):
(WebCore::RenderBox::overflowRectForPaintRejection):

  • rendering/RenderBox.h:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderBoxRegionInfo.h:

(WebCore::RenderBoxRegionInfo::createOverflow):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::paintFlowThreadPortionInRegion):
(WebCore::RenderFlowThread::hitTestFlowThreadPortionInRegion):
(WebCore::RenderFlowThread::checkRegionsWithStyling):
(WebCore::RenderFlowThread::mapFromLocalToFlowThread):
(WebCore::RenderFlowThread::mapFromFlowThreadToLocal):
(WebCore::RenderFlowThread::addRegionsOverflowFromChild):
(WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):

  • rendering/RenderFlowThread.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPositions):
(WebCore::expandClipRectForDescendantsAndReflection):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::updatePaintingInfoForFragments):
(WebCore::RenderLayer::paintForegroundForFragments):
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::parentClipRects):
(WebCore::RenderLayer::calculateRects):
(WebCore::RenderLayer::intersectsDamageRect):
(WebCore::RenderLayer::repaintIncludingDescendants):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::computeCompositingRequirements):

  • rendering/RenderListItem.cpp:

(WebCore::RenderListItem::addOverflowFromChildren):

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
(WebCore::RenderMultiColumnSet::repaintFlowThreadContent):

  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::createStyle):

  • rendering/RenderNamedFlowFragment.h:
  • rendering/RenderOverflow.h:
  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::flowThreadPortionOverflowRect):
(WebCore::RenderRegion::overflowRectForFlowThreadPortion):
(WebCore::shouldPaintRegionContentsInPhase):
(WebCore::RenderRegion::paintObject):
(WebCore::RenderRegion::hitTestContents):
(WebCore::RenderRegion::computeOverflowFromFlowThread):
(WebCore::RenderRegion::repaintFlowThreadContent):
(WebCore::RenderRegion::repaintFlowThreadContentRectangle):
(WebCore::RenderRegion::insertedIntoTree):
(WebCore::RenderRegion::ensureOverflowForBox):
(WebCore::RenderRegion::rectFlowPortionForBox):
(WebCore::RenderRegion::addLayoutOverflowForBox):
(WebCore::RenderRegion::addVisualOverflowForBox):
(WebCore::RenderRegion::layoutOverflowRectForBox):
(WebCore::RenderRegion::visualOverflowRectForBox):
(WebCore::RenderRegion::visualOverflowRectForBoxForPropagation):

  • rendering/RenderRegion.h:
  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::shouldPaint):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::paint):

LayoutTests:

  • fast/regions/bottom-overflow-out-of-first-region-expected.html:
  • fast/regions/bottom-overflow-out-of-first-region.html:
  • fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005-expected.html:
  • fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html:
  • fast/regions/element-in-named-flow-absolute-from-fixed-expected.txt:
  • fast/regions/element-in-named-flow-fixed-from-absolute-expected.txt:
  • fast/regions/element-inflow-fixed-from-outflow-static-expected.txt:
  • fast/regions/element-outflow-static-from-inflow-fixed-expected.txt:
  • fast/regions/float-pushed-width-change-2-expected.html:
  • fast/regions/float-pushed-width-change-2.html:
  • fast/regions/float-pushed-width-change-expected.html:
  • fast/regions/float-pushed-width-change.html:
  • fast/regions/layers/dynamic-layer-added-with-no-layout-expected.txt: Removed.
  • fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.txt: Removed.
  • fast/regions/layers/regions-promoted-to-layers-expected.txt: Removed.
  • fast/regions/layers/regions-promoted-to-layers-horizontal-bt-expected.txt: Removed.
  • fast/regions/layers/regions-promoted-to-layers-vertical-lr-expected.txt: Removed.
  • fast/regions/layers/regions-promoted-to-layers-vertical-rl-expected.txt: Removed.
  • fast/regions/outline-sides-in-region-expected.html:
  • fast/regions/outline-sides-in-region.html:
  • fast/regions/overflow-first-and-last-regions-expected.html: Removed.
  • fast/regions/overflow-first-and-last-regions-in-container-hidden-expected.html: Removed.
  • fast/regions/overflow-first-and-last-regions-in-container-hidden.html: Removed.
  • fast/regions/overflow-first-and-last-regions.html: Removed.
  • fast/regions/overflow-last-region-expected.html: Added.
  • fast/regions/overflow-last-region.html: Added.
  • fast/regions/overflow-nested-regions-expected.html: Removed.
  • fast/regions/overflow-nested-regions.html: Removed.
  • fast/regions/overflow-region-float-expected.html: Removed.
  • fast/regions/overflow-region-float.html: Removed.
  • fast/regions/overflow-region-inline-expected.html: Removed.
  • fast/regions/overflow-region-inline.html: Removed.
  • fast/regions/overflow-region-transform-expected.html: Removed.
  • fast/regions/overflow-region-transform.html: Removed.
  • fast/regions/overflow-scrollable-rotated-fragment-expected.html:
  • fast/regions/overflow-scrollable-rotated-fragment.html:
  • fast/regions/top-overflow-out-of-second-region-expected.html: Removed.
  • fast/regions/top-overflow-out-of-second-region.html:
  • fast/regions/webkit-flow-float-unable-to-push-expected.html:
  • fast/regions/webkit-flow-float-unable-to-push.html:
  • fast/repaint/increasing-region-content-height-expected.txt:
  • fast/repaint/increasing-region-content-height.html:
  • platform/gtk/fast/regions/text-region-split-vertical-rl-expected.txt: Added.
  • platform/mac-wk2/TestExpectations:
  • platform/mac/fast/regions/top-overflow-out-of-second-region-expected.png: Added.
  • platform/mac/fast/regions/top-overflow-out-of-second-region-expected.txt: Added.
11:07 AM Changeset in webkit [159346] by msaboff@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

REGRESSION (r158586): callToJavaScript needs to save return PC to Sentinel frame
https://bugs.webkit.org/show_bug.cgi?id=124420

Reviewed by Filip Pizlo.

Save the return PC into the sentinel frame.

  • jit/JITStubsMSVC64.asm:
  • jit/JITStubsX86.h:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
10:32 AM Changeset in webkit [159345] by Antti Koivisto
  • 6 edits
    2 adds in trunk

Hovering over text using simple line path should not cause switch to line boxes
https://bugs.webkit.org/show_bug.cgi?id=124418

Reviewed by Anders Carlsson.

Source/WebCore:

Test: fast/text/simple-lines-hover.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::absoluteRects):
(WebCore::RenderText::absoluteQuadsClippedToEllipsis):
(WebCore::RenderText::absoluteQuads):

Collect quads and rects directly from simple lines without requiring the line box switch.

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::collectTextAbsoluteRects):
(WebCore::SimpleLineLayout::collectTextAbsoluteQuads):

Add these.

  • rendering/SimpleLineLayoutFunctions.h:
  • rendering/SimpleLineLayoutResolver.h:

(WebCore::SimpleLineLayout::RunResolver::Run::start):
(WebCore::SimpleLineLayout::RunResolver::Run::end):

For future use.

LayoutTests:

  • fast/text/simple-lines-hover-expected.html: Added.
  • fast/text/simple-lines-hover.html: Added.
10:06 AM Changeset in webkit [159344] by zoltan@webkit.org
  • 3 edits in trunk/LayoutTests

[CSS Shapes][CSS Regions] Simplify shape-inside-on-multiple-regions-with-negative-shape-top.html
https://bugs.webkit.org/show_bug.cgi?id=123808

Reviewed by Mihnea Ovidenie.

Use a rectangle instead of a complex polygon in the test.

  • fast/regions/shape-inside/shape-inside-on-multiple-regions-with-negative-shape-top-expected.html:
  • fast/regions/shape-inside/shape-inside-on-multiple-regions-with-negative-shape-top.html:
10:03 AM Changeset in webkit [159343] by jer.noble@apple.com
  • 5 edits in trunk

MediaTime addition and subtraction operators have errors when the rhs is infinite.
https://bugs.webkit.org/show_bug.cgi?id=124413

Reviewed by Eric Carlson.

Source/WTF:

Correctly account for infinities that can occur on the right-hand side of addition or
subtraction operators.

  • wtf/MediaTime.cpp:

(WTF::MediaTime::operator+):
(WTF::MediaTime::operator-):

Tools:

Add a test for operator+ and operator- where an infinite value appears
on the right-hand side:

  • TestWebKitAPI/Tests/WTF/MediaTime.cpp:

(TestWebKitAPI::TEST):

Add a LLDB summary provider for MediaTime which displays the rational
time as well as the value in seconds:

  • lldb/lldb_webkit.py:

(lldb_init_module):
(WTFMediaTime_SummaryProvider):
(WTFHashTableProvider.has_children):
(WTFMediaTimeProvider):
(WTFMediaTimeProvider.
init):
(WTFMediaTimeProvider.timeValue):
(WTFMediaTimeProvider.timeScale):
(WTFMediaTimeProvider.isInvalid):
(WTFMediaTimeProvider.isPositiveInfinity):
(WTFMediaTimeProvider.isNegativeInfinity):
(WTFMediaTimeProvider.isIndefinite):

9:47 AM Changeset in webkit [159342] by timothy_horton@apple.com
  • 3 edits in trunk/Tools

Make it possible to select revision numbers on build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=124400

Reviewed by Timothy Hatcher.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:

(BuildbotQueueView.prototype.revisionLinksForIteration):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

(.selectable):
Add a child span to the trac link, which has '-webkit-user-select: all' on it.
This way, a Dashboard user can highlight revision numbers for easy copying,
and doesn't even have to be precise about the selection.

9:44 AM Changeset in webkit [159341] by Michał Pakuła vel Rutka
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening

Add failure test expectations for failing tests.

  • platform/efl/TestExpectations:
9:42 AM Changeset in webkit [159340] by timothy_horton@apple.com
  • 3 edits in trunk/LayoutTests

results.html should have a link to historical results for a test/all failing tests
https://bugs.webkit.org/show_bug.cgi?id=124402

Reviewed by Simon Fraser.

  • fast/harness/results.html:

Add a new rightmost column, 'history'.
Clicking on the column header will open the flakiness dashboard
for the entire set of failing tests; clicking on the link
in a particular test's row will open it just for that single test.

  • fast/harness/resources/results-test.js:

Update the harness test to expect the new number of columns.

9:32 AM Changeset in webkit [159339] by timothy_horton@apple.com
  • 4 edits
    2 adds in trunk/Tools

Adjust and add retina versions of EFL and GTK build.webkit.org/dashboard icons
https://bugs.webkit.org/show_bug.cgi?id=124399

Reviewed by Gustavo Noronha Silva.

Add new EFL and GTK icons (derived from Wikipedia's SVGs) to make new 1x and 2x icons,
with the icons adjusted to have solid backgrounds, to not be squished, and to not
intersect the ring, similar to the Mac icons.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/EFL.png:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/EFL@2x.png: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/GTK.png:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/GTK@2x.png: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:

(documentReady.hideButton):
(documentReady):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

(table.queue-grid tr.platform.linux-gtk img.logo):
(table.queue-grid tr.platform.linux-efl img.logo):

8:15 AM Changeset in webkit [159338] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Fixed incorrectly placed NETWORK_PROCESS guard in NetworkConnectionToWebProcess.cpp
https://bugs.webkit.org/show_bug.cgi?id=124398

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2013-11-15
Reviewed by Brady Eidson.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:
7:34 AM Changeset in webkit [159337] by stavila@adobe.com
  • 49 edits
    1 copy
    18 adds
    5 deletes in trunk

[CSS Regions] Implement visual overflow for first & last regions
https://bugs.webkit.org/show_bug.cgi?id=118665

Source/WebCore:

In order to properly propagate the visual overflow of elements flowed inside regions,
the responsiblity of painting and hit-testing content inside flow threads has been
moved to the flow thread layer's level.
Each region keeps the associated overflow with each box in the RenderBoxRegionInfo
structure, including one for the flow thread itself. This data is used during
painting and hit-testing.

Reviewed by David Hyatt.

Tests: fast/regions/overflow-first-and-last-regions-in-container-hidden.html

fast/regions/overflow-first-and-last-regions.html
fast/regions/overflow-nested-regions.html
fast/regions/overflow-region-float.html
fast/regions/overflow-region-inline.html
fast/regions/overflow-region-transform.html

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::setLayoutOverflow):
(WebCore::InlineFlowBox::setVisualOverflow):

  • rendering/InlineFlowBox.h:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::addOverflowFromChildren):
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::estimateRegionRangeForBoxChild):
(WebCore::RenderBlock::updateRegionRangeForBoxChild):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::hasNextPage):
(WebCore::RenderBlockFlow::relayoutForPagination):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::positionNewFloatOnLine):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::borderBoxRectInRegion):
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::addLayoutOverflow):
(WebCore::RenderBox::addVisualOverflow):
(WebCore::RenderBox::isUnsplittableForPagination):
(WebCore::RenderBox::overflowRectForPaintRejection):

  • rendering/RenderBox.h:

(WebCore::RenderBox::canHaveOutsideRegionRange):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderBoxRegionInfo.h:

(WebCore::RenderBoxRegionInfo::createOverflow):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::objectShouldPaintInFlowRegion):
(WebCore::RenderFlowThread::mapFromLocalToFlowThread):
(WebCore::RenderFlowThread::mapFromFlowThreadToLocal):
(WebCore::RenderFlowThread::decorationsClipRectForBoxInRegion):
(WebCore::RenderFlowThread::flipForWritingModeLocalCoordinates):
(WebCore::RenderFlowThread::addRegionsOverflowFromChild):
(WebCore::RenderFlowThread::addRegionsVisualOverflow):
(WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):

  • rendering/RenderFlowThread.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPositions):
(WebCore::expandClipRectForRegionAndReflection):
(WebCore::expandClipRectForDescendantsAndReflection):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::updatePaintingInfoForFragments):
(WebCore::RenderLayer::paintForegroundForFragments):
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::parentClipRects):
(WebCore::RenderLayer::calculateRects):
(WebCore::RenderLayer::intersectsDamageRect):
(WebCore::RenderLayer::updateDescendantsLayerListsIfNeeded):
(WebCore::RenderLayer::repaintIncludingDescendants):
(WebCore::RenderLayer::paintNamedFlowThreadInsideRegion):
(WebCore::RenderLayer::paintFlowThreadIfRegion):
(WebCore::RenderLayer::hitTestFlowThreadIfRegion):

  • rendering/RenderLayer.h:

(WebCore::ClipRect::inflateX):
(WebCore::ClipRect::inflateY):
(WebCore::ClipRect::inflate):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::computeCompositingRequirements):

  • rendering/RenderListItem.cpp:

(WebCore::RenderListItem::addOverflowFromChildren):

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
(WebCore::RenderMultiColumnSet::repaintFlowThreadContent):

  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::createStyle):
(WebCore::RenderNamedFlowFragment::namedFlowThread):

  • rendering/RenderNamedFlowFragment.h:
  • rendering/RenderOverflow.h:
  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::flowThreadPortionOverflowRect):
(WebCore::RenderRegion::flowThreadPortionLocation):
(WebCore::RenderRegion::regionContainerLayer):
(WebCore::RenderRegion::overflowRectForFlowThreadPortion):
(WebCore::RenderRegion::computeOverflowFromFlowThread):
(WebCore::RenderRegion::repaintFlowThreadContent):
(WebCore::RenderRegion::repaintFlowThreadContentRectangle):
(WebCore::RenderRegion::insertedIntoTree):
(WebCore::RenderRegion::ensureOverflowForBox):
(WebCore::RenderRegion::rectFlowPortionForBox):
(WebCore::RenderRegion::addLayoutOverflowForBox):
(WebCore::RenderRegion::addVisualOverflowForBox):
(WebCore::RenderRegion::layoutOverflowRectForBox):
(WebCore::RenderRegion::visualOverflowRectForBox):
(WebCore::RenderRegion::visualOverflowRectForBoxForPropagation):

  • rendering/RenderRegion.h:
  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::shouldPaint):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::paint):

LayoutTests:

Rebased some tests due to regions layers changes.
Updated some tests to increase clarity. Some of them were only passing because two
regions were close together and the fact that an element was being painted
inside the wrong region was not visible. Floats are now also unsplittable.

  • bottom-overflow-out-of-first-region
  • float-pushed-width-change-2
  • float-pushed-width-change
  • webkit-flow-float-unable-to-push

Changed top-overflow-out-of-second-region to reftest.

Added new tests for testing the visual overflow in different situations
(transformed, inline, opacity, floating).

Reviewed by David Hyatt.

  • fast/regions/bottom-overflow-out-of-first-region-expected.html:
  • fast/regions/bottom-overflow-out-of-first-region.html:
  • fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005-expected.html:
  • fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html:
  • fast/regions/element-in-named-flow-absolute-from-fixed-expected.txt:
  • fast/regions/element-in-named-flow-fixed-from-absolute-expected.txt:
  • fast/regions/element-inflow-fixed-from-outflow-static-expected.txt:
  • fast/regions/element-outflow-static-from-inflow-fixed-expected.txt:
  • fast/regions/float-pushed-width-change-2-expected.html:
  • fast/regions/float-pushed-width-change-2.html:
  • fast/regions/float-pushed-width-change-expected.html:
  • fast/regions/float-pushed-width-change.html:
  • fast/regions/layers/dynamic-layer-added-with-no-layout-expected.txt: Added.
  • fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.txt: Added.
  • fast/regions/layers/regions-promoted-to-layers-expected.txt: Added.
  • fast/regions/layers/regions-promoted-to-layers-horizontal-bt-expected.txt: Added.
  • fast/regions/layers/regions-promoted-to-layers-vertical-lr-expected.txt: Added.
  • fast/regions/layers/regions-promoted-to-layers-vertical-rl-expected.txt: Added.
  • fast/regions/outline-sides-in-region-expected.html:
  • fast/regions/outline-sides-in-region.html:
  • fast/regions/overflow-first-and-last-regions-expected.html: Added.
  • fast/regions/overflow-first-and-last-regions-in-container-hidden-expected.html: Added.
  • fast/regions/overflow-first-and-last-regions-in-container-hidden.html: Added.
  • fast/regions/overflow-first-and-last-regions.html: Added.
  • fast/regions/overflow-last-region-expected.html: Removed.
  • fast/regions/overflow-last-region.html: Removed.
  • fast/regions/overflow-nested-regions-expected.html: Added.
  • fast/regions/overflow-nested-regions.html: Added.
  • fast/regions/overflow-region-float-expected.html: Added.
  • fast/regions/overflow-region-float.html: Added.
  • fast/regions/overflow-region-inline-expected.html: Added.
  • fast/regions/overflow-region-inline.html: Added.
  • fast/regions/overflow-region-transform-expected.html: Added.
  • fast/regions/overflow-region-transform.html: Added.
  • fast/regions/overflow-scrollable-rotated-fragment-expected.html:
  • fast/regions/overflow-scrollable-rotated-fragment.html:
  • fast/regions/top-overflow-out-of-second-region-expected.html: Copied from LayoutTests/fast/regions/top-overflow-out-of-second-region.html.
  • fast/regions/top-overflow-out-of-second-region.html:
  • fast/regions/webkit-flow-float-unable-to-push-expected.html:
  • fast/regions/webkit-flow-float-unable-to-push.html:
  • platform/gtk/fast/regions/text-region-split-vertical-rl-expected.txt: Removed.
  • platform/mac-wk2/TestExpectations:
  • platform/mac/fast/regions/top-overflow-out-of-second-region-expected.png: Removed.
  • platform/mac/fast/regions/top-overflow-out-of-second-region-expected.txt: Removed.
7:31 AM Changeset in webkit [159336] by Michał Pakuła vel Rutka
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening

Update TestExpectations files with failing tests.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
7:05 AM Changeset in webkit [159335] by commit-queue@webkit.org
  • 9 edits
    6 adds in trunk

[GStreamer] Add support for Media Source API
https://bugs.webkit.org/show_bug.cgi?id=99065

Source/WebCore:

The patch integrate a Media Source player for the GStreamer backend. The implementented architecture is:

  • MediaPlayerPrivateGStreamer engine is modified to support Media Source URIs (change blob:// to mediasourceblob://), in addition to the existing support for web (http/https/blob) URIs
  • Similar to the existing WebKitWebSrc gstreamer element that handles web URIs, a new gstreamer element named WebKitMediaSrc is implemented to handle Media Source URIs
  • WebKitMediaSrc registers its URI protocol handler, allowing uridecodebin to dynamically create the appropriate source element.
  • The WebKitMediaSrc element creates a bin with 2 appsrc: One for Audio and One for Video. Pads are dynamically linked at the reception of first video and audio buffers.

Patch by Stephane Jadaud <sjadaud@sii.fr> on 2013-11-15
Reviewed by Philippe Normand.

Tests: Activate http/tests/media/media-source and media/media-source tests

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::initializeGStreamerAndRegisterWebKitElements):
(WebCore::MediaPlayerPrivateGStreamer::load):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaSourceGStreamer.cpp: Added.

(WebCore::MediaSourceGStreamer::open):
(WebCore::MediaSourceGStreamer::MediaSourceGStreamer):
(WebCore::MediaSourceGStreamer::~MediaSourceGStreamer):
(WebCore::MediaSourceGStreamer::addSourceBuffer):
(WebCore::MediaSourceGStreamer::setDuration):
(WebCore::MediaSourceGStreamer::markEndOfStream):
(WebCore::MediaSourceGStreamer::unmarkEndOfStream):

  • platform/graphics/gstreamer/MediaSourceGStreamer.h: Added.
  • platform/graphics/gstreamer/SourceBufferPrivateGStreamer.cpp: Added.

(WebCore::SourceBufferPrivateGStreamer::SourceBufferPrivateGStreamer):
(WebCore::SourceBufferPrivateGStreamer::append):
(WebCore::SourceBufferPrivateGStreamer::abort):
(WebCore::SourceBufferPrivateGStreamer::removedFromMediaSource):

  • platform/graphics/gstreamer/SourceBufferPrivateGStreamer.h: Added.
  • platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp: Added.

(webKitMediaSrcAddSrc):
(webkit_media_src_init):
(webKitMediaSrcFinalize):
(webKitMediaSrcSetProperty):
(webKitMediaSrcGetProperty):
(webKitMediaVideoSrcStop):
(webKitMediaAudioSrcStop):
(webKitMediaVideoSrcStart):
(webKitMediaAudioSrcStart):
(webKitMediaSrcChangeState):
(webKitMediaSrcQueryWithParent):
(webKitMediaSrcUriGetType):
(webKitMediaSrcGetProtocols):
(webKitMediaSrcGetUri):
(webKitMediaSrcSetUri):
(webKitMediaSrcUriHandlerInit):
(webKitMediaVideoSrcNeedDataMainCb):
(webKitMediaAudioSrcNeedDataMainCb):
(webKitMediaVideoSrcNeedDataCb):
(webKitMediaAudioSrcNeedDataCb):
(webKitMediaVideoSrcEnoughDataMainCb):
(webKitMediaAudioSrcEnoughDataMainCb):
(webKitMediaVideoSrcEnoughDataCb):
(webKitMediaAudioSrcEnoughDataCb):
(webKitMediaVideoSrcSeekMainCb):
(webKitMediaAudioSrcSeekMainCb):
(webKitMediaVideoSrcSeekDataCb):
(webKitMediaAudioSrcSeekDataCb):
(webKitMediaSrcSetMediaPlayer):
(webKitMediaSrcSetPlayBin):
(MediaSourceClientGstreamer::MediaSourceClientGstreamer):
(MediaSourceClientGstreamer::~MediaSourceClientGstreamer):
(MediaSourceClientGstreamer::didReceiveDuration):
(MediaSourceClientGstreamer::didReceiveData):
(MediaSourceClientGstreamer::didFinishLoading):
(MediaSourceClientGstreamer::didFail):

  • platform/graphics/gstreamer/WebKitMediaSourceGStreamer.h: Added.

Tools:

Patch by Stephane Jadaud <sjadaud@sii.fr> on 2013-11-15
Reviewed by Philippe Normand.

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

Patch by Stephane Jadaud <sjadaud@sii.fr> on 2013-11-15
Reviewed by Philippe Normand.

  • platform/gtk/TestExpectations:
6:08 AM Changeset in webkit [159334] by berto@igalia.com
  • 2 edits in trunk/Source/WebKit/efl

[EFL] Leak in ewk_frame_certificate_status_get()
https://bugs.webkit.org/show_bug.cgi?id=124401

Reviewed by Carlos Garcia Campos.

The SoupMessage object is being leaked. In in this case that
object is not even necessary since ResourceRequest already
provides a way to get the soup flags directly.

  • ewk/ewk_frame.cpp:

(ewk_frame_certificate_status_get):

5:09 AM Changeset in webkit [159333] by Csaba Osztrogonác
  • 16 edits in trunk/Source/WebKit2

Cleanup the build from unused parameters in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=124201

Patch by Tibor Meszaros <mtibor@inf.u-szeged.hu> on 2013-11-15
Reviewed by Darin Adler.

  • Shared/Plugins/Netscape/PluginInformation.cpp:

(WebKit::getPluginModuleInformation):

  • UIProcess/API/C/WKBatteryManager.cpp:

(WKBatteryManagerSetProvider):
(WKBatteryManagerProviderDidChangeBatteryStatus):
(WKBatteryManagerProviderUpdateBatteryStatus):

  • UIProcess/API/C/WKBatteryStatus.cpp:

(WKBatteryStatusCreate):

  • UIProcess/API/C/WKColorPickerResultListener.cpp:

(WKColorPickerResultListenerSetColor):

  • UIProcess/API/C/WKContext.cpp:

(WKContextGetBatteryManager):
(WKContextGetDatabaseManager):
(WKContextGetNetworkInfoManager):

  • UIProcess/API/C/WKDatabaseManager.cpp:

(WKDatabaseManagerSetClient):
(WKDatabaseManagerGetDatabasesByOrigin):
(WKDatabaseManagerGetDatabaseOrigins):
(WKDatabaseManagerDeleteDatabasesWithNameForOrigin):
(WKDatabaseManagerDeleteDatabasesForOrigin):
(WKDatabaseManagerDeleteAllDatabases):
(WKDatabaseManagerSetQuotaForOrigin):

  • UIProcess/API/C/WKNetworkInfo.cpp:

(WKNetworkInfoCreate):

  • UIProcess/API/C/WKNetworkInfoManager.cpp:

(WKNetworkInfoManagerSetProvider):
(WKNetworkInfoManagerProviderDidChangeNetworkInformation):

  • UIProcess/API/C/WKOpenPanelParameters.cpp:

(WKOpenPanelParametersCopyCapture):

  • UIProcess/API/C/WKVibration.cpp:

(WKVibrationSetProvider):

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::createNewPage):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setVisibilityState):
(WebKit::WebPageProxy::unavailablePluginButtonClicked):

  • UIProcess/efl/ViewClientEfl.cpp:

(WebKit::ViewClientEfl::didChangeContentsPosition):
(WebKit::ViewClientEfl::didRenderFrame):
(WebKit::ViewClientEfl::didChangeViewportAttributes):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::setDatabaseQuota):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createWindow):

3:03 AM Changeset in webkit [159332] by Antoine Quint
  • 6 edits
    10 adds
    2 deletes in trunk/Source/WebInspectorUI

Web Inspector: New color picker
https://bugs.webkit.org/show_bug.cgi?id=124354

Reviewed by Timothy Hatcher.

Beginning of a new color picker. The focus of this new picker is to let you pick from
a color wheel as the primary mean of color picking, with additional slider controls for
the brightness and the opacity, better matching the default OS X color picker. This is the
basis for a color picker that will evolve to support the following:

Note also that the color wheel has not been tested on Retina displays
(see http://webkit.org/b/124355).

  • UserInterface/CSSColorPicker.css: Removed.
  • UserInterface/CSSColorPicker.js: Removed.

Previous color picker, now removed in favor of the new ColorPicker class.

  • UserInterface/CSSStyleDeclarationTextEditor.js:

Adopt new class name for the color picker, add a little padding to the popover
target frame and set the base color after the picker has been presented.

  • UserInterface/Color.js:

(WebInspector.Color.prototype._hslToRGB):
Simplified math.

(WebInspector.Color.rgb2hsv):
(WebInspector.Color.hsv2rgb):
New utilities to deal with HSV colors used in the ColorWheel.

  • UserInterface/ColorPicker.css: Added.
  • UserInterface/ColorPicker.js: Added.

(WebInspector.ColorPicker):
(WebInspector.ColorPicker.prototype.get element):
(WebInspector.ColorPicker.prototype.set brightness):
(WebInspector.ColorPicker.prototype.set opacity):
(WebInspector.ColorPicker.prototype.get color):

(WebInspector.ColorPicker.prototype.set color):
We set the _dontUpdateColor flag here such that we don't attempt to
notify about a color change at this point in case the selected color
is too saturated to be represented accurately on the color wheel and
we would end up changing the color by virtue of presenting the popover.

(WebInspector.ColorPicker.prototype.colorWheelColorDidChange):
(WebInspector.ColorPicker.prototype.sliderValueDidChange):
(WebInspector.ColorPicker.prototype._updateColor):
(WebInspector.ColorPicker.prototype._updateSliders):

  • UserInterface/ColorWheel.css: Added.
  • UserInterface/ColorWheel.js: Added.

The ColorWheel makes use of three different <canvas> elements to draw itself.
The "raw" canvas is used to draw the raw, un-tinted color wheel with poor
aliasing. The "raw" canvas is only drawn when the dimension is changed.
The "tinted" canvas is used to draw the "raw" canvas with a black overlay
based on the brightness set on the wheel. The "final" canvas, the only <canvas>
element attached to the DOM, is used to draw the "tinted" canvas into a circle
clip of a slightly narrower radius so that the drawn image is visually more pleasing
and can be displayed above virtually any background color.

We use color math to generate the color wheel, courtesy of Dean Jackson, and also to
figure out where to position the crosshair for the provided base color as well as
the opposite operation where we get the color under the mouse pointer.

The color wheel fires a single delegate method call colorWheelColorDidChange(colorWheel),
the colors themselves being retrieved via the public properties tintedColor and rawColor.

(WebInspector.ColorWheel):
(WebInspector.ColorWheel.prototype.set dimension):
(WebInspector.ColorWheel.prototype.get element):
(WebInspector.ColorWheel.prototype.get brightness):
(WebInspector.ColorWheel.prototype.set brightness):
(WebInspector.ColorWheel.prototype.get tintedColor):
(WebInspector.ColorWheel.prototype.set tintedColor):
(WebInspector.ColorWheel.prototype.get rawColor):
(WebInspector.ColorWheel.prototype.handleEvent):
(WebInspector.ColorWheel.prototype._handleMousedown):
(WebInspector.ColorWheel.prototype._handleMousemove):
(WebInspector.ColorWheel.prototype._handleMouseup):
(WebInspector.ColorWheel.prototype._pointInCircleForEvent):
(WebInspector.ColorWheel.prototype._pointInCircleForEvent.angleFromCenterToPoint):
(WebInspector.ColorWheel.prototype._pointInCircleForEvent.pointOnCircumference):
(WebInspector.ColorWheel.prototype._updateColorForMouseEvent):
(WebInspector.ColorWheel.prototype._setCrosshairPosition):
(WebInspector.ColorWheel.prototype._tintedColorToPointAndBrightness):
(WebInspector.ColorWheel.prototype._drawRawCanvas):
(WebInspector.ColorWheel.prototype._colorAtPointWithBrightness):
(WebInspector.ColorWheel.prototype._drawTintedCanvas):
(WebInspector.ColorWheel.prototype._draw):

  • UserInterface/Images/SliderThumb.png: Added.
  • UserInterface/Images/SliderThumb@2x.png: Added.
  • UserInterface/Images/SliderThumbPressed.png: Added.
  • UserInterface/Images/SliderThumbPressed@2x.png: Added.

Supporting artwork for the new Slider class.

  • UserInterface/Main.html:

Remove the previous color picker class and add the new one, as well as the new Slider class.

  • UserInterface/Slider.css: Added.
  • UserInterface/Slider.js: Added.

New slider to match the look of the sliders used in the native OS X color picker. The most
interesting feature of these sliders is that they can be transformed using CSS in any way
and will still operate correctly due to always converting the mouse coordinates in the page
coordinate system to the coordinate system local to the backing element. For instance, the
color picker uses two sliders transformed to be displayed vertically.

As it stands these slides only support values between 0 and 1 and fire a single delegate
method call sliderValueDidChange(slider, newValue).

(WebInspector.Slider):
(WebInspector.Slider.prototype.get element):
(WebInspector.Slider.prototype.get value):
(WebInspector.Slider.prototype.set value):
(WebInspector.Slider.prototype.handleEvent):
(WebInspector.Slider.prototype._handleMousedown):
(WebInspector.Slider.prototype._handleMousemove):
(WebInspector.Slider.prototype._handleMouseup):
(WebInspector.Slider.prototype._localPointForEvent):
(WebInspector.Slider.prototype.get _maxX):

  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:

Update file names for the new color picker.

2:35 AM Changeset in webkit [159331] by Michał Pakuła vel Rutka
  • 3 edits
    1 delete in trunk/LayoutTests

Unreviewed EFL gardening

Mark flaky and incorrectly passing tests.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/efl/ietestcenter/css3/bordersbackgrounds/background-repeat-space-padding-box-expected.txt: Removed wrong test expectation.
2:23 AM Changeset in webkit [159330] by calvaris@igalia.com
  • 4 edits in trunk

[GTK] Bumping GStreamer version to 1.2.1 for the dependencies
https://bugs.webkit.org/show_bug.cgi?id=124360

Reviewed by Philippe Normand.

Tools:

  • gtk/jhbuild.modules: Bumped GStreamer version up to 1.2.1

LayoutTests:

  • platform/gtk/TestExpectations: Flagged

media/video-canvas-drawing-output.html

1:21 AM Changeset in webkit [159329] by commit-queue@webkit.org
  • 3 edits
    2 moves
    2 deletes in trunk/LayoutTests

[EFL] Layout tests with international text properties need to be rebaselined.
https://bugs.webkit.org/show_bug.cgi?id=124389

Unreviewed, EFL rabaseline.

EFL international text rebaselined after r147668.
Move some expectation files to efl common place because those files in wk1 are
in exact accordance with files in wk2, and then delete the files in wk1 and wk2.

Patch by Sun-woo Nam <sunny.nam@samsung.com> on 2013-11-15

  • platform/efl-wk1/fast/text/international/003-expected.txt: Removed.
  • platform/efl-wk1/fast/text/international/bidi-layout-across-linebreak-expected.txt: Removed.
  • platform/efl-wk2/TestExpectations:
  • platform/efl/fast/text/international/002-expected.txt:
  • platform/efl/fast/text/international/003-expected.txt:

Renamed from LayoutTests/platform/efl-wk2/fast/text/international/003-expected.txt.

  • platform/efl/fast/text/international/bidi-layout-across-linebreak-expected.txt:

Renamed from LayoutTests/platform/efl-wk2/fast/text/international/bidi-layout-across-linebreak-expected.txt.

Note: See TracTimeline for information about the timeline view.