Timeline



Jan 6, 2014:

11:26 PM Changeset in webkit [161410] by mrowe@apple.com
  • 2 edits in trunk/Source/WebCore

Mountain Lion build fix.

  • bindings/objc/WebKitAvailability.h: #define AVAILABILITY_INTERNALMAC_TBD so that

the TBD version works on Mountain Lion. Newer OS versions use a slightly different set
of macros that already support this version. Add a missing #include so that defintions
of the Foundation availability macros can be found even if no other Foundation headers
were included first.

11:19 PM Changeset in webkit [161409] by fpizlo@apple.com
  • 83 edits
    5 adds in branches/jsCStack

Source/JavaScriptCore: Merge trunk r161072, r161126, r161218, r161353, r161356, r161364, 161399.

Source/WTF: Merge trunk r161364.

LayoutTests: Merge trunk r161072.

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

Unreviewed, rolling out r161401.
http://trac.webkit.org/changeset/161401
https://bugs.webkit.org/show_bug.cgi?id=126418

REGRESSION(r161401): Break layout test on mac-wk1(Debug)

  • html/HTMLTableElement.cpp:

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

  • html/HTMLTableRowElement.cpp:

(WebCore::HTMLTableRowElement::rowIndex):

  • html/HTMLTableSectionElement.h:
10:09 PM Changeset in webkit [161407] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: ARM64 Crash in llint_function_for_call_arity_check running 3d-raytrace.js
https://bugs.webkit.org/show_bug.cgi?id=126557

Reviewed by Geoffrey Garen.

We were crashing due the to definition of t5 in the offline assembler not
matching the definition of regT5 in GPRInfo.h. The crash was due to passing
the stub return address to the fixup thunk in regT5, but it contained garbage.
I changed the definitions of t4, t5 and t6 in the ARM64 back end of the offline
assembler to match GPRInfo.h.

  • offlineasm/arm64.rb:
10:09 PM Changeset in webkit [161406] by mrowe@apple.com
  • 45 edits in trunk/Source/WebCore

<https://webkit.org/b/126500> Move Objective-C DOM bindings off the legacy WebKit availability macros

The legacy WebKit availability macros are verbose, confusing, and provide no benefit
over using the system availability macros directly. The original vision was that
they'd serve a cross-platform purpose but that never came to be.

The OS X version used in the new availability macros is based on the mapping in
JavaScriptCore/WebKitAvailability.h.

Part of <rdar://problem/15512304>.

Reviewed by Sam Weinig.

  • bindings/objc/DOMCSS.h:
  • bindings/objc/DOMEventException.h:
  • bindings/objc/DOMException.h:
  • bindings/objc/DOMExtensions.h:
  • bindings/objc/DOMObject.h:
  • bindings/objc/DOMRangeException.h:
  • bindings/objc/DOMXPathException.h:
  • bindings/objc/PublicDOMInterfaces.h:
  • bindings/objc/WebScriptObject.h:
  • bindings/scripts/CodeGeneratorObjC.pm:

(ReadPublicInterfaces):
(GenerateHeader): Tag enums with WK_ENUM_AVAILABLE_MAC and classes with WEBKIT_CLASS_AVAILABLE_MAC.
Remove the #ifs that we were previously generating now that enums are appropriately tagged.

  • bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h:
  • bindings/scripts/test/ObjC/DOMTestActiveDOMObjectInternal.h:
  • bindings/scripts/test/ObjC/DOMTestCallback.h:
  • bindings/scripts/test/ObjC/DOMTestCallbackInternal.h:
  • bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h:
  • bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h:
  • bindings/scripts/test/ObjC/DOMTestEventConstructor.h:
  • bindings/scripts/test/ObjC/DOMTestEventConstructorInternal.h:
  • bindings/scripts/test/ObjC/DOMTestEventTarget.h:
  • bindings/scripts/test/ObjC/DOMTestEventTargetInternal.h:
  • bindings/scripts/test/ObjC/DOMTestException.h:
  • bindings/scripts/test/ObjC/DOMTestExceptionInternal.h:
  • bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.h:
  • bindings/scripts/test/ObjC/DOMTestGenerateIsReachableInternal.h:
  • bindings/scripts/test/ObjC/DOMTestInterface.h:
  • bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h:
  • bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.h:
  • bindings/scripts/test/ObjC/DOMTestMediaQueryListListenerInternal.h:
  • bindings/scripts/test/ObjC/DOMTestNamedConstructor.h:
  • bindings/scripts/test/ObjC/DOMTestNamedConstructorInternal.h:
  • bindings/scripts/test/ObjC/DOMTestNode.h:
  • bindings/scripts/test/ObjC/DOMTestNodeInternal.h:
  • bindings/scripts/test/ObjC/DOMTestObj.h:
  • bindings/scripts/test/ObjC/DOMTestObjInternal.h:
  • bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.h:
  • bindings/scripts/test/ObjC/DOMTestOverloadedConstructorsInternal.h:
  • bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
  • bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h:
  • bindings/scripts/test/ObjC/DOMTestTypedefs.h:
  • bindings/scripts/test/ObjC/DOMTestTypedefsInternal.h:
  • bindings/scripts/test/ObjC/DOMattribute.h:
  • bindings/scripts/test/ObjC/DOMattributeInternal.h:
  • bindings/scripts/test/ObjC/DOMreadonly.h:
  • bindings/scripts/test/ObjC/DOMreadonlyInternal.h:
10:07 PM Changeset in webkit [161405] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Fix nativeForGenerator() for non-X86 platforms
https://bugs.webkit.org/show_bug.cgi?id=126551

Reviewed by Geoffrey Garen.

Removed the explicit saving and restoring of the return address and call frame register
from the non-X86 paths of nativeForGenerator() as these are no longer needed.
The function prologue and epilogue now perform calling convention consistent saving
and restoring of these values.

  • jit/ThunkGenerators.cpp:

(JSC::nativeForGenerator):

9:40 PM Changeset in webkit [161404] by rniwa@webkit.org
  • 4 edits
    2 adds in trunk

REGRESSION(r157851): trailing space inside an editable region could be erroneously collapsed
https://bugs.webkit.org/show_bug.cgi?id=126549

Reviewed by Sam Weinig.

Source/WebCore:

The regression was caused by erroneous use of m_currentCharacterIsSpace in place of m_currentCharacterIsWS.

See the following two lines before the refactoring:
http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp?rev=157850#L3074
http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp?rev=157850#L3198

I've also cross-checked other places where m_currentCharacterIsSpace and m_currentCharacterIsWS are used.

Test: editing/inserting/inserting-trailing-space-and-letter.html

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleText):

LayoutTests:

Added a regression test and reverted the erroneous rebaseline in r157851.

  • editing/inserting/inserting-trailing-space-and-letter-expected.html: Added.
  • editing/inserting/inserting-trailing-space-and-letter.html: Added.
  • platform/mac/editing/selection/after-line-wrap-expected.txt:
9:24 PM Changeset in webkit [161403] by fpizlo@apple.com
  • 39 edits
    2 adds in branches/jsCStack

PerformanceTests/SunSpider: Merge trunk r160411.

Source/JavaScriptCore: Merge trunk r160394, r160407, r160411, r160587.

Tools: Merge trunk r160411.

9:19 PM Changeset in webkit [161402] by Seokju Kwon
  • 14 edits in trunk/Source

Web Inspector: Remove canOverrideDeviceMetrics and setDeviceMetricsOverride from protocol
https://bugs.webkit.org/show_bug.cgi?id=126149

Reviewed by Joseph Pecoraro.

Source/WebCore:

No new tests, No changes in behavior.

These are not used anywhere in WebInspectorUI.
So, it removes unused Protocols and APIs.

  • inspector/InspectorClient.h:
  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::InspectorPageAgent):
(WebCore::InspectorPageAgent::disable):

  • inspector/InspectorPageAgent.h:
  • inspector/protocol/Page.json:

Source/WebInspectorUI:

  • UserInterface/InspectorWebBackendCommands.js: Remove unused codes.
  • UserInterface/Legacy/6.0/InspectorWebBackendCommands.js: Ditto.
  • UserInterface/Legacy/7.0/InspectorWebBackendCommands.js: Ditto.
  • Versions/Inspector-iOS-6.0.json: Ditto.
  • Versions/Inspector-iOS-7.0.json: Ditto.

Source/WebKit/blackberry:

  • WebCoreSupport/InspectorClientBlackBerry.cpp: Remove dead codes.
  • WebCoreSupport/InspectorClientBlackBerry.h: Ditto.
9:15 PM Changeset in webkit [161401] by gyuyoung.kim@samsung.com
  • 4 edits in trunk/Source/WebCore

Add toHTMLTableSectionElement() functions, and use it
https://bugs.webkit.org/show_bug.cgi?id=126418

Reviewed by Anders Carlsson.

HTMLTableSectionElement covers tbody, tfoot, and thead tags. So, we can't
generate isHTMLTableSectionElement() by using template. This patch add
toHTMLTableSectionElement() manually in order to cleanup static_cast<>.

No new tests, no behavior change.

  • html/HTMLTableElement.cpp:

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

  • html/HTMLTableRowElement.cpp:

(WebCore::HTMLTableRowElement::rowIndex):

  • html/HTMLTableSectionElement.h:
  • html/HTMLTagNames.in:
8:58 PM Changeset in webkit [161400] by msaboff@apple.com
  • 7 edits in branches/jsCStack/Source/JavaScriptCore

Merge of trunk r160493

2013-12-11 Filip Pizlo <fpizlo@apple.com>

ARM64: Hang running pdfjs test, suspect DFG generated code for "in"
https://bugs.webkit.org/show_bug.cgi?id=124727
<rdar://problem/15566923>

Reviewed by Michael Saboff.

Get rid of In's hackish use of StructureStubInfo. Previously it was using hotPathBegin,
and it was the only IC that used that field, which was wasteful. Moreover, it used it
to store two separate locations: the label for patching the jump and the label right
after the jump. The code was relying on those two being the same label, which is true
on X86 and some other platforms, but it isn't true on ARM64.

This gets rid of hotPathBegin and makes In express those two locations as offsets from
the callReturnLocation, which is analogous to what the other IC's do.

This fixes a bug where any successful In patching would result in a trivially infinite
loop - and hence a hang - on ARM64.

  • bytecode/StructureStubInfo.h:
  • dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link):
  • dfg/DFGJITCompiler.h: (JSC::DFG::InRecord::InRecord):
  • dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileIn):
  • jit/JITInlineCacheGenerator.cpp: (JSC::JITByIdGenerator::finalize):
  • jit/Repatch.cpp: (JSC::replaceWithJump): (JSC::patchJumpToGetByIdStub): (JSC::tryCachePutByID): (JSC::tryBuildPutByIdList): (JSC::tryRepatchIn): (JSC::resetGetByID): (JSC::resetPutByID): (JSC::resetIn):
8:52 PM Changeset in webkit [161399] by fpizlo@apple.com
  • 16 edits
    2 adds in trunk/Source/JavaScriptCore

Make the different flavors of integer arithmetic more explicit, and don't rely on (possibly stale) results of the backwards propagator to decide integer arithmetic semantics
https://bugs.webkit.org/show_bug.cgi?id=125519

Reviewed by Geoffrey Garen.

Adds the Arith::Mode enum to arithmetic nodes, which makes it explicit what sorts of
checks and overflows the node should do. Previously this would be deduced from
backwards analysis results.

This also makes "unchecked" variants really mean that you want the int32 wrapped
result, so ArithIMul is now done in terms of ArithMul(Unchecked). That means that the
constant folder needs to compute exactly the result implied by ArithMode, instead of
just folding the double result.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGArithMode.cpp: Added.

(WTF::printInternal):

  • dfg/DFGArithMode.h: Added.

(JSC::DFG::doesOverflow):
(JSC::DFG::shouldCheckOverflow):
(JSC::DFG::shouldCheckNegativeZero):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::pureCSE):
(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGNode.h:

(JSC::DFG::Node::Node):
(JSC::DFG::Node::hasArithMode):
(JSC::DFG::Node::arithMode):
(JSC::DFG::Node::setArithMode):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileUInt32ToNumber):
(JSC::DFG::SpeculativeJIT::compileDoubleAsInt32):
(JSC::DFG::SpeculativeJIT::compileAdd):
(JSC::DFG::SpeculativeJIT::compileArithSub):
(JSC::DFG::SpeculativeJIT::compileArithNegate):
(JSC::DFG::SpeculativeJIT::compileArithMul):
(JSC::DFG::SpeculativeJIT::compileArithDiv):
(JSC::DFG::SpeculativeJIT::compileArithMod):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileAddSub):
(JSC::FTL::LowerDFGToLLVM::compileArithMul):
(JSC::FTL::LowerDFGToLLVM::compileArithDivMod):
(JSC::FTL::LowerDFGToLLVM::compileArithNegate):
(JSC::FTL::LowerDFGToLLVM::compileUInt32ToNumber):

8:48 PM Changeset in webkit [161398] by fpizlo@apple.com
  • 36 edits
    7 adds in branches/jsCStack/Source/JavaScriptCore

Merge trunk r160294, r160295, r160328, r160347, r160348.

8:45 PM Changeset in webkit [161397] by mrowe@apple.com
  • 3 edits in trunk/Source/WebCore

<https://webkit.org/b/126559> Be more correct in dealing with NSControlSize

Reviewed by Ryosuke Niwa.

  • platform/mac/ScrollbarThemeMac.mm:

(WebCore::scrollbarControlSizeToNSControlSize): Helper function to map from ScrollbarControlSize
to NSControlSize.
(WebCore::ScrollbarThemeMac::registerScrollbar): Use the helper rather than casting.
(WebCore::ScrollbarThemeMac::scrollbarThickness): Use the helper.

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::progressBarRectForBounds): Update the type of the local to NSControlSize.
(WebCore::RenderThemeMac::paintProgressBar): Ditto.

8:00 PM Changeset in webkit [161396] by mrowe@apple.com
  • 3 edits in trunk/Tools

<https://webkit.org/b/126560> Fix incorrectness in use of some AppKit enums

Reviewed by Ryosuke Niwa.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(-[DRTMockScroller rectForPart:]): Move to using an if with early return instead of a switch
with a single case. This avoids the potential for warnings about unhandled cases.

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(WTR::PlatformWebView::PlatformWebView): Cast the argument to NSBackingStoreType.

7:52 PM Changeset in webkit [161395] by fpizlo@apple.com
  • 1 edit
    1 add in branches/jsCStack/Source/JavaScriptCore

Finish merging r160292: add more forgotten files.

  • tests/stress/fold-typed-array-properties.js: Added.
7:44 PM Changeset in webkit [161394] by fpizlo@apple.com
  • 1 edit
    2 adds in branches/jsCStack/Source/JavaScriptCore

Finish merging r160292: add forgotten files.

  • dfg/DFGStrengthReductionPhase.cpp: Added.
  • dfg/DFGStrengthReductionPhase.h: Added.
7:42 PM Changeset in webkit [161393] by fpizlo@apple.com
  • 25 edits in branches/jsCStack

Source/JavaScriptCore: Merge trunk r160292.

Tools: Merge trunk r160292.

7:17 PM Changeset in webkit [161392] by fpizlo@apple.com
  • 6 edits
    15 adds in branches/jsCStack

Source/JavaScriptCore: Merge trunk r160238, r160242, r160246, r160252, r160257.

LayoutTests: Merge trunk r160242, r160246, r160252, r160257.

6:04 PM Changeset in webkit [161391] by Brent Fulgham
  • 2 edits
    1 delete in trunk/LayoutTests

[WebGL] Unreviewed build fix for Mountain Lion drivers.

  • platform/mac-mountainlion/TestExpectations: Removed. Moved test to the mac/TestExpectations file.
  • platform/mac/TestExpectations: Add failure entry for MountainLion test.
5:55 PM Changeset in webkit [161390] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Disable JIT stack alignment check for ARM64
https://bugs.webkit.org/show_bug.cgi?id=126550

Reviewed by Mark Lam.

Since ARM64 enforces strict stack alignment, the need for checkStackPointerAlignment()
is not needed. Also, the implementation of checkStackPointerAlignment() would
need to be reworked given the limits on the operations that can be done with
the stack pointer register in ARM64. Therefore conditionally disabled
checkStackPointerAlignment() for ARM64.

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::checkStackPointerAlignment):

5:44 PM Changeset in webkit [161389] by Brent Fulgham
  • 11 edits
    2 adds in trunk/Source/WebCore

[WebGL] Be safer about toggling OpenGL state by using a scoped object to control setting lifetime.
https://bugs.webkit.org/show_bug.cgi?id=126548

Reviewed by Anders Carlsson.

No new tests since there is no change in behavior.

  • GNUmakefile.list.am: Updated to build new TemporaryOpenGLSetting files.
  • PlatformBlackBerry.cmake: Ditto
  • PlatformEfl.cmake: Ditto
  • PlatformGTK.cmake: Ditto
  • PlatformNix.cmake: Ditto
  • WebCore.vcxproj/WebCore.vcxproj: Ditto
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto
  • WebCore.xcodeproj/project.pbxproj: Ditto
  • platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:

(WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Use new object.

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::prepareTexture): Ditto
(WebCore::GraphicsContext3D::reshape): Ditto

  • platform/graphics/opengl/TemporaryOpenGLSetting.cpp: Added.

(WebCore::TemporaryOpenGLSetting::TemporaryOpenGLSetting):
(WebCore::TemporaryOpenGLSetting::~TemporaryOpenGLSetting):

  • platform/graphics/opengl/TemporaryOpenGLSetting.h: Added.
5:41 PM Changeset in webkit [161388] by Brent Fulgham
  • 1 edit
    1 add in trunk/LayoutTests

[WebGL] Unreviewed build fix for Mountain Lion drivers.

Add new TestExpectations file for Mountain Lion.

  • platform/mac-mountainlion/TestExpectations: Added.
4:57 PM Changeset in webkit [161387] by Simon Fraser
  • 17 edits in trunk/Source

Hook up the RemoteScrollingCoordinator
https://bugs.webkit.org/show_bug.cgi?id=126547

Source/WebCore:

Reviewed by Tim Horton.

Export lots of scrolling-related symbols for use by WebKit2.

  • WebCore.exp.in:

Source/WebKit2:

Reviewed by Tim Horton.

Hook up the RemoteScrollingCoordinator in WebKit2.

When the RemoteLayerTreeDrawingArea is in use, WebPageProxy creates
a RemoteScrollingCoordinator, and hands it mouseWheel events. It then
scrolls via a RemoteScrollingTree constructed from state tree commits from the
WebProcess.

Scrolling tree commits happen via a transaction received by RemoteLayerTreeDrawingAreaProxy,
atomically with layer tree transactions.

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:

(WebKit::RemoteScrollingCoordinatorTransaction::encode): Fix encoding for some
cases seen in WebKitTestRunner where a page has no ScrollingCoordinator.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::initializeWebPage): Create the RemoteScrollingCoordinatorProxy
when using a remote layer tree drawing area.
(WebKit::WebPageProxy::handleWheelEvent): Pass to the scrolling coordinator.

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::scrollingCoordinatorProxy):

  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h: Include the RemoteScrollingCoordinatorTransaction.
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.messages.in:
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::getLayer): It's valid to get a 0 layerID (e.g. when
a layer disappears) so handle this case.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createScrollingCoordinator): Override to create the
RemoteScrollingCoordinator in the WebProcess.

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::scrollingCoordinator): Not inline to avoid polluting the
header with #includes.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: Say that we want a ScrollingCoordinator.
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::flushLayers): Add the scrollingTransaction to the
message.

4:56 PM Changeset in webkit [161386] by ljaehun.lim@samsung.com
  • 2 edits in trunk/Source/WebKit2

Use hasEnabledVerticalScrollbar instead of hasEnabledHorizontalScrollbar.
https://bugs.webkit.org/show_bug.cgi?id=126546

Reviewed by Simon Fraser.

hasEnabledHorizontalScrollbar is used twice.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<WebCore::ScrollableAreaParameters>::encode):

4:52 PM Changeset in webkit [161385] by Seokju Kwon
  • 15 edits
    1 delete in trunk/Source

Web Inspector: Remove support for FileSystem in Frontend.
https://bugs.webkit.org/show_bug.cgi?id=126369

Reviewed by Joseph Pecoraro.

Source/WebCore:

No new tests, No change in behavior.

Remove leftover codes from protocol after r156692.

  • CMakeLists.txt:
  • DerivedSources.make:
  • GNUmakefile.am:
  • inspector/InspectorFrontendClient.h:
  • inspector/InspectorFrontendClientLocal.h:
  • inspector/InspectorFrontendHost.cpp:
  • inspector/InspectorFrontendHost.h:
  • inspector/InspectorFrontendHost.idl:
  • inspector/protocol/FileSystem.json: Removed.

Source/WebInspectorUI:

Update InspectorWebBackendCommands after removing 'FileSystem' domain.

  • UserInterface/InspectorWebBackendCommands.js:
  • UserInterface/Legacy/6.0/InspectorWebBackendCommands.js:
  • UserInterface/Legacy/7.0/InspectorWebBackendCommands.js:
  • Versions/Inspector-iOS-6.0.json:
  • Versions/Inspector-iOS-7.0.json:
4:42 PM Changeset in webkit [161384] by zoltan@webkit.org
  • 3 edits
    2 adds in trunk

[CSS Regions][CSS Shapes] ASSERTION FAILED: m_segmentRanges.size() < m_segments.size()
https://bugs.webkit.org/show_bug.cgi?id=125770

Reviewed by Bem Jones-Bey.

Source/WebCore:

When we have an e.g. up-side-down triangle, when the content doesn't fit in the bottom part of the shape,
and the adjusted content flows into the next region with a shape, we need to update the actual shape
and region. Since it wasn't updated, it led to a shape mismatch, which led to assert/layout error.

Test: fast/regions/shape-inside/shape-inside-on-multiple-regions-bottom-adjustment.html

  • rendering/RenderBlockLineLayout.cpp:

(WebiCore::RenderBlockFlow::updateShapeAndSegmentsForCurrentLineInFlowThread): Update current shape
and region, when adjustment occured.

LayoutTests:

  • fast/regions/shape-inside/shape-inside-on-multiple-regions-bottom-adjustment-expected.html: Added.
  • fast/regions/shape-inside/shape-inside-on-multiple-regions-bottom-adjustment.html: Added.
4:35 PM Changeset in webkit [161383] by Brent Fulgham
  • 3 edits in trunk/LayoutTests

Unreviewed test correction.

  • webgl/1.0.2/resources/webgl_test_files/conformance/renderbuffers/framebuffer-object-attachment.html: Remove commented-out

line from debugging code.

  • webgl/1.0.2/resources/webgl_test_files/conformance/resources/webgl-test-utils.js:

(WebGLTestUtils): Return to normal behavior of exiting immediately on test failure.

4:05 PM Changeset in webkit [161382] by Seokju Kwon
  • 8 edits
    1 delete in trunk/Source/WebCore

Web Inspector: Get rid of Inspector/BindingVisitors.h
https://bugs.webkit.org/show_bug.cgi?id=126374

Reviewed by Joseph Pecoraro.

No new tests, No change in behavior.

In r161204, methods related to BindingVisitors was removed.

  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/ScriptProfiler.h:
  • inspector/BindingVisitors.h: Removed.
  • inspector/InspectorCanvasAgent.cpp:
  • inspector/InspectorMemoryAgent.cpp:
3:50 PM Changeset in webkit [161381] by timothy_horton@apple.com
  • 10 edits in trunk/Source/WebCore

Add {IntRect, FloatRect}::infiniteRect() and ::isInfinite()
https://bugs.webkit.org/show_bug.cgi?id=126537

Reviewed by Simon Fraser.

  • platform/graphics/FloatRect.h:

(WebCore::FloatRect::infiniteRect):
(WebCore::FloatRect::isInfinite):

  • platform/graphics/IntRect.h:

(WebCore::IntRect::infiniteRect):
(WebCore::IntRect::isInfinite):
Add infiniteRect() and isInfinite() to FloatRect and IntRect.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::setNeedsDisplay):

  • rendering/PaintInfo.h:

(WebCore::PaintInfo::applyTransform):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::fragmentsBoundingBox):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::collectFragments):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::clipBox):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::clippedByAncestor):

  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::renderSubtreeToImageBuffer):
Adopt the new functions.

3:35 PM Changeset in webkit [161380] by Seokju Kwon
  • 9 edits
    2 deletes in trunk

Web Inspector: Get rid of DOM.setFileInputFiles from Protocol
https://bugs.webkit.org/show_bug.cgi?id=126312

Reviewed by Joseph Pecoraro.

Source/WebCore:

No new tests, No changes in behavior.

It is a dead code as all ports in WebKit don't support it.
And this patch removes all things related to DOM.setFileInputFiles in Frontend.

  • inspector/InspectorClient.h:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::InspectorDOMAgent):

  • inspector/InspectorDOMAgent.h:

(WebCore::InspectorDOMAgent::create):

  • inspector/protocol/DOM.json:

Source/WebInspectorUI:

Update InspectorWebBackendCommands.js after removing DOM.setFileInputFiles.

  • UserInterface/InspectorWebBackendCommands.js:

LayoutTests:

  • inspector-protocol/dom/setFileInputFiles-expected.txt: Removed.
  • inspector-protocol/dom/setFileInputFiles.html: Removed.
3:28 PM Changeset in webkit [161379] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

Unreviewed test update after r161375.

  • platform/mac/TestExpectations: Activate several tests that are now known to pass.
3:23 PM Changeset in webkit [161378] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[WebGL] Revise String Concatenation (Follow-up to r161247)
https://bugs.webkit.org/show_bug.cgi?id=126411

Reviewed by Dean Jackson.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getUniformLocation): Use more efficient string
concatenation per Darin Adler's suggestion.

3:04 PM Changeset in webkit [161377] by mhahnenberg@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

Add write barriers to the LLInt
https://bugs.webkit.org/show_bug.cgi?id=126527

Reviewed by Filip Pizlo.

This patch takes a similar approach to how write barriers work in the baseline JIT.
We execute the write barrier at the beginning of the opcode so we don't have to
worry about saving and restoring live registers across write barrier slow path calls
to C code.

  • llint/LLIntOfflineAsmConfig.h:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::llint_write_barrier_slow):

  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • offlineasm/arm64.rb:
  • offlineasm/instructions.rb:
  • offlineasm/x86.rb:
2:46 PM Changeset in webkit [161376] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Another build fix.

Need to look in the WebProcess/Scrolling directory for .messages.in files.

  • DerivedSources.make:
2:43 PM Changeset in webkit [161375] by Brent Fulgham
  • 4 edits in trunk

