⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Feb 9, 2014:

11:59 PM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
11:41 PM Changeset in webkit [163766] by mrowe@apple.com
  • 2 edits in trunk/Source/WebKit

Stop relinking WebKit on every build.

  • WebKit.xcodeproj/project.pbxproj: Fix the case on an input file for the Generate Export Files

script phase so it will run only when the inputs change rather than on every build.

11:23 PM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
11:21 PM Changeset in webkit [163765] by fpizlo@apple.com
  • 16 edits
    7 adds in trunk/Source/JavaScriptCore

GC blocks on FTL and then badness
https://bugs.webkit.org/show_bug.cgi?id=128291

Reviewed by Oliver Hunt.

Introduce the notion of a DFG::Safepoint, which allows you to unlock the rightToRun
mutex for your JIT thread, while supplying the GC with all of the information it would
need to scan you at that moment in time. The default way of using this is
DFG::GraphSafepoint, where you just supply the Graph. There's a lot of machinery in
this patch just to make the Graph scannable.

We then use DFG::GraphSafepoint in just two places for now: (1) while initializing LLVM
and (2) while invoking LLVM' optimizer and backend.

This is a 30% speed-up on Octane/typescript and a 10% speed-up on Octane/gbemu. 2-3%
speed-up overall on Octane.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::visitChildren):

  • dfg/DFGGraph.h:
  • dfg/DFGGraphSafepoint.cpp: Added.

(JSC::DFG::GraphSafepoint::GraphSafepoint):
(JSC::DFG::GraphSafepoint::~GraphSafepoint):

  • dfg/DFGGraphSafepoint.h: Added.
  • dfg/DFGOperations.h:
  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThread):
(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGPlan.h:
  • dfg/DFGSafepoint.cpp: Added.

(JSC::DFG::Safepoint::Safepoint):
(JSC::DFG::Safepoint::~Safepoint):
(JSC::DFG::Safepoint::add):
(JSC::DFG::Safepoint::begin):
(JSC::DFG::Safepoint::visitChildren):

  • dfg/DFGSafepoint.h: Added.
  • dfg/DFGScannable.h: Added.

(JSC::DFG::Scannable::Scannable):
(JSC::DFG::Scannable::~Scannable):

  • dfg/DFGThreadData.cpp: Added.

(JSC::DFG::ThreadData::ThreadData):
(JSC::DFG::ThreadData::~ThreadData):

  • dfg/DFGThreadData.h: Added.
  • dfg/DFGWorklist.cpp:

(JSC::DFG::Worklist::finishCreation):
(JSC::DFG::Worklist::visitChildren):
(JSC::DFG::Worklist::runThread):

  • dfg/DFGWorklist.h:
  • ftl/FTLCompile.cpp:

(JSC::FTL::compile):

  • heap/SlotVisitor.h:
  • heap/SlotVisitorInlines.h:

(JSC::SlotVisitor::appendUnbarrieredReadOnlyPointer):
(JSC::SlotVisitor::appendUnbarrieredReadOnlyValue):

10:02 PM Changeset in webkit [163764] by commit-queue@webkit.org
  • 12 edits
    6 adds
    3 deletes in trunk

-webkit-clip-path should support fill, stroke, view-box keywords
https://bugs.webkit.org/show_bug.cgi?id=128393

Source/WebCore:

Patch by Dirk Schulze <dschulze@chromium.org> on 2014-02-09
Reviewed by Dean Jackson.

CSS Masking uses the keywords fill, stroke and view-box for SVG shapes.
This patch updates the parser, style resolver and SVG implementation of
the prefixed clip-path property.

Remove the unexposed and obsolete keyword bounding-box.

Tests: svg/clip-path/clip-path-shape-fill-expected.svg

svg/clip-path/clip-path-shape-fill.svg
svg/clip-path/clip-path-shape-stroke-expected.svg
svg/clip-path/clip-path-shape-stroke.svg
svg/clip-path/clip-path-shape-view-box-expected.svg
svg/clip-path/clip-path-shape-view-box.svg

  • css/CSSParser.cpp: Parse fill, stroke, view-box. Remove bounding-box.

(WebCore::isBoxValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator LayoutBox):

  • css/CSSValueKeywords.in:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyClipPath::applyValue):

  • rendering/RenderLayer.cpp:

(WebCore::computeReferenceBox):

  • rendering/shapes/ShapeInfo.h:

(WebCore::ShapeInfo::setShapeSize):
(WebCore::ShapeInfo::logicalTopOffset):
(WebCore::ShapeInfo::logicalLeftOffset):

  • rendering/style/RenderStyleConstants.h:
  • rendering/svg/SVGRenderingContext.cpp: Use different reference boxes per keyword.

(WebCore::SVGRenderingContext::prepareToRenderSVGContent):

LayoutTests:

Patch by Dirk Schulze <krit@webkit.org> on 2014-02-09
Reviewed by Dean Jackson.

Update or add new tests for changed clip-path keywords.

  • css3/masking/clip-path-circle-bounding-box.html: Removed.
  • fast/masking/parsing-clip-path-shape.html:
  • platform/mac/css3/masking/clip-path-circle-bounding-box-expected.png: Removed.
  • platform/mac/css3/masking/clip-path-circle-bounding-box-expected.txt: Removed.
  • svg/clip-path/clip-path-shape-fill-expected.svg: Added.
  • svg/clip-path/clip-path-shape-fill.svg: Added.
  • svg/clip-path/clip-path-shape-stroke-expected.svg: Added.
  • svg/clip-path/clip-path-shape-stroke.svg: Added.
  • svg/clip-path/clip-path-shape-view-box-expected.svg: Added.
  • svg/clip-path/clip-path-shape-view-box.svg: Added.
9:40 PM Changeset in webkit [163763] by dino@apple.com
  • 4 edits in trunk/Source/WebCore

[WebGL] Remove state restorer code
https://bugs.webkit.org/show_bug.cgi?id=128516

Reviewed by Dirk Schulze.