[WebGL] FBO Depth Buffer Attachment Function Improperly Clearing with 0
https://bugs.webkit.org/show_bug.cgi?id=126538
<rdar://problem/15201336>

Reviewed by Dean Jackson.

Tested by webgl/1.0.2/resources/webgl_test_files/conformance/renderbuffers/framebuffer-object-attachment.html

  • html/canvas/WebGLFramebuffer.cpp:

(WebCore::WebGLFramebuffer::initializeAttachments): Clear depth buffer with 1.0f (rather than 0), to match expected
default (clear) buffer state for OpenGL. Using 0 would require us to flip the clear mask for the depth attachment
type.

2:38 PM Changeset in webkit [161374] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Fix the build.

Need to add RemoteScrollingCoordinator to MESSAGE_RECEIVERS so that
RemoteScrollingCoordinatorMessages.h gets generated.

  • DerivedSources.make:
2:19 PM Changeset in webkit [161373] by Simon Fraser
  • 8 edits
    2 copies
    10 adds in trunk/Source

Add new files for UI-side scrolling
https://bugs.webkit.org/show_bug.cgi?id=126532

Source/WebCore:

Reviewed by Anders Carlson.

  • WebCore.xcodeproj/project.pbxproj: Make lots of scrolling-related headers Private

so WebKit2 can include them.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::scheduleUpdateScrollPositionForNode): Callback that
indicates that the given node has been scrolled asynchronously. Currently only
handles the main frame.

  • page/scrolling/ScrollingCoordinator.h: Add support for type-casts of a remote subclass

in another namespace.
(WebCore::ScrollingCoordinator::isRemoteScrollingCoordinator):

  • page/scrolling/ScrollingTree.h:

(WebCore::ScrollingTree::isRemoteScrollingTree):

Source/WebKit2:

Reviewed by Anders Carlson.

Add RemoteScrollingCoordinator, RemoteScrollingCoordinatorProxy,
RemoteScrollingCoordinatorTransaction, RemoteScrollingTree.

These allow the scrolling tree to be used in the UI process.
RemoteScrollingCoordinator builds a ScrollingStateTree, which is
encoded by RemoteScrollingCoordinatorTransaction. Decoding the
transaction recreates that ScrollingStateTree in the UI process,
and RemoteScrollingCoordinatorProxy "commits" that to update
the RemoteScrollingTree.

New classes are not hooked up to anything yet.

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp: Added.

(ArgumentCoder<ScrollingStateNode>::encode):
(ArgumentCoder<ScrollingStateNode>::decode):
(ArgumentCoder<ScrollingStateScrollingNode>::encode):
(ArgumentCoder<ScrollingStateScrollingNode>::decode):
(ArgumentCoder<ScrollingStateFixedNode>::encode):
(ArgumentCoder<ScrollingStateFixedNode>::decode):
(ArgumentCoder<ScrollingStateStickyNode>::encode):
(ArgumentCoder<ScrollingStateStickyNode>::decode):
(WebKit::encodeNodeAndDescendants):
(WebKit::RemoteScrollingCoordinatorTransaction::encode):
(WebKit::RemoteScrollingCoordinatorTransaction::decode):

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h: Added.

(WebKit::RemoteScrollingCoordinatorTransaction::setStateTreeToEncode):
(WebKit::RemoteScrollingCoordinatorTransaction::scrollingStateTree):

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp: Added.

(WebKit::RemoteScrollingCoordinatorProxy::RemoteScrollingCoordinatorProxy):
(WebKit::RemoteScrollingCoordinatorProxy::~RemoteScrollingCoordinatorProxy):
(WebKit::RemoteScrollingCoordinatorProxy::layerTreeHost):
(WebKit::RemoteScrollingCoordinatorProxy::updateScrollingTree):
(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):
(WebKit::RemoteScrollingCoordinatorProxy::handleWheelEvent):
(WebKit::RemoteScrollingCoordinatorProxy::scrollPositionChanged):

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h: Added.
  • UIProcess/Scrolling/RemoteScrollingTree.cpp: Added.

(WebKit::RemoteScrollingTree::create):
(WebKit::RemoteScrollingTree::RemoteScrollingTree):
(WebKit::RemoteScrollingTree::~RemoteScrollingTree):
(WebKit::RemoteScrollingTree::tryToHandleWheelEvent):
(WebKit::RemoteScrollingTree::handleWheelEventPhase):
(WebKit::RemoteScrollingTree::updateMainFrameScrollPosition):
(WebKit::RemoteScrollingTree::createNode):

  • UIProcess/Scrolling/RemoteScrollingTree.h: Added.

(WebKit::RemoteScrollingTree::scrollingCoordinatorProxy):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/Scrolling/RemoteScrollingCoordinator.h: Added.

(WebKit::RemoteScrollingCoordinator::create):

  • WebProcess/Scrolling/RemoteScrollingCoordinator.messages.in: Added.
  • WebProcess/Scrolling/RemoteScrollingCoordinator.mm: Added.

(WebKit::RemoteScrollingCoordinator::RemoteScrollingCoordinator):
(WebKit::RemoteScrollingCoordinator::~RemoteScrollingCoordinator):
(WebKit::RemoteScrollingCoordinator::scheduleTreeStateCommit):
(WebKit::RemoteScrollingCoordinator::createScrollingTreeNode):
(WebKit::RemoteScrollingCoordinator::isRubberBandInProgress):
(WebKit::RemoteScrollingCoordinator::setScrollPinningBehavior):
(WebKit::RemoteScrollingCoordinator::buildTransaction):
(WebKit::RemoteScrollingCoordinator::scrollPositionChangedForNode):

2:18 PM Changeset in webkit [161372] by mark.lam@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack: JSLock drop and grab lock APIs should be private.
https://bugs.webkit.org/show_bug.cgi?id=126539.

Reviewed by Mark Hahnenberg.

We want the dropping and re-acquisition of the VM API lock to be via the
DropAllLocks raii object. Hence, we should not publicly publishing the
APIs for dropping and re-acquiring the locks.

  • runtime/JSLock.h:
2:03 PM Changeset in webkit [161371] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r161195): Acid2 regression tests frequently fail
https://bugs.webkit.org/show_bug.cgi?id=126432

1:52 PM Changeset in webkit [161370] by Martin Robinson
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[GTK] [CMake] Improve the way that translations are built with the built-in gettext support CMake
https://bugs.webkit.org/show_bug.cgi?id=126453

Reviewed by Gustavo Noronha Silva.

  • CMakeLists.txt: Use the built-in CMake support for gettext to simplify the way we

build translation files and to automatically take care of installing them. Also adjust
the pot file build location to make the CMake build more similar to autotools.

1:48 PM Changeset in webkit [161369] by mark.lam@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

Follow up patch to remove the need for VMEntryScope::m_prevFirstEntryScope.
https://bugs.webkit.org/show_bug.cgi?id=126266.

Reviewed by Geoffrey Garen.

There can only be one firstEntryScope. Instead of saving the previous value of
VM::firstEntryScope, we now check if the firstEntryScope is the same as this
VMEntryScope in its destructor. If so, we will set VM::firstEntryScope to 0.

  • runtime/VMEntryScope.cpp:

(JSC::VMEntryScope::VMEntryScope):
(JSC::VMEntryScope::~VMEntryScope):

  • runtime/VMEntryScope.h:
1:31 PM Changeset in webkit [161368] by Martin Robinson
  • 4 edits in trunk/Source

Small build fix for the GTK+ CMake port

Source/WebKit:

  • PlatformGTK.cmake: Include a missing GeoClue include directory.

Source/WebKit2:

  • PlatformGTK.cmake: Include a missing GeoClue include directory.
1:30 PM Changeset in webkit [161367] by Simon Fraser
  • 4 edits in trunk/Source/WebKit2

Rename DrawingArea::supportsThreadedScrolling() to supportsAsyncScrolling()
https://bugs.webkit.org/show_bug.cgi?id=126529

Reviewed by Tim Horton.

Change function name from using "threaded" to "async" terminology.

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::supportsAsyncScrolling):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1:14 PM Changeset in webkit [161366] by Martin Robinson
  • 11 edits
    85 copies
    7 adds
    2 deletes in trunk

[GTK] Move all GTK/GObject unit tests to Tools/TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=126342

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2014-01-04
Reviewed by Gustavo Noronha Silva.

.:

  • GNUmakefile.am: Remove unused variable.
  • Source/PlatformGTK.cmake: No longer include the old unit tests directories.

Source/WebKit/gtk:

  • tests/CMakeLists.txt: Removed.
  • tests/GNUmakefile.am: Removed.

Source/WebKit2:

  • UIProcess/API/gtk/tests/CMakeLists.txt: Removed.
  • UIProcess/API/gtk/tests/GNUmakefile.am: Removed.

Tools:

  • CMakeLists.txt: Include the new unit tests subdirectories.
  • Scripts/run-gtk-tests: Update to refer to the new build locations.
  • Scripts/webkitpy/style/checker.py: Update the style checker.
  • Scripts/webkitpy/style/checker_unittest.py:
  • TestWebKitAPI/GNUmakefile.am:
  • TestWebKitAPI/Tests/WebKit2Gtk/AccessibilityTestServer.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/AccessibilityTestServer.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt: Added.
  • TestWebKitAPI/Tests/WebKit2Gtk/DOMDOMWindowTest.cpp: Added.
  • TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/DOMNodeTest.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/FrameTest.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/FrameTest.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/InspectorTestServer.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/InspectorTestServer.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/LoadTrackingTest.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/LoadTrackingTest.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/LoadTrackingTest.h: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/LoadTrackingTest.h.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestAuthentication.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestAuthentication.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestBackForwardList.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestBackForwardList.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestContextMenu.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestCookieManager.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestCookieManager.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMDOMWindow.cpp: Added.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNode.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestDOMNode.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestDownloads.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestFrame.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestFrame.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestInspector.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestInspector.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestInspectorServer.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestLoaderClient.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestMain.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestMain.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestMain.h: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestMain.h.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestPrinting.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestResources.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestSSL.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestUIClient.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebExtensions.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitAccessibility.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitFaviconDatabase.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitFindController.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitFindController.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitPolicyClient.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitPolicyClient.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitSettings.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitSettings.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitVersion.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitVersion.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebContext.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebView.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebViewGroup.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebViewGroup.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebViewEditor.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/TestWebViewEditor.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebExtensionTest.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebKitTestBus.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebKitTestBus.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebKitTestBus.h: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebKitTestBus.h.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebKitTestServer.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebKitTestServer.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebKitTestServer.h: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebKitTestServer.h.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebProcessTest.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.h: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebProcessTest.h.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTestRunner.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebProcessTestRunner.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTestRunner.h: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebProcessTestRunner.h.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebViewTest.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebViewTest.cpp.
  • TestWebKitAPI/Tests/WebKit2Gtk/WebViewTest.h: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/WebViewTest.h.
  • TestWebKitAPI/Tests/WebKit2Gtk/resources/link-title.js: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/resources/link-title.js.
  • TestWebKitAPI/Tests/WebKit2Gtk/resources/test-cert.pem: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/resources/test-cert.pem.
  • TestWebKitAPI/Tests/WebKit2Gtk/resources/test-key.pem: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/resources/test-key.pem.
  • TestWebKitAPI/Tests/WebKit2Gtk/resources/webkit2gtk-tests.gresource.xml: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/resources/webkit2gtk-tests.gresource.xml.
  • TestWebKitAPI/Tests/WebKitGtk/CMakeLists.txt: Added.
  • TestWebKitAPI/Tests/WebKitGtk/resources/blank.ico: Renamed from Source/WebKit/gtk/tests/resources/blank.ico.
  • TestWebKitAPI/Tests/WebKitGtk/resources/test.html: Renamed from Source/WebKit/gtk/tests/resources/test.html.
  • TestWebKitAPI/Tests/WebKitGtk/resources/test.ogg: Renamed from Source/WebKit/gtk/tests/resources/test.ogg.
  • TestWebKitAPI/Tests/WebKitGtk/resources/test.pdf: Renamed from Source/WebKit/gtk/tests/resources/test.pdf.
  • TestWebKitAPI/Tests/WebKitGtk/resources/test.txt: Renamed from Source/WebKit/gtk/tests/resources/test.txt.
  • TestWebKitAPI/Tests/WebKitGtk/test_utils.c: Renamed from Source/WebKit/gtk/tests/test_utils.c.
  • TestWebKitAPI/Tests/WebKitGtk/test_utils.h: Renamed from Source/WebKit/gtk/tests/test_utils.h.
  • TestWebKitAPI/Tests/WebKitGtk/testapplicationcache.c: Renamed from Source/WebKit/gtk/tests/testapplicationcache.c.
  • TestWebKitAPI/Tests/WebKitGtk/testatk.c: Renamed from Source/WebKit/gtk/tests/testatk.c.
  • TestWebKitAPI/Tests/WebKitGtk/testatkroles.c: Renamed from Source/WebKit/gtk/tests/testatkroles.c.
  • TestWebKitAPI/Tests/WebKitGtk/testcontextmenu.c: Renamed from Source/WebKit/gtk/tests/testcontextmenu.c.
  • TestWebKitAPI/Tests/WebKitGtk/testcopyandpaste.c: Renamed from Source/WebKit/gtk/tests/testcopyandpaste.c.
  • TestWebKitAPI/Tests/WebKitGtk/testdomdocument.c: Renamed from Source/WebKit/gtk/tests/testdomdocument.c.
  • TestWebKitAPI/Tests/WebKitGtk/testdomdomwindow.c: Renamed from Source/WebKit/gtk/tests/testdomdomwindow.c.
  • TestWebKitAPI/Tests/WebKitGtk/testdomnode.c: Renamed from Source/WebKit/gtk/tests/testdomnode.c.
  • TestWebKitAPI/Tests/WebKitGtk/testdownload.c: Renamed from Source/WebKit/gtk/tests/testdownload.c.
  • TestWebKitAPI/Tests/WebKitGtk/testfavicondatabase.c: Renamed from Source/WebKit/gtk/tests/testfavicondatabase.c.
  • TestWebKitAPI/Tests/WebKitGtk/testglobals.c: Renamed from Source/WebKit/gtk/tests/testglobals.c.
  • TestWebKitAPI/Tests/WebKitGtk/testhittestresult.c: Renamed from Source/WebKit/gtk/tests/testhittestresult.c.
  • TestWebKitAPI/Tests/WebKitGtk/testhttpbackend.c: Renamed from Source/WebKit/gtk/tests/testhttpbackend.c.
  • TestWebKitAPI/Tests/WebKitGtk/testkeyevents.c: Renamed from Source/WebKit/gtk/tests/testkeyevents.c.
  • TestWebKitAPI/Tests/WebKitGtk/testloading.c: Renamed from Source/WebKit/gtk/tests/testloading.c.
  • TestWebKitAPI/Tests/WebKitGtk/testmimehandling.c: Renamed from Source/WebKit/gtk/tests/testmimehandling.c.
  • TestWebKitAPI/Tests/WebKitGtk/testnetworkrequest.c: Renamed from Source/WebKit/gtk/tests/testnetworkrequest.c.
  • TestWebKitAPI/Tests/WebKitGtk/testnetworkresponse.c: Renamed from Source/WebKit/gtk/tests/testnetworkresponse.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebbackforwardlist.c: Renamed from Source/WebKit/gtk/tests/testwebbackforwardlist.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebdatasource.c: Renamed from Source/WebKit/gtk/tests/testwebdatasource.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebframe.c: Renamed from Source/WebKit/gtk/tests/testwebframe.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebhistoryitem.c: Renamed from Source/WebKit/gtk/tests/testwebhistoryitem.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebinspector.c: Renamed from Source/WebKit/gtk/tests/testwebinspector.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebplugindatabase.c: Renamed from Source/WebKit/gtk/tests/testwebplugindatabase.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebresource.c: Renamed from Source/WebKit/gtk/tests/testwebresource.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebsettings.c: Renamed from Source/WebKit/gtk/tests/testwebsettings.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwebview.c: Renamed from Source/WebKit/gtk/tests/testwebview.c.
  • TestWebKitAPI/Tests/WebKitGtk/testwindow.c: Renamed from Source/WebKit/gtk/tests/testwindow.c.
1:00 PM Changeset in webkit [161365] by weinig@apple.com
  • 12 edits in trunk

[JS] Implement Promise.all()
https://bugs.webkit.org/show_bug.cgi?id=126510

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

Add Promise.all() implementation and factor out performing resolves and rejects
on deferreds to share a bit of code. Also moves the abruptRejection helper to
JSPromiseDeferred so it can be used in JSPromiseFunctions.

  • runtime/CommonIdentifiers.h:
  • runtime/JSPromiseConstructor.cpp:

(JSC::JSPromiseConstructorFuncCast):
(JSC::JSPromiseConstructorFuncResolve):
(JSC::JSPromiseConstructorFuncReject):
(JSC::JSPromiseConstructorFuncAll):

  • runtime/JSPromiseDeferred.cpp:

(JSC::updateDeferredFromPotentialThenable):
(JSC::performDeferredResolve):
(JSC::performDeferredReject):
(JSC::abruptRejection):

  • runtime/JSPromiseDeferred.h:
  • runtime/JSPromiseFunctions.cpp:

(JSC::promiseAllCountdownFunction):
(JSC::createPromiseAllCountdownFunction):

  • runtime/JSPromiseFunctions.h:
  • runtime/JSPromiseReaction.cpp:

(JSC::ExecutePromiseReactionMicrotask::run):

LayoutTests:

Enabled and fix the existing Promise.all() test case.

  • Promise.all() and Promise.all({}) should reject by my reading of the spec.

Also removes the Promise.all() shim used by the crypto tests.

  • crypto/subtle/resources/common.js:
  • js/dom/Promise-static-all-expected.txt:
  • js/dom/Promise-static-all.html:
12:41 PM Changeset in webkit [161364] by fpizlo@apple.com
  • 31 edits in trunk/Source

Get rid of ENABLE(VALUE_PROFILER). It's on all the time now.

Rubber stamped by Mark Hahnenberg.

Source/JavaScriptCore:

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFor):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpValueProfiling):
(JSC::CodeBlock::dumpArrayProfiling):
(JSC::CodeBlock::dumpRareCaseProfile):
(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::setNumParameters):
(JSC::CodeBlock::shrinkToFit):
(JSC::CodeBlock::shouldOptimizeNow):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::valueProfileForBytecodeOffset):

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeForChain):
(JSC::GetByIdStatus::computeFor):

  • bytecode/LazyOperandValueProfile.cpp:
  • bytecode/LazyOperandValueProfile.h:
  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFor):

  • bytecode/ValueProfile.h:
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::newArrayProfile):
(JSC::BytecodeGenerator::newArrayAllocationProfile):
(JSC::BytecodeGenerator::emitProfiledOpcode):

  • jit/GPRInfo.h:
  • jit/JIT.cpp:

(JSC::JIT::JIT):
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::privateCompile):

  • jit/JIT.h:
  • jit/JITArithmetic.cpp:

(JSC::JIT::compileBinaryArithOp):
(JSC::JIT::emit_op_mul):
(JSC::JIT::emit_op_div):

  • jit/JITArithmetic32_64.cpp:

(JSC::JIT::emitBinaryDoubleOp):
(JSC::JIT::emit_op_mul):
(JSC::JIT::emitSlow_op_mul):
(JSC::JIT::emit_op_div):

  • jit/JITCall.cpp:

(JSC::JIT::emitPutCallResult):

  • jit/JITCall32_64.cpp:

(JSC::JIT::emitPutCallResult):

  • jit/JITInlines.h:

(JSC::JIT::appendCallWithExceptionCheckSetJSValueResultWithProfile):
(JSC::JIT::emitValueProfilingSite):
(JSC::JIT::emitArrayProfilingSiteForBytecodeIndex):
(JSC::JIT::emitArrayProfileStoreToHoleSpecialCase):
(JSC::JIT::emitArrayProfileOutOfBoundsSpecialCase):
(JSC::arrayProfileSaw):
(JSC::JIT::chooseArrayMode):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_get_argument_by_val):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_get_argument_by_val):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_get_from_scope):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_get_from_scope):

  • llint/LLIntOfflineAsmConfig.h:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • profiler/ProfilerBytecodeSequence.cpp:

(JSC::Profiler::BytecodeSequence::BytecodeSequence):

  • runtime/CommonSlowPaths.cpp:

Source/WTF:

  • wtf/Platform.h:
12:35 PM Changeset in webkit [161363] by ap@apple.com
  • 4 edits in trunk/Tools

Gtk and Efl API test results confuse the dashboard
https://bugs.webkit.org/show_bug.cgi?id=126535

Reviewed by Tim Horton.

Added "API tests" step as "platform api tests".

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

(Buildbot.prototype.platformAPITestResultsURLForIteration):

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

(BuildbotIteration):
(BuildbotIteration.prototype.update):

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

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

12:33 PM Changeset in webkit [161362] by zandobersek@gmail.com
  • 5 edits in trunk/Source/WTF

Remove using directives for the std namespace from WTF
https://bugs.webkit.org/show_bug.cgi?id=126524

Reviewed by Alexey Proskuryakov.

Remove the using directives for the std namespace throughout the WTF code.
The more explicit std:: nested name specifier should be used instead.

  • wtf/MediaTime.cpp:

(WTF::MediaTime::createWithFloat):
(WTF::MediaTime::createWithDouble):

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::create):
(WTF::StringImpl::lower):
(WTF::StringImpl::upper):
(WTF::StringImpl::foldCase):
(WTF::StringImpl::find):
(WTF::StringImpl::findIgnoringCase):
(WTF::reverseFindInner):
(WTF::StringImpl::reverseFind):
(WTF::reverseFindIgnoringCaseInner):
(WTF::StringImpl::reverseFindIgnoringCase):
(WTF::StringImpl::replace):
(WTF::StringImpl::utf8ForCharacters):
(WTF::StringImpl::utf8ForRange):

  • wtf/text/WTFString.cpp:

(WTF::String::append):
(WTF::String::appendInternal):
(WTF::String::insert):
(WTF::String::substringSharingImpl):
(WTF::String::fromUTF8):
(WTF::toIntegralType):

  • wtf/win/RunLoopWin.cpp:
12:23 PM Changeset in webkit [161361] by mark.lam@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack: jsStackLimit fixup should not exceed native stack limit.
https://bugs.webkit.org/show_bug.cgi?id=126487.

Reviewed by Michael Saboff.

In doCallToJavaScript, we fixup VM::m_jsStackLimit once we know what the
stackPointerAtVMEntry is. However, we also need to ensure that the fixed
up jsStackLimit does not exceed the native stack limit. This check was
missing, and resulted in an assertion failure when running testapi on
platforms that have smaller stacks. This is now fixed.

  • llint/LowLevelInterpreter64.asm:
12:10 PM Changeset in webkit [161360] by timothy_horton@apple.com
  • 4 edits in trunk/Tools

build.webkit.org/dashboard should still function if localStorage is disabled
https://bugs.webkit.org/show_bug.cgi?id=126511

Reviewed by Alexey Proskuryakov.

If localStorage is disabled, we should carry on with a warning.

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

Don't show the gear if localStorage isn't working.

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

(QueueView.prototype._updateHiddenState):
Bail if localStorage isn't working.

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

(Settings.prototype.available):

12:03 PM Changeset in webkit [161359] by zandobersek@gmail.com
  • 3 edits in trunk

[GTK] configure errors out when building with libc++
https://bugs.webkit.org/show_bug.cgi?id=126431

Reviewed by Martin Robinson.

Ease up the Clang and libstdc++ combination test to only fail if libstdc++ < 4.8.1 is actually used.
This allows for libc++ to be used as well. The test is moved into SetupCompilerFlags.m4 and is done
after the CXXFLAGS variable is properly set up, that is when all the C++ compiler options are determined.

  • Source/autotools/CheckSystemAndBasicDependencies.m4:
  • Source/autotools/SetupCompilerFlags.m4:
11:44 AM Changeset in webkit [161358] by enrica@apple.com
  • 11 edits in trunk/Source/WebKit2

Add support to retrieve the autocorrection context.
https://bugs.webkit.org/show_bug.cgi?id=126479

Reviewed by Sam Weinig.

We are adding the support to retrieve the input context for autocorrection
and input methods on iOS. The implementation is provided both via synchronous
and asynchronous calls to the WebProcess.

  • Platform/IPC/HandleMessage.h: Added template with zero input parameters and six reply parameters.
  • UIProcess/API/ios/WKInteractionView.mm:

(autocorrectionData):
(-[WKInteractionView requestAutocorrectionRectsForString:withCompletionHandler:]):
(autocorrectionResult):
(-[WKInteractionView applyAutocorrection:toString:withCompletionHandler:]):
(autocorrectionContext):
(-[WKInteractionView requestAutocorrectionContextWithCompletionHandler:]):
(-[WKInteractionView hasMarkedText]):
(-[WKInteractionView _startAssistingNode]):
(+[WKAutocorrectionContext autocorrectionContextWithData:markedText:selectedText:afterText:selectedRangeInMarkedText:]):
(-[WKAutocorrectionContext dealloc]):

  • UIProcess/AutoCorrectionCallback.h:

(WebKit::AutocorrectionContextCallback::create):
(WebKit::AutocorrectionContextCallback::~AutocorrectionContextCallback):
(WebKit::AutocorrectionContextCallback::performCallbackWithReturnValue):
(WebKit::AutocorrectionContextCallback::invalidate):
(WebKit::AutocorrectionContextCallback::AutocorrectionContextCallback):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::resetState):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::autocorrectionContextCallback):
(WebKit::WebPageProxy::requestAutocorrectionContext):
(WebKit::WebPageProxy::getAutocorrectionContext):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::computeAutocorrectionContext):
(WebKit::WebPage::requestAutocorrectionContext):
(WebKit::WebPage::getAutocorrectionContext):

11:29 AM Changeset in webkit [161357] by barraclough@apple.com
  • 19 edits
    1 add
    1 delete in trunk/Source

Move ViewState to WebCore
https://bugs.webkit.org/show_bug.cgi?id=126488

Reviewed by Anders Carlson.

This change also partial reverts handling of LayerHostingMode, making this
a separate message again. With hindsight the new way of doing this wasn't
in all ways simpler, and it won't make sense to move this to WebCore.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • page/ViewState.h: Added.
    • Moved from WebKit2, will be used by Page & FocusController.

Source/WebKit2:

  • Shared/ViewState.h: Removed.
    • Moved to WebCore.
  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
    • Added layerHostingMode.
  • UIProcess/API/mac/PageClientImpl.h:
  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::PageClientImpl):