I'm not sure what the point of the WebGLStateRestorer class was. It was
always constructed with a false parameter, and then wasn't even retained
in local scope (so wouldn't have worked anyway). Meanwhile there were
also LOTS of calls to cleanupAfterGraphicsCall, the majority of which
were a no-op. I replaced the handful of cleanupAfterGraphicsCall(true)
with the call to markContextChanged().

  • html/canvas/OESVertexArrayObject.cpp:

(WebCore::OESVertexArrayObject::bindVertexArrayOES):

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::activeTexture):
(WebCore::WebGLRenderingContext::attachShader):
(WebCore::WebGLRenderingContext::bindAttribLocation):
(WebCore::WebGLRenderingContext::bindBuffer):
(WebCore::WebGLRenderingContext::bindFramebuffer):
(WebCore::WebGLRenderingContext::bindRenderbuffer):
(WebCore::WebGLRenderingContext::bindTexture):
(WebCore::WebGLRenderingContext::blendColor):
(WebCore::WebGLRenderingContext::blendEquation):
(WebCore::WebGLRenderingContext::blendEquationSeparate):
(WebCore::WebGLRenderingContext::blendFunc):
(WebCore::WebGLRenderingContext::blendFuncSeparate):
(WebCore::WebGLRenderingContext::bufferData):
(WebCore::WebGLRenderingContext::bufferSubData):
(WebCore::WebGLRenderingContext::checkFramebufferStatus):
(WebCore::WebGLRenderingContext::clear):
(WebCore::WebGLRenderingContext::clearColor):
(WebCore::WebGLRenderingContext::clearDepth):
(WebCore::WebGLRenderingContext::clearStencil):
(WebCore::WebGLRenderingContext::colorMask):
(WebCore::WebGLRenderingContext::compileShader):
(WebCore::WebGLRenderingContext::compressedTexImage2D):
(WebCore::WebGLRenderingContext::compressedTexSubImage2D):
(WebCore::WebGLRenderingContext::copyTexImage2D):
(WebCore::WebGLRenderingContext::copyTexSubImage2D):
(WebCore::WebGLRenderingContext::cullFace):
(WebCore::WebGLRenderingContext::depthFunc):
(WebCore::WebGLRenderingContext::depthMask):
(WebCore::WebGLRenderingContext::depthRange):
(WebCore::WebGLRenderingContext::detachShader):
(WebCore::WebGLRenderingContext::disable):
(WebCore::WebGLRenderingContext::disableVertexAttribArray):
(WebCore::WebGLRenderingContext::validateDrawArrays):
(WebCore::WebGLRenderingContext::drawArrays):
(WebCore::WebGLRenderingContext::validateDrawElements):
(WebCore::WebGLRenderingContext::drawElements):
(WebCore::WebGLRenderingContext::enable):
(WebCore::WebGLRenderingContext::enableVertexAttribArray):
(WebCore::WebGLRenderingContext::finish):
(WebCore::WebGLRenderingContext::flush):
(WebCore::WebGLRenderingContext::framebufferRenderbuffer):
(WebCore::WebGLRenderingContext::framebufferTexture2D):
(WebCore::WebGLRenderingContext::frontFace):
(WebCore::WebGLRenderingContext::generateMipmap):
(WebCore::WebGLRenderingContext::getBufferParameter):
(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
(WebCore::WebGLRenderingContext::getParameter):
(WebCore::WebGLRenderingContext::getProgramParameter):
(WebCore::WebGLRenderingContext::getProgramInfoLog):
(WebCore::WebGLRenderingContext::getRenderbufferParameter):
(WebCore::WebGLRenderingContext::getShaderParameter):
(WebCore::WebGLRenderingContext::getShaderInfoLog):
(WebCore::WebGLRenderingContext::getTexParameter):
(WebCore::WebGLRenderingContext::getUniform):
(WebCore::WebGLRenderingContext::getUniformLocation):
(WebCore::WebGLRenderingContext::getVertexAttrib):
(WebCore::WebGLRenderingContext::getVertexAttribOffset):
(WebCore::WebGLRenderingContext::hint):
(WebCore::WebGLRenderingContext::lineWidth):
(WebCore::WebGLRenderingContext::linkProgram):
(WebCore::WebGLRenderingContext::pixelStorei):
(WebCore::WebGLRenderingContext::polygonOffset):
(WebCore::WebGLRenderingContext::readPixels):
(WebCore::WebGLRenderingContext::releaseShaderCompiler):
(WebCore::WebGLRenderingContext::renderbufferStorage):
(WebCore::WebGLRenderingContext::sampleCoverage):
(WebCore::WebGLRenderingContext::scissor):
(WebCore::WebGLRenderingContext::shaderSource):
(WebCore::WebGLRenderingContext::stencilFunc):
(WebCore::WebGLRenderingContext::stencilFuncSeparate):
(WebCore::WebGLRenderingContext::stencilMask):
(WebCore::WebGLRenderingContext::stencilMaskSeparate):
(WebCore::WebGLRenderingContext::stencilOp):
(WebCore::WebGLRenderingContext::stencilOpSeparate):
(WebCore::WebGLRenderingContext::texImage2DBase):
(WebCore::WebGLRenderingContext::texImage2D):
(WebCore::WebGLRenderingContext::texParameter):
(WebCore::WebGLRenderingContext::texSubImage2DBase):
(WebCore::WebGLRenderingContext::uniform1f):
(WebCore::WebGLRenderingContext::uniform1fv):
(WebCore::WebGLRenderingContext::uniform1i):
(WebCore::WebGLRenderingContext::uniform1iv):
(WebCore::WebGLRenderingContext::uniform2f):
(WebCore::WebGLRenderingContext::uniform2fv):
(WebCore::WebGLRenderingContext::uniform2i):
(WebCore::WebGLRenderingContext::uniform2iv):
(WebCore::WebGLRenderingContext::uniform3f):
(WebCore::WebGLRenderingContext::uniform3fv):
(WebCore::WebGLRenderingContext::uniform3i):
(WebCore::WebGLRenderingContext::uniform3iv):
(WebCore::WebGLRenderingContext::uniform4f):
(WebCore::WebGLRenderingContext::uniform4fv):
(WebCore::WebGLRenderingContext::uniform4i):
(WebCore::WebGLRenderingContext::uniform4iv):
(WebCore::WebGLRenderingContext::uniformMatrix2fv):
(WebCore::WebGLRenderingContext::uniformMatrix3fv):
(WebCore::WebGLRenderingContext::uniformMatrix4fv):
(WebCore::WebGLRenderingContext::useProgram):
(WebCore::WebGLRenderingContext::validateProgram):
(WebCore::WebGLRenderingContext::vertexAttribPointer):
(WebCore::WebGLRenderingContext::viewport):
(WebCore::WebGLRenderingContext::vertexAttribfImpl):
(WebCore::WebGLRenderingContext::vertexAttribfvImpl):
(WebCore::WebGLRenderingContext::drawArraysInstanced):
(WebCore::WebGLRenderingContext::drawElementsInstanced):

  • html/canvas/WebGLRenderingContext.h:
9:40 PM Changeset in webkit [163762] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

Remove unused layer owner from WebGLLayer
https://bugs.webkit.org/show_bug.cgi?id=128512

Reviewed by Dirk Schulze.

The m_layerOwner and ObjC category were not
used anywhere.

  • platform/graphics/mac/WebGLLayer.h:
  • platform/graphics/mac/WebGLLayer.mm:

(-[WebGLLayer display]):

8:10 PM Changeset in webkit [163761] by ryuan.choi@samsung.com
  • 10 edits
    2 deletes in trunk/Source

[EFL] Remove PageClientEfl
https://bugs.webkit.org/show_bug.cgi?id=128508

Reviewed by Andreas Kling.

Source/WebCore:

PageClientEfl was introduced for accelerated compositing of WebKit1, but
it's bad idea because it's layer violation.
Indeed, it has never been used since introduced.

  • platform/Widget.h: Back to PlatformPageClient to Evas_Object.
  • platform/graphics/efl/GraphicsContext3DPrivate.cpp:

Removed empty method which use PageClientEfl.

  • platform/graphics/efl/GraphicsContext3DPrivate.h: Ditto.

Source/WebKit:

  • PlatformEfl.cmake: Removed PageClientEfl.cpp

Source/WebKit/efl:

  • WebCoreSupport/AcceleratedCompositingContextEfl.cpp:

Removed dependencies of PageClientEfl.
(WebCore::AcceleratedCompositingContext::initialize):

  • WebCoreSupport/ChromeClientEfl.cpp:

(WebCore::ChromeClientEfl::platformPageClient):

  • WebCoreSupport/PageClientEfl.cpp: Removed.
  • WebCoreSupport/PageClientEfl.h: Removed.
  • ewk/ewk_view.cpp:

(_ewk_view_priv_new):

6:51 PM Changeset in webkit [163760] by fpizlo@apple.com
  • 181 edits in trunk/Source/JavaScriptCore

Never include *Inlines.h files in interface headers, and never include *Inlines.h when you could include Operations.h instead
https://bugs.webkit.org/show_bug.cgi?id=128505

Reviewed by Mark Hahnenberg and Oliver Hunt.

  • API/JSContextRef.cpp:
  • assembler/LinkBuffer.cpp:
  • bytecode/ArrayProfile.cpp:
  • bytecode/BytecodeBasicBlock.cpp:
  • bytecode/BytecodeLivenessAnalysisInlines.h:
  • bytecode/CallLinkInfo.cpp:
  • bytecode/CodeBlock.cpp:
  • bytecode/CodeBlock.h:
  • bytecode/CodeBlockJettisoningWatchpoint.cpp:
  • bytecode/ExecutionCounter.cpp:
  • bytecode/MethodOfGettingAValueProfile.cpp:
  • bytecode/PreciseJumpTargets.cpp:
  • bytecode/ProfiledCodeBlockJettisoningWatchpoint.cpp:
  • bytecode/SamplingTool.cpp:
  • bytecode/SpecialPointer.cpp:
  • bytecode/StructureStubClearingWatchpoint.cpp:
  • debugger/DebuggerCallFrame.cpp:
  • dfg/DFGAbstractHeap.cpp:
  • dfg/DFGAbstractValue.cpp:
  • dfg/DFGArgumentsSimplificationPhase.cpp:
  • dfg/DFGArithMode.cpp:
  • dfg/DFGArrayMode.cpp:
  • dfg/DFGAtTailAbstractState.cpp:
  • dfg/DFGAvailability.cpp:
  • dfg/DFGBackwardsPropagationPhase.cpp:
  • dfg/DFGBasicBlock.cpp:
  • dfg/DFGBinarySwitch.cpp:
  • dfg/DFGBlockInsertionSet.cpp:
  • dfg/DFGByteCodeParser.cpp:
  • dfg/DFGCFAPhase.cpp:
  • dfg/DFGCFGSimplificationPhase.cpp:
  • dfg/DFGCPSRethreadingPhase.cpp:
  • dfg/DFGCSEPhase.cpp:
  • dfg/DFGCapabilities.cpp:
  • dfg/DFGClobberSet.cpp:
  • dfg/DFGClobberize.cpp:
  • dfg/DFGCommon.cpp:
  • dfg/DFGCommonData.cpp:
  • dfg/DFGCompilationKey.cpp:
  • dfg/DFGCompilationMode.cpp:
  • dfg/DFGConstantFoldingPhase.cpp:
  • dfg/DFGCriticalEdgeBreakingPhase.cpp:
  • dfg/DFGDCEPhase.cpp:
  • dfg/DFGDesiredIdentifiers.cpp:
  • dfg/DFGDesiredStructureChains.cpp:
  • dfg/DFGDesiredTransitions.cpp:
  • dfg/DFGDesiredWatchpoints.cpp:
  • dfg/DFGDisassembler.cpp:
  • dfg/DFGDisassembler.h:
  • dfg/DFGDominators.cpp:
  • dfg/DFGEdge.cpp:
  • dfg/DFGFailedFinalizer.cpp:
  • dfg/DFGFinalizer.cpp:
  • dfg/DFGFixupPhase.cpp:
  • dfg/DFGFlushFormat.cpp:
  • dfg/DFGFlushLivenessAnalysisPhase.cpp:
  • dfg/DFGFlushedAt.cpp:
  • dfg/DFGGraph.cpp:
  • dfg/DFGInPlaceAbstractState.cpp:
  • dfg/DFGInvalidationPointInjectionPhase.cpp:
  • dfg/DFGJITCode.cpp:
  • dfg/DFGJITCompiler.cpp:
  • dfg/DFGJITCompiler.h:
  • dfg/DFGJITFinalizer.cpp:
  • dfg/DFGJumpReplacement.cpp:
  • dfg/DFGLICMPhase.cpp:
  • dfg/DFGLazyJSValue.cpp:
  • dfg/DFGLivenessAnalysisPhase.cpp:
  • dfg/DFGLongLivedState.cpp:
  • dfg/DFGLoopPreHeaderCreationPhase.cpp:
  • dfg/DFGMinifiedNode.cpp:
  • dfg/DFGNaturalLoops.cpp:
  • dfg/DFGNode.cpp:
  • dfg/DFGNodeFlags.cpp:
  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp:
  • dfg/DFGOSREntry.cpp:
  • dfg/DFGOSREntrypointCreationPhase.cpp:
  • dfg/DFGOSRExit.cpp:
  • dfg/DFGOSRExitBase.cpp:
  • dfg/DFGOSRExitCompiler.cpp:
  • dfg/DFGOSRExitCompiler32_64.cpp:
  • dfg/DFGOSRExitCompiler64.cpp:
  • dfg/DFGOSRExitCompilerCommon.cpp:
  • dfg/DFGOSRExitJumpPlaceholder.cpp:
  • dfg/DFGOSRExitPreparation.cpp:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPhase.cpp:
  • dfg/DFGPlan.cpp:
  • dfg/DFGPredictionInjectionPhase.cpp:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGResurrectionForValidationPhase.cpp:
  • dfg/DFGSSAConversionPhase.cpp:
  • dfg/DFGSSALoweringPhase.cpp:
  • dfg/DFGSpeculativeJIT.cpp:
  • dfg/DFGSpeculativeJIT32_64.cpp:
  • dfg/DFGSpeculativeJIT64.cpp:
  • dfg/DFGStackLayoutPhase.cpp:
  • dfg/DFGStoreBarrierElisionPhase.cpp:
  • dfg/DFGStrengthReductionPhase.cpp:
  • dfg/DFGThunks.cpp:
  • dfg/DFGTierUpCheckInjectionPhase.cpp:
  • dfg/DFGToFTLDeferredCompilationCallback.cpp:
  • dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp:
  • dfg/DFGTypeCheckHoistingPhase.cpp:
  • dfg/DFGUnificationPhase.cpp:
  • dfg/DFGUseKind.cpp:
  • dfg/DFGValidate.cpp:
  • dfg/DFGValueSource.cpp:
  • dfg/DFGVariableAccessDataDump.cpp:
  • dfg/DFGVariableEvent.cpp:
  • dfg/DFGVariableEventStream.cpp:
  • dfg/DFGVirtualRegisterAllocationPhase.cpp:
  • dfg/DFGWatchpointCollectionPhase.cpp:
  • dfg/DFGWorklist.cpp:
  • disassembler/Disassembler.cpp:
  • ftl/FTLLink.cpp:
  • ftl/FTLOSRExitCompiler.cpp:
  • ftl/FTLSlowPathCall.cpp:
  • ftl/FTLThunks.cpp:

(JSC::FTL::slowPathCallThunkGenerator):

  • heap/BlockAllocator.cpp:
  • heap/CodeBlockSet.cpp:
  • heap/ConservativeRoots.cpp:
  • heap/DeferGC.cpp:
  • heap/GCThread.cpp:
  • heap/GCThreadSharedData.cpp:
  • heap/HeapTimer.cpp:
  • heap/IncrementalSweeper.cpp:
  • heap/JITStubRoutineSet.cpp:
  • heap/MachineStackMarker.cpp:
  • heap/MarkStack.cpp:
  • heap/MarkedAllocator.cpp:
  • heap/MarkedSpace.cpp:
  • heap/SuperRegion.cpp:
  • heap/Weak.cpp:
  • heap/WeakHandleOwner.cpp:
  • heap/WeakSet.cpp:
  • heap/WriteBarrierBuffer.cpp:
  • heap/WriteBarrierSupport.cpp:
  • inspector/ScriptCallStackFactory.cpp:
  • interpreter/AbstractPC.cpp:
  • interpreter/JSStack.cpp:
  • interpreter/ProtoCallFrame.cpp:
  • interpreter/VMInspector.cpp:
  • jit/ArityCheckFailReturnThunks.cpp:
  • jit/AssemblyHelpers.cpp:
  • jit/ExecutableAllocator.cpp:
  • jit/ExecutableAllocatorFixedVMPool.cpp:
  • jit/GCAwareJITStubRoutine.cpp:
  • jit/HostCallReturnValue.cpp:
  • jit/JITDisassembler.cpp:
  • jit/JITDisassembler.h:
  • jit/JITExceptions.cpp:
  • jit/JITInlines.h:
  • jit/JITOperations.cpp:
  • jit/JITOperationsMSVC64.cpp:
  • jit/JITStubRoutine.cpp:
  • jit/JITStubs.cpp:
  • jit/JITToDFGDeferredCompilationCallback.cpp:
  • jit/RegisterPreservationWrapperGenerator.cpp:
  • jit/RegisterSet.cpp:
  • jit/Repatch.cpp:
  • jit/TempRegisterSet.cpp:
  • jsc.cpp:
  • parser/Lexer.cpp:
  • parser/Parser.cpp:
  • parser/ParserArena.cpp:
  • parser/SourceCode.cpp:
  • parser/SourceProvider.cpp:
  • parser/SourceProviderCache.cpp:
  • profiler/ProfileGenerator.cpp:
  • runtime/Arguments.cpp:
  • runtime/ArgumentsIteratorPrototype.cpp:
  • runtime/CommonSlowPathsExceptions.cpp:
  • runtime/JSArgumentsIterator.cpp:
  • runtime/JSFunction.cpp:
  • runtime/JSGlobalObjectFunctions.cpp:
  • runtime/ObjectConstructor.cpp:
  • runtime/Operations.h:
  • runtime/VM.cpp:
5:09 PM Changeset in webkit [163759] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, don't mark isHostFunction() inline in the header file because that really confuses EFL.

  • runtime/JSFunction.h:
4:26 PM Changeset in webkit [163758] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS][wk2] ASSERT(WebThreadIsCurrent()) in [WebDisplayLinkHandler handleDisplayLink:]
https://bugs.webkit.org/show_bug.cgi?id=128490

Reviewed by Simon Fraser.

  • platform/graphics/ios/DisplayRefreshMonitorIOS.mm:

(-[WebDisplayLinkHandler handleDisplayLink:]):
[WebDisplayLinkHandler handleDisplayLink:] has an ASSERT(WebThreadIsCurrent()).

We don't use the Web Thread in WebKit2, but it looks like isMainThread()
does the right thing (main thread if web thread is disabled, web thread
otherwise), so use that instead.

3:52 PM Changeset in webkit [163757] by andersca@apple.com
  • 17 edits in trunk/Source

Add WTF_MAKE_FAST_ALLOCATED to more classes
https://bugs.webkit.org/show_bug.cgi?id=128506

Reviewed by Andreas Kling.

Source/JavaScriptCore:

  • bytecode/UnlinkedInstructionStream.h:
  • runtime/SymbolTable.h:
  • runtime/WriteBarrier.h:

Source/WebCore:

  • dom/Node.h:
  • dom/ScriptElement.h:
  • loader/ImageLoader.h:
  • loader/cache/CachedResourceClient.h:
  • platform/TreeShared.h:
  • platform/graphics/GlyphMetricsMap.h:
  • rendering/InlineBox.h:
  • rendering/RenderLayer.h:
  • rendering/RenderObject.h:

Source/WTF:

  • wtf/Bag.h:
  • wtf/ListHashSet.h:
3:32 PM Changeset in webkit [163756] by mhahnenberg@apple.com
  • 4 edits
    2 adds in trunk/Source/JavaScriptCore

Objective-C API NSDate conversion is off by 1000x (ms vs s)
https://bugs.webkit.org/show_bug.cgi?id=128386

Reviewed by Michael Saboff.

  • API/JSValue.mm:

(valueToObjectWithoutCopy):
(valueToDate):
(objectToValueWithoutCopy):

  • API/tests/DateTests.h: Added.
  • API/tests/DateTests.mm: Added.

(+[DateTests NSDateToJSDateTest]):
(+[DateTests JSDateToNSDateTest]):
(+[DateTests roundTripThroughJSDateTest]):
(+[DateTests roundTripThroughObjCDateTest]):

  • API/tests/testapi.mm:

(checkResult):

1:33 PM Changeset in webkit [163755] by akling@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Pass VM instead of ExecState to JSCell::fastGetOwnProperty().
<https://webkit.org/b/128497>

Knocks off a couple of instructions.

Reviewed by Anders Carlsson.

  • dfg/DFGOperations.cpp:
  • jit/JITOperations.cpp:

(JSC::getByVal):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::getByVal):

  • runtime/JSCell.h:
  • runtime/JSCellInlines.h:

(JSC::JSCell::fastGetOwnProperty):

1:32 PM Changeset in webkit [163754] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Reduce ref churn in ChildNodesLazySnapshot iteration.
<https://webkit.org/b/128492>

Add a missing release() in ChildNodesLazySnapshot::nextNode()
so we don't have to churn the ref count.

Reviewed by Sam Weinig.

  • dom/ContainerNode.h:

(WebCore::ChildNodesLazySnapshot::nextNode):

1:31 PM Changeset in webkit [163753] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Reduce ref churn in ChildInsertionNotifier.
<https://webkit.org/b/128494>

All callers of notifyNodeInsertedIntoDocument() already hold a strong
reference on the Node, so there's no need to ref it again inside.

Reviewed by Anders Carlsson.

  • dom/ContainerNodeAlgorithms.h:

(WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):

10:47 AM Changeset in webkit [163752] by andersca@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Convert some JSC code over to std::mutex
https://bugs.webkit.org/show_bug.cgi?id=128500

Reviewed by Dan Bernstein.

  • API/JSVirtualMachine.mm:

(wrapperCacheMutex):
(+[JSVMWrapperCache addWrapper:forJSContextGroupRef:]):
(+[JSVMWrapperCache wrapperForJSContextGroupRef:]):

  • heap/GCThreadSharedData.h:
  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::mergeOpaqueRoots):

  • heap/SlotVisitorInlines.h:

(JSC::SlotVisitor::containsOpaqueRootTriState):

  • inspector/remote/RemoteInspector.h:
  • inspector/remote/RemoteInspector.mm:

(Inspector::RemoteInspector::registerDebuggable):
(Inspector::RemoteInspector::unregisterDebuggable):
(Inspector::RemoteInspector::updateDebuggable):
(Inspector::RemoteInspector::sendMessageToRemoteFrontend):
(Inspector::RemoteInspector::start):
(Inspector::RemoteInspector::stop):
(Inspector::RemoteInspector::setupXPCConnectionIfNeeded):
(Inspector::RemoteInspector::xpcConnectionReceivedMessage):
(Inspector::RemoteInspector::xpcConnectionFailed):
(Inspector::RemoteInspector::pushListingSoon):
(Inspector::RemoteInspector::receivedIndicateMessage):

  • inspector/remote/RemoteInspectorDebuggableConnection.h:
  • inspector/remote/RemoteInspectorDebuggableConnection.mm:

(Inspector::RemoteInspectorDebuggableConnection::setup):
(Inspector::RemoteInspectorDebuggableConnection::closeFromDebuggable):
(Inspector::RemoteInspectorDebuggableConnection::close):
(Inspector::RemoteInspectorDebuggableConnection::sendMessageToBackend):

  • jit/ExecutableAllocator.cpp:

(JSC::DemandExecutableAllocator::DemandExecutableAllocator):
(JSC::DemandExecutableAllocator::~DemandExecutableAllocator):
(JSC::DemandExecutableAllocator::bytesAllocatedByAllAllocators):
(JSC::DemandExecutableAllocator::bytesCommittedByAllocactors):
(JSC::DemandExecutableAllocator::dumpProfileFromAllAllocators):
(JSC::DemandExecutableAllocator::allocatorsMutex):

4:11 AM Changeset in webkit [163751] by zandobersek@gmail.com
  • 15 edits in trunk/Source/WebCore

Manage ShadowData through std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=128466

Reviewed by Andreas Kling.

Use std::unique_ptr instead of OwnPtr to manage ShadowData objects.

  • css/SVGCSSStyleSelector.cpp:

(WebCore::StyleResolver::applySVGProperty):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):
(WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
(WebCore::PropertyWrapperShadow::blendSimpleOrMatchedShadowLists):
(WebCore::PropertyWrapperShadow::blendMismatchedShadowLists):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setTextShadow):
(WebCore::RenderStyle::setBoxShadow):

  • rendering/style/RenderStyle.h:
  • rendering/style/SVGRenderStyle.h:

(WebCore::SVGRenderStyle::setShadow):

  • rendering/style/SVGRenderStyleDefs.cpp:

(WebCore::StyleShadowSVGData::StyleShadowSVGData):

  • rendering/style/SVGRenderStyleDefs.h:
  • rendering/style/ShadowData.cpp:

(WebCore::ShadowData::ShadowData):

  • rendering/style/ShadowData.h:

(WebCore::ShadowData::setNext):

  • rendering/style/StyleRareInheritedData.cpp:

(WebCore::StyleRareInheritedData::StyleRareInheritedData):

  • rendering/style/StyleRareInheritedData.h:
  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):

  • rendering/style/StyleRareNonInheritedData.h:
3:39 AM Changeset in webkit [163750] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Fix modifiers on EventSenderProxy::keyDown
https://bugs.webkit.org/show_bug.cgi?id=128496

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

  • WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:

(WTR::EventSenderProxy::keyDown): do not attempt to doubly transform modifiers
into GTK+ ones.

2:55 AM Changeset in webkit [163749] by commit-queue@webkit.org
  • 28 edits
    3 copies in trunk

.: [GTK] Enable touch features
https://bugs.webkit.org/show_bug.cgi?id=98931

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

  • Source/autotools/SetupWebKitFeatures.m4:
  • Source/cmake/OptionsGTK.cmake: set ENABLE_TOUCH_EVENTS to 1 if building with GTK+.

Source/WebCore: [GTK] Add touch-events related code to build
https://bugs.webkit.org/show_bug.cgi?id=98931

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

Tests in fast/events/touch have been enabled on GTK+ now that touch
support is implemented, and thus all expected bits are there.

  • platform/gtk/GtkTouchContextHelper.cpp:
  • platform/gtk/GtkTouchContextHelper.h: Add helper object to track all touchpoints, handy

when creating WebTouchEvents.

  • GNUmakefile.list.am:
  • PlatformGTK.cmake:
  • bindings/gobject/GNUmakefile.am: Add touch related code and idls to build, those are

necessary now that GTK+ implements touch events.

Source/WebKit/gtk: [GTK] Allow building with touch events enabled
https://bugs.webkit.org/show_bug.cgi?id=98931

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

Even though WebKit1 GTK code doesn't implement touch events,
Fix build if ENABLE_TOUCH_EVENTS is present for WK2.

  • WebCoreSupport/ChromeClientGtk.h:

(WebKit::ChromeClient::needTouchEvents): Add empty stub

Source/WebKit2: [GTK] Implement support touch events
https://bugs.webkit.org/show_bug.cgi?id=98931

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

In GTK+ >= 3.4.0, GdkEventTouch is available to inform about multitouch events. Use these to implement
touch events on this platform. If a touch is left unhandled and is the "pointer emulating" one, mouse
events will be generated as a fallback.

  • GNUmakefile.list.am:
  • PlatformGTK.cmake:
  • Shared/gtk/NativeWebTouchEventGtk.cpp:
  • Shared/NativeWebTouchEvent.h:

(WebKit::NativeWebTouchEvent::nativeEvent):
(WebKit::NativeWebTouchEvent::touchContext): Add GTK+ implementation of NativeWebTouchEvent.

  • Shared/gtk/WebEventFactory.cpp:

(WebKit::touchPhaseFromEvents):
(WebKit::WebEventFactory::createWebTouchEvent): Add methods to generate WebTouchEvents out
of GdkEventTouch events, a GtkTouchContextHelper object is used to hold information about all current
touches, in order to build information about all individual touchpoints.

  • Shared/gtk/WebEventFactory.h:
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::doneWithTouchEvent): Implement pointer emulation. If a touch event was unhandled
in DOM and pertains to the touch sequence that emulates pointer events. The event gets transformed to its
mouse event counterpart and handled by the widget again.

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseRealize): Listen for touch events
(webkitWebViewBaseTouchEvent):
(webkit_web_view_base_class_init): Add implementation for the touch_events() handler, this merely
lets the pageProxy handle the NativeWebTouchEvent we create to wrap the GdkEvent received.

Tools: [GTK] Enable touch features
https://bugs.webkit.org/show_bug.cgi?id=98931

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

  • WebKitTestRunner/EventSenderProxy.h:
  • WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:

(WTR::updateEventCoordinates):
(WTR::EventSenderProxy::createTouchEvent):
(WTR::EventSenderProxy::addTouchPoint):
(WTR::EventSenderProxy::updateTouchPoint):
(WTR::EventSenderProxy::sendUpdatedTouchEvents):
(WTR::EventSenderProxy::setTouchPointRadius):
(WTR::EventSenderProxy::setTouchModifier): Implement touch event proxying.

LayoutTests: [GTK] Enable touch features
https://bugs.webkit.org/show_bug.cgi?id=98931

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-02-09
Reviewed by Carlos Garcia Campos.

  • platform/gtk/TestExpectations: remove fast/events/touch
  • platform/gtk-wk2/TestExpectations: Add new expectations on

fast/events/touch events.

2:31 AM Changeset in webkit [163748] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Unreviewed, rolling out r162768.
http://trac.webkit.org/changeset/162768
https://bugs.webkit.org/show_bug.cgi?id=128495

Causes crashes on GTK WK2 in three fast/forms tests.
(Requested by zdobersek on #webkit).

  • UIProcess/gtk/WebPopupMenuProxyGtk.cpp:

(WebKit::WebPopupMenuProxyGtk::showPopupMenu):

2:28 AM WebKitGTK/2.4.x edited by zandobersek@gmail.com
Add the rollout in r163748 to the list of necessary merges. (diff)
12:58 AM Changeset in webkit [163747] by zandobersek@gmail.com
  • 13 edits in trunk/Source/WebCore

Switch the rest of CSS code from OwnPtr over to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=128471

Reviewed by Andreas Kling.

Replace the remaining uses of OwnPtr in the CSS code with std::unique_ptr, covering
the CSSParser, CSSParserSelector and CSSSelector classes and a few additional, closely related classes.

  • css/CSSGrammar.y.in:
  • css/CSSParser.cpp:

(WebCore::CSSParser::parseSheet):
(WebCore::CSSParser::parseDeclaration):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::markSupportsRuleHeaderStart):
(WebCore::CSSParser::createKeyframesRule):
(WebCore::CSSParser::createStyleRule):
(WebCore::CSSParser::rewriteSpecifiersWithElementName):
(WebCore::CSSParser::rewriteSpecifiers):

  • css/CSSParser.h:
  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::CSSParserSelector):