(WebKit::PageClientImpl::viewLayerHostingMode):

  • UIProcess/PageClient.h:

(WebKit::PageClient::viewLayerHostingMode):

  • Revert isLayerWindowServerHosted -> viewLayerHostingMode.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):

  • Added back m_layerHostingMode.

(WebKit::WebPageProxy::updateViewState):

  • Removed IsLayerWindowServerHosted from ViewState.

(WebKit::WebPageProxy::viewStateDidChange):

  • Added SetLayerHostingMode message.

(WebKit::WebPageProxy::initializeCreationParameters):

  • Pass layerHostingMode.
  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::isInWindow):
(WebKit::WebPageProxy::isViewVisible):

  • ViewState moved to WebCore.
  • WebKit2.xcodeproj/project.pbxproj:
    • Removed ViewState.
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::setLayerHostingMode):
(WebKit::PluginView::platformViewStateDidChange):

  • Separated setLayerHostingMode from platformViewStateDidChange.
  • WebProcess/Plugins/PluginView.h:
  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::viewStateDidChange):
(WebKit::DrawingArea::setLayerHostingMode):

  • Added virtual function, overridden in TiledCoreAnimationDrawingArea.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::setLayerHostingMode):

  • Separated setLayerHostingMode from platformViewStateDidChange.
  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::isVisible):
(WebKit::WebPage::layerHostingMode):

  • ViewState moved to WebCore.
  • WebProcess/WebPage/WebPage.messages.in:
    • Added SetLayerHostingMode message.
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::viewStateDidChange):

  • viewStateDidChange no longer calls setLayerHostingMode (this is called by WebPage).
11:20 AM Changeset in webkit [161356] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

LLInt shouldn't check for ENABLE(JIT).

Rubber stamped by Mark Hahnenberg.

  • llint/LLIntCommon.h:
  • llint/LLIntOfflineAsmConfig.h:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::entryOSR):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LowLevelInterpreter.asm:
11:19 AM Changeset in webkit [161355] by roger_fong@apple.com
  • 2 edits in trunk/Tools

Set VSINSTALLDIR in win ews start script.
https://bugs.webkit.org/show_bug.cgi?id=126407

Reviewed by Brent Fulgham.

  • EWSTools/start-queue-win.sh:
11:01 AM Changeset in webkit [161354] by Martin Robinson
  • 2 edits in trunk/Source/WebKit2

[GTK] [CMake] Parallel builds still fail when building WebKit2 GObject API unit tests
https://bugs.webkit.org/show_bug.cgi?id=126465

Reviewed by Gustavo Noronha Silva.

  • UIProcess/API/gtk/tests/CMakeLists.txt: Explicitly link the libWebKit2APITestCore static object against

WebKit2, which seems to be necessary on my new system. Also create an explicit dependency between the
injected bundle tests and WebKit2, because they need to use the generated headers.

10:56 AM Changeset in webkit [161353] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

LLInt shouldnt check for ENABLE(JAVASCRIPT_DEBUGGER).

Rubber stamped by Mark Hahnenberg.

  • debugger/Debugger.h:

(JSC::Debugger::Debugger):

  • llint/LLIntOfflineAsmConfig.h:
  • llint/LowLevelInterpreter.asm:
10:33 AM Changeset in webkit [161352] by Bem Jones-Bey
  • 2 edits in trunk/Tools

Adding myself as a reviewer.

Unreviewed.

  • Scripts/webkitpy/common/config/contributors.json:
10:33 AM Changeset in webkit [161351] by Martin Robinson
  • 9 edits
    2 adds in trunk

[CMake] [GTK] Fix the build for the WebKitGTK+ developer configuration
https://bugs.webkit.org/show_bug.cgi?id=126505

Reviewed by Gustavo Noronha Silva.

.:

  • Source/cmake/FindGLIB.cmake: Add support for finding the gio-unix include directory location.
  • Source/cmake/FindGUdev.cmake: Added.
  • Source/cmake/FindGeoClue.cmake: Added.
  • Source/cmake/OptionsGTK.cmake: When gamepad is enabled look for gio-unix and GUdev. When

geolocation is enabled look for GeoClue.

Source/WebCore:

  • CMakeLists.txt: Add missing IDLS and source files to the lists.
  • PlatformGTK.cmake: Add missing include directories and source files to the lists.

Use the GeoClue, GUdev, and gio-unix include paths and libraries and sort the list
of WebCore include directories.

  • UseJSC.cmake: Align the sourced list with the contents of the bindings/js directory.

Source/WebKit:

  • PlatformGTK.cmake: Add the geoclue platform directory to the include directory list.
10:25 AM Changeset in webkit [161350] by barraclough@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Refactor NSActivity handling code from ChildProcess to UserActivity
https://bugs.webkit.org/show_bug.cgi?id=126330

Unreviewed speculative Windows build fix.

  • WebCore.vcxproj/WebCore.vcxproj:
    • Added UserActivity.cpp/.h.
9:41 AM Changeset in webkit [161349] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/WTF

DoublyLinkedLists can't be concatenated
https://bugs.webkit.org/show_bug.cgi?id=125976

Reviewed by Filip Pizlo.

  • wtf/DoublyLinkedList.h:

(WTF::DoublyLinkedList<T>::append):

9:37 AM Changeset in webkit [161348] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Win] Link error.
https://bugs.webkit.org/show_bug.cgi?id=126526

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-01-06
Reviewed by Brent Fulgham.

  • WebCore.vcxproj/WebCore.vcxproj: Include UserActivity files in build.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
9:22 AM Changeset in webkit [161347] by mrowe@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Mountain Lion build fix after r161332.

  • Carbon/HIWebView.h: Mountain Lion's version of CF_AVAILABLE_MAC doesn't accept a message

argument so remove it.

8:29 AM Changeset in webkit [161346] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

8:25 AM Changeset in webkit [161345] by Lucas Forschler
  • 1 copy in tags/Safari-538.11

New Tag.

7:23 AM Changeset in webkit [161344] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations:

Mark accessibility/menu-list-sends-change-notification.html as flaky.

7:07 AM Changeset in webkit [161343] by thiago.lacerda@openbossa.org
  • 2 edits in trunk/Source/WebCore

[Nix] Adding screenRect implementation to PlatformScreenNix
https://bugs.webkit.org/show_bug.cgi?id=126231

Reviewed by Csaba Osztrogonác.

No new tests needed.

  • platform/nix/PlatformScreenNix.cpp:

(WebCore::screenRect):

6:27 AM Changeset in webkit [161342] by thiago.lacerda@openbossa.org
  • 5 edits in trunk/Source/WebCore

[Nix] Adding missing platform #ifs to WebCore files
https://bugs.webkit.org/show_bug.cgi?id=126227

Reviewed by Csaba Osztrogonác.

No new tests needed.

  • loader/EmptyClients.h:
  • page/ChromeClient.h:
  • page/DragController.cpp:

(WebCore::DragController::startDrag):

  • platform/LocalizedStrings.h:
6:07 AM Changeset in webkit [161341] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.
Adding failure expectations for the set of currently failing tests.

  • platform/gtk/TestExpectations:
4:44 AM Changeset in webkit [161340] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

Unreviewed. Unbreaking JSC tests after r161328.

  • Scripts/webkitdirs.pm:

(cmakeBasedPortName): Only recognize the GTK port as CMake-based if actually building
through the CMake build system (i.e. passing --gtkcmake to build-webkit).

3:22 AM Changeset in webkit [161339] by thiago.lacerda@openbossa.org
  • 2 edits in trunk/Source/WebCore

[Nix] Adding new strings to LocalizedStringsNix
https://bugs.webkit.org/show_bug.cgi?id=126228

Reviewed by Csaba Osztrogonác.

No new tests needed.

  • platform/nix/LocalizedStringsNix.cpp:

(WebCore::submitButtonDefaultLabel):
(WebCore::inputElementAltText):
(WebCore::resetButtonDefaultLabel):
(WebCore::defaultDetailsSummaryText):
(WebCore::searchableIndexIntroduction):
(WebCore::fileButtonChooseFileLabel):
(WebCore::fileButtonChooseMultipleFilesLabel):
(WebCore::fileButtonNoFileSelectedLabel):
(WebCore::fileButtonNoFilesSelectedLabel):
(WebCore::contextMenuItemTagOpenLinkInNewWindow):
(WebCore::contextMenuItemTagDownloadLinkToDisk):
(WebCore::contextMenuItemTagCopyLinkToClipboard):
(WebCore::contextMenuItemTagOpenImageInNewWindow):
(WebCore::contextMenuItemTagDownloadImageToDisk):
(WebCore::contextMenuItemTagCopyImageToClipboard):
(WebCore::contextMenuItemTagCopyImageUrlToClipboard):
(WebCore::contextMenuItemTagOpenVideoInNewWindow):
(WebCore::contextMenuItemTagOpenAudioInNewWindow):
(WebCore::contextMenuItemTagDownloadVideoToDisk):
(WebCore::contextMenuItemTagDownloadAudioToDisk):
(WebCore::contextMenuItemTagCopyVideoLinkToClipboard):
(WebCore::contextMenuItemTagCopyAudioLinkToClipboard):
(WebCore::contextMenuItemTagToggleMediaControls):
(WebCore::contextMenuItemTagShowMediaControls):
(WebCore::contextMenuitemTagHideMediaControls):
(WebCore::contextMenuItemTagToggleMediaLoop):
(WebCore::contextMenuItemTagEnterVideoFullscreen):
(WebCore::contextMenuItemTagMediaPlay):
(WebCore::contextMenuItemTagMediaPause):
(WebCore::contextMenuItemTagMediaMute):
(WebCore::contextMenuItemTagOpenFrameInNewWindow):
(WebCore::contextMenuItemTagCopy):
(WebCore::contextMenuItemTagDelete):
(WebCore::contextMenuItemTagSelectAll):
(WebCore::contextMenuItemTagUnicode):
(WebCore::contextMenuItemTagInputMethods):
(WebCore::contextMenuItemTagGoBack):
(WebCore::contextMenuItemTagGoForward):
(WebCore::contextMenuItemTagStop):
(WebCore::contextMenuItemTagReload):
(WebCore::contextMenuItemTagCut):
(WebCore::contextMenuItemTagPaste):
(WebCore::contextMenuItemTagNoGuessesFound):
(WebCore::contextMenuItemTagIgnoreSpelling):
(WebCore::contextMenuItemTagLearnSpelling):
(WebCore::contextMenuItemTagSearchWeb):
(WebCore::contextMenuItemTagLookUpInDictionary):
(WebCore::contextMenuItemTagOpenLink):
(WebCore::contextMenuItemTagIgnoreGrammar):
(WebCore::contextMenuItemTagSpellingMenu):
(WebCore::contextMenuItemTagShowSpellingPanel):
(WebCore::contextMenuItemTagCheckSpelling):
(WebCore::contextMenuItemTagCheckSpellingWhileTyping):
(WebCore::contextMenuItemTagCheckGrammarWithSpelling):
(WebCore::contextMenuItemTagFontMenu):
(WebCore::contextMenuItemTagBold):
(WebCore::contextMenuItemTagItalic):
(WebCore::contextMenuItemTagUnderline):
(WebCore::contextMenuItemTagOutline):
(WebCore::contextMenuItemTagInspectElement):
(WebCore::contextMenuItemTagRightToLeft):
(WebCore::contextMenuItemTagLeftToRight):
(WebCore::contextMenuItemTagWritingDirectionMenu):
(WebCore::contextMenuItemTagTextDirectionMenu):
(WebCore::contextMenuItemTagDefaultDirection):
(WebCore::searchMenuNoRecentSearchesText):
(WebCore::searchMenuRecentSearchesText):
(WebCore::searchMenuClearRecentSearchesText):
(WebCore::AXDefinitionText):
(WebCore::AXDescriptionListText):
(WebCore::AXDescriptionListTermText):
(WebCore::AXDescriptionListDetailText):
(WebCore::AXFooterRoleDescriptionText):
(WebCore::AXSearchFieldCancelButtonText):
(WebCore::AXButtonActionVerb):
(WebCore::AXRadioButtonActionVerb):
(WebCore::AXTextFieldActionVerb):
(WebCore::AXCheckedCheckBoxActionVerb):
(WebCore::AXUncheckedCheckBoxActionVerb):
(WebCore::AXLinkActionVerb):
(WebCore::unknownFileSizeText):
(WebCore::imageTitle):
(WebCore::AXListItemActionVerb):
(WebCore::localizedMediaControlElementString):
(WebCore::localizedMediaControlElementHelpText):
(WebCore::localizedMediaTimeDescription):
(WebCore::mediaElementLoadingStateText):
(WebCore::mediaElementLiveBroadcastStateText):
(WebCore::validationMessagePatternMismatchText):
(WebCore::validationMessageRangeOverflowText):
(WebCore::validationMessageRangeUnderflowText):
(WebCore::validationMessageStepMismatchText):
(WebCore::validationMessageTooLongText):
(WebCore::validationMessageTypeMismatchText):
(WebCore::validationMessageTypeMismatchForEmailText):
(WebCore::validationMessageTypeMismatchForMultipleEmailText):
(WebCore::validationMessageTypeMismatchForURLText):
(WebCore::validationMessageValueMissingText):
(WebCore::validationMessageValueMissingForCheckboxText):
(WebCore::validationMessageValueMissingForFileText):
(WebCore::validationMessageValueMissingForMultipleFileText):
(WebCore::validationMessageValueMissingForRadioText):
(WebCore::validationMessageValueMissingForSelectText):
(WebCore::validationMessageBadInputForNumberText):
(WebCore::missingPluginText):
(WebCore::AXMenuListPopupActionVerb):
(WebCore::AXMenuListActionVerb):
(WebCore::multipleFileUploadText):
(WebCore::crashedPluginText):
(WebCore::blockedPluginByContentSecurityPolicyText):
(WebCore::insecurePluginVersionText):
(WebCore::inactivePluginText):
(WebCore::unacceptableTLSCertificate):
(WebCore::textTrackClosedCaptionsText):
(WebCore::textTrackSubtitlesText):
(WebCore::textTrackOffMenuItemText):
(WebCore::textTrackAutomaticMenuItemText):
(WebCore::textTrackNoLabelText):
(WebCore::snapshottedPlugInLabelTitle):
(WebCore::snapshottedPlugInLabelSubtitle):

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

Use unsigned consistently, and check for invalid casts when calling into SharedBuffer from other code.
https://bugs.webkit.org/show_bug.cgi?id=124579

Patch by László Langó <lango@inf.u-szeged.hu> on 2014-01-06
Reviewed by Anders Carlsson.

Source/WebCore:

  • WebCore.exp.in:
  • loader/NetscapePlugInStreamLoader.cpp:

(WebCore::NetscapePlugInStreamLoader::didReceiveData):

  • loader/NetscapePlugInStreamLoader.h:
  • loader/PingLoader.h:
  • loader/ResourceBuffer.cpp:

(WebCore::ResourceBuffer::ResourceBuffer):

  • loader/ResourceBuffer.h:

(WebCore::ResourceBuffer::create):

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::addDataOrBuffer):
(WebCore::ResourceLoader::didReceiveData):
(WebCore::ResourceLoader::didReceiveDataOrBuffer):
(WebCore::ResourceLoader::willStopBufferingData):

  • loader/ResourceLoader.h:
  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveData):

  • loader/SubresourceLoader.h:
  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::didReceiveData):

  • loader/appcache/ApplicationCacheGroup.h:
  • loader/mac/ResourceLoaderMac.mm:

(WebCore::ResourceLoader::didReceiveDataArray):

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::SharedBuffer):

  • platform/SharedBuffer.h:

(WebCore::SharedBuffer::create):

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(ResourceHandleStreamingClient::didReceiveData):

  • platform/network/BlobResourceHandle.cpp:
  • platform/network/ResourceHandleClient.h:

(WebCore::ResourceHandleClient::didReceiveData):
(WebCore::ResourceHandleClient::willStopBufferingData):

  • platform/network/SynchronousLoaderClient.cpp:

(WebCore::SynchronousLoaderClient::didReceiveData):

  • platform/network/SynchronousLoaderClient.h:
  • platform/network/blackberry/BlobStream.cpp:

(WebCore::BlobStream::didReceiveData):

  • platform/network/blackberry/BlobStream.h:
  • platform/network/blackberry/ResourceHandleBlackBerry.cpp:

(WebCore::WebCoreSynchronousLoader::didReceiveData):

  • platform/network/curl/ResourceHandleCurl.cpp:

(WebCore::WebCoreSynchronousLoader::didReceiveData):

  • platform/network/mac/WebCoreResourceHandleAsDelegate.mm:

(-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]):

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willStopBufferingData:]):

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::WebCoreSynchronousLoader::didReceiveData):

  • platform/network/win/ResourceHandleWin.cpp:

(WebCore::WebCoreSynchronousLoader::didReceiveData):

Source/WebKit/gtk:

  • webkit/webkitdownload.cpp:

(DownloadClient::didReceiveData):

Source/WebKit/win:

  • WebKitDLL.cpp:

(loadResourceIntoBuffer):

Source/WebKit2:

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didReceiveData):
(WebKit::NetworkResourceLoader::willStopBufferingData):

  • NetworkProcess/NetworkResourceLoader.h:
  • Shared/Downloads/soup/DownloadSoup.cpp:

(WebKit::DownloadClient::didReceiveData):

2:39 AM Changeset in webkit [161337] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

RenderBlock::clone() should return RenderPtr.
<https://webkit.org/b/126513>

Reviewed by Antti Koivisto.

  • rendering/RenderBlock.h:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::clone):

Tweaked to return RenderPtr<RenderBlock>.

(WebCore::RenderBlock::splitBlocks):

Store cloned RenderBlocks in RenderPtrs. Use leakPtr() to sink
them into ownership-taking APIs that still use raw pointers.

  • rendering/RenderPtr.h:

Add a simple static_pointer_cast for RenderPtr&&.

1:49 AM Changeset in webkit [161336] by akling@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Fix ChangeLog authors that got mixed up in last commit.

1:47 AM Changeset in webkit [161335] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

RenderInline::clone() should return RenderPtr.
<https://webkit.org/b/126514>

Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2014-01-06
Reviewed by Antti Koivisto.

  • rendering/RenderInline.h:
  • rendering/RenderInline.cpp:

(WebCore::RenderInline::clone):

Tweaked to return RenderPtr<RenderInline>.

(WebCore::RenderInline::splitInlines):

Store cloned RenderInlines in RenderPtrs. Use leakPtr() to sink
them into ownership-taking APIs that still use raw pointers.

1:04 AM Changeset in webkit [161334] by commit-queue@webkit.org
  • 3 edits
    3 adds in trunk

<hr> appears gray instead of green because of color attribute is defined followed by noshade attribute
https://bugs.webkit.org/show_bug.cgi?id=17674

Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2014-01-06
Reviewed by Simon Fraser.

Source/WebCore:

The noshade attribute is a boolean attribute and when set on hr element
it shows a gray color. When there is color attribute the default gray
color should be replaced by the color mentioned by the color attribute.
Firefox and IE show the same behaviour but Webkit is different. Making
the behaviour of Webkit similiar to Firefox and IE's behaviour.

Test: fast/dom/HTMLHrElement/hr-color-noshade-attribute.html

  • html/HTMLHRElement.cpp:

(WebCore::HTMLHRElement::collectStyleForPresentationAttribute):
When the color attribute is present that value is applied and the
default gray color is ignored. Incase of no color attribute the default
gray color is applied.

LayoutTests:

  • fast/dom/HTMLHrElement: Added.
  • fast/dom/HTMLHrElement/hr-color-noshade-attribute-expected.txt: Added.
  • fast/dom/HTMLHrElement/hr-color-noshade-attribute.html: Added.

Added new test cases to test the functionality of noshade and color
attribute of hr element when color attribute is present along with
noshade attribute, invalid color attribute and color noshade attributes
added via javascript.

12:56 AM Changeset in webkit [161333] by zandobersek@gmail.com
  • 2 edits in trunk

[GTK] Use libc++ for C++11 on darwin
https://bugs.webkit.org/show_bug.cgi?id=126325

Reviewed by Martin Robinson.

  • Source/autotools/SetupCompilerFlags.m4: Don't default to libstdc++ when compiling with Clang.

Instead, the compiler should determine itself what standard library to use, except on Darwin,
where libc++ should be enforced. The standard library of user's choosing can still be enforced
through the CXXFLAGS environment variable.

12:15 AM Changeset in webkit [161332] by mrowe@apple.com
  • 13 edits
    2 adds in trunk/Source

<https://webkit.org/b/126499> Move WebKit off the legacy WebKit availability macros

The legacy WebKit availability macros are verbose, confusing, and provide no benefit
over using the system availability macros directly. The original vision was that
they'd serve a cross-platform purpose but that never came to be.

Since WebKit1 is API on OS X but SPI on iOS, some indirection is still needed in the
availability macros to allow the headers to advertise the API as unavailable on OS X
without interfering with the ability to build on iOS. This is achieved by defining
WEBKIT-prefixed versions of the Foundation availability macros that are defined to
their NS-prefixed equivalents. The installed headers are post-processed to map these
macros back to their Foundation equivalents.

Part of <rdar://problem/15512304>.

Source/WebCore:

Reviewed by Sam Weinig.

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/WebKitAvailability.h: Added. This lives at the WebCore level since it

will be needed by the Objective-C DOM bindings.

Source/WebKit:

Reviewed by Sam Weinig.

  • WebKit.xcodeproj/project.pbxproj: Change the Postprocess Headers build phase to

invoke mac/postprocess-headers.sh.

Source/WebKit/mac:

The OS X version used in the new availability macros is based on the mapping in
JavaScriptCore/WebKitAvailability.h.

Reviewed by Sam Weinig.

  • Carbon/CarbonUtils.h:
  • Carbon/HIWebView.h:
  • MigrateHeaders.make: Migrate WebKitAvailability.h from WebCore as an API header.
  • Plugins/WebPlugin.h:
  • Plugins/WebPluginViewFactory.h:
  • WebView/WebFrameLoadDelegate.h:
  • WebView/WebResourceLoadDelegatePrivate.h:
  • WebView/WebUIDelegate.h:
  • postprocess-headers.sh: Added. Extracted from the Xcode project. Extended to map the

WEBKIT-prefixed macros to their NS-prefixed equivalents on OS X and to remove them on iOS.

Jan 5, 2014:

11:54 PM Changeset in webkit [161331] by jinwoo7.song@samsung.com
  • 4 edits in trunk/Source/WebKit/efl

[EFL] Fix failing WebKit1 API test of ewk_view_setting_tiled_backing_store
https://bugs.webkit.org/show_bug.cgi?id=126509

Reviewed by Gyuyoung Kim.

In WebKit1 EFL port, unit test was using a webview based on tiled backing store,
so ewk_view_setting_tiled_backing_store_enabled_set() was set as true as default.
As we do not need to use tiled backing store, we disable tiled backing store
and remove unnecessary EwkViewType in unit test webview.

  • tests/UnitTestUtils/EWKTestView.cpp:

(EWKUnitTests::EWKTestView::init):

  • tests/UnitTestUtils/EWKTestView.h:
  • tests/test_ewk_view.cpp: Fix wrong comment in the unit test.
8:18 PM Changeset in webkit [161330] by weinig@apple.com
  • 6 edits in trunk

[JS] Implement Promise.race()
https://bugs.webkit.org/show_bug.cgi?id=126506

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

  • runtime/CommonIdentifiers.h:

Add identifier for "cast".

  • runtime/JSPromiseConstructor.cpp:

(JSC::abruptRejection):
Helper for the RejectIfAbrupt abstract operation.

(JSC::JSPromiseConstructorFuncRace):
Add implementation of Promise.race()

LayoutTests:

Enabled and fix the existing Promise.race() test case.

  • Promise.race() and Promise.race({}) should reject by my reading of the spec.
  • js/dom/Promise-static-race-expected.txt:
  • js/dom/Promise-static-race.html:
8:09 PM Changeset in webkit [161329] by Simon Fraser
  • 3 edits in trunk/Source/WebKit2

Add encoding of ViewportConstraint and ScrollingParameter types
https://bugs.webkit.org/show_bug.cgi?id=126497

Reviewed by Andreas Kling.

Add encoding/decoding of ScrollableAreaParameters, FixedPositionViewportConstraints
and StickyPositionViewportConstraints.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<WebCore::ScrollableAreaParameters>::encode):
(IPC::ArgumentCoder<WebCore::ScrollableAreaParameters>::decode):
(IPC::ArgumentCoder<WebCore::FixedPositionViewportConstraints>::encode):
(IPC::ArgumentCoder<WebCore::FixedPositionViewportConstraints>::decode):
(IPC::ArgumentCoder<WebCore::StickyPositionViewportConstraints>::encode):
(IPC::ArgumentCoder<WebCore::StickyPositionViewportConstraints>::decode):

  • Shared/WebCoreArgumentCoders.h:
8:09 PM Changeset in webkit [161328] by Martin Robinson
  • 3 edits in trunk/Tools

[GTK][CMake] Add support for building the GTK+ port with cmake to build-webkit
https://bugs.webkit.org/show_bug.cgi?id=126212

Reviewed by Daniel Bates.

Allow building the GTK+ cmake port with --gtkcmake.

  • Scripts/build-webkit: Use the new isGtkCMake function to head down the CMake path

when appropriate. Skip the autotoos path when isGtkAutotools is false.

  • Scripts/webkitdirs.pm: Add an isGtkCMake path in addition to the newly renamed isGtkAutotools.
Add isGtk which checks isGtkCMake
isGtkAutotools

(determineArchitecture): Use the CMake path for GTK+ when appropriate.
(argumentsForConfiguration): use --gtkcmake when appropriate.
(jscProductDir): Look in the CMake directory when appropriate.
(builtDylibPathForName): CMake builds the library into a different directory, so handle that.
(determineIsGtkCMake): Added.
(isGtkCMake): Added.
(isGtkAutotools): Renamed from isGtk.

(isGtk): New function which returns isGtkAutotools
isGtkCMake.

(determineIsGtkAutotools): Renamed from determineIsGtk.
(cmakeBasedPortName): Added a GTK+ path.

8:08 PM Changeset in webkit [161327] by Simon Fraser
  • 17 edits
    1 move in trunk/Source

Move responsibility for remote layer tree committing to RemoteLayerTreeDrawingArea
https://bugs.webkit.org/show_bug.cgi?id=126501

Source/WebCore:

Reviewed by Sam Weinig.