(WebCore::CSSParserSelector::~CSSParserSelector):
(WebCore::CSSParserSelector::adoptSelectorVector):
(WebCore::CSSParserSelector::insertTagHistory):
(WebCore::CSSParserSelector::appendTagHistory):
(WebCore::CSSParserSelector::prependTagSelector):

  • css/CSSParserValues.h:

(WebCore::CSSParserSelector::releaseSelector):
(WebCore::CSSParserSelector::setTagHistory):
(WebCore::CSSParserSelector::clearTagHistory):

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::setSelectorList):

  • css/CSSSelector.h:
  • css/CSSSelectorList.cpp:

(WebCore::CSSSelectorList::adoptSelectorVector):

  • css/CSSSelectorList.h:
  • css/CSSValueList.cpp:
  • css/StyleRule.cpp:

(WebCore::StyleRuleRegion::StyleRuleRegion):

  • css/StyleRule.h:

(WebCore::StyleRule::parserAdoptSelectorVector):
(WebCore::StyleRulePage::parserAdoptSelectorVector):
(WebCore::StyleRuleRegion::create):

12:33 AM Changeset in webkit [163746] by zandobersek@gmail.com
  • 8 edits in trunk/Source/WebCore

Manage MutationObserverInterestGroup through std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=128468

Reviewed by Andreas Kling.

Use std::unique_ptr instead of OwnPtr for managing MutationObserverInterestGroup objects.

  • css/PropertySetCSSStyleDeclaration.cpp:
  • dom/CharacterData.cpp:

(WebCore::CharacterData::dispatchModifiedEvent):

  • dom/ChildListMutationScope.cpp:

(WebCore::ChildListMutationAccumulator::ChildListMutationAccumulator):

  • dom/ChildListMutationScope.h:

(WebCore::ChildListMutationAccumulator::hasObservers):

  • dom/Element.cpp:

(WebCore::Element::willModifyAttribute):

  • dom/MutationObserverInterestGroup.cpp:

(WebCore::MutationObserverInterestGroup::createIfNeeded):

  • dom/MutationObserverInterestGroup.h:

(WebCore::MutationObserverInterestGroup::createForChildListMutation):
(WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
(WebCore::MutationObserverInterestGroup::createForAttributesMutation):

12:19 AM Changeset in webkit [163745] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r163737.
http://trac.webkit.org/changeset/163737
https://bugs.webkit.org/show_bug.cgi?id=128491

Caused 8+ tests to fail on Mavericks and Mountain Lion bots
(Requested by rniwa on #webkit).

  • runtime/JSString.h:

(JSC::jsSingleCharacterString):
(JSC::jsSingleCharacterSubstring):
(JSC::jsString):
(JSC::jsSubstring8):

  • runtime/SmallStrings.cpp:

(JSC::SmallStringsStorage::SmallStringsStorage):
(JSC::SmallStrings::SmallStrings):

12:18 AM Changeset in webkit [163744] by zandobersek@gmail.com
  • 22 edits in trunk/Source/WebCore

Manage MessagePort, MessagePortChannel and friends through std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=128467

Reviewed by Andreas Kling.

Use std::unique_ptr instead of OwnPtr to manage MessagePort, MessagePortArray, MessagePortChannel
and MessagePortChannelArray objects.

  • bindings/js/JSMessageEventCustom.cpp:

(WebCore::handleInitMessageEvent):

  • dom/MessageEvent.cpp:

(WebCore::MessageEvent::MessageEvent):
(WebCore::MessageEvent::initMessageEvent):

  • dom/MessageEvent.h:

(WebCore::MessageEvent::create):

  • dom/MessagePort.cpp:

(WebCore::MessagePort::postMessage):
(WebCore::MessagePort::disentangle):
(WebCore::MessagePort::entangle):
(WebCore::MessagePort::dispatchMessages):
(WebCore::MessagePort::disentanglePorts):
(WebCore::MessagePort::entanglePorts):

  • dom/MessagePort.h:
  • dom/MessagePortChannel.h:
  • dom/default/PlatformMessagePortChannel.cpp:

(WebCore::PlatformMessagePortChannel::EventData::EventData):
(WebCore::MessagePortChannel::createChannel):
(WebCore::MessagePortChannel::postMessageToRemote):
(WebCore::MessagePortChannel::tryGetMessageFromRemote):

  • dom/default/PlatformMessagePortChannel.h:

(WebCore::PlatformMessagePortChannel::EventData::channels):

  • page/DOMWindow.cpp:

(WebCore::PostMessageTimer::PostMessageTimer):
(WebCore::PostMessageTimer::event):
(WebCore::DOMWindow::postMessage):

  • workers/DedicatedWorkerGlobalScope.cpp:

(WebCore::DedicatedWorkerGlobalScope::postMessage):

  • workers/DefaultSharedWorkerRepository.cpp:

(WebCore::SharedWorkerConnectTask::create):
(WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
(WebCore::SharedWorkerConnectTask::performTask):
(WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):
(WebCore::SharedWorkerScriptLoader::notifyFinished):
(WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
(WebCore::DefaultSharedWorkerRepository::connectToWorker):

  • workers/DefaultSharedWorkerRepository.h:
  • workers/SharedWorker.cpp:

(WebCore::SharedWorker::create):

  • workers/SharedWorkerGlobalScope.cpp:

(WebCore::createConnectEvent):

  • workers/SharedWorkerRepository.cpp:

(WebCore::SharedWorkerRepository::connect):

  • workers/SharedWorkerRepository.h:
  • workers/Worker.cpp:

(WebCore::Worker::postMessage):

  • workers/WorkerGlobalScopeProxy.h:
  • workers/WorkerMessagingProxy.cpp:

(WebCore::MessageWorkerGlobalScopeTask::create):
(WebCore::MessageWorkerGlobalScopeTask::MessageWorkerGlobalScopeTask):
(WebCore::MessageWorkerGlobalScopeTask::performTask):
(WebCore::MessageWorkerTask::create):
(WebCore::MessageWorkerTask::MessageWorkerTask):
(WebCore::MessageWorkerTask::performTask):
(WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
(WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):

  • workers/WorkerMessagingProxy.h:
  • workers/WorkerObjectProxy.h:

Feb 8, 2014:

11:29 PM Changeset in webkit [163743] by akling@apple.com
  • 2 edits in trunk/Tools

Let Instruments time profiler run until tests finish.
<https://webkit.org/b/128488>

Pass "-T 0" to iprofiler to ensure that we get a time profile of the
entire performance test run instead of just the first 10 seconds.

Reviewed by Brady Eidson.

  • Scripts/webkitpy/common/system/profiler.py:

(IProfiler.attach_to_pid):

10:08 PM Changeset in webkit [163742] by beidson@apple.com
  • 4 edits in trunk

IDB: storage/indexeddb/mozilla/object-cursors.html fails
<rdar://problem/16020585> and https://bugs.webkit.org/show_bug.cgi?id=128479

Reviewed by Dan Bernstein.

Source/WebKit2:

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Update the IndexInfo

table schema to allow for indexes with the same id/name as previous indexes.
But with different object stores, of course.

LayoutTests:

  • platform/mac-wk2/TestExpectations: Enable the test.
10:07 PM Changeset in webkit [163741] by beidson@apple.com
  • 5 edits in trunk

IDB: storage/indexeddb/mozilla/index-prev-no-duplicate.html fails
<rdar://problem/16018918> and https://bugs.webkit.org/show_bug.cgi?id=128444

Reviewed by Dan Bernstein.

Source/WebKit2:

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:

(WebKit::getIndexStatement): Return different statements for unique cursors that will

sort the values in reverse of the cursor direction, matching expected IndexedDB behavior.

(WebKit::SQLiteIDBCursor::establishStatement):

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::uncheckedPutIndexRecord): Insert the values as

strings since we need the collation function to be called for proper sorting.

LayoutTests:

  • platform/mac-wk2/TestExpectations: Enable the test.
9:48 PM Changeset in webkit [163740] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit/ios

Build fix after r163739.

  • WebCoreSupport/WebFrameIOS.mm:

(-[WebFrame collapseSelection]):
(-[WebFrame aggressivelyExpandSelectionToWordContainingCaretSelection]):

8:58 PM Changeset in webkit [163739] by rniwa@webkit.org
  • 21 edits in trunk/Source

Cleanup the interface of FrameSelection
https://bugs.webkit.org/show_bug.cgi?id=128481

Reviewed by Andreas Kling.

Source/WebCore:

Removed FrameSelection::end() as intended in r163232, and the stale declaration of
paintDragCaret() which was supposed to be removed when we extracted DragCaretController.

Renamed caretRenderer() to caretRendererWithoutUpdatingLayout() to clarify the contract
as the only caller of this function is RenderBlock::paintCaret. Also renamed bounds()
to selectionBounds() to make it more easily identifiable / grep'able.

In addition, made recomputeCaretRect() and invalidateCaretRect() private.

  • WebCore.exp.in:
  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::caretRendererWithoutUpdatingLayout):
(WebCore::FrameSelection::selectionBounds):
(WebCore::FrameSelection::revealSelection):

  • editing/FrameSelection.h:

(WebCore::FrameSelection::setCaretVisible):

  • page/DragController.cpp:

(WebCore::dragLocForSelectionDrag):

  • page/FrameSnapshotting.cpp:

(WebCore::snapshotSelection):

  • page/win/FrameWin.cpp:

(WebCore::imageFromSelection):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintCaret):

  • testing/Internals.cpp:

(WebCore::Internals::selectionBounds):

Source/WebKit/efl:

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::selectionRectangle):

Source/WebKit/gtk:

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::rectangleForSelection):

Source/WebKit/mac:

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _lookUpInDictionaryFromMenu:]):
(-[WebHTMLView selectionRect]):
(-[WebHTMLView selectionImageRect]):

Source/WebKit/win:

  • WebView.cpp:

(WebView::selectionRect):

Source/WebKit2:

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::getFindIndicatorBitmapAndRect):
(WebKit::FindController::drawRect):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::scaledSnapshotWithOptions):

8:31 PM Changeset in webkit [163738] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Reverted part of r163734, because the assertion it enabled still fails when running
loader/load-defer-resume-crash.html

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::dataReceived):

7:51 PM Changeset in webkit [163737] by andersca@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Simplify single character substrings in JSC
https://bugs.webkit.org/show_bug.cgi?id=128483

Reviewed by Andreas Kling.

With the recent work to make StringImpl occupy less space, it is actually more
efficient to allocate a single character string that it is to use createSubstringSharingImpl!

  • runtime/JSString.h:

(JSC::jsSingleCharacterString):
(JSC::jsSingleCharacterSubstring):
(JSC::jsString):
(JSC::jsSubstring8):

  • runtime/SmallStrings.cpp:

(JSC::SmallStringsStorage::SmallStringsStorage):
(JSC::SmallStrings::SmallStrings):

7:36 PM Changeset in webkit [163736] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

EFL build fix after r163729.

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::version):

6:56 PM Changeset in webkit [163735] by BJ Burg
  • 11 edits
    8 adds in trunk/Source/WebInspectorUI

Web Inspector: show probe sets for script content views in the details sidebar
https://bugs.webkit.org/show_bug.cgi?id=128333

Reviewed by Timothy Hatcher.

This patch adds a new details sidebar for showing the probes associated with any
breakpoint in the currently visible source file. Each probe set (corresponding to
multiple actions of single breakpoint) gets its own ProbeSetDetailsSection. The
section contains a custom DataGrid subclass to display probe data, and some icons
for clearing samples, deleting the probe, and adding a new probe expression.

The table containing probe data keeps its columns in sync with the probe set's
probe expressions. To support this, DataGrid has been further refactored to support
removing columns, and inserting columns (rather than only appending). With this
capability, probe columns are removed and re-inserted when the expression changes.

The availability of the probe details sidebar is controlled by providing the
probe sets matching the script content view's resource URL as supplemental
represented objects.

Lastly, added the utility EventListenerSet class. This holds a set of event listeners
that should be added and removed together, and takes care of binding thisObject
according to whether the event emitter is a Node or WebInspector.Object.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/BreakpointActionView.js:

(WebInspector.BreakpointActionView):
(WebInspector.BreakpointActionView.prototype._removeAction): Renamed from removeButtonClicked.
(WebInspector.BreakpointActionView.prototype._codeMirrorBlurred): Change the behavior
of CodeMirror-backed editors for probe and evaluate expression actions. If the expression
consists entirely of trimmable whitespace, then delete the action rather than saving it.

  • UserInterface/DataGrid.js:

(WebInspector.DataGrid): Copy over the column data into a map inside insertColumn() instead.
(WebInspector.DataGrid.prototype.insertColumn): Renamed from addColumn. It now takes an
optional insertionIndex argument and splices the column before the element at that index.
Also, convert code to use EventListenerSet for adding/removing per-column event listeners.

(WebInspector.DataGrid.prototype.removeColumn): Added. It splices the column out.
(WebInspector.DataGridNode.prototype.isEventWithinDisclosureTriangle): Whitespace.

  • UserInterface/EventListenerSet.js: Added.

(WebInspector.EventListenerSet):
(WebInspector.EventListenerSet.prototype.register):
(WebInspector.EventListenerSet.prototype.unregister):
(WebInspector.EventListenerSet.prototype.install):
(WebInspector.EventListenerSet.prototype.uninstall):

  • UserInterface/Images/NavigationItemProbes.pdf: Added.
  • UserInterface/LayerTreeDataGrid.js:

(WebInspector.LayerTreeDataGrid.prototype._updateChildren): Fix a missing column.get().

  • UserInterface/Main.html: Add new JavaScript and CSS files.
  • UserInterface/Main.js:

(WebInspector.contentLoaded): Add the probe details sidebar.

  • UserInterface/ProbeDetailsSidebarPanel.css: Added.

(.sidebar > .panel.probes > .navigation-bar):
(.sidebar > .panel.probes > .content):
(.details-section.probe-set .options > .probe-add):
(.details-section.probe-set .options > .probe-clear-samples):
(.details-section.probe-set .options > .probe-remove):
(.details-section.probe-set .options > input):
(.panel.probes ::-webkit-scrollbar):
(.panel.probes ::-webkit-scrollbar-track):
(.panel.probes ::-webkit-scrollbar-thumb):
(.panel.probes ::-webkit-scrollbar-corner):
(.popover .probe-popover):
(.popover .probe-popover input):

  • UserInterface/ProbeDetailsSidebarPanel.js: Added.

(WebInspector.ProbeDetailsSidebarPanel):
(WebInspector.ProbeDetailsSidebarPanel.prototype.get inspectedProbeSets):
(WebInspector.ProbeDetailsSidebarPanel.prototype._probeSetAdded):

  • UserInterface/ProbeManager.js: Remove unused probeSetForBreakpoint function.
  • UserInterface/ProbeSet.js: Fix erroneous uses of probe.identifier instead of probe.id.

(WebInspector.ProbeSet.prototype.removeProbe):
(WebInspector.ProbeSet.prototype._sampleCollected):

  • UserInterface/ProbeSetDataGrid.css: Added.

(.details-section.probe-set .data-grid .data-container tr.past-value td):
(.details-section.probe-set .data-grid > .data-container td.unknown-value):
(.details-section.probe-set .data-grid .data-container tr.revealed.highlighted):
(@-webkit-keyframes blink-frame-highlight):
(100%):
(.details-section.probe-set .data-grid .data-container tr.separator):
(.details-section.probe-set .data-grid > .data-container tr.data-updated):
(@-webkit-keyframes blink-probe-frame):
(.details-section.probe-set .data-grid .data-container .selected .section *):
(.details-section.probe-set .data-grid .data-container .selected td.unknown-value):
(.details-section.probe-set .data-grid .data-container .section):
(.details-section.probe-set .data-grid th):
(.details-section.probe-set .data-grid th:not(:last-child)):
(.details-section.probe-set .data-grid td):

  • UserInterface/ProbeSetDataGrid.js: Added.

(WebInspector.ProbeSetDataGrid):
(WebInspector.ProbeSetDataGrid.prototype.closed):
(WebInspector.ProbeSetDataGrid.prototype._setupProbe):
(WebInspector.ProbeSetDataGrid.prototype._teardownProbe):
(WebInspector.ProbeSetDataGrid.prototype._setupData):
(WebInspector.ProbeSetDataGrid.prototype._teardownData):
(WebInspector.ProbeSetDataGrid.prototype._updateNodeForFrame.else.sortFunction):
(WebInspector.ProbeSetDataGrid.prototype._updateNodeForFrame.else.set node):
(WebInspector.ProbeSetDataGrid.prototype._dataFrameInserted):
(WebInspector.ProbeSetDataGrid.prototype._dataSeparatorInserted):
(WebInspector.ProbeSetDataGrid.prototype._probeExpressionChanged.get var):

  • UserInterface/ProbeSetDataGridNode.js: Added.

(WebInspector.ProbeSetDataGridNode):
(WebInspector.ProbeSetDataGridNode.prototype.get element):
(WebInspector.ProbeSetDataGridNode.prototype.get data):
(WebInspector.ProbeSetDataGridNode.prototype.set frame):
(WebInspector.ProbeSetDataGridNode.prototype.get frame):
(WebInspector.ProbeSetDataGridNode.prototype.createCellContent):
(WebInspector.ProbeSetDataGridNode.prototype.updateCellsFromFrame):
(WebInspector.ProbeSetDataGridNode.prototype.updateCellsForSeparator):

  • UserInterface/ProbeSetDataTable.js:

(WebInspector.ProbeSetDataTable.prototype.removeProbe): Fix a typo in for..of loop refactor.

  • UserInterface/ProbeSetDetailsSection.js: Added.

(WebInspector.ProbeSetDetailsSection):
(WebInspector.ProbeSetDetailsSection.prototype.closed):
(WebInspector.ProbeSetDetailsSection.prototype._probeSetPositionTextOrLink):
(WebInspector.ProbeSetDetailsSection.prototype._addProbeButtonClicked):
(WebInspector.ProbeSetDetailsSection.prototype._removeButtonClicked):
(WebInspector.ProbeSetDetailsSection.prototype._clearSamplesButtonClicked):

  • UserInterface/TextResourceContentView.js:

(WebInspector.TextResourceContentView):
(WebInspector.TextResourceContentView.prototype.get supplementalRepresentedObjects):
Add probe sets whose breakpoint matches the represented object's URL.
(WebInspector.TextResourceContentView.prototype._probeSetsChanged): Tell listeners
to re-fetch supplementalRepresentedObjects when probe sets are added or removed.

6:37 PM Changeset in webkit [163734] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Remove outdated workarounds in DocumentLoader::dataReceived
https://bugs.webkit.org/show_bug.cgi?id=128465

Reviewed by Andreas Kling.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::dataReceived):

5:43 PM Changeset in webkit [163733] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Baseline JIT uses the wrong version of checkMarkWord in emitWriteBarrier
https://bugs.webkit.org/show_bug.cgi?id=128474

Reviewed by Michael Saboff.

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitWriteBarrier):

5:21 PM Changeset in webkit [163732] by ap@apple.com
  • 4 edits in trunk/Source/WebCore

Remove some unused functions from SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=128407

Reviewed by Oliver Hunt.

Removed more unused code, particularly in API helpers. Renamed one serialize()
function to create(), because it does the same thing as other create() functions.

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::put):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::create):
(WebCore::SerializedScriptValue::deserialize):

  • bindings/js/SerializedScriptValue.h:
5:13 PM Changeset in webkit [163731] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Remove use of PLATFORM(MAC) from WebKit/mac
https://bugs.webkit.org/show_bug.cgi?id=128476

Reviewed by Anders Carlsson.

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

4:46 PM Changeset in webkit [163730] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Rename a field and some variables in JSLock to better describe what they contain.
<https://webkit.org/b/128475>

Reviewed by Oliver Hunt.

  • runtime/JSLock.cpp:

(JSC::JSLock::dropAllLocks):
(JSC::JSLock::dropAllLocksUnconditionally):
(JSC::JSLock::grabAllLocks):
(JSC::JSLock::DropAllLocks::DropAllLocks):
(JSC::JSLock::DropAllLocks::~DropAllLocks):

  • runtime/JSLock.h:
4:01 PM Changeset in webkit [163729] by beidson@apple.com
  • 4 edits in trunk

IDB: storage/indexeddb/mozilla/versionchange-abort.html fails
<rdar://problem/16018887> and https://bugs.webkit.org/show_bug.cgi?id=128442

Reviewed by Dan Bernstein.

Source/WebCore:

Tested by storage/indexeddb/mozilla/versionchange-abort.html (and probably others)

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::version): If the version is NoIntVersion, return DefaultIntVersion to script.

LayoutTests:

  • platform/mac-wk2/TestExpectations: Enable the test. Also add all the other storage/indexeddb/mozilla test with expectations as they are what I’m focusing on right now.
4:00 PM Changeset in webkit [163728] by beidson@apple.com
  • 8 edits in trunk

IDB: storage/indexeddb/mozilla/cursors.html fails
<rdar://problem/16017998> and https://bugs.webkit.org/show_bug.cgi?id=128423

Reviewed by Dan Bernstein.

Source/WebCore:

Tested by storage/indexeddb/mozilla/cursors.html (And probably others)

  • Modules/indexeddb/IDBTransactionBackendOperations.cpp:

(WebCore::OpenCursorOperation::perform): Distinguish between an error while opening the cursor

and opening a cursor that points to no records.

Source/WebKit2:

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBCursor.cpp:

(WebKit::SQLiteIDBCursor::internalAdvanceOnce): Store the primary key for object store cursors.
(WebKit::SQLiteIDBCursor::iterate): We’re not supposed to check for equality to the target key.

Depending on the direction of the cursor we should check for the next highest or next lowest key.

LayoutTests:

  • platform/mac-wk2/TestExpectations: Unskip storage/indexeddb/mozilla/cursors.html.

Revert the change to storage/indexeddb/mozilla/clear.html as it is now clear how a
null cursor might be returned from openCursor:

  • storage/indexeddb/mozilla/clear-expected.txt:
  • storage/indexeddb/mozilla/resources/clear.js:
3:31 PM Changeset in webkit [163727] by andersca@apple.com
  • 5 edits in trunk/Source

Stop using getCharactersWithUpconvert in JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=128457

Reviewed by Andreas Kling.

Source/JavaScriptCore:

Change substituteBackreferencesSlow to take StringViews and use a StringBuilder instead of upconverting
if the source or replacement strings area 16-bit.

  • runtime/StringPrototype.cpp:

(JSC::substituteBackreferencesSlow):
(JSC::substituteBackreferences):

Source/WTF:

  • wtf/text/StringBuilder.h:

(WTF::StringBuilder::append):
Add a new overload that takes a StringView.

  • wtf/text/StringView.h:

(WTF::StringView::find):
Add new find member function.

2:29 PM Changeset in webkit [163726] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

Remove unused ChromeClient::layoutUpdated().
<https://webkit.org/b/128470>

Nobody listens for this callback anymore so remove it.

Reviewed by Anders Carlsson.

  • page/Chrome.cpp:
  • page/Chrome.h:
  • page/ChromeClient.h:
  • page/FrameView.cpp:

(WebCore::FrameView::layout):

2:26 PM Changeset in webkit [163725] by mitz@apple.com
  • 71 edits in trunk/Source/WebCore

Stop using PLATFORM(MAC) in WebCore except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128464

Reviewed by Anders Carlsson.

  • Modules/webaudio/AudioContext.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebCore::AudioContext::constructCommon):

  • accessibility/AccessibilityNodeObject.cpp: Ditto.

(WebCore::AccessibilityNodeObject::visibleText):

  • accessibility/AccessibilityObject.h: Ditto.
  • accessibility/AccessibilityRenderObject.cpp: Ditto.

(WebCore::AccessibilityRenderObject::clickPoint):
(WebCore::AccessibilityRenderObject::visiblePositionForPoint):
(WebCore::AccessibilityRenderObject::addChildren):

  • accessibility/AccessibilityRenderObject.h: Ditto.
  • bindings/js/JSInspectorFrontendHostCustom.cpp:

(WebCore::JSInspectorFrontendHost::platform): Made it explicit that this function returns
"mac" when built for iOS.

  • bindings/js/ScriptController.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebCore::ScriptController::ScriptController):

  • bindings/js/ScriptController.h: Ditto.
  • crypto/CryptoKey.cpp: Changed PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) &&

!PLATFORM(GTK) when checking for whether to use CoreCrypto.

  • crypto/keys/CryptoKeyRSA.h: Ditto.
  • dom/Clipboard.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • dom/Document.cpp: Ditto.