Add type-safe casting to GraphicsLayer.

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::isGraphicsLayerCA):
(WebCore::GraphicsLayer::isGraphicsLayerCARemote):

  • platform/graphics/ca/GraphicsLayerCA.h:

(WebCore::GraphicsLayerCA::isGraphicsLayerCA):

Source/WebKit2:

Reviewed by Sam Weinig.

Soon we shall need to do atomic commits of both the remote layer tree, and
the remote scrolling tree. Pave the way by moving responsibility for remote
layer tree committing to RemoteLayerTreeDrawingArea.

So move the flushing logic from RemoteLayerTreeHost to RemoteLayerTreeDrawingArea.
After this change, RemoteLayerTreeHost doesn't do much and could possibly be
removed in future.

Also add type-safe casting to GraphicsLayer and DrawingArea.

  • DerivedSources.make: Out with RemoteLayerTreeHost, in with RemoteLayerTreeDrawingAreaProxy
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:

(WebKit::RemoteLayerTreeDrawingAreaProxy::remoteLayerTreeHost):

  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.messages.in: Renamed from Source/WebKit2/UIProcess/mac/RemoteLayerTreeHost.messages.in.
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy): Add message receiver.
(WebKit::RemoteLayerTreeDrawingAreaProxy::~RemoteLayerTreeDrawingAreaProxy): Remove message receiver.
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree): Hand the transaction off to the layer
tree host.

  • UIProcess/mac/RemoteLayerTreeHost.h:
  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost): No longer a message receiver.
(WebKit::RemoteLayerTreeHost::~RemoteLayerTreeHost):
(WebKit::RemoteLayerTreeHost::updateLayerTree):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::type):

  • WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:

(WebKit::RemoteLayerTreeContext::RemoteLayerTreeContext):
(WebKit::RemoteLayerTreeContext::flushOutOfTreeLayers):
(WebKit::RemoteLayerTreeContext::buildTransaction):

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
(WebKit::RemoteLayerTreeDrawingArea::setLayerTreeStateIsFrozen):
(WebKit::RemoteLayerTreeDrawingArea::forceRepaint):
(WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):
(WebKit::RemoteLayerTreeDrawingArea::layerFlushTimerFired):
(WebKit::RemoteLayerTreeDrawingArea::flushLayers):

5:29 PM Changeset in webkit [161326] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: ARM64 Fix other prologue and epilogue macros in LLInt
https://bugs.webkit.org/show_bug.cgi?id=126507

Reviewed by Mark Lam.

Fixed preserveCallerPCAndCFR() and restoreCallerPCAndCFR() for ARM64. Fixed
functionPrologue() so that the new callframe is set up from the stack pointer.

  • llint/LowLevelInterpreter.asm:
4:25 PM Changeset in webkit [161325] by Martin Robinson
  • 13 edits in trunk

[GTK] [CMake] Ensure that the autotools build and the CMake install the same files
https://bugs.webkit.org/show_bug.cgi?id=116379

Reviewed by Gustavo Noronha Silva.

.:

  • Source/PlatformGTK.cmake: Install the documentation.
  • Source/cmake/OptionsCommon.cmake: Add a LIBEXEC variable for WebKit2 executables, and

don't use the default locations on GTK+. We will get them from the CMake-provided GNU installation
variables.

  • Source/cmake/OptionsGTK.cmake: Setup the installation variables using the ones provided

by CMake's GNU installation directory support. Fix the definition of DATADIR. Always install
the jsc binary.

Source/JavaScriptCore:

  • PlatformGTK.cmake: Install API headers, gir files, and the pkg-config file.

Source/WebCore:

  • PlatformGTK.cmake: Reformat some install directives to be consistent with the rest of them.

Install the GObject DOM bindings headers.

Source/WebKit:

  • PlatformGTK.cmake: Install API headers, gir files, and the pkg-config file. Move

a couple installed and generated headers to the installed headers list.

Source/WebKit2:

  • CMakeLists.txt: Install the plugin process to the new LIBEXEC directory, which

for non-GTK+ platforms is the same as EXEC.

  • PlatformGTK.cmake: Install API headers, gir files, and the pkg-config file. Move

a couple installed and generated headers to the installed headers list. Rename the
headers list to be consistent with the WebKit1 build. No longer use a variable for
the name of the plugin process, as it's unnecessary.

11:17 AM Changeset in webkit [161324] by Gustavo Noronha Silva
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[GTK] Updated Dutch translation
https://bugs.webkit.org/show_bug.cgi?id=126365

Patch by Reinout van Schouwen <reinouts@gnome.org> on 2014-01-05
Reviewed by Gustavo Noronha.

  • nl.po: Updated.
3:45 AM Changeset in webkit [161323] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Use lineageOfType to simplify two rendering helpers.
<https://webkit.org/b/126498>

Reviewed by Antti Koivisto.

  • rendering/RenderRuby.cpp:

(WebCore::findRubyRunParent):

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::findTreeRootObject):

Simplify two functions that walk their parent chain to find the
closest ancestor of a certain type.

  • rendering/RenderRubyRun.h:

Add requisite isRendererOfType<RenderRubyRun>().

2:34 AM Changeset in webkit [161322] by Carlos Garcia Campos
  • 5 edits in trunk

[GTK] Stop installing WebKit2 C API headers
https://bugs.webkit.org/show_bug.cgi?id=126489

Reviewed by Martin Robinson.

.:

  • GNUmakefile.am:

Source/WebKit2:

We are not actually maintaining the API/ABI compatibility of the
WebKit2 C API, it's only used internally by the public GTK+ API
and nobody is using it.

  • GNUmakefile.am:
  • GNUmakefile.list.am:
1:46 AM Changeset in webkit [161321] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix the Mac build too.

  • page/PageThrottler.h:
1:27 AM Changeset in webkit [161320] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Weekend URTBF after r161319 to make non Mac builds work again.

  • page/PageThrottler.h:
12:28 AM Changeset in webkit [161319] by barraclough@apple.com
  • 13 edits in trunk/Source

Move process suppression of WebProcess to Page (from UIProcess)
https://bugs.webkit.org/show_bug.cgi?id=126480

Reviewed by Sam Weinig.

Let each page take a UserActivity rather than having to coalesce this state, and take different activity
tokens for normal visibility and suppression disabled, so we can see why the process is not suppressed.

Source/WebCore:

  • WebCore.exp.in:
  • page/Page.cpp:

(WebCore::Page::setIsVisuallyIdle):

  • page/Page.h:
    • setThrottled -> setIsVisuallyIdle.
  • page/PageThrottler.cpp:

(WebCore::PageThrottler::PageThrottler):

  • Initialize m_visuallyNonIdle.

(WebCore::PageThrottler::~PageThrottler):

  • setThrottled -> setIsVisuallyIdle.

(WebCore::PageThrottler::setIsVisuallyIdle):

  • Use m_visuallyNonIdle to disable supression when the page is not visually idle.
  • page/PageThrottler.h:
    • setThrottled -> setIsVisuallyIdle, added m_visuallyNonIdle.

Source/WebKit2:

  • Shared/mac/ChildProcessMac.mm:

(WebKit::ChildProcess::platformInitialize):

  • Don't start with process supression disabled; this is unnecessary, message from the UIProcess should wake.
  • UIProcess/mac/WebProcessProxyMac.mm:

(WebKit::WebProcessProxy::updateProcessSuppressionState):

  • Don't send explicit messages to supress the WebProcess, it handles this for itself.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

  • call setIsVisuallyIdle.

(WebKit::WebPage::setViewState):

  • call setIsVisuallyIdle.

(WebKit::WebPage::updatePreferences):

  • Use m_suppressionDisabled to disable supression if the WebPreference is set.

(WebKit::WebPage::setIsVisuallyIdle):

  • setThrottled -> setIsVisuallyIdle.
  • WebProcess/WebPage/WebPage.h:
    • setThrottled -> setIsVisuallyIdle, added m_suppressionDisabled.
  • WebProcess/WebProcess.cpp:
  • WebProcess/WebProcess.h:

(WebKit::WebProcess::shouldForceScreenFontSubstitution):

  • Removed setProcessSuppressionEnabled - WebPage now detects the supression change.

Jan 4, 2014:

11:29 PM Changeset in webkit [161318] by msaboff@apple.com
  • 6 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: ARM64 needs push/pop pair macro assembler instructions
https://bugs.webkit.org/show_bug.cgi?id=126474

Reviewed by Mark Lam.

Added templated ldp() and stp() instruction generators to the ARM64 assembler.
Added popPair() and pushPair() to the ARM64 macro assembler. Added ARM64
version of emitFunctionPrologue() and emitFunctionEpilogue() to AssemblyHelpers.h
that use the pushPair() and popPair() macro instructions. Added disassembler support
for the newly added load/store pair instructions.

Verified that we correctly generate the new instructions and that they disassemble
the same as what the debugger shows.

  • assembler/ARM64Assembler.h:

(JSC::isInt7):
(JSC::isInt11):
(JSC::PairPostIndex::PairPostIndex):
(JSC::PairPostIndex::operator int):
(JSC::PairPreIndex::PairPreIndex):
(JSC::PairPreIndex::operator int):
(JSC::ARM64Assembler::memPairOffsetShift):
(JSC::ARM64Assembler::ldp):
(JSC::ARM64Assembler::stp):
(JSC::ARM64Assembler::loadStoreRegisterPairPostIndex):
(JSC::ARM64Assembler::loadStoreRegisterPairPreIndex):

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::popPair):
(JSC::MacroAssemblerARM64::pushPair):

  • disassembler/ARM64/A64DOpcode.cpp:

(JSC::ARM64Disassembler::A64DOpcode::appendRegisterName):
(JSC::ARM64Disassembler::A64DOpcodeLoadStoreRegisterPair::opName):
(JSC::ARM64Disassembler::A64DOpcodeLoadStoreRegisterPair::format):

  • disassembler/ARM64/A64DOpcode.h:

(JSC::ARM64Disassembler::A64DOpcodeLoadStoreRegisterPair::rt2):
(JSC::ARM64Disassembler::A64DOpcodeLoadStoreRegisterPair::immediate7):
(JSC::ARM64Disassembler::A64DOpcodeLoadStoreRegisterPair::offsetMode):
(JSC::ARM64Disassembler::A64DOpcodeLoadStoreRegisterPair::lBit):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::emitFunctionPrologue):
(JSC::AssemblyHelpers::emitFunctionEpilogue):

6:15 PM Changeset in webkit [161317] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Use Compiler macros instead of raw "final" and "override"
https://bugs.webkit.org/show_bug.cgi?id=126490

Patch by Yusuke Suzuki <Yusuke Suzuki> on 2014-01-04
Reviewed by Sam Weinig.

  • runtime/JSPromiseReaction.cpp:
4:28 PM Changeset in webkit [161316] by weinig@apple.com
  • 4 edits in trunk/Source/WebCore

Move a few more functions from RenderBlock to RenderBlockFlow
https://bugs.webkit.org/show_bug.cgi?id=126494

Reviewed by Andreas Kling.

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::adjustInlineDirectionLineBounds):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::textAlignmentForLine):
(WebCore::RenderBlockFlow::updateLogicalWidthForAlignment):
(WebCore::RenderBlockFlow::startAlignedOffsetForLine):
These are only used by RenderBlockFlow, so move them there.

1:48 PM Changeset in webkit [161315] by Simon Fraser
  • 9 edits in trunk/Source/WebCore

Prepare the ScrollingTree for remote use
https://bugs.webkit.org/show_bug.cgi?id=126493

Reviewed by Sam Weinig.

When committing the scrolling tree, we clone the ScrollingStateTree
to hand off to another thread, or (in future) to encode to send to the
UI process. During this cloning process, two types of layer transformations
take place: for threaded scrolling, we replace GraphicsLayer with PlatformLayers.
For remote scrolling, we'll replace GraphicsLayers with PlatformLayerIDs.
Allow the ScrollingCoordinator to specify which type of transformation occurs
by giving ScrollingStateTree a LayerRepresentation::Type member,
which is consulted during ScrollingStateNode cloning.

Also only copy layers that have changed to avoid setting dirty bits.

Expose some other stuff on ScrollingStateTree which will be needed for
remote scrolling.

  • page/scrolling/ScrollingStateFixedNode.cpp:

(WebCore::ScrollingStateFixedNode::syncLayerPositionForViewportRect):

  • page/scrolling/ScrollingStateNode.cpp:

(WebCore::ScrollingStateNode::ScrollingStateNode):

  • page/scrolling/ScrollingStateNode.h:

(WebCore::LayerRepresentation::operator GraphicsLayer::PlatformLayerID):
(WebCore::LayerRepresentation::toRepresentation):
(WebCore::ScrollingStateNode::changedProperties):
(WebCore::ScrollingStateNode::setChangedProperties):
(WebCore::ScrollingStateNode::parentNodeID):

  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):

  • page/scrolling/ScrollingStateStickyNode.cpp:

(WebCore::ScrollingStateStickyNode::syncLayerPositionForViewportRect):

  • page/scrolling/ScrollingStateTree.cpp:

(WebCore::ScrollingStateTree::ScrollingStateTree):
(WebCore::ScrollingStateTree::commit):
(WebCore::ScrollingStateTree::setRemovedNodes):
(WebCore::ScrollingStateTree::stateNodeForID):

  • page/scrolling/ScrollingStateTree.h:

(WebCore::ScrollingStateTree::nodeCount):
(WebCore::ScrollingStateTree::nodeMap):
(WebCore::ScrollingStateTree::preferredLayerRepresentation):
(WebCore::ScrollingStateTree::setPreferredLayerRepresentation):

  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::commitTreeState):

12:53 PM Changeset in webkit [161314] by weinig@apple.com
  • 6 edits in trunk/Source/WebCore

Move LineBreaker functions to LineBreaker.cpp
https://bugs.webkit.org/show_bug.cgi?id=126491

Reviewed by Simon Fraser.

  • Moves LineBreaker::nextLineBreak() and LineBreaker::nextSegmentBreak() to LineBreaker.cpp from RenderBlockLineLayout.cpp
  • Moves requiresIndent() to LineWidth.h/cpp from RenderBlockLineLayout.cpp so it can be shared.
  • Adds missing inline specifier to BreakingContext::handleEndOfLine() to avoid duplicate symbols.
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::updateLogicalInlinePositions):
(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleEndOfLine):

  • rendering/line/LineBreaker.cpp:

(WebCore::LineBreaker::nextLineBreak):
(WebCore::LineBreaker::nextSegmentBreak):

  • rendering/line/LineWidth.cpp:

(WebCore::requiresIndent):

  • rendering/line/LineWidth.h:
10:31 AM Changeset in webkit [161313] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: ARM64 add of stack pointer not valid as second source operand
https://bugs.webkit.org/show_bug.cgi?id=126486

Reviewed by Mark Lam.

Swap the source operands in add64() if the second argument is the stack pointer
to work around ARM64 limitations for using the stack pointer as a second source operand.

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::add64):

10:30 AM Changeset in webkit [161312] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: slowPathFor() should emit an epilogue instead of popping the callFrameRegister
https://bugs.webkit.org/show_bug.cgi?id=126478

Reviewed by Mark Lam.

Changed the pop(callFrameRegister) to emitFunctionEpilogue().

  • jit/ThunkGenerators.cpp:

(JSC::slowPathFor):

9:46 AM Changeset in webkit [161311] by Martin Robinson
  • 8 edits
    1 add in trunk

[GTK] [CMake] Improve the way we locate gobject-introspection
https://bugs.webkit.org/show_bug.cgi?id=126452

Reviewed by Philippe Normand.

.:

  • Source/cmake/FindGObjectIntrospection.cmake: Added.
  • Source/cmake/OptionsGTK.cmake: Load the new FindGObjectIntrospection file.

Source/JavaScriptCore:

  • PlatformGTK.cmake: Use the new introspection variables.

Source/WebKit:

  • PlatformGTK.cmake: Use the new introspection variables.

Source/WebKit2:

  • PlatformGTK.cmake: Use the new introspection variables.
9:44 AM Changeset in webkit [161310] by Martin Robinson
  • 6 edits in trunk

[GTK] [CMake] Fix the video and audio build
https://bugs.webkit.org/show_bug.cgi?id=126464

Reviewed by Philippe Normand.

.:

  • Source/cmake/OptionsGTK.cmake: GStreamer files look for USE(GSTREAMER) and USE(WEBAUDIO_GSTREAMER),

so define those when appropriate. Web audio is one by default in autotools, so turn it on for cmake
as well.

Source/WebCore:

  • PlatformGTK.cmake: Complete the audio and video source lists.

Tools:

  • GtkLauncher/CMakeLists.txt: Add GStreamer includes and libraries, since GtkLauncher uses it.
9:26 AM Changeset in webkit [161309] by zandobersek@gmail.com
  • 65 edits in trunk/Source

Explicitly use the std:: nested name specifier when using std::pair, std::make_pair
https://bugs.webkit.org/show_bug.cgi?id=126439

Reviewed by Andreas Kling.

Source/JavaScriptCore:

Instead of relying on std::pair and std::make_pair symbols being present in the current scope
through the pair and make_pair symbols, the std:: specifier should be used explicitly.

  • bytecode/Opcode.cpp:

(JSC::compareOpcodePairIndices):
(JSC::OpcodeStats::~OpcodeStats):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::makeBinaryNode):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseIfStatement):

  • runtime/Structure.cpp:

(JSC::StructureTransitionTable::contains):
(JSC::StructureTransitionTable::get):
(JSC::StructureTransitionTable::add):

Source/WebCore:

Instead of relying on std::pair and std::make_pair symbols being present in the current scope
through the pair and make_pair symbols, the std:: specifier should be used explicitly.

  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):

  • accessibility/AXObjectCache.h:
  • accessibility/AccessibilityARIAGridCell.cpp:

(WebCore::AccessibilityARIAGridCell::rowIndexRange):
(WebCore::AccessibilityARIAGridCell::columnIndexRange):

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

(WebCore::AccessibilityRenderObject::mathPrescripts):
(WebCore::AccessibilityRenderObject::mathPostscripts):

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::cellForColumnAndRow):

  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::rowIndexRange):
(WebCore::AccessibilityTableCell::columnIndexRange):

  • accessibility/AccessibilityTableCell.h:
  • accessibility/atk/WebKitAccessibleInterfaceTable.cpp:

(webkitAccessibleTableGetColumnAtIndex):
(webkitAccessibleTableGetRowAtIndex):
(webkitAccessibleTableGetColumnExtentAt):
(webkitAccessibleTableGetRowExtentAt):
(webkitAccessibleTableGetColumnHeader):
(webkitAccessibleTableGetRowHeader):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityHeaderElements]):
(-[WebAccessibilityObjectWrapper accessibilityRowRange]):
(-[WebAccessibilityObjectWrapper accessibilityColumnRange]):

  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

(convertMathPairsToNSArray):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

  • bindings/js/SerializedScriptValue.cpp:
  • dom/ContainerNode.cpp:
  • dom/StyledElement.cpp:

(WebCore::attributeNameSort):

  • html/MediaFragmentURIParser.cpp:

(WebCore::MediaFragmentURIParser::parseTimeFragment):

  • html/parser/HTMLMetaCharsetParser.h:
  • inspector/ContentSearchUtils.cpp:

(WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
(WebCore::ContentSearchUtils::searchInTextByLines):

  • inspector/DOMPatchSupport.cpp:

(WebCore::DOMPatchSupport::diff):
(WebCore::DOMPatchSupport::innerPatchChildren):

  • inspector/DOMPatchSupport.h:
  • inspector/InspectorAgent.cpp:

(WebCore::InspectorAgent::enable):
(WebCore::InspectorAgent::evaluateForTestInFrontend):

  • inspector/InspectorAgent.h:
  • loader/FormSubmission.cpp:

(WebCore::FormSubmission::create):

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::brokenImage):

  • loader/cache/CachedImage.h:
  • platform/URL.cpp:

(WebCore::findHostnamesInMailToURL):
(WebCore::encodeHostnames):

  • platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::getCachedFontData):

  • platform/graphics/WidthIterator.cpp:
  • platform/network/HTTPHeaderMap.cpp:

(WebCore::HTTPHeaderMap::adopt):

  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::parseCacheControlDirectives):
(WebCore::parseCacheHeader):

  • platform/text/AtomicStringKeyedMRUCache.h:
  • platform/text/LineBreakIteratorPoolICU.h:
  • rendering/InlineFlowBox.h:
  • rendering/RenderImage.cpp:

(WebCore::RenderImage::imageSizeForError):
(WebCore::RenderImage::paintReplaced):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::cachedCollapsedBorder):

  • rendering/RenderTableSection.h:
  • rendering/svg/SVGTextRunRenderingContext.cpp:

(WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):

  • svg/SVGAnimatedAngle.cpp:

(WebCore::SVGAnimatedAngleAnimator::constructFromString):
(WebCore::SVGAnimatedAngleAnimator::addAnimatedTypes):
(WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedIntegerOptionalInteger.cpp:

(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::constructFromString):
(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::addAnimatedTypes):
(WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedNumberOptionalNumber.cpp:

(WebCore::SVGAnimatedNumberOptionalNumberAnimator::constructFromString):
(WebCore::SVGAnimatedNumberOptionalNumberAnimator::addAnimatedTypes):
(WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedType.cpp:

(WebCore::SVGAnimatedType::createIntegerOptionalInteger):
(WebCore::SVGAnimatedType::createNumberOptionalNumber):

  • svg/SVGAnimatedType.h:

(WebCore::SVGAnimatedType::integerOptionalInteger):
(WebCore::SVGAnimatedType::numberOptionalNumber):

  • svg/SVGAnimatedTypeAnimator.h:

(WebCore::SVGAnimatedTypeAnimator::constructFromBaseValues):
(WebCore::SVGAnimatedTypeAnimator::resetFromBaseValues):

  • svg/SVGParserUtilities.h:
  • svg/animation/SMILTimeContainer.h:

Source/WebKit/mac:

Instead of relying on std::pair and std::make_pair symbols being present in the current scope
through the pair and make_pair symbols, the std:: specifier should be used explicitly.

  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::retain):
(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::release):
(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):

Source/WebKit2:

Instead of relying on std::pair and std::make_pair symbols being present in the current scope
through the pair and make_pair symbols, the std:: specifier should be used explicitly.

  • Shared/mac/ArgumentCodersMac.mm:

(IPC::encode):

  • UIProcess/Notifications/WebNotificationManagerProxy.cpp:

(WebKit::WebNotificationManagerProxy::show):
(WebKit::WebNotificationManagerProxy::cancel):
(WebKit::WebNotificationManagerProxy::didDestroyNotification):

  • UIProcess/Notifications/WebNotificationManagerProxy.h:
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::createNewWebProcess):

  • UIProcess/WebContext.h:

Source/WTF:

  • wtf/VectorTraits.h: Stop bringing std::pair into the current scope.

Jan 3, 2014:

11:43 PM Changeset in webkit [161308] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Attempt to fix EFL build.

  • page/scrolling/ScrollingStateTree.cpp:

(WebCore::ScrollingStateTree::setHasChangedProperties):

8:59 PM Changeset in webkit [161307] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebKit2

Build brake after 161045 on EFL port with WebKit2 and gcc 4.6.3
https://bugs.webkit.org/show_bug.cgi?id=126383

Patch by Piotr Grad <p.grad@samsung.com> on 2014-01-03
Reviewed by Sam Weinig.

Class identifier was missing.

  • DatabaseProcess/DatabaseProcess.h:
  • NetworkProcess/NetworkProcess.h:
  • PluginProcess/PluginProcess.h:
  • Shared/mac/CookieStorageShim.h:
  • UIProcess/Plugins/PluginProcessManager.h:
  • UIProcess/WebPageProxy.cpp:
  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  • WebProcess/WebProcess.h:
7:55 PM Changeset in webkit [161306] by Simon Fraser
  • 12 edits in trunk/Source/WebCore

Clean up the means of committing the scrolling state tree
https://bugs.webkit.org/show_bug.cgi?id=126482

Reviewed by Tim Horton.

ScrollingStateNodes would manually call scrollingStateTree().setHasChangedProperties()
after setPropertyChanged() in lots of places, which was repetitive, and
AsyncScrollingCoordinator manually called scheduleTreeStateCommit() in many places.

Clean up both of these with a clearer trigger for state tree commits.
ScrollingStateNodes::setPropertyChanged() calls ScrollingStateTree::setHasChangedProperties(),
which turns around and tells the ScrollingCoordinator that the state tree became dirty.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
(WebCore::AsyncScrollingCoordinator::scrollingStateTreePropertiesChanged):
(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
(WebCore::AsyncScrollingCoordinator::updateScrollingNode):
(WebCore::AsyncScrollingCoordinator::updateViewportConstrainedNode):
(WebCore::AsyncScrollingCoordinator::setScrollLayerForNode):
(WebCore::AsyncScrollingCoordinator::setCounterScrollingLayerForNode):
(WebCore::AsyncScrollingCoordinator::setHeaderLayerForNode):
(WebCore::AsyncScrollingCoordinator::setFooterLayerForNode):
(WebCore::AsyncScrollingCoordinator::setNonFastScrollableRegionForNode):
(WebCore::AsyncScrollingCoordinator::setWheelEventHandlerCountForNode):
(WebCore::AsyncScrollingCoordinator::setScrollBehaviorForFixedElementsForNode):
(WebCore::AsyncScrollingCoordinator::setScrollbarPaintersFromScrollbarsForNode):
(WebCore::AsyncScrollingCoordinator::setSynchronousScrollingReasons):

  • page/scrolling/AsyncScrollingCoordinator.h:
  • page/scrolling/ScrollingStateFixedNode.cpp:

(WebCore::ScrollingStateFixedNode::updateConstraints):

  • page/scrolling/ScrollingStateNode.cpp:

(WebCore::ScrollingStateNode::setPropertyChanged):
(WebCore::ScrollingStateNode::setLayer):

  • page/scrolling/ScrollingStateNode.h:
  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::setViewportRect):
(WebCore::ScrollingStateScrollingNode::setTotalContentsSize):
(WebCore::ScrollingStateScrollingNode::setScrollOrigin):
(WebCore::ScrollingStateScrollingNode::setScrollableAreaParameters):
(WebCore::ScrollingStateScrollingNode::setFrameScaleFactor):
(WebCore::ScrollingStateScrollingNode::setNonFastScrollableRegion):
(WebCore::ScrollingStateScrollingNode::setWheelEventHandlerCount):
(WebCore::ScrollingStateScrollingNode::setSynchronousScrollingReasons):
(WebCore::ScrollingStateScrollingNode::setScrollBehaviorForFixedElements):
(WebCore::ScrollingStateScrollingNode::setRequestedScrollPosition):
(WebCore::ScrollingStateScrollingNode::setHeaderHeight):
(WebCore::ScrollingStateScrollingNode::setFooterHeight):
(WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
(WebCore::ScrollingStateScrollingNode::setHeaderLayer):
(WebCore::ScrollingStateScrollingNode::setFooterLayer):

  • page/scrolling/ScrollingStateStickyNode.cpp:

(WebCore::ScrollingStateStickyNode::updateConstraints):

  • page/scrolling/ScrollingStateTree.cpp:

(WebCore::ScrollingStateTree::create):
(WebCore::ScrollingStateTree::ScrollingStateTree):
(WebCore::ScrollingStateTree::setHasChangedProperties):
(WebCore::ScrollingStateTree::didRemoveNode):

  • page/scrolling/ScrollingStateTree.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::scheduleTreeStateCommit):

  • page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:

(WebCore::ScrollingStateScrollingNode::setScrollbarPaintersFromScrollbars):

7:41 PM Changeset in webkit [161305] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Try to fix CoordinatedGraphics build after r161303. Remove implementations
which are now in the cross-platform file.

  • page/scrolling/coordinatedgraphics/ScrollingCoordinatorCoordinatedGraphics.cpp:

(WebCore::ScrollingCoordinatorCoordinatedGraphics::detachFromStateTree):
(WebCore::ScrollingCoordinatorCoordinatedGraphics::updateViewportConstrainedNode):

  • page/scrolling/coordinatedgraphics/ScrollingStateNodeCoordinatedGraphics.cpp:
  • page/scrolling/coordinatedgraphics/ScrollingStateScrollingNodeCoordinatedGraphics.cpp:
6:18 PM Changeset in webkit [161304] by dfarler@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[super dealloc] missing in Source/JavaScriptCore/API/tests/testapi.mm, fails to build with -Werror,-Wobjc-missing-super-calls
https://bugs.webkit.org/show_bug.cgi?id=126454

Reviewed by Geoffrey Garen.

  • API/tests/testapi.mm:

(-[TextXYZ dealloc]):
add [super dealloc]
(-[EvilAllocationObject dealloc]):
add [super dealloc]

6:04 PM Changeset in webkit [161303] by Simon Fraser
  • 13 edits in trunk/Source/WebCore

Simplify ScrollingStateNode references to various layer types
https://bugs.webkit.org/show_bug.cgi?id=126477

Reviewed by Tim Horton.

ScrollingStateNodes referenced both GraphicsLayer and PlatformLayers, in
confusing ways. In the main thread they have a GraphicsLayer*, but need
to check to see if the underlying PlatformLayer changed. Then, when
cloned to commit to the scrolling thread, they drop the GraphicsLayer
and store a PlatformLayer.

Hide the complexity (and prepare for the future) by adding LayerRepresentation,
which wraps various different flavors of layers, and knows how to check whether
the PlatformLayer underlying a GraphicsLayer changed.

ScrollingStateNode layer setters then just take and compare LayerRepresentations.
Copy constructors convert to a PlatformLayer representation (though not really
in the right place currently), and ScrollingTreeNodes get PlatformLayers.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::updateScrollingNode):
(WebCore::AsyncScrollingCoordinator::setScrollLayerForNode):

  • page/scrolling/ScrollingStateFixedNode.cpp:

(WebCore::ScrollingStateFixedNode::syncLayerPositionForViewportRect):

  • page/scrolling/ScrollingStateNode.cpp:

(WebCore::ScrollingStateNode::ScrollingStateNode):
(WebCore::ScrollingStateNode::setLayer):

  • page/scrolling/ScrollingStateNode.h:

(WebCore::LayerRepresentation::LayerRepresentation):
(WebCore::LayerRepresentation::operator GraphicsLayer*):
(WebCore::LayerRepresentation::operator PlatformLayer*):
(WebCore::LayerRepresentation::operator GraphicsLayer::PlatformLayerID):
(WebCore::LayerRepresentation::operator ==):
(WebCore::LayerRepresentation::toPlatformLayer):
(WebCore::LayerRepresentation::representsGraphicsLayer):
(WebCore::LayerRepresentation::representsPlatformLayer):
(WebCore::LayerRepresentation::representsPlatformLayerID):
(WebCore::ScrollingStateNode::layer):

  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
(WebCore::ScrollingStateScrollingNode::setHeaderLayer):
(WebCore::ScrollingStateScrollingNode::setFooterLayer):

  • page/scrolling/ScrollingStateScrollingNode.h:
  • page/scrolling/ScrollingStateStickyNode.cpp:

(WebCore::ScrollingStateStickyNode::syncLayerPositionForViewportRect):

  • page/scrolling/mac/ScrollingStateNodeMac.mm:
  • page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
  • page/scrolling/mac/ScrollingTreeFixedNode.mm:

(WebCore::ScrollingTreeFixedNode::updateBeforeChildren):

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):

  • page/scrolling/mac/ScrollingTreeStickyNode.mm:

(WebCore::ScrollingTreeStickyNode::updateBeforeChildren):

6:01 PM Changeset in webkit [161302] by Seokju Kwon
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix on non-Mac port

  • Shared/API/c/WKDeprecatedFunctions.cpp: Add ENABLE(MAC) guard for "WKContextPrivateMac.h".
5:57 PM Changeset in webkit [161301] by barraclough@apple.com
  • 12 edits in trunk/Source/WebKit2

Simplify process suppression state calculation
https://bugs.webkit.org/show_bug.cgi?id=126473

Reviewed by Geoffrey Garen & Sam Weinig.

Don't check the application occlusion state (this is covered by the pages already),
and let the page check visually idle. Remove layers of functions.

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::didFinishLaunching):

  • Let the network process nap if all processes in its context are napping.* (* Except not really. We currently leak a boost onto the process anyway.)
  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::didFinishLaunching):

  • Let the plugin process nap if all processes in all contexts are napping.
  • UIProcess/WebContext.h:
    • Remove canEnableProcessSuppressionForNetworkProcess & canEnableProcessSuppressionForWebProcess
    • canEnableProcessSuppressionForGlobalChildProcesses -> processSuppressionIsEnabledForAllContexts
    • combine updateProcessSuppressionStateOfChildProcesses & updateProcessSuppressionStateOfGlobalChildProcesses

-> updateProcessSuppressionState

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::isProcessSuppressible):

  • WebProcess is supressible if IsVisuallyIdle.

(WebKit::WebPageProxy::viewStateDidChange):

  • WebProcessProxy should updateProcessSuppressionState when IsVisuallyIdle changes.
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::createWebPage):
(WebKit::WebProcessProxy::addExistingWebPage):
(WebKit::WebProcessProxy::pageSuppressibilityChanged):
(WebKit::WebProcessProxy::pagePreferencesChanged):

  • pageIsProcessSuppressible -> isProcessSuppressible
  • UIProcess/WebProcessProxy.h:
  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::updateProcessSuppressionState):

  • Update supression state of network & plugin processes.

(WebKit::WebContext::processSuppressionIsEnabledForAllContexts):

  • Changed iterator style, made a static member of WebContext.
  • UIProcess/mac/WebProcessProxyMac.mm:

(WebKit::WebProcessProxy::updateProcessSuppressionState):

  • Ask the WebContext to update supression state.
  • UIProcess/mac/WindowServerConnection.h:
  • UIProcess/mac/WindowServerConnection.mm:

(WebKit::WindowServerConnection::windowServerConnectionStateChanged):
(WebKit::WindowServerConnection::WindowServerConnection):

  • Remove application occlusion state.
5:27 PM Changeset in webkit [161300] by msaboff@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

cstack Branch: ARM64 LLInt fails to compile due to instructions limitations with sp
https://bugs.webkit.org/show_bug.cgi?id=126423

Reviewed by Filip Pizlo.

Disabled the checkStackPointerAlignment macro for ARM64 since it will fault on any
improper changes to the stack pointer that result in bad alignment.

Changed uses of sp to either move into a temp register for certain operations, or
changed the order of subtract operands. The operand ordering includes branch
compare pseudo ops. In the process discovered that sanitizeStackForVM was plain
wrong and never executed the clear loop, so I fixed that while changing the operand
ordering of the compares.

The ARM64 build also complains that we are doing a compare and branch to a
non-local label so I changed branchIfException to branch around a jmp to
a possible global label.

Tested on X86-64.

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
5:20 PM Changeset in webkit [161299] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed, rolling out r161274.
http://trac.webkit.org/changeset/161274
https://bugs.webkit.org/show_bug.cgi?id=126475

Volates ECMA and WebGL Specification (Requested by bfulgham on
#webkit).

  • webgl/1.0.2/resources/webgl_test_files/conformance/typedarrays/data-view-test.html:
4:58 PM Changeset in webkit [161298] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Make emitPutToCallFrameHeaderBeforePrologue and friends work for all platforms
https://bugs.webkit.org/show_bug.cgi?id=126421

Reviewed by Filip Pizlo.

Added new helper prologueStackPointerDelta() that returns the amount the stack
pointer should be adjusted when accessing a CallFrame via the stack pointer
before the function prologue has been executed.

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::prologueStackPointerDelta):
(JSC::AssemblyHelpers::emitFunctionEpilogue):
(JSC::AssemblyHelpers::emitPutToCallFrameHeaderBeforePrologue):
(JSC::AssemblyHelpers::emitPutPayloadToCallFrameHeaderBeforePrologue):
(JSC::AssemblyHelpers::emitPutTagToCallFrameHeaderBeforePrologue):

4:52 PM Changeset in webkit [161297] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[WebGL] Blit operation from Multisample FBO to rendering FBO must ignore GL_SCISSOR test
https://bugs.webkit.org/show_bug.cgi?id=126470
<rdar://problem/15201370>

Reviewed by Dean Jackson.

Covered by webgl/1.0.2/resources/webgl_test_files/conformance/rendering/gl-scissor-test.html

  • platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:

(WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Temporarily deactivate the GL_SCISSOR
test while we do our blit, then reactivate if necessary.

4:35 PM Changeset in webkit [161296] by timothy_horton@apple.com
  • 10 edits in trunk/Source/WebKit2

[iOS] [WK2] TileController creates all tiles on first paint, making it slow and consuming lots of memory
https://bugs.webkit.org/show_bug.cgi?id=126457

Reviewed by Simon Fraser.

Instead of making all of the tiles all of the time, we should use the
view-exposed-rect mechanism to inform TileController about what portion
of the WKContentView is currently exposed by the WKScrollView.

  • UIProcess/API/ios/WKContentView.h:
  • UIProcess/API/ios/WKContentView.mm:

(-[WKContentView setViewportSize:]):
(-[WKContentView didFinishScrollTo:]):
(-[WKContentView didScrollTo:]):
Inform the WebPageProxy that our exposed rect changed.

  • UIProcess/API/ios/WKView.mm:

(-[WKView scrollViewDidScroll:]):
Inform the WKContentView that we've scrolled at all.
Rename the existing WKContentView didScrollTo: to didFinishScrollTo:,
because it is expected to only fire when a scroll lands. Add didScrollTo:,
which fires continually as scrolling progresses.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::viewExposedRectChanged):
(WebKit::WebPageProxy::exposedRectChangedTimerFired):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::viewExposedRect):

  • UIProcess/mac/WebPageProxyMac.mm:

Move view-exposed-rect stuff to WebPageProxy so it can be built on both
Mac and iOS, and un-!PLATFORM(IOS) some of the related members.

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::setExposedRect):
(WebKit::RemoteLayerTreeDrawingArea::setClipsToExposedRect):
(WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
(WebKit::RemoteLayerTreeDrawingArea::updateMainFrameClipsToExposedRect):
(WebKit::RemoteLayerTreeDrawingArea::mainFrameTiledBacking):
Steal TiledCoreAnimationDrawingArea's exposed-rect code.
Note that on iOS, we don't need to manually offset the exposed rect by
the scroll position, because the scroll position is already baked into
the exposed rect, and WebCore's notion of the scroll position will be
inaccurate until the scroll lands.

4:24 PM Changeset in webkit [161295] by ap@apple.com
  • 2 edits in trunk/Tools

It's confusing to have two elements link to the same URL at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=126467

Reviewed by Geoffrey Garen.

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

(StatusLineView): Don't linkify the label text, the bubble is easier to target with mouse
pointer, or to tap.

4:20 PM Changeset in webkit [161294] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[WebGL] CGLPixelFormat should specify SampleBuffer and Sample count when using MSAA
https://bugs.webkit.org/show_bug.cgi?id=126468

Reviewed by Dean Jackson.

Covered by webgl/1.0.2/resources/webgl_test_files/conformance/rendering/gl-scissor-test.html

  • platform/graphics/mac/GraphicsContext3DMac.mm:

(WebCore::setPixelFormat): Add kCGLPFAMultisample, kCGLPFASampleBuffers (and count), and
kCGLPFASamples (and count) to our pixel format when 'antialias=true'.
(WebCore::GraphicsContext3D::GraphicsContext3D): Pass a new 'antialias' flag to the setPixelFormat
method so we can turn on MSAA features when needed.

4:15 PM Changeset in webkit [161293] by Simon Fraser
  • 14 edits in trunk/Source

Give all PlatformCALayers a PlatformLayerID, not just remote ones
https://bugs.webkit.org/show_bug.cgi?id=126466

Reviewed by Tim Horton.

Source/WebCore:

The ScrollingStateTree has references to both GraphicsLayers and PlatformLayers
which is confusing, and is necessary because the underlying PlatformLayer
inside a GraphicsLayer can change. In order to hide some of this complexity,
expose GraphicsLayer::primaryLayerID() which is a PlatformLayerID that clients
can hold onto to test for underlying layer swapping.

Also constify LayerType m_layerType on PlatformCALayer, which required
cleaning up the construction of PlatformCALayerMac in the case where a
PlatformCALayerMac is wrapping an existing CALayer (which happens for video).

  • WebCore.exp.in:
  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::primaryLayerID):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::primaryLayerID):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/ca/PlatformCALayer.cpp:

(WebCore::generateLayerID):
(WebCore::PlatformCALayer::PlatformCALayer):

  • platform/graphics/ca/PlatformCALayer.h:

(WebCore::PlatformCALayer::layerID):

  • platform/graphics/ca/mac/PlatformCALayerMac.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayerMac::create):
(PlatformCALayerMac::PlatformCALayerMac):
(PlatformCALayerMac::commonInit):

Source/WebKit2:

The ScrollingStateTree has references to both GraphicsLayers and PlatformLayers
which is confusing, and is necessary because the underlying PlatformLayer
inside a GraphicsLayer can change. In order to hide some of this complexity,
expose GraphicsLayer::primaryLayerID() which is a PlatformLayerID that clients
can hold onto to test for underlying layer swapping.

GraphicsLayerCARemote and PlatformCALayerRemote can now just use the
primaryLayerID() function exposed via the base class.

  • WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:
  • WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(PlatformCALayerRemote::PlatformCALayerRemote):
(PlatformCALayerRemote::recursiveBuildTransaction):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:
4:04 PM Changeset in webkit [161292] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] Expose session state API
https://bugs.webkit.org/show_bug.cgi?id=126463

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKBrowsingContextController.h: Declared new property and method.
  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController sessionState]): Added. Calls WebPageProxy::sessionStateData.
(-[WKBrowsingContextController restoreFromSessionState:]): Added. Calls
WebPageProxy::restoreFromSessionState.

4:03 PM Changeset in webkit [161291] by barraclough@apple.com
  • 6 edits in trunk/Source/WebKit2

Remove SPI, user default for disabling process suppression
https://bugs.webkit.org/show_bug.cgi?id=126458

Reviewed by Sam Weinig.

  • Shared/API/c/WKDeprecatedFunctions.cpp:

(WKContextGetProcessSuppressionEnabled):
(WKContextSetProcessSuppressionEnabled):

  • depracated SPI.
  • UIProcess/API/C/mac/WKContextPrivateMac.mm:
    • depracated SPI.
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::WebContext):

  • removed m_processSuppressionEnabled.
  • UIProcess/WebContext.h:
    • removed setProcessSuppressionEnabled, processSuppressionEnabled implementation, processSuppressionEnabledChanged, m_processSuppressionEnabled.
  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformInitialize):

  • removed m_processSuppressionEnabled.

(WebKit::WebContext::processSuppressionEnabled):

  • check whether all pages in all processes are suppressible.

(WebKit::WebContext::canEnableProcessSuppressionForNetworkProcess):

  • removed call to omitProcessSuppression, m_processSuppressionEnabled -> processSuppressionEnabled().

(WebKit::WebContext::canEnableProcessSuppressionForWebProcess):

  • removed call to omitProcessSuppression, processSuppressionEnabled (we don't care if a page in a difference process is not suppresible).

(WebKit::WebContext::canEnableProcessSuppressionForGlobalChildProcesses):

  • removed call to omitProcessSuppression, s_processSuppressionEnabledForAllContexts -> processSuppressionIsEnabledForAllContexts().
3:38 PM Changeset in webkit [161290] by ap@apple.com
  • 3 edits in trunk/Tools

build.webkit.org/dashboard says "failed build" even if it's another step that failed
https://bugs.webkit.org/show_bug.cgi?id=126461

Reviewed by Geoffrey Garen.

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

(BuildbotBuilderQueueView.prototype.update.appendBuilderQueueStatus): Link to main
build page if it's not the compilation that failed. Use text from buildbot for description.
Show a yellow icon if it's a different kind of failure.

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

(BuildbotIteration.prototype.update): Record whether it was compile-webkit step that failed.

3:25 PM Changeset in webkit [161289] by thiago.lacerda@openbossa.org
  • 2 edits in trunk/Source/WebKit2

[WK2][CoordinatedGraphics] Removing repeated protected keyword in WebView
https://bugs.webkit.org/show_bug.cgi?id=126462

Reviewed by Simon Fraser.

  • UIProcess/CoordinatedGraphics/WebView.h:
3:19 PM Changeset in webkit [161288] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

Add lineageOfType renderer iterator and start using it.
<https://webkit.org/b/126456>

Add a convenient way to iterate over a renderers ancestry *including*
the starting point renderer (if it meets the type criteria.)

This works just like lineageOfType for Elements.

Reviewed by Geoffrey Garen.

  • rendering/RenderAncestorIterator.h:

(WebCore::lineageOfType):

Added. Returns an adapter for walking a renderer's entire lineage
matching any renderer of the given type.

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderLayerModelObject.h:

Add the requisite isRendererOfType<T> helpers.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::enclosingFloatPaintingLayer):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::enclosingLayer):
(WebCore::RenderObject::enclosingBox):
(WebCore::RenderObject::enclosingBoxModelObject):

Simplify with lineageOfType. Added some FIXMEs about functions
that should return references instead of pointers.

3:05 PM Changeset in webkit [161287] by Martin Robinson
  • 2 edits in trunk/Source/WebCore

Small build fix for the GTK+ CMake port

  • PlatformGTK.cmake: Add an IDL file that is missing from the list of IDLs

used to generate GObject DOM bindings.

2:28 PM Changeset in webkit [161286] by dbates@webkit.org
  • 12 edits
    1 add in trunk/Source/WebCore

[iOS] Upstream WebCore/css changes
https://bugs.webkit.org/show_bug.cgi?id=126237

Reviewed by Simon Fraser.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue): Added iOS-specific code and FIXME comment.

  • css/CSSParser.cpp:

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

  • css/CSSPropertyNames.in: Added property -webkit-composition-fill-color. Also added FIXME comment.
  • css/CSSValueKeywords.in: Added iOS-specific -apple-system-* values.
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): Added iOS-specific code and FIXME comments.

  • css/MediaFeatureNames.h: Added media feature -webkit-video-playable-inline.
  • css/MediaQueryEvaluator.cpp:

(WebCore::isRunningOnIPhoneOrIPod): Added. Also added FIXME comment.
(WebCore::video_playable_inlineMediaFeatureEval): Added.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::canShareStyleWithElement): Substitute toHTMLMediaElement() for toMediaElement().
(WebCore::StyleResolver::applyProperty): Added iOS-specific code and FIXME comment.

  • css/html.css: Added iOS-specific CSS styles.

(input, textarea, keygen, select, button, isindex):
(isindex):
(input[type="date"]):
(input[type="datetime"]):
(input[type="datetime-local"]):
(input[type="month"]):
(input[type="time"]):
(textarea):
(input:-webkit-autofill):
(input[type="radio"], input[type="checkbox"]):
(input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button):
(input[type="range"]::-webkit-slider-thumb, input[type="range"]::-webkit-media-slider-thumb):
(input[type="range"]::-webkit-slider-thumb:active):
(input:disabled, textarea:disabled):
(input[readonly], textarea[readonly]):
(textarea::-webkit-input-placeholder):
(input[type="checkbox"]):
(input[type="radio"]):
(input[type="checkbox"]:checked, input[type="radio"]:checked):
(input[type="checkbox"]:checked:disabled, input[type="radio"]:checked:disabled):
(select:focus):
(select):

  • css/mathml.css: Added iOS-specific CSS styles.

(math, mfenced > *):
(mo, mfenced):

  • css/mediaControlsiOS.css: Added.
  • css/svg.css: Added iOS-specific CSS styles.

(text, tspan, tref):

1:45 PM Changeset in webkit [161285] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[WebGL] glScissor test is not accounted for when generating internal rendering textures.
https://bugs.webkit.org/show_bug.cgi?id=126455
<rdar://problem/15744206>

Reviewed by Dean Jackson.

Covered by webgl/1.0.2/conformance/rendering/gl-scissor-test.html

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::prepareTexture): Check state of GL_SCISSOR_TEST and GL_DITHER, deactivate them during
our internal drawing, then turn them back on for further processing.

1:40 PM Changeset in webkit [161284] by Bem Jones-Bey
  • 3 edits in trunk/Tools

setup-git-clone fails to get email address from git
https://bugs.webkit.org/show_bug.cgi?id=126446

Reviewed by Ryosuke Niwa.

The setup-git-clone command fails to get an email address from git
because of a bug in VCSUtils. This patch fixes that bug, and also
makes it so that when VCSUtils fails for real because of a local
misconfiguration, the error message is actually presented to the user
of setup-git-clone.

  • Scripts/VCSUtils.pm:

(gitConfig): Call isGit() instead of accessing $isGit directly to make

sure that $isGit is properly initialized.

  • Scripts/webkitpy/tool/commands/setupgitclone.py:

(SetupGitClone.execute): Pull out username and email acquistion to

it's own method.

(SetupGitClone._get_username_and_email): Catch the exception thrown

when VCSUtils fails and print out the error message so that the
user actually knows why the command failed.

1:28 PM Changeset in webkit [161283] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Maybe fix Windows build.

  • WebCore.vcxproj/copyForwardingHeaders.cmd:
1:25 PM Changeset in webkit [161282] by Simon Fraser
  • 2 edits in trunk/Source/WebKit

Attempt to fix EFL build.

  • CMakeLists.txt:
1:02 PM Changeset in webkit [161281] by ap@apple.com
  • 2 edits in trunk/Tools

It feels too hard to get rid of a popover at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=126451

Reviewed by Simon Fraser.

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

(.popover.fade-out): Reduced the timeout - 200 ms is enough to not have flicker
when moving the mouse from an element to its popover.

12:50 PM Changeset in webkit [161280] by jer.noble@apple.com
  • 6 edits
    2 adds in trunk/Source/WebCore

[MediaControls][iOS] Enable JavaScript Media Controls on iOS.
https://bugs.webkit.org/show_bug.cgi?id=126440

Reviewed by Eric Carlson.

Drive-by misspelling fix, and add a convenience function to check if the
controls are currently hidden:

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.handleWrapperMouseMove):
(Controller.prototype.handleWrapperMouseOut):
(Controller.prototype.updatePlaying):
(Controller.prototype.controlsAreHidden): Added.

Add a new subclass of Controller for iOS and a matching CSS:

  • Modules/mediacontrols/mediaControlsiOS.css: Added.
  • Modules/mediacontrols/mediaControlsiOS.js: Added.

(createControls): Override the createControls() in mediaControlsApple.js.
(ControllerIOS): Define a new class.
(ControllerIOS.prototype.inheritFrom): Convenience method to mixin parent

prototype methods.

(ControllerIOS.prototype.createBase): Override, listen for touches instead of mouse events.
(ControllerIOS.prototype.createControls): Ditto.
(ControllerIOS.prototype.configureInlineControls): Override, only add play, timeline, and full

screen butttons.

(ControllerIOS.prototype.configureFullScreenControls): Override, and add no buttons.
(ControllerIOS.prototype.handlePlayButtonTouchStart): Activate.
(ControllerIOS.prototype.handlePlayButtonTouchEnd): De-activate and do action.
(ControllerIOS.prototype.handlePlayButtonTouchCancel): De-activate and cancel.
(ControllerIOS.prototype.handleWrapperTouchStart): Show controls.
(ControllerIOS.prototype.handlePanelTouchStart): Disable video selection.
(ControllerIOS.prototype.handlePanelTouchEnd): Re-enable video selection.
(ControllerIOS.prototype.handlePanelTouchCancel): Ditto.

Drive-by fix to enable the JavaScript controls when the plugin is disabled:

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

Add the iOS JavaScript by appending it to the generic (Apple) JavaScript:

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::mediaControlsScript):

Add new files to project:

  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
12:45 PM Changeset in webkit [161279] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Allow the ChromeClient to provide a custom ScrollingCoordinator
https://bugs.webkit.org/show_bug.cgi?id=126450

Reviewed by Tim Horton.

Some platforms will want to provide a custom ScrollingCoordinator, so let
them do so by asking ChromeClient first for one.

  • page/ChromeClient.h:

(WebCore::ChromeClient::createScrollingCoordinator):

  • page/Page.cpp:

(WebCore::Page::scrollingCoordinator):

12:22 PM Changeset in webkit [161278] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Deploy more child renderer iterators in RenderBlockFlow.
<https://webkit.org/b/126434>

Reviewed by Sam Weinig.

  • rendering/RenderBlockFlow.cpp:

(WebCore::shouldCheckLines):

Make this helper take a RenderBlockFlow instead of a RenderObject
and simplified it a bit. RenderDeprecatedFlexibleBox does not
derive from RenderBlockFlow so those checks can be omitted.

(WebCore::RenderBlockFlow::layoutBlock):
(WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout):
(WebCore::RenderBlockFlow::lineAtIndex):
(WebCore::RenderBlockFlow::lineCount):
(WebCore::RenderBlockFlow::clearTruncation):

Use childrenOfType to iterate over block and block-flow children.
Tweaked some early return/continue to reduce nesting.

12:16 PM Changeset in webkit [161277] by ap@apple.com
  • 2 edits in trunk/Tools

Please add a way to quick peek at failing tests at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=122181

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

(BuildbotQueueView.prototype._presentNoChangePopover): Update one more place for
popover.present signature change.

12:05 PM Changeset in webkit [161276] by Simon Fraser
  • 11 edits in trunk/Source/WebCore

Allow different types of ScrollingTrees to have different types of ScrollingTreeNode subclasses
https://bugs.webkit.org/show_bug.cgi?id=126445

Reviewed by Tim Horton.

Make it possible to have ScrollingTree subclasses with different subclasses of ScrollingTreeNodes,
by giving ScrollingTree a pure virtual createNode() function. ThreadedScrollingTree implements
this, and then delegates node creation to its AsyncScrollingCoordinator (since we have
a ScrollingCoordinatorMac but no real need for a ThreadedScrollingTreeMac).

Also made ThreadedScrollingTree's m_scrollingCoordinator an AsyncScrollingCoordinator,
since by definition a threaded scrolling tree uses an async coordinator.

  • page/scrolling/AsyncScrollingCoordinator.h:
  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::updateTreeFromStateNode):

  • page/scrolling/ScrollingTree.h:
  • page/scrolling/ScrollingTreeScrollingNode.h:
  • page/scrolling/ThreadedScrollingTree.cpp:

(WebCore::ThreadedScrollingTree::create):
(WebCore::ThreadedScrollingTree::ThreadedScrollingTree):
(WebCore::ThreadedScrollingTree::createNode):

  • page/scrolling/ThreadedScrollingTree.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::createScrollingTreeNode):

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::create):

11:52 AM Changeset in webkit [161275] by barraclough@apple.com
  • 2 edits in trunk/Source/WebCore

Refactor NSActivity handling code from ChildProcess to UserActivity
https://bugs.webkit.org/show_bug.cgi?id=126330

Unreviewed build fix.

  • platform/UserActivity.h:
    • case fix.
11:47 AM Changeset in webkit [161274] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

Revise WebGL DataView test to match ECMAScript Draft Specification
https://bugs.webkit.org/show_bug.cgi?id=126032

Based on the ECMAScript specification, we believe that the current test is wrong. We are working to get this
fixed upstream.

Reviewed by Dean Jackson.

  • webgl/1.0.2/resources/webgl_test_files/conformance/typedarrays/data-view-test.html: Do not

prohibit using DataView as a function.

11:32 AM Changeset in webkit [161273] by ap@apple.com
  • 12 edits
    1 add in trunk/Tools

Please add a way to quick peek at failing tests at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=122181

Reviewed by Timothy Hatcher and Timothy Horton.

Detailed results are saved by run-webkit-tests to full_results.json (which is actually
JSONP). Dashboard will load them on demand.

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

(Buildbot.prototype.layoutTestResultsURLForIteration): Moved from WebKitBuildbot.js
and made it use a function from WebKitBuildbot that builds results directory path.
(Buildbot.prototype.layoutTestFullResultsURLForIteration): Added a function that builds
a URL for full_results.json.
(Buildbot.prototype.layoutTestCrashLogForIteration): Added a function that builds
a URL for a crash log.

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

(BuildbotIteration.prototype.loadLayoutTestResults): Load and cache layout test results for
the iteration.

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

(BuildbotQueueView.prototype._presentPopoverForPendingCommits): Updated for changed
popover API (see below).
(BuildbotQueueView.prototype._presentPopoverForRevisionRange): Ditto.

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

(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus): Added a check
for iterations that were interrupted (previously, they were displayed incorrectly,
often as passes). Install popover trackers for failure bubbles for which we can currently
display something useful.
(BuildbotTesterQueueView.prototype._popoverContentForLayoutTestRegressions): Build
a popover for layout test regressions when we have the data loaded on demand.
We have test paths, special indicators for crashes/timeouts, and links to test history
at flakiness dashboard.
(BuildbotTesterQueueView.prototype._presentPopoverForLayoutTestRegressions): Show
the popover for layout test regressions. Just shows "Loading..." until the data is
loaded.
(BuildbotTesterQueueView.prototype._presentPopoverForMultipleFailureKinds): List
types of failures if there are multiple. There is a lot of similarity with
appendBuilderQueueStatus(), but I couldn't find a good way to share the code.

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

Create a global test history object, which is used for links in layout test popover.

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

Changed the API to be more like WebInspector again, allowing for changing content
of an existing popover. As the size of a popover can change, making the mouse pointer
enter it without a mousenter event, install a handler for mousewheel instead, and block
document scrolling from this event handler when needed.

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

(StatusLineView.prototype.get statusBubbleElement): Added an accessor for status
bubble element, making it possible to install a popover on it.

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

(JSON.load): Added the ability to load JSONP by providing an optional callback name.

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

(WebKitBuildbot.prototype.layoutTestResultsDirectoryURLForIteration): Switched from
building a complete results URL to only building one for root results path. This is
the part that depends on specific buildbot installation, everything relative to it
is the same.

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

Build a path to test history page. In the future, we may consider adding code to
load the data and display it inline.

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

Added styles for this new popover.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html: Added

a new file, WebKitTestHistory.js.

11:13 AM Changeset in webkit [161272] by Carlos Garcia Campos
  • 7 edits in trunk/Source/WebKit2

Define WebProcess::usesNetworkProcess unconditionally
https://bugs.webkit.org/show_bug.cgi?id=126208

Reviewed by Martin Robinson.

Returning false when network process is not enabled like
WebContext does. This way we reduce the amount of ifdefs used when
checking whether network process is in use.

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::platformInitializeWebProcess): Remove #ifdef
and only setup network features when not using network process.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::isAvailable): Remove #ifdef.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::downloadManager):
(WebKit::WebProcess::shouldTerminate):
(WebKit::WebProcess::usesNetworkProcess):

  • WebProcess/WebProcess.h:
  • WebProcess/mac/WebProcessMac.mm:

(WebKit::WebProcess::platformSetCacheModel): Remove #ifdef.
(WebKit::WebProcess::platformInitializeWebProcess): Ditto.

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformSetCacheModel): Ditto.
(WebKit::WebProcess::platformClearResourceCaches): Ditto.
(WebKit::WebProcess::platformInitializeWebProcess): Ditto.
(WebKit::WebProcess::platformTerminate): Only remove the language
observer when not using network process.
(WebKit::WebProcess::setIgnoreTLSErrors): Assert when this is
called with network process enabled.
(WebKit::WebProcess::allowSpecificHTTPSCertificateForHost): Ditto.

11:06 AM Changeset in webkit [161271] by barraclough@apple.com
  • 11 edits
    3 adds in trunk/Source

Source/WebCore: Refactor NSActivity handling code from ChildProcess to UserActivity
https://bugs.webkit.org/show_bug.cgi?id=126330

Reviewed by Sam Weinig.

UserActivity is a mechanism to express to the operating system (where appropriate)
that a user initiated activity is taking place, and as such that resources should be
made available to the process accordingly.

Currently we hold a single NSActivity, at the WebKit layer. This refactoring allows us
to hold different activity tokens for different user actions (which simplifies the
handling, and aides debugging since the token can more accurately express the activity
taking place), and also will allow us to avoid the layering difficulty of calling back
up the stack to WebKit to register that an activity is taking place.

  • WebCore.xcodeproj/project.pbxproj:
    • added new files.
  • platform/UserActivity.cpp: Added.

(WebCore::UserActivity::UserActivity):

  • nop implementation - ignore description.

(WebCore::UserActivity::beginActivity):
(WebCore::UserActivity::endActivity):

  • nop implementation - just inc/dec m_count.
  • platform/UserActivity.h: Added.

(WebCore::UserActivity::isActive):

  • returns true if one or more instance of this activity is in progress.
  • platform/mac/UserActivityMac.mm: Added.

(WebCore::UserActivity::UserActivity):

  • constructor accepts one argument, a description string.

(WebCore::UserActivity::isValid):

  • used by assertions.

(WebCore::UserActivity::beginActivity):
(WebCore::UserActivity::endActivity):

  • track start/end of an activity - calls to these methods should be balanced.

(WebCore::UserActivity::hysteresisTimerFired):

  • used to implement hysteresis in releasing NSActivity.

Source/WebKit2: VibrationPattern should allocate an single vector instance for single integer input
https://bugs.webkit.org/show_bug.cgi?id=126417

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2014-01-03
Reviewed by Gyuyoung Kim.

Fix a vibration unit test regression after r161139. Also remove unnecessary test cases.

  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(EWK2ViewTest::loadVibrationHTMLString):
(TEST_F):

Source/WTF: Refactor NSActivity handling code from ChildProcess to UserActivity
https://bugs.webkit.org/show_bug.cgi?id=126330

Reviewed by Sam Weinig.

UserActivity is a mechanism to express to the operating system (where appropriate)
that a user initiated activity is taking place, and as such that resources should be
made available to the process accordingly.

Currently we hold a single NSActivity, at the WebKit layer. This refactoring allows us
to hold different activity tokens for different user actions (which simplifies the
handling, and aides debugging since the token can more accurately express the activity
taking place), and also will allow us to avoid the layering difficulty of calling back
up the stack to WebKit to register that an activity is taking place.

  • wtf/Platform.h:
    • added HAVE_NS_ACTIVITY.
11:05 AM Changeset in webkit [161270] by fpizlo@apple.com
  • 4 edits in branches/jsCStack/Source/JavaScriptCore

Unreviewed, some trivial 32-bit build fixes.

32-bit is still broken but this takes care of some easy things. This is part of
the work for https://bugs.webkit.org/show_bug.cgi?id=116888.

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::storePtr):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedPutById):

  • jit/RegisterPreservationWrapperGenerator.cpp:

(JSC::generateRegisterRestoration):

10:59 AM Changeset in webkit [161269] by ap@apple.com
  • 3 edits
    2 adds in trunk

Line ending conversion should be able to handle strings with null chars
https://bugs.webkit.org/show_bug.cgi?id=126202

This is a merge from Blink.

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test: http/tests/local/formdata/send-form-data-with-string-containing-null.html

  • platform/text/LineEnding.cpp: (WebCore::normalizeToCROrLF): Do it right.

LayoutTests:

  • http/tests/local/formdata/send-form-data-with-string-containing-null-expected.txt: Added.
  • http/tests/local/formdata/send-form-data-with-string-containing-null.html: Added.
10:49 AM Changeset in webkit [161268] by Carlos Garcia Campos
  • 3 edits in trunk/Tools

REGRESSION(r161214): [GTK] WebKit2 C API tests fail to run after r161214
https://bugs.webkit.org/show_bug.cgi?id=126430

Reviewed by Martin Robinson.

  • Scripts/run-gtk-tests:

(TestRunner._setup_testing_environment):

  • gtk/common.py: Use common.tests_library_build_path() instead.

(tests_library_build_path): Helper funtion that returns the path
where the tests libraries are built.

10:41 AM Changeset in webkit [161267] by berto@igalia.com
  • 2 edits in trunk/Source/WebCore

WebKit-GTK 1.8.1 does not build on OS X 10.7
https://bugs.webkit.org/show_bug.cgi?id=88407

Reviewed by Carlos Garcia Campos.

Replace non-portable 'echo -n' with 'true'.

  • GNUmakefile.am:
9:37 AM Changeset in webkit [161266] by alex.christensen@flexsim.com
  • 2 edits in trunk/WebKitLibraries

[WinCairo] Enable video using GStreamer.
https://bugs.webkit.org/show_bug.cgi?id=126015

Reviewed by Darin Adler.

  • win/tools/vsprops/FeatureDefinesCairo.props:

Define ENABLE_MEDIA_CONTROLS_SCRIPT, ENABLE_VIDEO_TRACK, and ENABLE_VIDEO.

9:35 AM Changeset in webkit [161265] by alex.christensen@flexsim.com
  • 2 edits in trunk/Websites/webkit.org

Added GStreamer to list of required tools for compiling webkit.
https://bugs.webkit.org/show_bug.cgi?id=126319

Reviewed by Philippe Normand.

  • building/tools.html:

Mentioned that QuickTime and QuickTime SDK are only required for AppleWin.
Added GStreamer installers to list of required tools for WinCairo.

9:21 AM Changeset in webkit [161264] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[WinCairo] Compile error.
https://bugs.webkit.org/show_bug.cgi?id=126428

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-01-03
Reviewed by Brent Fulgham.

The NativeImagePtr type is not an CGImageRef on WinCairo, cannot use CFRetain.

  • loader/cache/MemoryCache.cpp: Replace USE(CF) with USE(CG).
  • loader/cache/MemoryCache.h: Ditto.
9:03 AM Changeset in webkit [161263] by Martin Robinson
  • 2 edits in trunk

[CMake] The forwarding headers generated by WebKitMacros.m4 are incompatible with the headers generated by generate-forwarding-headers.pl
https://bugs.webkit.org/show_bug.cgi?id=126361

Reviewed by Philippe Normand.

Make the forwarding headers generated by WebKitMacros.m4 compatible with the headers
generated by the WebKit2 forwarding headers generation script.

  • Source/cmake/WebKitMacros.cmake: Try to convert absolute paths in the forwarding headers

to ones that are relative to the Source directory.

9:02 AM Changeset in webkit [161262] by Martin Robinson
  • 2 edits in trunk/Tools

[CMake] Build TestWebKitAPI tests into a directory structure
https://bugs.webkit.org/show_bug.cgi?id=126358

Reviewed by Gyuyoung Kim.

WebKitGTK+ builds the TestWebKitAPI tests into a "TestWebKitAPI" directory. This
is useful for keeping the "bin" directory tidy during building and will make it easier
to integrate the CMake build into the existing WebKitGTK+ scripts.

  • TestWebKitAPI/CMakeLists.txt: Set the output directory of all TestWebKitAPI binaries

and make the names simpler now that the directory identifies what category the test is in.

9:00 AM Changeset in webkit [161261] by ap@apple.com
  • 4 edits in trunk/Tools

Provide a visual clue when element has a popover at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=126281

Reviewed by Timothy Hatcher.

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

(PopoverTracker): Add a class name to elements with popovers.

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

(*): We have -webkit-user-select:none, so let's also not show text selection cursor.
I might have broke that recently.
(*:link): Show hand cursor over links.
(.popover-tracking:hover): Put a shadow on hover over element with popovers.

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

(.status-line .message .revision-number): Show text selection cursor on our only
selectable text element.
(.status-line .bubble.popover-tracking:hover): Text in a bubble looks better with
a white shadow than with a dark one on hover.

8:57 AM Changeset in webkit [161260] by hmuller@adobe.com
  • 9 edits in trunk/Source/WebCore

[CSS Shapes] Simplify FloatRoundedRect, BoxShape construction
https://bugs.webkit.org/show_bug.cgi?id=125995

Reviewed by Andreas Kling.

Cleanup of various internal Shape issues:

  • Removed unnecessary Shape() initialization list entries in Shape subclasses per https://bugs.webkit.org/show_bug.cgi?id=125548#c2.
  • Used const references instead of pointers for non-deprecated Shape:createShape() logic.
  • Replaced createShape() overloads for Rasters and Boxes with functions named createRasterShape() and createBoxShape().
  • Added a FloatRoundedRect::Radii() constructor to reduce the parameter list length of the FloatRoundedRect constructor in createBoxShape().

There are no new tests, this is just internal refactoring.

  • platform/graphics/FloatRoundedRect.h:

(WebCore::FloatRoundedRect::Radii::Radii):

  • rendering/shapes/BoxShape.h:

(WebCore::BoxShape::BoxShape):

  • rendering/shapes/PolygonShape.h:

(WebCore::PolygonShape::PolygonShape):

  • rendering/shapes/RasterShape.h:

(WebCore::RasterShape::RasterShape):

  • rendering/shapes/RectangleShape.h:

(WebCore::RectangleShape::RectangleShape):

  • rendering/shapes/Shape.cpp:

(WebCore::createInsetShape):
(WebCore::Shape::createShape):
(WebCore::Shape::createRasterShape):
(WebCore::Shape::createBoxShape):

  • rendering/shapes/Shape.h:
  • rendering/shapes/ShapeInfo.cpp:

(WebCore::ShapeInfo<RenderType>::computedShape):

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

Remove unused Document::openSearchDescriptionURL().
<https://webkit.org/b/126419>

Reviewed by Antti Koivisto.

  • dom/Document.h:
  • dom/Document.cpp:

Scrub leftovers from the defunct Chromium port.

1:06 AM Changeset in webkit [161258] by zandobersek@gmail.com
  • 3 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Add failure and flakiness expectations for a couple of tests.
  • platform/gtk/svg/custom/object-no-size-attributes-expected.txt: Rebaseline.
12:45 AM Changeset in webkit [161257] by jinwoo7.song@samsung.com
  • 4 edits in trunk/Source

VibrationPattern should allocate an single vector instance for single integer input
https://bugs.webkit.org/show_bug.cgi?id=126417

Reviewed by Gyuyoung Kim.

Source/WebCore:

When the Vibration pattern is set with a single integer, the VibrationPattern should
be set with this integer as a vibration time. But the VibrationPattern(unsigned vector) was
initialized with a single parameter, the vibration time, so the time was used to set
the size of vector.

  • Modules/vibration/NavigatorVibration.cpp:

(WebCore::NavigatorVibration::vibrate):

Source/WebKit2:

Fix a vibration unit test regression after r161139. Also remove unnecessary test cases.

  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(EWK2ViewTest::loadVibrationHTMLString):
(TEST_F):

12:42 AM Changeset in webkit [161256] by Carlos Garcia Campos
  • 10 edits in trunk

[GTK] Add API to WebKitResponsePolicyDecision to check if the MIME type can be shown
https://bugs.webkit.org/show_bug.cgi?id=124652

Reviewed by Martin Robinson.

Source/WebKit2:

  • UIProcess/API/gtk/WebKitPolicyClient.cpp:

(decidePolicyForResponse): Pass canShowMIMEType to
webkitResponsePolicyDecisionCreate.

  • UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:

(webkit_response_policy_decision_is_mime_type_supported): Return
canShowMIMEType.
(webkitResponsePolicyDecisionCreate): Set the canShowMIMEType
member from the given parameter.

  • UIProcess/API/gtk/WebKitResponsePolicyDecision.h:
  • UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h:
  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewDecidePolicy): Use the new API instead of
webkit_web_view_can_show_mime_type() since it's more efficient.

  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
  • UIProcess/API/gtk/tests/TestWebKitPolicyClient.cpp:

(testResponsePolicy): Test the new API.

Tools:

  • MiniBrowser/gtk/BrowserWindow.c:

(webViewDecidePolicy): Use the new API instead of
webkit_web_view_can_show_mime_type().

Jan 2, 2014:

11:56 PM Changeset in webkit [161255] by Carlos Garcia Campos
  • 15 edits in trunk

REGRESSION(r160304): [GTK] Disable libtool fast install
https://bugs.webkit.org/show_bug.cgi?id=126381

Reviewed by Martin Robinson.

.:

After r160304 we are building some of our binaries that are
installed with the -no-fast-install ld flag. This makes that the
binaries are installed with the source code path hardcoded in
binary RPATH. Disabling fast install globally, the libtool script
always relinks the binaries right before being installed.

  • Source/autotools/SetupLibtool.m4: Add AC_DISABLE_FAST_INSTALL.

Source/JavaScriptCore:

Remove -no-fast-install ld flag since fast install is now disabled
globally.

  • GNUmakefile.am:

Source/WebKit/gtk:

  • tests/GNUmakefile.am:

Source/WebKit2:

Remove -no-fast-install ld flag since fast install is now disabled
globally.

  • GNUmakefile.am:
  • UIProcess/API/gtk/tests/GNUmakefile.am:

Tools:

Remove -no-fast-install ld flag since fast install is now disabled
globally.

  • GNUmakefile.am:
  • GtkLauncher/GNUmakefile.am:
  • MiniBrowser/gtk/GNUmakefile.am:
  • TestWebKitAPI/GNUmakefile.am:
  • WebKitTestRunner/GNUmakefile.am:
11:48 PM Changeset in webkit [161254] by ryuan.choi@samsung.com
  • 3 edits in trunk/Source/WebKit2

[EFL][WK2] Remove defaultPageGroupIdentifier not to make the confusion
https://bugs.webkit.org/show_bug.cgi?id=126249

Reviewed by Gyuyoung Kim.

ewk_page_group_create always creates new page group,
but the identifiers of page groups will be same as "defaultPageGroupIdentifier" when passed 0 or "".
It is unnecessary and just makes the confusion.

This patch let WebPageGroup generate unique identifier if 0 or "" is passed as argument.

  • UIProcess/API/efl/ewk_page_group.cpp:

(EwkPageGroup::create):

  • UIProcess/API/efl/ewk_page_group_private.h:
11:40 PM Changeset in webkit [161253] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebKit2

[GTK] Switch from WTF::Function to std::function in WebProcessTest
https://bugs.webkit.org/show_bug.cgi?id=126397

Reviewed by Anders Carlsson.

Use std::function<> and std::bind() instead of WTF::Function and WTF::bind,
following the effort of using STL concepts where possible.

  • UIProcess/API/gtk/tests/WebProcessTest.cpp:

(WebProcessTest::add):

  • UIProcess/API/gtk/tests/WebProcessTest.h:
9:21 PM Changeset in webkit [161252] by ljaehun.lim@samsung.com
  • 2 edits in trunk/Source/WebCore

IconController.cpp needs to include <wtf/text/CString.h>
https://bugs.webkit.org/show_bug.cgi?id=126415

Reviewed by Gyuyoung Kim.

Build fails in IconController.cpp when ICONDATABASE is disabled.
WebKit/Source/WebCore/loader/icon/IconController.cpp:124:110: error: invalid use of incomplete type ‘class WTF::CString’
IconController.cpp needs #include <wtf/text/CString.h>.

No new tests. Just build fix.

  • loader/icon/IconController.cpp: Add #include statement.
8:40 PM Changeset in webkit [161251] by ryuan.choi@samsung.com
  • 3 edits in trunk/Source/WebCore

[EFL] Previous scrollbar is remained sometimes
https://bugs.webkit.org/show_bug.cgi?id=126414

Reviewed by Gyuyoung Kim.

  • platform/efl/ScrollbarEfl.cpp:

(ScrollbarEfl::invalidate):
Updated scrollbar visibility in Scrollbar::invalidate().

  • platform/efl/ScrollbarEfl.h:

Removed show()/hide() which never been called() for scrollbar.

7:50 PM Changeset in webkit [161250] by ryuan.choi@samsung.com
  • 2 edits in trunk/Tools

Unreviewed. Add myself to EFL and related watch lists.

  • Scripts/webkitpy/common/config/watchlist:
6:52 PM Changeset in webkit [161249] by ljaehun.lim@samsung.com
  • 2 edits in trunk

[CMake][EFL] Fix some typos in OptionsEfl.cmake
https://bugs.webkit.org/show_bug.cgi?id=126376

Reviewed by Gyuyoung Kim.

  • Source/cmake/WebKitFeatures.cmake: Correct a wrong word and remove comma(,).
6:16 PM Changeset in webkit [161248] by jinwoo7.song@samsung.com
  • 4 edits in trunk/LayoutTests

[WebGL] Correct symbol lookup logic to handle 1-element arrays
https://bugs.webkit.org/show_bug.cgi?id=126411
<rdar://problem/15394564>

Patch by Brent Fulgham <Brent Fulgham> on 2014-01-02
Reviewed by Dean Jackson.

  • webgl/1.0.2/resources/webgl_test_files/conformance/glsl/misc/shader-with-array-of-structs-containing-arrays.html: Add test for accessing the

single-element array.

6:11 PM Changeset in webkit [161247] by Brent Fulgham
  • 4 edits in trunk

[WebGL] Correct symbol lookup logic to handle 1-element arrays
https://bugs.webkit.org/show_bug.cgi?id=126411
<rdar://problem/15394564>

Reviewed by Dean Jackson.

Source/WebCore:

Tested by revisions to webgl/1.0.2/conformance/glsl/misc/shader-with-array-of-structs-containing-arrays.html

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getUniformLocation): Revise to
handle access to zeroeth element of the array.

LayoutTests:

  • webgl/1.0.2/resources/webgl_test_files/conformance/glsl/misc/shader-with-array-of-structs-containing-arrays.html: Add test for accessing the

single-element array.

6:09 PM Changeset in webkit [161246] by barraclough@apple.com
  • 13 edits
    2 adds in trunk/Source/WebKit2

Propagate WindowServer modifications state to WebProcess
https://bugs.webkit.org/show_bug.cgi?id=126356

Reviewed by Sam Weinig.

This will be necessary to move control of process suppression to the WebProcess.
IsVisuallyIdle implies the process has stopped painting, or painted rects are
occluded and not actually being composited. State is provided on a per
WindowServer connection basis, and as such may produce (safe) false positives.

  • Shared/ViewState.h:
    • added IsVisuallyIdle.
  • UIProcess/API/mac/PageClientImpl.h:
  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::isVisuallyIdle):

  • added, on mac checks WindowServerConnection.
  • UIProcess/PageClient.h:

(WebKit::PageClient::isVisuallyIdle):

  • base implementation purely based on isViewVisible.
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::windowServerConnectionStateChanged):

  • broadcast the state change.
  • UIProcess/WebContext.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::updateViewState):
(WebKit::WebPageProxy::viewStateDidChange):

  • propagate IsVisuallyIdle.
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::windowServerConnectionStateChanged):

  • broadcast the state change.
  • UIProcess/WebProcessProxy.h:
    • add windowServerConnectionStateChanged.
  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::updateProcessSuppressionStateOfGlobalChildProcesses):

  • moved from static in fle to static member of class.

(WebKit::WebContext::platformInitialize):

  • no need to enableOcclusionNotifications.

(WebKit::WebContext::canEnableProcessSuppressionForNetworkProcess):
(WebKit::WebContext::canEnableProcessSuppressionForWebProcess):
(WebKit::WebContext::canEnableProcessSuppressionForGlobalChildProcesses):

  • changed to call WindowServerConnection.

(WebKit::WebContext::processSuppressionEnabledChanged):

  • don't remove/reregister occlusion notifications.
  • UIProcess/mac/WindowServerConnection.h: Added.

(WebKit::WindowServerConnection::applicationIsOccluded):
(WebKit::WindowServerConnection::applicationWindowModificationsHaveStopped):

  • accessors.
  • UIProcess/mac/WindowServerConnection.mm: Added.

(WebKit::WindowServerConnection::applicationBecameOccluded):
(WebKit::WindowServerConnection::applicationWindowModificationsStopped):
(WebKit::WindowServerConnection::applicationBecameVisible):
(WebKit::WindowServerConnection::applicationWindowModificationsStarted):

  • handle notifications from the WindowServer.