(WebCore::Document::implicitClose):

  • dom/KeyboardEvent.h: Ditto.
  • editing/Editor.cpp: Ditto.

(WebCore::Editor::cut):
(WebCore::Editor::copy):
(WebCore::Editor::copyImage):

  • editing/Editor.h: Ditto.
  • editing/FrameSelection.h: Ditto.
  • editing/TypingCommand.cpp: Ditto.

(WebCore::TypingCommand::typingAddedToOpenCommand):

  • history/HistoryItem.h: Ditto.
  • html/HTMLMediaElement.cpp: Ditto.

(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h: Ditto.
  • html/HTMLPlugInElement.cpp: Ditto.

(WebCore::registeredPluginReplacements):

  • html/HTMLPlugInImageElement.cpp: Ditto.

(WebCore::HTMLPlugInImageElement::setDisplayState):

  • html/HTMLSelectElement.cpp: Ditto.

(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):

  • html/shadow/MediaControlElements.cpp: Ditto.

(WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
(WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):

  • html/shadow/MediaControlElements.h: Ditto.
  • inspector/InspectorIndexedDBAgent.cpp: Ditto.
  • loader/CookieJar.cpp: Ditto.
  • loader/DocumentLoader.cpp: Ditto.

(WebCore::DocumentLoader::dataReceived):

  • loader/DocumentLoader.h: Ditto.

(WebCore::DocumentLoader::didTellClientAboutLoad):

  • loader/EmptyClients.h: Ditto.
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadArchive): Added !PLATFORM(IOS) around Mac-only workaround.
(WebCore::FrameLoader::defaultObjectContentType): Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebCore::FrameLoader::subresourceCachePolicy): Ditto.

  • loader/ResourceBuffer.h: Changed PLATFORM(MAC) to USE(FOUNDATION) around functions that

are implemented using Foundation.

  • loader/ResourceLoadScheduler.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebCore::ResourceLoadScheduler::scheduleLoad):

  • loader/ResourceLoader.cpp: Ditto.

(WebCore::ResourceLoader::didReceiveAuthenticationChallenge):

  • loader/ResourceLoader.h: Ditto.
  • loader/archive/cf/LegacyWebArchive.cpp: Ditto.
  • loader/cache/CachedResource.cpp: Changed PLATFORM(MAC) to USE(FOUNDATION) around function

that is implemented using other USE(FOUNDATION)-guarded code.

  • loader/cache/CachedResource.h: Ditto.
  • page/Chrome.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • page/ChromeClient.h: Ditto.
  • page/ContextMenuClient.h: Ditto.
  • page/ContextMenuController.cpp: Ditto.

(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::createAndAppendFontSubMenu):
(WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu):
(WebCore::ContextMenuController::populate):
(WebCore::ContextMenuController::checkOrEnableIfNeeded):

  • page/DragClient.h: Ditto.
  • page/DragController.cpp: Ditto.

(WebCore::dragLocForDHTMLDrag):
(WebCore::dragLocForSelectionDrag):
(WebCore::DragController::startDrag):
(WebCore::DragController::doImageDrag):

  • page/EditorClient.h: Ditto.
  • page/EventHandler.cpp: Ditto.

(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::handleMouseDraggedEvent):
(WebCore::EventHandler::logicalScrollRecursively):
(WebCore::EventHandler::clearDragState):
(WebCore::EventHandler::handleWheelEvent):
(WebCore::EventHandler::defaultWheelEventHandler):
(WebCore::EventHandler::keyEvent):
(WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):

  • page/EventHandler.h: Ditto.
  • page/FrameView.cpp: Ditto.

(WebCore::FrameView::layout):

  • page/Page.h: Ditto.
  • page/Settings.cpp: Ditto.
  • page/Settings.h: Ditto.
  • page/scrolling/ScrollingCoordinator.cpp: Ditto.
  • page/scrolling/ScrollingCoordinator.h: Ditto.
  • page/scrolling/ScrollingStateNode.h: Removed unused #include.
  • page/scrolling/ScrollingThread.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebCore::ScrollingThread::createThreadIfNeeded):

  • page/scrolling/ScrollingThread.h: Ditto.
  • platform/network/cf/ResourceRequest.h: Added !PLATFORM(IOS) around

applyWebArchiveHackForMail.

  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::applyWebArchiveHackForMail): Ditto.

  • platform/network/mac/ResourceRequestMac.mm:

(WebCore::ResourceRequest::applyWebArchiveHackForMail): Ditto.

  • plugins/PluginViewNone.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA)
  • rendering/RenderBox.cpp: Ditto.

(WebCore::RenderBox::logicalScroll):

  • rendering/RenderLayerBacking.cpp: Ditto.

(WebCore::RenderLayerBacking::createGraphicsLayer):
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):

  • rendering/RenderMenuList.h: Ditto.
  • rendering/RenderText.cpp: Ditto.

(WebCore::RenderText::previousOffsetForBackwardDeletion):

  • rendering/break_lines.cpp: Removed unused #include.
  • testing/js/WebCoreTestSupport.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • xml/XSLStyleSheetLibxslt.cpp: Changed PLATFORM(MAC) to OS(DARWIN) && !PLATFORM(EFL) &&

!PLATFORM(GTK) around soft-linking libxslt.

  • xml/XSLTExtensions.cpp: Ditto.
  • xml/XSLTProcessorLibxslt.cpp: Ditto.
  • xml/XSLTUnicodeSort.cpp: Ditto.
2:20 PM Changeset in webkit [163724] by akling@apple.com
  • 19 edits in trunk/Source

Remove unused ChromeClient::formStateDidChange().
<https://webkit.org/b/128469>

Nobody listens for this callback anymore so remove it and stop
spamming no-op virtual dispatches in forms code.

Reviewed by Anders Carlsson.

  • html/FileInputType.cpp:

(WebCore::FileInputType::setFiles):

  • html/HTMLFormControlElementWithState.cpp:
  • html/HTMLFormControlElementWithState.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::setValue):
(WebCore::HTMLInputElement::setValueFromRenderer):

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::updateListBoxSelection):
(WebCore::HTMLSelectElement::selectOption):

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::updateValue):
(WebCore::HTMLTextAreaElement::setValueCommon):

  • loader/EmptyClients.h:
  • page/ChromeClient.h:
2:11 PM Changeset in webkit [163723] by commit-queue@webkit.org
  • 5 edits in trunk

Web Inspector: Find evaluates attributes in a case sensitive manner
https://bugs.webkit.org/show_bug.cgi?id=128405

Patch by Chris J. Shull <chrisjshull@gmail.com> on 2014-02-08
Reviewed by Timothy Hatcher.

Source/WebCore:

Changed matchesAttribute to ignore case.

Updated existing test with additional cases:
inspector-protocol/dom/dom-search.html

  • inspector/InspectorNodeFinder.cpp:

(WebCore::InspectorNodeFinder::matchesAttribute):

LayoutTests:

Added checks for searches where capitalization in the attributes did not match the capitalization in the search. Also fleshed out other search types with checks for valid capitalization differences.

  • inspector-protocol/dom/dom-search-expected.txt:
  • inspector-protocol/dom/resources/dom-search-queries.js:
2:05 PM Changeset in webkit [163722] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Remove unused FrameLoaderClient::dispatchWillOpenSocketStream().
<https://webkit.org/b/128472>

Nobody listens for this callback anymore so remove it.

Reviewed by Anders Carlsson.

  • Modules/websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::willOpenSocketStream):

  • loader/FrameLoaderClient.h:
1:40 PM Changeset in webkit [163721] by rniwa@webkit.org
  • 8 edits in trunk/Source/WebCore

Split UserTriggered into FireSelectEvent and RevealSelection for selection options
https://bugs.webkit.org/show_bug.cgi?id=128441

Reviewed by Darin Adler.

Split UserTriggered by FireSelectEvent and RevealSelection for selection options.

Also added defaultSetSelectionOptions() to abstract away the default options.

  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::respondToUnappliedSpellCorrection):

  • editing/Editor.cpp:

(WebCore::Editor::unappliedEditing):
(WebCore::Editor::reappliedEditing):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::moveTo):
(WebCore::FrameSelection::setSelectionByMouseIfDifferent): UserTriggered | DoNotRevealSelection
is replaced by FireSelectEvent.
(WebCore::FrameSelection::setSelectionWithoutUpdatingAppearance): Check options & FireSelectEvent
instead of options & UserTriggered.
(WebCore::FrameSelection::setSelection): Check options & RevealSelection instead of
options & UserTriggered && !(options & DoNotRevealSelection).
(WebCore::FrameSelection::prepareForDestruction):
(WebCore::FrameSelection::setBase):
(WebCore::FrameSelection::setExtent):
(WebCore::FrameSelection::selectAll):
(WebCore::FrameSelection::wordSelectionContainingCaretSelection):

  • editing/FrameSelection.h:

(WebCore::FrameSelection::defaultSetSelectionOptions): Added.

  • editing/SpellingCorrectionCommand.cpp:

(WebCore::SpellingCorrectionCommand::doApply):

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::selectionChanged): Renamed the argument.

  • html/HTMLTextFormControlElement.h:
12:58 PM Changeset in webkit [163720] by mitz@apple.com
  • 1 edit in trunk/Source/ThirdParty/gtest/xcode/gtest.xcodeproj

Added project.xcworkspace to the svn:ignore property of gtest.xcodeproj.

12:10 PM Changeset in webkit [163719] by zandobersek@gmail.com
  • 5 edits in trunk/Source/WebCore

Move TreeScope, IdTargetObserverRegistry to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=127276

Reviewed by Andreas Kling.

Replace uses of OwnPtr in the TreeScope and IdTargetObserverRegistry classes with std::unique_ptr.

  • dom/IdTargetObserverRegistry.cpp:

(WebCore::IdTargetObserverRegistry::addObserver):

  • dom/IdTargetObserverRegistry.h:

(WebCore::IdTargetObserverRegistry::IdTargetObserverRegistry):

  • dom/TreeScope.cpp:

(WebCore::TreeScope::TreeScope):
(WebCore::TreeScope::destroyTreeScopeData):
(WebCore::TreeScope::addElementById):
(WebCore::TreeScope::addElementByName):
(WebCore::TreeScope::addImageMap):
(WebCore::TreeScope::labelElementForId):

  • dom/TreeScope.h:

(WebCore::TreeScope::shouldCacheLabelsByForAttribute):

12:02 PM Changeset in webkit [163718] by andersca@apple.com
  • 8 edits in trunk/Source/WebCore

Slight CTTE in PingLoader
https://bugs.webkit.org/show_bug.cgi?id=128462

Reviewed by Dan Bernstein.

PingLoader always wants a non-null frame.

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::sendPings):

  • html/parser/XSSAuditorDelegate.cpp:

(WebCore::XSSAuditorDelegate::didBlockScript):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::continueAfterPingLoader):

  • loader/PingLoader.cpp:

(WebCore::PingLoader::loadImage):
(WebCore::PingLoader::sendPing):
(WebCore::PingLoader::sendViolationReport):
(WebCore::PingLoader::createPingLoader):
(WebCore::PingLoader::PingLoader):

  • loader/PingLoader.h:
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestImage):

  • page/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::reportViolation):

11:58 AM Changeset in webkit [163717] by mitz@apple.com
  • 38 edits in trunk

Remove client-drawn highlights (-webkit-highlight, WebHTMLHighlighter)
https://bugs.webkit.org/show_bug.cgi?id=128456

Reviewed by Anders Carlsson.

Source/WebCore:

Updated fast/css/getComputedStyle and svg/css results.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue): Removed CSSPropertyWebKitHighlight case.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue): Ditto.

  • css/CSSPropertyNames.in: Removed -webkit-highlight.
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): Removed
CSSPropertyWebKitHighlight handler.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty): Removed CSSPropertyWebKitHighlight case.

  • page/Chrome.cpp: Removed customHighlightRect and paintCustomHighlight.
  • page/ChromeClient.h: Ditto.
  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paint): Removed painting custom highlight.

  • rendering/InlineTextBox.h:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns): Removed adding overflow for custom
highlights.

  • rendering/RenderBox.cpp: Removed paintCustomHighlight.
  • rendering/RenderBox.h:
  • rendering/RenderImage.cpp:

(WebCore::RenderImage::paintReplaced): Removed painting custom highlight.

  • rendering/RenderListMarker.cpp:

(WebCore::RenderListMarker::paint): Ditto.

  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore::RenderSnapshottedPlugIn::paintSnapshot): Ditto.

  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::paint): Ditto.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::paint): Ditto.

  • rendering/RootInlineBox.h:
  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayout): Removed highlight comparison.

  • rendering/style/RenderStyle.h:
  • rendering/style/StyleRareInheritedData.cpp:

(WebCore::StyleRareInheritedData::StyleRareInheritedData): Removed initializer.
(WebCore::StyleRareInheritedData::operator==): Removed highlight comparison.

  • rendering/style/StyleRareInheritedData.h: Removed highlight member variable.

Source/WebInspectorUI:

  • UserInterface/CSSKeywordCompletions.js: Removed -webkit-highlight.

Source/WebKit/mac:

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm: Removed customHighlightRect and paintCustomHighlight.
  • WebView/WebHTMLView.mm:

(-[WebHTMLViewPrivate dealloc]): Removed highlighters ivar.
(-[WebHTMLViewPrivate clear]): Ditto.

  • WebView/WebHTMLViewInternal.h: Removed declaration.
  • WebView/WebHTMLViewPrivate.h: Removed WebHTMLHighlighter protocol and method declarations.

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebChromeClient.cpp: Removed customHighlightRect and

paintCustomHighlight.

  • WebProcess/WebCoreSupport/WebChromeClient.h:

LayoutTests:

  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • svg/css/getComputedStyle-basic-expected.txt:
10:37 AM Changeset in webkit [163716] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

One more build fix fix.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):

10:35 AM Changeset in webkit [163715] by mitz@apple.com
  • 6 edits in trunk/Source

Source/WebCore: More (and more correct) iOS build fix after r163712.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(AXAttributedStringAppendText):
(-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):

  • page/ios/FrameIOS.mm:

(WebCore::Frame::wordsInCurrentParagraph):

Source/WebKit/mac: iOS build fix after r163712.

  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm:
10:06 AM Changeset in webkit [163714] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build fix after r163712

  • page/ios/FrameIOS.mm:

(WebCore::Frame::indexCountOfWordPrecedingSelection):
(WebCore::Frame::wordsInCurrentParagraph):

9:08 AM Changeset in webkit [163713] by zandobersek@gmail.com
  • 12 edits
    18 adds
    19 deletes in trunk/LayoutTests

Convert current MHTML tests into reftests
https://bugs.webkit.org/show_bug.cgi?id=116443

Reviewed by Andreas Kling.

Convert the current set of MHTML tests into reference tests. Reference files are copied from the *_original files
where available (with the *_original files removed) or from the source markup and code that's stored in the archive.
Both the archives and the reference files are adjusted to now dump pixel output instead of text.

  • mhtml/check_domain-expected.html: Added.
  • mhtml/check_domain-expected.txt: Removed.
  • mhtml/check_domain.mht:
  • mhtml/frame_4.html_original: Removed.
  • mhtml/multi_frames.html_original: Removed.
  • mhtml/multi_frames_binary-expected.html: Added.
  • mhtml/multi_frames_binary-expected.txt: Removed.
  • mhtml/multi_frames_binary.mht:
  • mhtml/multi_frames_ie-expected.html: Added.
  • mhtml/multi_frames_ie-expected.txt: Removed.
  • mhtml/multi_frames_ie.mht:
  • mhtml/multi_frames_unmht-expected.html: Added.
  • mhtml/multi_frames_unmht-expected.txt: Removed.
  • mhtml/multi_frames_unmht.mht:
  • mhtml/page_with_css_and_js_ie-expected.html: Copied from LayoutTests/mhtml/page_with_css_and_js.html_original.
  • mhtml/page_with_css_and_js_ie-expected.txt: Removed.
  • mhtml/page_with_css_and_js_ie.mht:
  • mhtml/page_with_css_and_js_unmht-expected.html: Renamed from LayoutTests/mhtml/page_with_css_and_js.html_original.
  • mhtml/page_with_css_and_js_unmht-expected.txt: Removed.
  • mhtml/page_with_css_and_js_unmht.mht:
  • mhtml/page_with_image.html_original: Removed.
  • mhtml/page_with_image_ie-expected.html: Added.
  • mhtml/page_with_image_ie-expected.txt: Removed.
  • mhtml/page_with_image_ie.mht:
  • mhtml/page_with_image_unmht-expected.html: Added.
  • mhtml/page_with_image_unmht-expected.txt: Removed.
  • mhtml/page_with_image_unmht.mht:
  • mhtml/resources/frame_0.html: Renamed from LayoutTests/mhtml/frame_0.html_original.
  • mhtml/resources/frame_1.html: Renamed from LayoutTests/mhtml/frame_1.html_original.
  • mhtml/resources/frame_2.html: Renamed from LayoutTests/mhtml/frame_2.html_original.
  • mhtml/resources/frame_4.html: Added.
  • mhtml/resources/hide_image.css: Added.

(#secondDiv):

  • mhtml/resources/remove_image_script.js: Added.

(onLoad):

  • mhtml/resources/style.css: Copied from LayoutTests/mhtml/shared_buffer_bug.mht.

(h1):

  • mhtml/shared_buffer_bug-expected.html: Added.
  • mhtml/shared_buffer_bug-expected.txt: Removed.
  • mhtml/shared_buffer_bug.mht:
  • mhtml/simple_page_ie-expected.html: Copied from LayoutTests/mhtml/simple_page.html_original.
  • mhtml/simple_page_ie-expected.txt: Removed.
  • mhtml/simple_page_ie.mht:
  • mhtml/simple_page_unmht-expected.html: Renamed from LayoutTests/mhtml/simple_page.html_original.
  • mhtml/simple_page_unmht-expected.txt: Removed.
  • mhtml/simple_page_unmht.mht:
8:32 AM Changeset in webkit [163712] by Darin Adler
  • 51 edits
    2 copies in trunk/Source

Change TextIterator to use StringView, preparing to wean it from deprecatedCharacters
https://bugs.webkit.org/show_bug.cgi?id=128233

Reviewed by Anders Carlsson.

Source/WebCore:

  • accessibility/AccessibilityNodeObject.cpp: Removed unneeded TextIterator.h include.
  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::hasMisspelling): Updated to use StringView for checkSpelling.

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(AXAttributeStringSetSpelling): Changed to take a StringView.
(AXAttributedStringAppendText): Ditto.
(-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]): Pass StringView.

  • editing/Editor.cpp:

(WebCore::Editor::misspelledWordAtCaretOrRange): Pass StringView.
(WebCore::Editor::misspelledSelectionString): Ditto.
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.

  • editing/TextCheckingHelper.cpp:

(WebCore::findGrammaticalErrors): Renamed this function. Changed to use StringView.
(WebCore::findMisspellings): Use StringView.
(WebCore::TextCheckingHelper::findFirstMisspelling): Ditto. Also separated out assertions
that were asserting multiple things with &&.
(WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar): Ditto.
(WebCore::TextCheckingHelper::findFirstGrammarDetail): Ditto.
(WebCore::TextCheckingHelper::findFirstBadGrammar): Ditto.
(WebCore::TextCheckingHelper::isUngrammatical): Ditto.
(WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange): Ditto.
(WebCore::checkTextOfParagraph): Ditto.

  • editing/TextCheckingHelper.h: Made TextCheckingParagraph::text public. Deleted

TextCheckingParagraph::textDeprecatedCharacters. Added comments about additional
TextCheckingParagraph refinements. Changed checkTextOfParagraph to take a client
reference instead of pointer and StringView instead of characters pointer with length.

  • editing/TextIterator.cpp:

(WebCore::TextIterator::appendTextToStringBuilder): Use data members directly,
rather than using functions, since we already checked m_textCharacters for null.
(WebCore::CharacterIterator::string): Use text() instead of characters().
(WebCore::WordAwareIterator::WordAwareIterator): Removed initialization of
m_previousText now that it's a StringView rather than a pointer.
(WebCore::WordAwareIterator::advance): Use TextIterator::text instead of
TextIterator::characters. Also added a FIXME about a fundamental problem
with the implementation of this class!
(WebCore::WordAwareIterator::length): Updated for m_previousText change.
(WebCore::WordAwareIterator::text): Replaced WordAwareIterator::characters with this.
(WebCore::SearchBuffer::append): Changed to take a StringView.
(WebCore::SearchBuffer::prependContext): Ditto.
(WebCore::SearchBuffer::isWordStartMatch): Use StringView.
(WebCore::SearchBuffer::search): Ditto.
(WebCore::findPlainText): Ditto.

  • editing/TextIterator.h: Added TextIterator::text that returns a StringView, and

renamed TextIterator::characters to TextIterator::deprecatedTextIteratorCharacters
(easy to search for in source code). Added SimplifiedBackwardsTextIterator::text
and removed SimplifiedBackwardsTextIterator::characters. Added CharacterIterator::text,
and removed CharacterIterator::characters. Added WordAwareIterator::text and removed
WorkdAwareIterator::characters. Changed WordAwareIterator data members to use StringView.

  • editing/VisibleSelection.cpp:

(WebCore::VisibleSelection::appendTrailingWhitespace): Use TextIterator::text instead
of TextIterator::characters.

  • editing/VisibleUnits.cpp:

(WebCore::previousBoundary): Updated to use StringView.
(WebCore::nextBoundary): Ditto.
(WebCore::startWordBoundary): Ditto.
(WebCore::startOfWord): Ditto.
(WebCore::endWordBoundary): Ditto.
(WebCore::endOfWord): Fixed formatting.
(WebCore::previousWordPositionBoundary): Updated to use StringView.
(WebCore::previousWordPosition): Fixed formatting and got rid of local variable.
(WebCore::nextWordPositionBoundary): Updated to use StringView.
(WebCore::nextWordPosition): Fixed formatting and got rid of local variable.
(WebCore::inSameLine): Fixed formatting.
(WebCore::isStartOfLine): Ditto.
(WebCore::isEndOfLine): Ditto.
(WebCore::absoluteLineDirectionPointToLocalPointInBlock): Changed to take a reference.
(WebCore::previousLinePosition): Fixed formatting chand changed to pass a reference.
(WebCore::nextLinePosition): Ditto.
(WebCore::startSentenceBoundary): Updated to use StringView and got rid of a local.
(WebCore::startOfSentence): Fixed formatting.
(WebCore::endSentenceBoundary): Updated to use StringView and got rid of a local.
(WebCore::endOfSentence): Fixed formatting.
(WebCore::previousSentencePositionBoundary): Updated to use StringView and got rid of
a local.
(WebCore::previousSentencePosition): Ditto.
(WebCore::nextSentencePositionBoundary): Ditto.
(WebCore::nextSentencePosition): Fixed formatting.
(WebCore::endOfParagraph): Ditto.
(WebCore::inSameParagraph): Ditto.
(WebCore::isStartOfParagraph): Ditto.
(WebCore::isEndOfParagraph): Ditto.
(WebCore::inSameBlock): Ditto.
(WebCore::isStartOfBlock): Ditto.
(WebCore::isEndOfBlock): Ditto.
(WebCore::startOfDocument): Ditto.
(WebCore::endOfDocument): Ditto.
(WebCore::inSameDocument): Ditto.
(WebCore::isStartOfDocument): Ditto.
(WebCore::isEndOfDocument): Ditto.
(WebCore::isEndOfEditableOrNonEditableContent): Ditto.

  • loader/EmptyClients.h: Use StringView.
  • platform/mac/HTMLConverter.mm:

(+[WebHTMLConverter editingAttributedStringFromRange:]): Use StringView.

  • platform/text/TextBoundaries.cpp:

(WebCore::endOfFirstWordBoundaryContext): Use StringView and unsigned.
(WebCore::startOfLastWordBoundaryContext): Ditto.

  • platform/text/TextBoundaries.h: Change interfaces to use StringView,

and in some cases, unsigned instead of int. All call sites were better off
with unsigned.

  • platform/text/TextCheckerClient.h: Use StringView.
  • platform/text/mac/TextBoundaries.mm: Changed conditionals to say