(WebKit::WindowServerConnection::windowServerConnectionStateChanged):

  • broadcast the state change.

(WebKit::WindowServerConnection::shared):

  • accessor for singleton object.

(WebKit::WindowServerConnection::WindowServerConnection):

  • constructor inizializes fields & register notification handlers.
  • WebKit2.xcodeproj/project.pbxproj:
    • added new files.
  • config.h:
    • added HAVE_WINDOW_SERVER_OCCLUSION_NOTIFICATIONS.
6:00 PM Changeset in webkit [161245] by jinwoo7.song@samsung.com
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening. Rebaselining after r161140.

  • platform/efl/fast/table/dynamic-caption-add-before-child-expected.png:
  • platform/efl/fast/table/dynamic-caption-add-before-child-expected.txt:
5:32 PM Changeset in webkit [161244] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

Crash in WebCore::translateIntersectionPointsToSkipInkBoundaries
https://bugs.webkit.org/show_bug.cgi?id=126252

Reviewed by Alexey Proskuryakov.

Source/WebCore:

lastIntermediate was a iterator pointing into a Vector, which was being re-used
even while appending to the Vector. If any of the append operators triggered
a realloc, the iterator would point to the old free'ed memory.

Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-crash-many-gaps.html

  • rendering/InlineTextBox.cpp:

(WebCore::translateIntersectionPointsToSkipInkBoundaries):

LayoutTests:

This test causes intermediateTuples, a Vector of tuples of floats, to have enough
entries to cause a realloc. In my tests, the realloc seems to always allocate the
next area of memory (without unmapping any old pages), so this test only crashes
if guardMalloc is used.

  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-crash-many-gaps-expected.txt: Added.
  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-crash-many-gaps.html: Added.
5:19 PM Changeset in webkit [161243] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] fixing ycm_extra_conf.py file
https://bugs.webkit.org/show_bug.cgi?id=126371

It's an attempt to fix three problems with the current ycm_extra_conf file.
The current implementation assumes that it's a symlink, which is not true.
Usually python creates a pyc file, and this is what you get in file.
the .pyc is not a symlink, and the current implementation doesn't work
if that's the case.

It also assumes that the user is in the root folder.
If the user is in WebkitBuild/Debug and open a file as ../../Source/* it won't work.

Last but not least, "elif flag in FLAGS_PRECEDING_PATHS" emits an
exception since "flag" doesn't exists.

All those things were fixed.

Patch by Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk> on 2014-01-02
Reviewed by Martin Robinson.

  • gtk/ycm_extra_conf.py:

(transform_relative_paths_to_absolute_paths):

5:18 PM Changeset in webkit [161242] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[WebGL] Correct symbol lookup logic to handle 1-element arrays
https://bugs.webkit.org/show_bug.cgi?id=126411
<rdar://problem/15394564>

Reviewed by Dean Jackson.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getUniformLocation): Revise code to handle the case of single-element
arrays.

4:40 PM Changeset in webkit [161241] by weinig@apple.com
  • 79 edits
    32 adds
    22 deletes in trunk

Update Promises to the https://github.com/domenic/promises-unwrapping spec
https://bugs.webkit.org/show_bug.cgi?id=120954

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Update Promises to the revised spec. Notable changes:

  • JSPromiseResolver is gone.
  • TaskContext has been renamed Microtask and now has a virtual run() function.
  • Instead of using custom InternalFunction subclasses, JSFunctions are used with PrivateName properties for internal slots.
  • CMakeLists.txt:
  • DerivedSources.make:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • interpreter/CallFrame.h:

(JSC::ExecState::promiseConstructorTable):

  • runtime/CommonIdentifiers.cpp:

(JSC::CommonIdentifiers::CommonIdentifiers):

  • runtime/CommonIdentifiers.h:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset):
(JSC::JSGlobalObject::visitChildren):
(JSC::JSGlobalObject::queueMicrotask):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::promiseConstructor):
(JSC::JSGlobalObject::promisePrototype):
(JSC::JSGlobalObject::promiseStructure):

  • runtime/JSPromise.cpp:

(JSC::JSPromise::create):
(JSC::JSPromise::JSPromise):
(JSC::JSPromise::finishCreation):
(JSC::JSPromise::visitChildren):
(JSC::JSPromise::reject):
(JSC::JSPromise::resolve):
(JSC::JSPromise::appendResolveReaction):
(JSC::JSPromise::appendRejectReaction):
(JSC::triggerPromiseReactions):

  • runtime/JSPromise.h:

(JSC::JSPromise::status):
(JSC::JSPromise::result):
(JSC::JSPromise::constructor):

  • runtime/JSPromiseCallback.cpp: Removed.
  • runtime/JSPromiseCallback.h: Removed.
  • runtime/JSPromiseConstructor.cpp:

(JSC::constructPromise):
(JSC::JSPromiseConstructor::getCallData):
(JSC::JSPromiseConstructorFuncCast):
(JSC::JSPromiseConstructorFuncResolve):
(JSC::JSPromiseConstructorFuncReject):

  • runtime/JSPromiseConstructor.h:
  • runtime/JSPromiseDeferred.cpp: Added.

(JSC::JSPromiseDeferred::create):
(JSC::JSPromiseDeferred::JSPromiseDeferred):
(JSC::JSPromiseDeferred::finishCreation):
(JSC::JSPromiseDeferred::visitChildren):
(JSC::createJSPromiseDeferredFromConstructor):
(JSC::updateDeferredFromPotentialThenable):

  • runtime/JSPromiseDeferred.h: Added.

(JSC::JSPromiseDeferred::createStructure):
(JSC::JSPromiseDeferred::promise):
(JSC::JSPromiseDeferred::resolve):
(JSC::JSPromiseDeferred::reject):

  • runtime/JSPromiseFunctions.cpp: Added.

(JSC::deferredConstructionFunction):
(JSC::createDeferredConstructionFunction):
(JSC::identifyFunction):
(JSC::createIdentifyFunction):
(JSC::promiseAllCountdownFunction):
(JSC::createPromiseAllCountdownFunction):
(JSC::promiseResolutionHandlerFunction):
(JSC::createPromiseResolutionHandlerFunction):
(JSC::rejectPromiseFunction):
(JSC::createRejectPromiseFunction):
(JSC::resolvePromiseFunction):
(JSC::createResolvePromiseFunction):
(JSC::throwerFunction):
(JSC::createThrowerFunction):

  • runtime/JSPromiseFunctions.h: Added.
  • runtime/JSPromisePrototype.cpp:

(JSC::JSPromisePrototypeFuncThen):
(JSC::JSPromisePrototypeFuncCatch):

  • runtime/JSPromiseReaction.cpp: Added.

(JSC::createExecutePromiseReactionMicroTask):
(JSC::ExecutePromiseReactionMicroTask::run):
(JSC::JSPromiseReaction::create):
(JSC::JSPromiseReaction::JSPromiseReaction):
(JSC::JSPromiseReaction::finishCreation):
(JSC::JSPromiseReaction::visitChildren):

  • runtime/JSPromiseReaction.h: Added.

(JSC::JSPromiseReaction::createStructure):
(JSC::JSPromiseReaction::deferred):
(JSC::JSPromiseReaction::handler):

  • runtime/JSPromiseResolver.cpp: Removed.
  • runtime/JSPromiseResolver.h: Removed.
  • runtime/JSPromiseResolverConstructor.cpp: Removed.
  • runtime/JSPromiseResolverConstructor.h: Removed.
  • runtime/JSPromiseResolverPrototype.cpp: Removed.
  • runtime/JSPromiseResolverPrototype.h: Removed.
  • runtime/Microtask.h: Added.
  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::VM::~VM):

  • runtime/VM.h:

Source/WebCore:

  • ForwardingHeaders/runtime/JSPromiseDeferred.h: Added.
  • ForwardingHeaders/runtime/JSPromiseResolver.h: Removed.
  • bindings/js/JSDOMGlobalObjectTask.cpp:

(WebCore::JSGlobalObjectTask::JSGlobalObjectTask):

  • bindings/js/JSDOMGlobalObjectTask.h:
  • bindings/js/JSDOMPromise.cpp:

(WebCore::DeferredWrapper::DeferredWrapper):
(WebCore::DeferredWrapper::promise):
(WebCore::DeferredWrapper::resolve):
(WebCore::DeferredWrapper::reject):

  • bindings/js/JSDOMPromise.h:

(WebCore::DeferredWrapper::resolve):
(WebCore::DeferredWrapper::reject):
(WebCore::DeferredWrapper::resolve<String>):
(WebCore::DeferredWrapper::resolve<bool>):
(WebCore::char>>):
(WebCore::DeferredWrapper::reject<String>):

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::queueTaskToEventLoop):

  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSSubtleCryptoCustom.cpp:

(WebCore::JSSubtleCrypto::encrypt):
(WebCore::JSSubtleCrypto::decrypt):
(WebCore::JSSubtleCrypto::sign):
(WebCore::JSSubtleCrypto::verify):
(WebCore::JSSubtleCrypto::digest):
(WebCore::JSSubtleCrypto::generateKey):
(WebCore::JSSubtleCrypto::importKey):
(WebCore::JSSubtleCrypto::exportKey):
(WebCore::JSSubtleCrypto::wrapKey):
(WebCore::JSSubtleCrypto::unwrapKey):

  • bindings/js/JSWorkerGlobalScopeBase.cpp:

(WebCore::JSWorkerGlobalScopeBase::queueTaskToEventLoop):

  • bindings/js/JSWorkerGlobalScopeBase.h:

LayoutTests:

  • crypto/subtle/argument-conversion.html:
  • crypto/subtle/resources/common.js:
  • crypto/subtle/sha-1.html:
  • crypto/subtle/sha-224.html:
  • crypto/subtle/sha-256.html:
  • crypto/subtle/sha-384.html:
  • crypto/subtle/sha-512.html:
  • js/dom/Promise-already-fulfilled-expected.txt: Removed.
  • js/dom/Promise-already-fulfilled.html: Removed.
  • js/dom/Promise-already-rejected.html:
  • js/dom/Promise-already-resolved.html:
  • js/dom/Promise-catch-expected.txt:
  • js/dom/Promise-catch-in-workers-expected.txt:
  • js/dom/Promise-catch.html:
  • js/dom/Promise-chain.html:
  • js/dom/Promise-exception-expected.txt:
  • js/dom/Promise-exception.html:
  • js/dom/Promise-expected.txt:
  • js/dom/Promise-fulfill-expected.txt: Removed.
  • js/dom/Promise-fulfill-in-workers-expected.txt: Removed.
  • js/dom/Promise-fulfill-in-workers.html: Removed.
  • js/dom/Promise-fulfill.html: Removed.
  • js/dom/Promise-init-callback-receiver-expected.txt: Added.
  • js/dom/Promise-init-callback-receiver.html: Added.
  • js/dom/Promise-init-expected.txt:
  • js/dom/Promise-init-in-workers-expected.txt:
  • js/dom/Promise-init.html:
  • js/dom/Promise-onFulfilled-deep-expected.txt: Added.
  • js/dom/Promise-onFulfilled-deep.html: Added.
  • js/dom/Promise-onRejected-deep-expected.txt: Added.
  • js/dom/Promise-onRejected-deep.html: Added.
  • js/dom/Promise-reject.html:
  • js/dom/Promise-resolve-chain.html:
  • js/dom/Promise-resolve-expected.txt:
  • js/dom/Promise-resolve-in-workers-expected.txt:
  • js/dom/Promise-resolve-state-expected.txt: Added.
  • js/dom/Promise-resolve-state-in-workers-expected.txt: Added.
  • js/dom/Promise-resolve-state-in-workers.html: Added.
  • js/dom/Promise-resolve-state.html: Added.
  • js/dom/Promise-resolve-with-itself-expected.txt: Added.
  • js/dom/Promise-resolve-with-itself.html: Added.
  • js/dom/Promise-resolve-with-then-exception.html:
  • js/dom/Promise-resolve-with-then-fulfill-expected.txt:
  • js/dom/Promise-resolve-with-then-fulfill.html:
  • js/dom/Promise-resolve-with-then-reject-expected.txt:
  • js/dom/Promise-resolve-with-then-reject.html:
  • js/dom/Promise-resolve.html:
  • js/dom/Promise-simple-expected.txt:
  • js/dom/Promise-simple-fulfill-expected.txt: Removed.
  • js/dom/Promise-simple-fulfill-inside-callback-expected.txt: Removed.
  • js/dom/Promise-simple-fulfill-inside-callback.html: Removed.
  • js/dom/Promise-simple-fulfill.html: Removed.
  • js/dom/Promise-simple-in-workers-expected.txt:
  • js/dom/Promise-simple-resolve-expected.txt: Added.
  • js/dom/Promise-simple-resolve.html: Added.
  • js/dom/Promise-simple.html:
  • js/dom/Promise-static-all-expected.txt: Added.
  • js/dom/Promise-static-all.html: Added.
  • js/dom/Promise-static-cast-expected.txt: Added.
  • js/dom/Promise-static-cast.html: Added.
  • js/dom/Promise-static-fulfill-expected.txt: Removed.
  • js/dom/Promise-static-fulfill.html: Removed.
  • js/dom/Promise-static-race-expected.txt: Added.
  • js/dom/Promise-static-race.html: Added.
  • js/dom/Promise-static-resolve.html:
  • js/dom/Promise-then-callback-receiver-expected.txt: Added.
  • js/dom/Promise-then-callback-receiver.html: Added.
  • js/dom/Promise-then-expected.txt:
  • js/dom/Promise-then-in-workers-expected.txt:
  • js/dom/Promise-then-without-callbacks.html:
  • js/dom/Promise-then.html:
  • js/dom/Promise-types-expected.txt:
  • js/dom/Promise-types.html:
  • js/dom/Promise.html:
  • js/resources/Promise-catch-in-workers.js:
  • js/resources/Promise-fulfill-in-workers.js: Removed.
  • js/resources/Promise-init-in-workers.js:
  • js/resources/Promise-reject-in-workers.js:
  • js/resources/Promise-resolve-in-workers.js:
  • js/resources/Promise-resolve-state-in-workers.js: Added.
  • js/resources/Promise-simple-in-workers.js:
  • js/resources/Promise-then-in-workers.js:
  • js/resources/Promise-then-without-callbacks-in-workers.js:
4:24 PM Changeset in webkit [161240] by mhahnenberg@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

Add support for StoreBarrier and friends to the FTL
https://bugs.webkit.org/show_bug.cgi?id=126040

Reviewed by Filip Pizlo.

  • ftl/FTLAbstractHeapRepository.h:
  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

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

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileStoreBarrier):
(JSC::FTL::LowerDFGToLLVM::compileConditionalStoreBarrier):
(JSC::FTL::LowerDFGToLLVM::compileStoreBarrierWithNullCheck):
(JSC::FTL::LowerDFGToLLVM::loadMarkByte):
(JSC::FTL::LowerDFGToLLVM::emitStoreBarrier):

  • heap/Heap.cpp:

(JSC::Heap::Heap):

  • heap/Heap.h:

(JSC::Heap::writeBarrierBuffer):

4:10 PM Changeset in webkit [161239] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

ImageBufferBackingStoreCache should use DeferrableOneShotTimer
https://bugs.webkit.org/show_bug.cgi?id=126155

Reviewed by Anders Carlsson.

Since ImageBufferBackingStoreCache's purge timer is pushed out every time
a backing store is deallocated, we can easily waste a lot of time rescheduling
the timer. Since it's a cache purge timer and doesn't need that kind of precision,
adopt DeferrableOneShotTimer, which is much more performant when deferred frequently.

  • platform/graphics/cg/ImageBufferBackingStoreCache.cpp:

(WebCore::ImageBufferBackingStoreCache::ImageBufferBackingStoreCache):
(WebCore::ImageBufferBackingStoreCache::timerFired):
(WebCore::ImageBufferBackingStoreCache::schedulePurgeTimer):

  • platform/graphics/cg/ImageBufferBackingStoreCache.h:
3:58 PM Changeset in webkit [161238] by mark.lam@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

Addressed review comments in https://bugs.webkit.org/show_bug.cgi?id=126393#c5.
Reviewed by Michael Saboff.

  • offlineasm/cloop.rb:
3:50 PM Changeset in webkit [161237] by fpizlo@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

Address review comments in https://bugs.webkit.org/show_bug.cgi?id=126409#c3

  • llint/LowLevelInterpreter32_64.asm:
3:35 PM Changeset in webkit [161236] by ap@apple.com
  • 2 edits in trunk/Tools

Bindings tests results links are broken at build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=126402

Reviewed by Tim Horton.

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

(Buildbot.prototype.bindingsTestResultsURLForIteration): Fixed a typo that was there
since the beginning.

3:32 PM Changeset in webkit [161235] by mmaxfield@apple.com
  • 4 edits
    5 adds in trunk

Allow ImageBuffer to re-use IOSurfaces
https://bugs.webkit.org/show_bug.cgi?id=125477

Source/WebCore:

Reviewed by Geoff Garen. Modifications reviewed by Tim Horton.

This patch is taken from r160945, but the modifications to ImageBufferCG.cpp
have been reverted.

This test adds a static class, ImageBufferBackingStoreCache, that vends
IOSurfaces. It remembers IOSurfaces that have been returned to it until
a configurable timeout.

The storage used by this class is in the form of a HashMap from a
bucketed size to the IOSurface. There are many other data structures
that could be used, but this implementation gives a 80% hit rate on
normal browsing of some example sites with Canvas and
text-decoration-skip: ink. Because the buckets are fairly
small (rounding the width and height up to multiples of 8), traversing the
bucket contents takes on average 2 steps.

Test: fast/canvas/canvas-backing-store-reuse.html

  • WebCore.xcodeproj/project.pbxproj: Added new caching class
  • platform/graphics/cg/ImageBufferBackingStoreCache.cpp: Added.

(WebCore::createIOSurface): Copied from ImageBufferCG.cpp
(WebCore::ImageBufferBackingStoreCache::timerFired): Forget the cache
contents
(WebCore::ImageBufferBackingStoreCache::schedulePurgeTimer):
(WebCore::ImageBufferBackingStoreCache::get): Static getter
(WebCore::ImageBufferBackingStoreCache::ImageBufferBackingStoreCache):
(WebCore::ImageBufferBackingStoreCache::insertIntoCache): Memory-management
creation function
(WebCore::ImageBufferBackingStoreCache::takeFromCache): Memory-management
deletion function
(WebCore::ImageBufferBackingStoreCache::isAcceptableSurface): Does this cached
IOSurface fit the bill?
(WebCore::ImageBufferBackingStoreCache::tryTakeFromCache): Lookup
a bucket and walk through its contents
(WebCore::ImageBufferBackingStoreCache::getOrAllocate): Public function
for clients who want a IOSurface from the cache
(WebCore::ImageBufferBackingStoreCache::deallocate): Public
function for clients to return an IOSurface to the pool

  • platform/graphics/cg/ImageBufferBackingStoreCache.h: Added.

(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::~ImageBuffer):

PerformanceTests:

Reviewed by Geoff Garen.

This test times creating a variety of different sizes of canvases
once some have already been created. The second creation of the
canvases should re-use the existing IOSurfaces.

  • Canvas/reuse.html: Added.

LayoutTests:

Reviewed by Geoff Garen.

Now that we're re-using the backing store of canvases, this
test makes sure that if we draw to a canvas, then destroy it,
then create a new canvas (which should share the same backing
store) that it doesn't have the stale data in it

  • fast/canvas/canvas-backing-store-reuse-expected.txt: Added.
  • fast/canvas/canvas-backing-store-reuse.html: Added.
3:28 PM Changeset in webkit [161234] by fpizlo@apple.com
  • 3 edits in branches/jsCStack/Source/JavaScriptCore

CStack LLInt 32-bit should build
https://bugs.webkit.org/show_bug.cgi?id=126409

Not yet reviewed.

And the stuff we do to make it build should at least try to be correct.

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
3:24 PM Changeset in webkit [161233] by ap@apple.com
  • 2 edits in trunk/Tools

"+" is very confusing at http://build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=126400

Reviewed by Tim Horton.

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

(BuildbotQueueView.prototype._appendPendingRevisionCount): Instead of listing open
source and internal counts separately, simply add them. One can always open a popover
for more detail.

3:20 PM Changeset in webkit [161232] by mark.lam@apple.com
  • 1 edit in branches/jsCStack/Source/JavaScriptCore/ChangeLog

Added a missing word in a change comment, and updated review status for:

https://bugs.webkit.org/show_bug.cgi?id=126321
https://bugs.webkit.org/show_bug.cgi?id=126328
https://bugs.webkit.org/show_bug.cgi?id=126334
https://bugs.webkit.org/show_bug.cgi?id=126405

3:14 PM Changeset in webkit [161231] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Video-seek-with-negative-playback was flaky.
https://bugs.webkit.org/show_bug.cgi?id=126379

Patch by Piotr Grad <p.grad@samsung.com> on 2014-01-02
Reviewed by Eric Carlson.

No new tests. Covered by existing tests.

m_player->setRate() should be called before updating m_playbackRate, because potentiallyPlaying() depends
on endedPlayback(), which checks m_playbackRate.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setPlaybackRate):

2:57 PM Changeset in webkit [161230] by mhahnenberg@apple.com
  • 13 edits
    1 add in trunk/Source/JavaScriptCore

Storing new CopiedSpace memory into a JSObject should fire a write barrier
https://bugs.webkit.org/show_bug.cgi?id=126025

Reviewed by Filip Pizlo.

Technically this is creating a pointer between a (potentially) old generation object and a young
generation chunk of memory, thus there needs to be a barrier.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGOperations.cpp:
  • heap/CopyWriteBarrier.h: Added. This class functions similarly to the WriteBarrier class. It

acts as a proxy for pointers to CopiedSpace. Assignments to the field cause a write barrier to
fire for the object that is the owner of the CopiedSpace memory. This is to ensure during nursery
collections that objects with new backing stores are visited, even if they are old generation objects.
(JSC::CopyWriteBarrier::CopyWriteBarrier):
(JSC::CopyWriteBarrier::operator!):
(JSC::CopyWriteBarrier::operator UnspecifiedBoolType*):
(JSC::CopyWriteBarrier::get):
(JSC::CopyWriteBarrier::operator*):
(JSC::CopyWriteBarrier::operator->):
(JSC::CopyWriteBarrier::set):
(JSC::CopyWriteBarrier::setWithoutWriteBarrier):
(JSC::CopyWriteBarrier::clear):

  • heap/Heap.h:
  • runtime/JSArray.cpp:

(JSC::JSArray::unshiftCountSlowCase):
(JSC::JSArray::shiftCountWithArrayStorage):
(JSC::JSArray::unshiftCountWithArrayStorage):

  • runtime/JSCell.h:

(JSC::JSCell::unvalidatedStructure):

  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::JSGenericTypedArrayView<Adaptor>::slowDownAndWasteMemory):

  • runtime/JSObject.cpp:

(JSC::JSObject::copyButterfly):
(JSC::JSObject::getOwnPropertySlotByIndex):
(JSC::JSObject::putByIndex):
(JSC::JSObject::enterDictionaryIndexingModeWhenArrayStorageAlreadyExists):
(JSC::JSObject::createInitialIndexedStorage):
(JSC::JSObject::createArrayStorage):
(JSC::JSObject::deletePropertyByIndex):
(JSC::JSObject::getOwnPropertyNames):
(JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes):
(JSC::JSObject::countElements):
(JSC::JSObject::increaseVectorLength):
(JSC::JSObject::ensureLengthSlow):

  • runtime/JSObject.h:

(JSC::JSObject::butterfly):
(JSC::JSObject::setStructureAndButterfly):
(JSC::JSObject::setButterflyWithoutChangingStructure):
(JSC::JSObject::JSObject):
(JSC::JSObject::putDirectInternal):
(JSC::JSObject::putDirectWithoutTransition):

  • runtime/MapData.cpp:

(JSC::MapData::ensureSpaceForAppend):

  • runtime/Structure.cpp:

(JSC::Structure::materializePropertyMap):

2:43 PM Changeset in webkit [161229] by mark.lam@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Interpreter::executeCall() should check for exceptions after calling callToNativeFunction().
https://bugs.webkit.org/show_bug.cgi?id=126405.

Not yet reviewed.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::executeCall):

  • executeCall() was expecting to return a non-null JSValue but neglected to check if an exception was thrown during a call to callToNativeFunction. We now check if an exception was thrown, and if so, we set the result to jsNull() the same way that JITCode::execute() does.
2:35 PM Changeset in webkit [161228] by barraclough@apple.com
  • 23 edits in trunk/Source

Source/WebCore: [iOS] Tapping any link crashes in WebCore::EventHandler::mouseMoved()
(also crashes when scrolling certain sites)
https://bugs.webkit.org/show_bug.cgi?id=126401
<rdar://problem/15739334>

Patch by Daniel Bates <dabates@apple.com> on 2014-01-02
Reviewed by Tim Horton.

  • page/ios/EventHandlerIOS.mm:

(WebCore::currentEventSlot): Make the shared variable have static-storage duration.

Source/WebKit/mac: Remove WindowIsVisible
https://bugs.webkit.org/show_bug.cgi?id=126270

Reviewed by Tim Horton.

We currently track visibility in two ways - ViewState::IsVisible and ViewState::WindowIsVisible.
The latter detects that the content is hidden in fewer cases than the former, and as such, the
former is always preferable.

This affects the hidden state provided to FocusController::contentAreaDidShowOrHide and to
Plugin::windowVisibilityChanged.

  • WebView/WebView.mm:

(-[WebView _windowWillOrderOnScreen:]):
(-[WebView _windowWillOrderOffScreen:]):

  • rename ContainingWindowIsVisible -> ContentIsVisible.

Source/WebKit2: Remove WindowIsVisible
https://bugs.webkit.org/show_bug.cgi?id=126270

Reviewed by Tim Horton.

We currently track visibility in two ways - ViewState::IsVisible and ViewState::WindowIsVisible.
The latter detects that the content is hidden in fewer cases than the former, and as such, the
former is always preferable.

This affects the hidden state provided to FocusController::contentAreaDidShowOrHide and to
Plugin::windowVisibilityChanged.

  • Shared/ViewState.h:
    • remove WindowIsVisible.
  • UIProcess/API/mac/PageClientImpl.h:
  • UIProcess/API/mac/PageClientImpl.mm:
    • remove isWindowVisible.
  • UIProcess/API/mac/WKView.mm:

(-[WKView viewDidMoveToWindow]):
(-[WKView _windowDidMiniaturize:]):
(-[WKView _windowDidDeminiaturize:]):
(-[WKView _windowDidOrderOffScreen:]):
(-[WKView _windowDidOrderOnScreen:]):

  • remove ViewState::WindowIsVisible.
  • UIProcess/PageClient.h:
    • remove isWindowVisible.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::updateViewState):

  • remove handling of ViewState::WindowIsVisible.
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::setIsVisible):
(WebKit::PluginView::didInitializePlugin):

  • WebProcess/Plugins/PluginView.h:
    • setWindowIsVisible -> setIsVisible.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::setViewIsVisible):
(WebKit::WebPage::setViewState):
(WebKit::WebPage::windowAndWebPageAreFocused):

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::isVisible):

  • remove m_windowIsVisible, setWindowIsVisible (implementation moved to setViewIsVisible).
2:32 PM Changeset in webkit [161227] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

[iOS] Tapping any link crashes in WebCore::EventHandler::mouseMoved()
(also crashes when scrolling certain sites)
https://bugs.webkit.org/show_bug.cgi?id=126401
<rdar://problem/15739334>

Reviewed by Tim Horton.

  • page/ios/EventHandlerIOS.mm:

(WebCore::currentEventSlot): Make the shared variable have static-storage duration.

2:20 PM Changeset in webkit [161226] by barraclough@apple.com
  • 8 edits in trunk/Source/WebKit2

Refactor ViewState handling for drawing area / plugins
https://bugs.webkit.org/show_bug.cgi?id=126272

Reviewed by Tim Horton.

Instead of all ViewState changes being handled by the WebPage, notify the DrawingArea & PluginView to better encapsulate.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::viewStateDidChange):
(WebKit::PluginView::platformViewStateDidChange):

  • added, handle changes in ViewState relevant to PluginView.

(WebKit::PluginView::didInitializePlugin):

  • helper function removed.
  • WebProcess/Plugins/PluginView.h:
    • added/removed function declarations.
  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::viewStateDidChange):

  • declare viewStateDidChange.
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setActive):

  • no need to notify plugin.

(WebKit::WebPage::setViewIsVisible):

  • no need to notify drawing area.

(WebKit::WebPage::setViewState):

  • send viewStateDidChange to drawing area / plugin.

(WebKit::WebPage::setWindowIsVisible):

  • no need to notify plugin.
  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::layerHostingMode):

  • removed setLayerHostingMode.
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
    • declare viewStateDidChange.
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::viewStateDidChange):

  • added, handle changes in ViewState relevant to DrawingArea.
2:16 PM Changeset in webkit [161225] by fpizlo@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

Address review feedback in https://bugs.webkit.org/show_bug.cgi?id=126387#c3

  • llint/LowLevelInterpreter.asm:
2:15 PM Changeset in webkit [161224] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

Merge didMoveOnscreen / page visibility to isVisible
https://bugs.webkit.org/show_bug.cgi?id=126268

Build fix.

  • UIProcess/WebContext.h: Removed some accidental input.
2:06 PM Changeset in webkit [161223] by barraclough@apple.com
  • 17 edits in trunk/Source

Merge didMoveOnscreen / page visibility to isVisible
https://bugs.webkit.org/show_bug.cgi?id=126268

Reviewed by Tim Horton.

The onscreen state most closely tracks view visibility (though currently
also tracks a mix of in-window state). Make more consistent, simplify,
and move all animation suspension logic to Page, so it can be controlled
by the PageThrottler.

Source/WebCore:

  • WebCore.exp.in:
  • page/EventHandler.cpp:

(WebCore::EventHandler::fakeMouseMoveEventTimerFired):

  • page/FrameView.cpp:

(WebCore::FrameView::shouldSetCursor):

  • page/Page.cpp:

(WebCore::Page::Page):

  • initialize new variables.

(WebCore::Page::setIsVisible):

  • merge setVisibilityState, didMoveOnscreen, willMoveOffscreen.

(WebCore::Page::setIsPrerender):

  • switches visibility state from hidden to prerender.

(WebCore::Page::visibilityState):

  • computed from m_isVisible, m_isPrerender.

(WebCore::Page::hiddenPageCSSAnimationSuspensionStateChanged):

  • m_visibilityState -> m_isVisible.
  • page/Page.h:
    • remove didMoveOnscreen/willMoveOffscreen m_isOnscreen & m_visibilityState -> m_isVisible & m_isPrerender setVisibilityState -> setIsVisible & setIsPrerender.

(WebCore::Page::isVisible):

  • isOnscreen -> isVisible.

Source/WebKit/blackberry:

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::setPageVisibilityState):

  • setVisibilityState -> setIsVisible.

Source/WebKit/efl:

  • ewk/ewk_view.cpp:

(ewk_view_visibility_state_set):

  • setVisibilityState -> setIsVisible/setIsPrerender.

Source/WebKit/gtk:

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::setPageVisibility):

  • setVisibilityState -> setIsVisible/setIsPrerender.

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _updateVisibilityState]):

  • _setVisibilityState:isInitialState: -> _setIsVisibile:isInitialState:.

(-[WebView _setIsVisible:isInitialState:]):

  • added.

(-[WebView _setVisibilityState:isInitialState:]):

  • setVisibilityState -> setIsVisible/setIsPrerender.

(-[WebView viewWillMoveToWindow:]):
(-[WebView viewDidMoveToWindow]):

  • remove redundant calls to willMoveOffscreen/didMoveOnscreen (this is handled by _updateVisibilityState).

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::setViewIsVisible):

  • updateVisibilityState -> setIsVisible.

(WebKit::WebPage::setIsInWindow):

  • remove redundant willMoveOffscreen/didMoveOnscreen calls - this is handled by setIsVisible.

(WebKit::WebPage::setMayStartMediaWhenInWindow):

  • isOnscreen -> isInWindow. We start media when the view is in a window, not when the view is visible.

(WebKit::WebPage::setVisibilityStatePrerender):

  • setVisibilityState -> setIsPrerender.
1:34 PM Changeset in webkit [161222] by oliver@apple.com
  • 17 edits in trunk/Source/WebCore

Update bindings test results

1:00 PM Changeset in webkit [161221] by zandobersek@gmail.com
  • 4 edits in trunk/Source/WebKit/gtk

[GTK] Fix mismatched header guards in private WK1 header files
https://bugs.webkit.org/show_bug.cgi?id=126390

Reviewed by Martin Robinson.

Fix three mismatched header guards that are producing warnings when building with Clang.

  • webkit/webkitsecurityoriginprivate.h:
  • webkit/webkitviewportattributesprivate.h:
  • webkit/webkitwebnavigationactionprivate.h:
12:56 PM Changeset in webkit [161220] by oliver@apple.com
  • 27 edits in trunk/Source

Refactor PutPropertySlot to be aware of custom properties
https://bugs.webkit.org/show_bug.cgi?id=126187

Reviewed by Antti Koivisto.

Source/JavaScriptCore:

Refactor PutPropertySlot, making the constructor take the thisValue
used as a target. This results in a wide range of boilerplate changes
to pass the new parameter.

  • API/JSObjectRef.cpp:

(JSObjectSetProperty):

  • dfg/DFGOperations.cpp:

(JSC::DFG::operationPutByValInternal):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):

  • jit/JITOperations.cpp:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/Arguments.cpp:

(JSC::Arguments::putByIndex):

  • runtime/ArrayPrototype.cpp:

(JSC::putProperty):
(JSC::arrayProtoFuncPush):

  • runtime/JSCJSValue.cpp:

(JSC::JSValue::putToPrimitiveByIndex):

  • runtime/JSCell.cpp:

(JSC::JSCell::putByIndex):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::put):

  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::JSGenericTypedArrayView<Adaptor>::putByIndex):

  • runtime/JSONObject.cpp:

(JSC::Walker::walk):

  • runtime/JSObject.cpp:

(JSC::JSObject::putByIndex):
(JSC::JSObject::putDirectNonIndexAccessor):
(JSC::JSObject::deleteProperty):

  • runtime/JSObject.h:

(JSC::JSObject::putDirect):

  • runtime/Lookup.h:

(JSC::putEntry):
(JSC::lookupPut):

  • runtime/PutPropertySlot.h:

(JSC::PutPropertySlot::PutPropertySlot):
(JSC::PutPropertySlot::setCustomProperty):
(JSC::PutPropertySlot::thisValue):
(JSC::PutPropertySlot::isCacheable):

Source/WebCore:

Update the bindings code generation and custom objects
to the new function signatures

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::put):

  • bindings/objc/WebScriptObject.mm:

(-[WebScriptObject setValue:forKey:]):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::JSTestInterface::putByIndex):

  • bridge/NP_jsobject.cpp:

(_NPN_SetProperty):

Source/WebKit/mac:

Update for new method signatures.

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::setProperty):

Source/WebKit2:

Update for new method signatures.

  • WebProcess/Plugins/Netscape/NPJSObject.cpp:

(WebKit::NPJSObject::setProperty):

12:42 PM Changeset in webkit [161219] by mark.lam@apple.com
  • 15 edits in branches/jsCStack/Source/JavaScriptCore

CStack: Get the C Loop LLINT to build again.
https://bugs.webkit.org/show_bug.cgi?id=126393.

Not yet reviewed.

  • jit/JITCode.cpp:

(JSC::DirectJITCode::addressForCall):

  • #if ENABLE(JIT) out the use of RegisterPreservationWrappers.
  • llint/LLIntCLoop.cpp:

(JSC::LLInt::CLoop::initialize):

  • Update CLoop::initialize() to call the new CLoop::execute().
  • llint/LLIntCLoop.h:
  • CLoop::execute() now takes the arguments for callToJavaScript, and it effectively acts as the gateway for re-entering the VM in place for callToJavaScript (and callToNativeFunction).

CLoop::execute() should set up the "CPU" execution environment i.e.
CLoopRegisters should be initialized with the incoming args, stack
pointer, base pointer, and return address. We'll take care of this
part in a subsequent patch.

  • llint/LLIntOpcode.h:
  • Added C loop only llint opcodes llint_call_to_javascript, and llint_call_to_native_function. These will be used as the opcodeID for the llint interpreter blob for callToJavaScript and callToNativeFunction.

Meanwhile, the LLINT thunk will provide C functions for callToJavaScript
and callToNativeFunction which calls CLoop::execute() with the opcodeID
for llint_call_to_javascript and llint_call_to_native_function
respectively.

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::llint_throw_stack_overflow_error):

  • Changed llint_throw_stack_overflow_error()'s return type so that it is easier for the C Loop LLINT to generate boilerplate code to call it.

The return value is not used by anyone. But since this is code that
rarely executed, we'll opt to take this small hit of returning an
unused value rather than having to spin some way to make the C Loop
offlineasm smarter only for handling this one case.

  • llint/LLIntSlowPaths.h:
  • llint/LLIntThunks.cpp:

(JSC::callToJavaScript):
(JSC::callToNativeFunction):

  • Updated to call the new CLoop::execute().

We're going to try to use the doCallToJavaScript code defined in the
LLINT assembly instead of spinning our own version in C++ as we did
previously.

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter.cpp:

(JSC::CLoopRegister::operator ExecState*):
(JSC::CLoopRegister::operator Instruction*):
(JSC::CLoopRegister::operator VM*):
(JSC::CLoopRegister::operator ProtoCallFrame*):

  • Added these cast operators to the CLoopRegister to simplify the C Loop call slow path boilerplate.

(JSC::CLoop::execute):

  • llint/LowLevelInterpreter64.asm:
  • offlineasm/cloop.rb:
  • Define C Loop registers to match ARM as expected by the code.
  • Replaced a #error with a RELEASE_ASSERT_NOT_REACHED().
  • Reworked the call slow path boilerplate to take advantage of the CLoopRegister cast operators. We need this in order to be able to call slow path functions that take different argument types e.g. llint_throw_stack_overflow_error().
  • runtime/CommonSlowPaths.cpp:

(JSC::setupArityCheckData):

  • runtime/VM.cpp:

(JSC::VM::getHostFunction):

  • runtime/VMEntryScope.cpp:

(JSC::VMEntryScope::requiredCapacity):

12:15 PM Changeset in webkit [161218] by fpizlo@apple.com
  • 13 edits in trunk/Source/JavaScriptCore

Rationalize DFG DCE
https://bugs.webkit.org/show_bug.cgi?id=125523

Reviewed by Mark Hahnenberg.

Adds the ability to DCE more things. It's now the case that if a node is completely
pure, we clear NodeMustGenerate and the node becomes a DCE candidate.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDCEPhase.cpp:

(JSC::DFG::DCEPhase::cleanVariables):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::clobbersWorld):

  • dfg/DFGNodeType.h:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileAdd):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileValueAdd):

12:11 PM Changeset in webkit [161217] by fpizlo@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

Some crashes in C stack on Mountain Lion, for example on crypto-aes, due to misaligned stack
https://bugs.webkit.org/show_bug.cgi?id=126394

Not yet reviewed.

The specialized math thunks currently ensure that inside the thunk, the stack is aligned. But when they
call the wrapper, the wrapper previously didn't align the stack. This patch fixes that.

I think that we can drop the wrappers on X86-64 and maybe on other platforms as well. I'll leave that to
a future patch.

  • jit/ThunkGenerators.cpp:
12:06 PM Changeset in webkit [161216] by ap@apple.com
  • 3 edits in trunk/Tools

Accessing Trac from build.webkit.org/dashboard should enable XMLHttpRequest.withCredentials
https://bugs.webkit.org/show_bug.cgi?id=126391

Reviewed by Dan Bernstein.

Make it conditional, as trac.webkit.org doesn't work when withCredentials is enabled.
One can request credentials use via Initialization.js.

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

(Trac):
(Trac.prototype.update):

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

(loadXML):

12:03 PM Changeset in webkit [161215] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Unreviewed, rolling out r160846.
http://trac.webkit.org/changeset/160846
https://bugs.webkit.org/show_bug.cgi?id=126395

Breaks build scripts for Windows when Visual Studio is not
installed in Program Files (Requested by rfong on #webkit).

  • Scripts/webkitdirs.pm:

(visualStudioInstallDir):

11:45 AM Changeset in webkit [161214] by Martin Robinson
  • 3 edits in trunk/Tools

[GTK] [CMake] run-gtk-tests should run with the cmake build
https://bugs.webkit.org/show_bug.cgi?id=126341

Reviewed by Carlos Garcia Campos.

  • Scripts/run-gtk-tests:

(TestRunner.init): Use the new calling conventions for the common script.
(TestRunner._setup_testing_environment): Ditto.

  • gtk/common.py:

(set_build_types): Added set_build_types, to avoid having build_type arguments
for all functions in common.
(binary_build_path): Added this function which gets the path to the built binaries.
(get_build_path): Removed the build_types argument.
(build_path): Removed the build_types argument and call get_build_path directly now.

11:42 AM Changeset in webkit [161213] by ap@apple.com
  • 2 edits in trunk/Tools

https://bugs.webkit.org/show_bug.cgi?id=126391
Accessing Trac from build.webkit.org/dashboard should enable XMLHttpRequest.withCredentials

Rubber-stamped by Dan Bernstein.

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

(loadXML): Quick and dirty fix, with a FIXME.

11:41 AM Changeset in webkit [161212] by Simon Fraser
  • 11 edits
    2 copies in trunk/Source

Add AsyncScrollingCoordinator, which is a base class for threaded and future remote ScrollingCoordinators
https://bugs.webkit.org/show_bug.cgi?id=126389

Source/WebCore:

Reviewed by Tim Horton.

Add AsyncScrollingCoordinator, a ScrollingCoordinator that knows about ScrollingStateTrees
and ScrollingTrees, but leaves it up to subclasses to decide when and how to commit.

  • WebCore.xcodeproj/project.pbxproj: Added AsyncScrollingCoordinator.*
  • page/scrolling/AsyncScrollingCoordinator.cpp: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm.

(WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
(WebCore::AsyncScrollingCoordinator::~AsyncScrollingCoordinator):
(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
(WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate):
(WebCore::AsyncScrollingCoordinator::scrollableAreaScrollbarLayerDidChange):
(WebCore::AsyncScrollingCoordinator::attachToStateTree):
(WebCore::AsyncScrollingCoordinator::detachFromStateTree):
(WebCore::AsyncScrollingCoordinator::clearStateTree):
(WebCore::AsyncScrollingCoordinator::syncChildPositions):
(WebCore::AsyncScrollingCoordinator::ensureRootStateNodeForFrameView):
(WebCore::AsyncScrollingCoordinator::updateScrollingNode):
(WebCore::AsyncScrollingCoordinator::updateViewportConstrainedNode):
(WebCore::AsyncScrollingCoordinator::setScrollLayerForNode):
(WebCore::AsyncScrollingCoordinator::setCounterScrollingLayerForNode):
(WebCore::AsyncScrollingCoordinator::setHeaderLayerForNode):
(WebCore::AsyncScrollingCoordinator::setFooterLayerForNode):
(WebCore::AsyncScrollingCoordinator::setNonFastScrollableRegionForNode):
(WebCore::AsyncScrollingCoordinator::setWheelEventHandlerCountForNode):
(WebCore::AsyncScrollingCoordinator::setScrollBehaviorForFixedElementsForNode):
(WebCore::AsyncScrollingCoordinator::setScrollbarPaintersFromScrollbarsForNode):
(WebCore::AsyncScrollingCoordinator::setSynchronousScrollingReasons):
(WebCore::AsyncScrollingCoordinator::updateMainFrameScrollLayerPosition):
(WebCore::AsyncScrollingCoordinator::recomputeWheelEventHandlerCountForFrameView):
(WebCore::AsyncScrollingCoordinator::isRubberBandInProgress):
(WebCore::AsyncScrollingCoordinator::setScrollPinningBehavior):
(WebCore::AsyncScrollingCoordinator::scrollingStateTreeAsText):

  • page/scrolling/AsyncScrollingCoordinator.h: Copied from Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.h.

(WebCore::AsyncScrollingCoordinator::scrollingTree):
(WebCore::AsyncScrollingCoordinator::setScrollingTree):
(WebCore::AsyncScrollingCoordinator::scrollingStateTree):
(WebCore::AsyncScrollingCoordinator::releaseScrollingTree):

  • page/scrolling/ScrollingCoordinator.h: Add casting support.

(WebCore::ScrollingCoordinator::isAsyncScrollingCoordinator):

  • page/scrolling/ThreadedScrollingTree.h: commitNewTreeState() needs to be public.
  • page/scrolling/mac/ScrollingCoordinatorMac.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.mm: Lots of code moved to AsyncScrollingCoordinator.

(WebCore::ScrollingCoordinatorMac::ScrollingCoordinatorMac):
(WebCore::ScrollingCoordinatorMac::~ScrollingCoordinatorMac):
(WebCore::ScrollingCoordinatorMac::pageDestroyed):
(WebCore::ScrollingCoordinatorMac::commitTreeStateIfNeeded):
(WebCore::ScrollingCoordinatorMac::handleWheelEvent):
(WebCore::ScrollingCoordinatorMac::scheduleTreeStateCommit):
(WebCore::ScrollingCoordinatorMac::commitTreeState):
(WebCore::ScrollingCoordinatorMac::updateTiledScrollingIndicator):

Source/WebKit2:

Reviewed by Tim Horton.

Add AsyncScrollingCoordinator, a ScrollingCoordinator that knows about ScrollingStateTrees
and ScrollingTrees, but leaves it up to subclasses to decide when and how to commit.

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::addScrollingTreeForPage): The ScrollingTree is exposed on
AsyncScrollingCoordinator now, not ScrollingCoordinator, so we have to cast here.

  • WebProcess/WebPage/WebPage.cpp: m_useThreadedScrolling -> m_useAsyncScrolling terminology change.

(WebKit::WebPage::WebPage):
(WebKit::WebPage::~WebPage):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::updatePreferences): Cast to AsyncScrollingCoordinator in order
to get to the ScrollingTree.

11:20 AM Changeset in webkit [161211] by fpizlo@apple.com
  • 4 edits in branches/jsCStack/Source/JavaScriptCore

Refactor LLInt C stack frame munging helpers so that 32-bit code paths can use them
https://bugs.webkit.org/show_bug.cgi?id=126387

Not yet reviewed.

This gets us closer to the 32-bit LLInt working on the C stack by enabling the
32-bit code paths to use the low-level stack/frame pointer munging helpers. This
patch doesn't completely ensure that these helpers actually work - the 32-bit
build is still broken - but it's a good change to land separately since it affects
64-bit code paths as well.

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
10:45 AM Changeset in webkit [161210] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Simplify the insides of DocumentSharedObjectPool and reduce memory usage.

Merging Blink r164152 by Elliott Sprehn.

Instead of storing an OwnPtr to an object that has a pointer to the
ShareableElementData as well as a pointer into the ShareableElementData
and the length we can just store a RefPtr to the SharableElementData.

This also reduces the memory usage of the pool by 2 pointers per entry.

  • dom/DocumentSharedObjectPool.h:
  • dom/DocumentSharedObjectPool.cpp:

(WebCore::attributeHash):
(WebCore::hasSameAttributes):
(WebCore::DocumentSharedObjectPool::cachedShareableElementDataWithAttributes):

10:11 AM Changeset in webkit [161209] by krit@webkit.org
  • 14 edits in trunk

Support <box> values computed style for 'clip-path' property
https://bugs.webkit.org/show_bug.cgi?id=126148

Reviewed by Simon Fraser.

Source/WebCore:

Calculate computed style for 'clip-path' property.

Updated tests to check for computed style.

  • css/BasicShapeFunctions.cpp: Add box value bounding-box.

(WebCore::valueForBox):
(WebCore::boxForValue):

  • css/CSSComputedStyleDeclaration.cpp: Return the computed style

for 'clip-path'.

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/DeprecatedStyleBuilder.cpp: Create CSSValueLists for 'clip-th'.

(WebCore::ApplyPropertyClipPath::applyValue):

  • rendering/ClipPathOperation.h: Add bounding-box value.

(WebCore::ShapeClipPathOperation::pathForReferenceRect):
(WebCore::ShapeClipPathOperation::setReferenceBox):
(WebCore::ShapeClipPathOperation::referenceBox):
(WebCore::BoxClipPathOperation::create):
(WebCore::BoxClipPathOperation::pathForReferenceRect):
(WebCore::BoxClipPathOperation::referenceBox):
(WebCore::BoxClipPathOperation::BoxClipPathOperation):

  • rendering/shapes/ShapeInfo.h: Add bounding-box value.

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

  • rendering/style/BasicShapes.cpp: Add bounding-box value.

(WebCore::BasicShape::referenceBoxSize):

  • rendering/style/BasicShapes.h:

LayoutTests:

Test computed style of 'clip-path' property.

  • fast/masking/parsing-clip-path-shape.html:
7:51 AM Changeset in webkit [161208] by Antti Koivisto
  • 9 edits in trunk/Source/WebCore

Always resolve style from root
https://bugs.webkit.org/show_bug.cgi?id=126380

Reviewed by Andreas Kling.

Forced style resolve that does not start from the root is never really correct.
Remove the few remaining instances.

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::setResetStyleInheritance):

Update style asynchronously.

  • dom/ShadowRoot.h:
  • dom/Text.h:
  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::createElementRenderer):
(WebCore::HTMLPlugInImageElement::documentWillSuspendForPageCache):
(WebCore::HTMLPlugInImageElement::documentDidResumeFromPageCache):

Delete the render tree synchronously on suspend and rebuild it asynchronously on resume.
No need for m_customStyleForPageCache hack.

  • html/HTMLPlugInImageElement.h:


Remove m_customStyleForPageCache.

  • style/StyleResolveTree.cpp:
  • style/StyleResolveTree.h:


Remove Element version of resolveTree from the interface.

  • svg/SVGUseElement.h:
7:50 AM Changeset in webkit [161207] by Antti Koivisto
  • 11 edits
    2 deletes in trunk/Source/WebCore

Remove PlaceholderDocument
https://bugs.webkit.org/show_bug.cgi?id=126382

Reviewed by Andreas Kling.

Remove PlaceholderDocument class and replace it with a bit in Document.

  • WebCore.xcodeproj/project.pbxproj:
  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::createRenderTree):

  • dom/Document.h:


Also make Synthesized a construction flag instead of a boolean parameter.

(WebCore::Document::createNonRenderedPlaceholder):

  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::HTMLDocument):

  • html/HTMLDocument.h:

(WebCore::HTMLDocument::create):
(WebCore::HTMLDocument::createSynthesizedDocument):

  • loader/DocumentWriter.cpp:

(WebCore::DocumentWriter::createDocument):

  • loader/PlaceholderDocument.cpp: Removed.
  • loader/PlaceholderDocument.h: Removed.
  • pdf/ios/PDFDocument.h:

(WebCore::PDFDocument::PDFDocument):

5:09 AM WebKitGTK/StartHacking edited by Manuel Rego Casasnovas
Link to SpeedUpBuild for ld.gold instructions (diff)
5:08 AM WebKitGTK/SpeedUpBuild edited by Manuel Rego Casasnovas
Add information about how to configure ld.gold with update-alternatives (diff)
3:43 AM Changeset in webkit [161206] by benjamin@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Attempt to fix the build of WebCore's code generator on CMake based system
https://bugs.webkit.org/show_bug.cgi?id=126271

Reviewed by Sam Weinig.

  • CMakeLists.txt:
1:49 AM Changeset in webkit [161205] by Antti Koivisto
  • 8 edits in trunk/Source/WebCore

Remove public attachRenderTree
https://bugs.webkit.org/show_bug.cgi?id=126368

Reviewed by Andreas Kling.

Remove the remaining explicit render tree construction.

  • dom/Document.cpp:

(WebCore::Document::createRenderTree):

Use recalcStyle() instead of calling attachRenderTree directly.

  • html/HTMLViewSourceDocument.cpp:

(WebCore::HTMLViewSourceDocument::addText):

Remove forgotten attachTextRenderer.

  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::InsertionPoint):

Remove willAttachRenderers/didAttachRenderers hack.

  • html/shadow/InsertionPoint.h:

(WebCore::toInsertionPoint):

  • loader/PlaceholderDocument.cpp:

(WebCore::PlaceholderDocument::createRenderTree):

Seriously, nothing to do here.

  • style/StyleResolveTree.cpp:

(WebCore::Style::attachDistributedChildren):
(WebCore::Style::attachChildren):
(WebCore::Style::detachDistributedChildren):
(WebCore::Style::detachChildren):

Making attaching and detaching distributed insertion point children part of ResolveTree internals.

  • style/StyleResolveTree.h:


Remove interfaces with no clients.

Note: See TracTimeline for information about the timeline view.