USE(APPKIT) instead of PLATFORM(IOS), since that's the real issue.
(WebCore::isSkipCharacter): Tweaked formatting.
(WebCore::isWhitespaceCharacter): Ditto.
(WebCore::isWordDelimitingCharacter): Ditto, also removed local variable.
(WebCore::isSymbolCharacter): Ditto.
(WebCore::tokenizerForString): Ditto.
(WebCore::findSimpleWordBoundary): Use StringView. Also changed to mostly
use unsigned instead of int.
(WebCore::findComplexWordBoundary): Use StringView. Also restructured to
be much more readable, with early returns and such.
(WebCore::findWordBoundary): Use StringView and unsigned.
(WebCore::findEndWordBoundary): Removed redudant copy of the findWordBoundary
function and changed this to just call findWordBoundary. The reason this
function exists is to optimize this case for some non-Mac, non-iOS platforms.
We can always do that for Mac and/or iOS later if we like.
(WebCore::findNextWordFromIndex): Use StringView. Also use wordBreakIterator
instead of using UBreakIterator directly so we get a cached iterator instead
of creating and destroying a new one each time this function is called.

  • bindings/objc/DOMUIKitExtensions.mm: Removed unneeded includes.
  • dom/Element.cpp: Ditto.
  • dom/PositionIterator.cpp: Ditto.
  • editing/ApplyBlockElementCommand.cpp: Ditto.
  • editing/IndentOutdentCommand.cpp: Ditto.
  • editing/InsertListCommand.cpp: Ditto.
  • editing/markup.cpp: Ditto.
  • html/HTMLElement.cpp: Ditto.
  • html/HTMLTextAreaElement.cpp: Ditto.
  • page/Frame.cpp: Ditto.
  • rendering/RenderTextControl.cpp: Ditto.

Source/WebKit/efl:

  • WebCoreSupport/EditorClientEfl.cpp:

(WebCore::EditorClientEfl::checkSpellingOfString): Use StringView.
(WebCore::EditorClientEfl::checkGrammarOfString): Ditto.

  • WebCoreSupport/EditorClientEfl.h: Ditto.

Source/WebKit/gtk:

  • WebCoreSupport/TextCheckerClientGtk.cpp:

(WebKit::TextCheckerClientGtk::checkSpellingOfString): Use StringView.
(WebKit::TextCheckerClientGtk::checkGrammarOfString): Ditto.

  • WebCoreSupport/TextCheckerClientGtk.h: Ditto.

Source/WebKit/mac:

  • WebCoreSupport/WebEditorClient.h: Made most data members private. Moved inlines

for iOS out of the class definition. Fixed formatting. Added missing virtual keyword.
Changed interfaces to use StringView.

  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::checkTextOfParagraph): Use the new StringView::createNSStringWithoutCopying
function instead of a similar function that was local in this file.
(WebEditorClient::ignoreWordInSpellDocument): Tweaked formatting.
(WebEditorClient::checkSpellingOfString): Changed to take a StringView.
(WebEditorClient::checkGrammarOfString): Ditto.

  • WebView/WebTextIterator.mm:

(-[WebTextIterator currentTextPointer]): Call TextIterator::deprecatedTextIteratorCharacters.
(-[WebTextIterator currentText]): Convert a the text to an NSString with TextIterator::text
instead of with TextIterator::characters/length.

Source/WebKit/win:

  • WebCoreSupport/WebEditorClient.cpp:

(WebEditorClient::checkSpellingOfString): Use StringView.
(WebEditorClient::checkGrammarOfString): Ditto.

  • WebCoreSupport/WebEditorClient.h: Ditto.

Source/WebKit/wince:

  • WebCoreSupport/EditorClientWinCE.cpp:

(WebKit::EditorClientWinCE::checkSpellingOfString): Use StringView.
(WebKit::EditorClientWinCE::checkGrammarOfString): Ditto.

  • WebCoreSupport/EditorClientWinCE.h: Ditto.

Source/WebKit2:

  • WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.mm:

(-[WKDOMTextIterator currentTextPointer]): Call TextIterator::deprecatedTextIteratorCharacters.

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::checkSpellingOfString): Use StringView.
(WebKit::WebEditorClient::checkGrammarOfString): Ditto.

  • WebProcess/WebCoreSupport/WebEditorClient.h: Ditto.

Source/WTF:

  • WTF.xcodeproj/project.pbxproj: Added new source files.
  • wtf/text/StringView.h: Added operator[], createCFStringWithoutCopying, and

createNSStringWithoutCopying.

  • wtf/text/cf/StringViewCF.cpp:

(WTF::StringView::createCFStringWithoutCopying): Added.

  • wtf/text/mac/StringViewObjC.mm:

(WTF::StringView::createNSString): Added.
(WTF::StringView::createNSStringWithoutCopying): Added.

8:14 AM Changeset in webkit [163711] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Add stdlib include file to fix ImageDiff build with libc++
https://bugs.webkit.org/show_bug.cgi?id=128454

Patch by Rajaram Gaunker <zimbabao@gmail.com> on 2014-02-08
Reviewed by Darin Adler.

  • ImageDiff/gtk/ImageDiff.cpp:
2:33 AM Changeset in webkit [163710] by mrowe@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

<https://webkit.org/b/128452> Don't duplicate the list of input files for postprocess-headers.sh

Reviewed by Dan Bernstein.

  • postprocess-headers.sh: Pull the list of headers to process out of the environment.
2:03 AM Changeset in webkit [163709] by mrowe@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix the iOS build.

  • API/WebKitAvailability.h: Skip the workarounds specific to OS X when we're building for iOS.
1:26 AM Changeset in webkit [163708] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Build break in WebKitWebViewBase.cpp::webkitWebViewBaseCreateWebPage
https://bugs.webkit.org/show_bug.cgi?id=128449

Patch by Piotr Grad <p.grad@samsung.com> on 2014-02-08
Reviewed by Carlos Garcia Campos.

Parameter passed to context->createWebPage was inproper.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseCreateWebPage):

1:01 AM Changeset in webkit [163707] by mrowe@apple.com
  • 5 edits
    1 add in trunk/Source/JavaScriptCore

<https://webkit.org/b/128448> Fix use of availability macros on recently-added APIs

Reviewed by Dan Bernstein.

  • API/JSContext.h: Remove some #ifs.
  • API/JSManagedValue.h: Ditto.
  • API/WebKitAvailability.h: #define the macros that availability macros mentioning

newer OS X versions would expand to when building on older OS versions.

  • JavaScriptCore.xcodeproj/project.pbxproj: Call the new postprocess-headers.sh.
  • postprocess-headers.sh: Extracted from the Xcode project. Updated to remove content

from headers based on the MAC_OS_X_VERSION_MIN_REQUIRED macro, and to
process WebKitAvailability.h.

12:53 AM Changeset in webkit [163706] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Remove two unused function declarations.

Scrub "highQualityRepaintTimerFired" declarations from RenderImage
and RenderBoxModelObject since they're not actually defined.

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderImage.h:
12:50 AM Changeset in webkit [163705] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

CTTE: SVGTRefTargetEventListener is always owned by SVGTRefElement.
<https://webkit.org/b/128432>

Tighten up the relationship between SVGTRefElement and its internal
event listener helper by storing the listener in a Ref, and making
the listeners backpointer to the element be a reference.

Reviewed by Anders Carlsson.

  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefTargetEventListener::create):
(WebCore::SVGTRefTargetEventListener::SVGTRefTargetEventListener):
(WebCore::SVGTRefTargetEventListener::operator==):
(WebCore::SVGTRefTargetEventListener::handleEvent):
(WebCore::SVGTRefElement::SVGTRefElement):

  • svg/SVGTRefElement.h:
12:48 AM Changeset in webkit [163704] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Devirtualize RenderBlockFlowRareData.
<https://webkit.org/b/128427>

This class had a virtual destructor for no reason. Removing it
shrinks RenderBlockFlowRareData by 8 bytes.

Reviewed by Anders Carlsson.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::RenderBlockFlowRareData::~RenderBlockFlowRareData):

12:45 AM Changeset in webkit [163703] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Use renderer iterators in two more places.
<https://webkit.org/b/128371>

Reviewed by Antti Koivisto.

  • dom/Position.cpp:

(WebCore::Position::primaryDirection):

Use lineageOfType instead of walking the parent chain.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::insertOnlyThisLayer):

Use childrenOfType instead of walking the children.

12:42 AM Changeset in webkit [163702] by mitz@apple.com
  • 5 edits in trunk/Source/WebKit2

Font size-related preference values should be CGFloats backed by doubles
https://bugs.webkit.org/show_bug.cgi?id=128445

Reviewed by Filip Pizlo.

  • Shared/WebPreferencesStore.h: Changed minimumFontSize, minimumLogicalFontSize,

defaultFontSize, and defaultFixedFontSize into double-value preferences.

  • UIProcess/API/Cocoa/WKPreferences.h: Changed minimumFontSize into CGFloat.
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences minimumFontSize]): Changed return type.
(-[WKPreferences setMinimumFontSize:]): Changed parameter type.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences): Changed to use double getters.

12:36 AM Changeset in webkit [163701] by akling@apple.com
  • 5 edits in trunk

Remove unused ENABLE(REPAINT_THROTTLING) flag.
<https://webkit.org/b/128329>

Reviewed by Antti Koivisto.

.:

  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/WTF:

  • wtf/FeatureDefines.h:
12:27 AM Changeset in webkit [163700] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

JSLock should not "restore" VM stack values if it did not re-grab locks.
<https://webkit.org/b/128447>

Reviewed by Geoffrey Garen.

In the existing code, if DropAllLocks is instantiate with DontAlwaysDropLocks
in a thread that does not own the JSLock, then a bug will manifest where:

  1. The DropAllLocks constructor will save the VM's stackPointerAtEntry, lastStackTop, and reservedZoneSize even though it will not drop the JSLock.
  2. The DropAllLocks destructor will restore those 3 values to the VM even though the JSLock will not grab its internal lock.

The former only causes busy work but does not impact correctness. The latter
however, will corrupt those 3 VM values which belong to the thread that
actually owns the JSLock.

The fix is to only save the values when the JSLock will actually drop its
internal lock, and only restore the values if it did re-grab the internal lock.

  • runtime/JSLock.cpp:

(JSC::JSLock::dropAllLocks):
(JSC::JSLock::dropAllLocksUnconditionally):
(JSC::JSLock::grabAllLocks):
(JSC::JSLock::DropAllLocks::DropAllLocks):

  • Moved the saving of VM stack values to dropAllLocks() and dropAllLocksUnconditionally().

(JSC::JSLock::DropAllLocks::~DropAllLocks):

  • Moved the restoring of VM stack values to grabAllLocks().
12:26 AM Changeset in webkit [163699] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Minibrowser: Matched words of a searched text are not highlighted after reopening search bar
https://bugs.webkit.org/show_bug.cgi?id=128380

Patch by Diego Pino Garcia <Diego Pino Garcia> on 2014-02-08
Reviewed by Carlos Garcia Campos.

When open the search bar, perform last search if there is any.

  • MiniBrowser/gtk/BrowserSearchBar.c:

(browser_search_bar_open):

12:25 AM Changeset in webkit [163698] by commit-queue@webkit.org
  • 6 edits in trunk

[GTK] Make process model names properly meaningful
https://bugs.webkit.org/show_bug.cgi?id=128389

Patch by Adrian Perez de Castro <Adrian Perez de Castro> on 2014-02-08
Reviewed by Carlos Garcia Campos.

The name WEBKIT_PROCESS_MODEL_ONE_SECONDARY_PROCESS_PER_WEB_VIEW
is misleading because there are situations in which web views may
share the same web process even when multi-process mode is enabled;
for example when opening a related view and both interact using JS.

Source/WebKit2:

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkit_web_context_set_process_model):
(webkit_web_context_get_process_model):
Update names of WebKitProcessModel enum values.

  • UIProcess/API/gtk/WebKitWebContext.h:

Ditto.

Tools:

  • MiniBrowser/gtk/main.c:

(main):
Update usage of WebKitProcessModel enum values.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp:

(beforeAll):
Ditto.

12:24 AM Changeset in webkit [163697] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] build-webkit script always generate-gtk-doc even if '--disable-gtk-doc' param is passed
https://bugs.webkit.org/show_bug.cgi?id=128376

Patch by Diego Pino Garcia <Diego Pino Garcia> on 2014-02-08
Reviewed by Carlos Garcia Campos.

  • Scripts/webkitdirs.pm:

(buildAutotoolsProject):

12:21 AM Changeset in webkit [163696] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Build break in WebKitSettings
https://bugs.webkit.org/show_bug.cgi?id=128446

Patch by Piotr Grad <p.grad@samsung.com> on 2014-02-08
Reviewed by Ryosuke Niwa.

Argument for WebPreferences::create was missing

  • UIProcess/API/gtk/WebKitSettings.cpp:

(_WebKitSettingsPrivate::_WebKitSettingsPrivate):

Note: See TracTimeline for information about the timeline view.