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

Timeline



Jul 17, 2014:

11:16 PM Changeset in webkit [171215] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE] Re-enqueue after a removeCodedFrames() only if the removed frames overlap what may have possibly been enqueued but undisplayed.
https://bugs.webkit.org/show_bug.cgi?id=135039

Reviewed by Eric Carlson.

When a client calls removeCodedFrames(), we must re-enqueue those ranges if the removed samples overlap with
enqueued but possibly un-displayed samples. Otherwise, replacement samples may lead to decode errors as those
new samples dependencies are not met. But if we re-enqueue too frequently, this may cause subtle but noticible
display timing glitches, so only re-enqueue when removeCodedFrames have a possiblity of removing enqueued, but
not yet displayed samples.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::removeCodedFrames):

10:55 PM Changeset in webkit [171214] by fpizlo@apple.com
  • 3 edits
    2 adds in branches/ftlopt/Source/JavaScriptCore

[ftlopt] DFG Flush(SetLocal) store elimination is overzealous for captured variables in the presence of nodes that have no effects but may throw (merge trunk r171190)
https://bugs.webkit.org/show_bug.cgi?id=135019

Reviewed by Oliver Hunt.

Behaviorally, this is just a merge of trunk r171190, except that the relevant functionality
has moved to StrengthReductionPhase and is written in a different style. Same algorithm,
different code.

  • dfg/DFGNodeType.h:
  • dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::handleNode):

  • tests/stress/capture-escape-and-throw.js: Added.

(foo.f):
(foo):

  • tests/stress/new-array-with-size-throw-exception-and-tear-off-arguments.js: Added.

(foo):
(bar):

9:34 PM Changeset in webkit [171213] by fpizlo@apple.com
  • 18 edits
    6 adds in trunk

Need ability to fuzz exception throwing
https://bugs.webkit.org/show_bug.cgi?id=134945
<rdar://problem/17722027>

Reviewed by Sam Weinig.

Source/JavaScriptCore:
Adds the ability to instrument exception checks, and to force some random
exception check to artificially throw an exception. Also adds new tests that
are suitable for testing this. Note that this is closely tied to the Tools
directory changes that are also part of this changeset.

This also fixes an activation tear-off bug that arises if we ever throw an
exception from operationOptimize, or if due to some other bug it's only due
to the operationOptimize exception check that we realize that there is an
exception to be thrown.

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::fastExceptionCheck):

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

(JSC::FTL::LowerDFGToLLVM::callCheck):

  • interpreter/Interpreter.cpp:

(JSC::unwindCallFrame):

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::callExceptionFuzz):
(JSC::AssemblyHelpers::emitExceptionCheck):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::emitExceptionCheck): Deleted.

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_enter):

  • jit/JITOperations.cpp:

(JSC::numberOfExceptionFuzzChecks):

  • jit/JITOperations.h:
  • jsc.cpp:

(jscmain):

  • runtime/Options.h:
  • runtime/TestRunnerUtils.h:
  • tests/exceptionFuzz.yaml: Added.
  • tests/exceptionFuzz: Added.
  • tests/exceptionFuzz/3d-cube.js: Added.
  • tests/exceptionFuzz/date-format-xparb.js: Added.
  • tests/exceptionFuzz/earley-boyer.js: Added.

Tools:
Adds a new script, js-exception-fuzz, which will run some jsc command-line using
exception fuzzing. This means that we will force exceptions to be thrown in random
places to see how the engine reacts. This is now integrated with the various test
drivers, so run-javascriptcore-tests will run some exception fuzzing tests by
default.

  • Scripts/jsc-stress-test-helpers/js-exception-fuzz: Added.

(fail):

  • Scripts/run-javascriptcore-tests:
  • Scripts/run-jsc-stress-tests:
8:59 PM Changeset in webkit [171212] by ddkilzer@apple.com
  • 21 edits
    1 delete in trunk/Source

SECTORDER_FLAGS should be defined in target's xcconfig file, not Base.xcconfig
<http://webkit.org/b/135006>

Reviewed by Darin Adler.

Source/JavaScriptCore:

  • Configurations/Base.xcconfig: Move SECTORDER_FLAGS to

JavaScriptCore.xcconfig.

  • Configurations/CompileRuntimeToLLVMIR.xcconfig: Remove empty

SECTORDER_FLAGS definition.

  • Configurations/DebugRelease.xcconfig: Ditto.
  • Configurations/JavaScriptCore.xcconfig: Use $(CONFIGURATION)

so SECTORDER_FLAGS is only set on Production builds.

Source/WebCore:

  • Configurations/Base.xcconfig: Move SECTORDER_FLAGS to

WebCore.xcconfig.

  • Configurations/DebugRelease.xcconfig: Remove empty

SECTORDER_FLAGS definition.

  • Configurations/WebCoreTestShim.xcconfig: Ditto.
  • Configurations/WebCoreTestSupport.xcconfig: Ditto.
  • Configurations/WebCore.xcconfig: Use $(CONFIGURATION) so

SECTORDER_FLAGS is only set on Production builds.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj: Remove references to unused

WebKit.xcconfig file.

Source/WebKit/mac:

  • Configurations/Base.xcconfig: Move SECTORDER_FLAGS to

WebKitLegacy.xcconfig.

  • Configurations/DebugRelease.xcconfig: Remove empty

SECTORDER_FLAGS definition.

  • Configurations/WebKit.xcconfig: Removed. Unused.
  • Configurations/WebKitLegacy.xcconfig: Use $(CONFIGURATION) so

SECTORDER_FLAGS is only set on Production builds.

Source/WebKit2:

  • Configurations/Base.xcconfig: Move SECTORDER_FLAGS to

WebKit.xcconfig.

  • Configurations/DebugRelease.xcconfig: Remove empty

SECTORDER_FLAGS definition.

  • Configurations/WebKit.xcconfig: Use $(CONFIGURATION) so

SECTORDER_FLAGS is only set on Production builds.

7:16 PM Changeset in webkit [171211] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r171167): LoaderClient processDidCrash call is made after load state changes
https://bugs.webkit.org/show_bug.cgi?id=135032
<rdar://problem/17716602>

Reviewed by Dan Bernstein.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::processDidCrash): Create a transaction, so that the nested
transaction in resetStateAfterProcessExited() wouldn't be committed.
(WebKit::WebPageProxy::resetStateAfterProcessExited): Don't use auto - it was hiding
the most important fact that this is a stack object that can't be simply moved to
a different function.

6:56 PM Changeset in webkit [171210] by Alan Bujtas
  • 4 edits
    2 adds in trunk

Subpixel rendering: Embedded non-compositing rotate transform paints to wrong position.
https://bugs.webkit.org/show_bug.cgi?id=135028

Reviewed by Simon Fraser.

CTM always translates to where the layer's renderer() is going to paint.
It ensures that the pixel snapped renderer() always end up painting to (0, 0) which is
required to be able to position properly on transformed context.

Source/WebCore:
Test: fast/layers/hidpi-transform-on-child-content-is-mispositioned.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::beginTransparencyLayers):
(WebCore::RenderLayer::clipToRect):
(WebCore::RenderLayer::paintLayerByApplyingTransform):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::paintOverflowControlsForFragments):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h:

LayoutTests:

  • fast/layers/hidpi-transform-on-child-content-is-mispositioned-expected.html: Added.
  • fast/layers/hidpi-transform-on-child-content-is-mispositioned.html: Added.
6:16 PM Changeset in webkit [171209] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Fix the updateVisibleContentRects synchronization for load after r171154
https://bugs.webkit.org/show_bug.cgi?id=135036

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-07-17
Reviewed by Dan Bernstein.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::updateVisibleContentRects):
I forgot to update one of the condition after changing from lastTransaction to next transaction
in r171154.

4:59 PM Changeset in webkit [171208] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Disable live-out calculation for stackmap intrinsics.
https://bugs.webkit.org/show_bug.cgi?id=134366

The live-out variables are not required for the stackmaps, because we
don't care about preserving the state when we perform destructive
patching.

Patch by Juergen Ributzka <juergen@apple.com> on 2014-07-17
Reviewed by Filip Pizlo.

  • llvm/library/LLVMExports.cpp:

(initializeAndGetJSCLLVMAPI):

4:49 PM Changeset in webkit [171207] by Beth Dakin
  • 3 edits in trunk/Source/WebCore

Fixed position elements are misplaced when a WK1 view has contentInsets set
https://bugs.webkit.org/show_bug.cgi?id=135031
-and corresponding-
<rdar://problem/17682335>

Reviewed by Tim Horton.

[NSScrollView documentVisibleRect] is not the rect that we are looking for when
this function is called. WebCore is interested in the rect that does not include
content that is within the inset region.

Implement contract() to avoid the awkwardness of calling expand() with negative
values.

  • platform/graphics/IntSize.h:

(WebCore::IntSize::contract):

Use _insetBounds instead of documentVisibleRect, and when it’s necessary to use
the frame’s dimensions, extract the inset from that size.

  • platform/mac/ScrollViewMac.mm:

(WebCore::ScrollView::platformVisibleContentRect):
(WebCore::ScrollView::platformVisibleContentSize):

4:39 PM Changeset in webkit [171206] by Lucas Forschler
  • 6 edits in branches/safari-600.1-branch

Rollout of r171167. <rdar://problem/17716602>

4:37 PM Changeset in webkit [171205] by Lucas Forschler
  • 6 edits in tags/Safari-600.1.1

Rollout r171167. <rdar://problem/17716602>

4:30 PM Changeset in webkit [171204] by Joseph Pecoraro
  • 2 edits in trunk/Source/JavaScriptCore

Follow-up fix to r171195 to prevent ASSERT in fast/profiler/profile-with-no-title.html

Rubber-stamped by Alexey Proskuryakov.

Null / empty titles should be fine. Tests pass in release builds
which allowed empty titles, and it looks like the LegacyProfiler
stopProfiling handles empty titles as expected already.

  • profiler/LegacyProfiler.cpp:

(JSC::LegacyProfiler::startProfiling):

3:46 PM Changeset in webkit [171203] by enrica@apple.com
  • 7 edits in trunk/Source

[REGRESSION WK2]The menu bar does not show up when tapping on the caret.
https://bugs.webkit.org/show_bug.cgi?id=135023
<rdar://problem/17617282>

../WebCore:
Reviewed by Benjamin Poulain.

Adding some exports.

  • WebCore.exp.in:

../WebKit2:
Reviewed by Benjamin Poulain and Ryosuke Niwa.

WKContentView needs to implement hasContent to correctly show
the appropriate menu bar content. The patch adds this information
to the EditorState.

  • Shared/EditorState.cpp:

(WebKit::EditorState::encode):
(WebKit::EditorState::decode):

  • Shared/EditorState.h:

(WebKit::EditorState::EditorState):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView hasContent]):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::editorState):

3:08 PM Changeset in webkit [171202] by Lucas Forschler
  • 5 edits in branches/safari-537.78-branch/Source

Versioning.

3:08 PM Changeset in webkit [171201] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebKit2

[iOS][WK2] Add SPI to do a dynamic viewport update without showing any content
https://bugs.webkit.org/show_bug.cgi?id=135010

Reviewed by Darin Adler.

This patch add a new SPI, [WKWebView _resizeWhileHidingContentWithUpdates:] to perform all the work
of a dynamic viewport size update, but instead of animating the old content, it is hidden.

The patch is built on top of the animated resize mechanism. Instead of having an animation driving
the beginning and end, we let the content do that. The dynamic resize begins, it runs for as long as
the WebProcess needs, and it ends when first layer tree commit with the new content is processed.

The attribute "_isAnimatingResize" is generalized to support two modes of resizing: animated and
hiding content.

The attribute "_hasCommittedLoadForMainFrame" is rather silly. It is only needed because
[WKWebView _resizeWhileHidingContentWithUpdates:] is intended to be called a lot before the page
is initialized, and doing an animated resize would trash the WebProcess state.
I wish I had a better solution, this is not great.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _processDidExit]):
(-[WKWebView _didCommitLoadForMainFrame]):
(-[WKWebView _didCommitLayerTree:]):
This is the key to make this work properly. We want _resizeWhileHidingContentWithUpdates: to behave
exactly like an animated resize to avoid bugs. So we went to the whole update mechanism using
_resizeAnimationTransformAdjustments to accumulate the adjustments, now we need to restore a correct
view state.

Calling [WKWebView _endAnimatedResize] will do exactly that, but we need to make sure we do not hit
the synchronization path or we would be blocked there for a while, which is what we are trying to avoid.

After r171154, WebPageProxy keeps track of what stage of dynamic viewport update we are in. Since we are
executing the layer tree update stage, with the right transaction ID, WebPageProxy already knows we have
everything we need and does not use any synchronous messages.

(-[WKWebView _dynamicViewportUpdateChangedTargetToScale:position:nextValidLayerTreeTransactionID:]):
(-[WKWebView _restorePageStateToExposedRect:scale:]):
(-[WKWebView _restorePageStateToUnobscuredCenter:scale:]):
(-[WKWebView _scrollToContentOffset:]):
(-[WKWebView _frameOrBoundsChanged]):
(-[WKWebView _updateVisibleContentRects]):
(-[WKWebView _setMinimumLayoutSizeOverride:]):
(-[WKWebView _setMinimumLayoutSizeOverrideForMinimalUI:]):
(-[WKWebView _setInterfaceOrientationOverride:]):
(-[WKWebView _setMaximumUnobscuredSizeOverride:]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _endAnimatedResize]):
(-[WKWebView _resizeWhileHidingContentWithUpdates:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
3:02 PM Changeset in webkit [171200] by Lucas Forschler
  • 1 copy in branches/safari-537.78-branch

New Branch.

2:38 PM Changeset in webkit [171199] by weinig@apple.com
  • 3 edits in trunk/Tools

Fix failing API tests.

  • TestWebKitAPI/mac/PlatformWebViewMac.mm:

(-[ActiveOffscreenWindow isVisible]):
Override isVisible to make the NSWindows pretend they are visible.

2:33 PM Changeset in webkit [171198] by ap@apple.com
  • 3 edits in trunk/LayoutTests

fast/repaint/obscured-background-no-repaint.html is very flaky
https://bugs.webkit.org/show_bug.cgi?id=131477

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:

Moved the expectation out of WK2, as this also happens with WK1 on some bots.

2:27 PM Changeset in webkit [171197] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit2

[Mac] Full screen video not always animating in the correct Space
https://bugs.webkit.org/show_bug.cgi?id=135020
<rdar://problem/17542310>

Reviewed by Dean Jackson.

The fullscreen window can "remember" the Space it was part of the first time you enter fullscreen
mode. Subsequent fullscreen transitions will always start from this Space, even if you move
the WebKit-hosted application to a different Space.

We can help the display system know when we've moved to a new Space by calling NSWindow's
'orderBack' method on the fullscreen window prior to starting the transition to fullscreen mode.
This method call hooks the window into the current Space so everything works properly.

  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]): Add the
new fullscreen window to the current Space before starting transition to fullscreen.

2:27 PM Changeset in webkit [171196] by ap@apple.com
  • 3 edits in trunk/LayoutTests

Remove inspector-protocol/profiler tests from TestExpectations, now that they no
longer exist.

  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
2:16 PM Changeset in webkit [171195] by timothy@apple.com
  • 27 edits
    1 add
    1 delete in trunk

Make console.profile record to the Timeline.

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

Reviewed by Joseph Pecoraro.

Source/WebCore:
Passes existing profiler tests in fast/profiler.

  • bindings/js/ScriptState.cpp:

(WebCore::domWindowFromExecState):
(WebCore::frameFromExecState):
(WebCore::scriptExecutionContextFromExecState):
(WebCore::mainWorldExecState):
(WebCore::execStateFromNode):

  • bindings/js/ScriptState.h:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::profilerEnabled):
(WebCore::InspectorController::setProfilerEnabled):

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

(WebCore::InspectorInstrumentation::startProfilingImpl):
(WebCore::InspectorInstrumentation::stopProfilingImpl):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
(WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorTimelineAgent::start):
(WebCore::InspectorTimelineAgent::stop):
(WebCore::startProfiling):
(WebCore::stopProfiling):
(WebCore::InspectorTimelineAgent::startFromConsole):
(WebCore::InspectorTimelineAgent::stopFromConsole):
(WebCore::InspectorTimelineAgent::didWriteHTML):
(WebCore::InspectorTimelineAgent::breakpointActionProbe):
(WebCore::toProtocol):
(WebCore::InspectorTimelineAgent::addRecordToTimeline):
(WebCore::InspectorTimelineAgent::didCompleteRecordEntry):
(WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
(WebCore::InspectorTimelineAgent::sendEvent):
(WebCore::InspectorTimelineAgent::createRecordEntry):
(WebCore::InspectorTimelineAgent::pushCurrentRecord):

  • inspector/InspectorTimelineAgent.h:

(WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
(WebCore::InspectorTimelineAgent::pushCurrentRecord):

  • inspector/InstrumentingAgents.cpp:

(WebCore::InstrumentingAgents::InstrumentingAgents):
(WebCore::InstrumentingAgents::reset):

  • inspector/InstrumentingAgents.h:

(WebCore::InstrumentingAgents::persistentInspectorTimelineAgent):
(WebCore::InstrumentingAgents::setPersistentInspectorTimelineAgent):

  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::createConsoleProfileData):

  • inspector/TimelineRecordFactory.h:
  • inspector/protocol/Timeline.json:
  • page/PageConsole.cpp:

(WebCore::PageConsole::profileEnd):

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Controllers/TimelineManager.js:

(WebInspector.TimelineManager.prototype.startCapturing):
(WebInspector.TimelineManager.prototype.stopCapturing):
(WebInspector.TimelineManager.prototype.capturingStarted):
(WebInspector.TimelineManager.prototype.capturingStopped):
(WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
(WebInspector.TimelineManager.prototype.eventRecorded):

  • UserInterface/Images/TimelineRecordConsoleProfile.svg: Added.
  • UserInterface/Models/ScriptTimelineRecord.js:
  • UserInterface/Protocol/TimelineObserver.js:

(WebInspector.TimelineObserver.prototype.eventRecorded):
(WebInspector.TimelineObserver.prototype.recordingStarted):
(WebInspector.TimelineObserver.prototype.recordingStopped):

  • UserInterface/Views/TimelineIcons.css:

(.console-profile-record .icon):

  • UserInterface/Views/TimelineRecordTreeElement.js:

(WebInspector.TimelineRecordTreeElement):

Source/WebKit/mac:

  • WebInspector/WebInspector.mm:

(-isProfilingJavaScript):
(-toggleProfilingJavaScript:):
(-startProfilingJavaScript:):
(-stopProfilingJavaScript:):
(-isJavaScriptProfilingEnabled):
(-setJavaScriptProfilingEnabled:):

Source/WebKit2:

  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::setJavaScriptProfilingEnabled):
(WebKit::WebInspector::startJavaScriptProfiling):
(WebKit::WebInspector::stopJavaScriptProfiling):

LayoutTests:

  • fast/profiler/profile-with-no-title-expected.txt:
  • inspector-protocol/profiler/console-profile-expected.txt: Removed.
  • inspector-protocol/profiler/console-profile.html: Removed.
  • inspector-protocol/profiler/console-profileEnd-parameterless-expected.txt: Removed.
  • inspector-protocol/profiler/console-profileEnd-parameterless.html: Removed.

Removed because console.profile does not go through the profiler protocol now.

2:04 PM Changeset in webkit [171194] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

Crash in ServicesOverlayController::~ServicesOverlayController.
<rdar://problem/17622172> and https://bugs.webkit.org/show_bug.cgi?id=135022

Reviewed by Tim Horton.

  • WebProcess/WebPage/mac/ServicesOverlayController.mm:

(WebKit::ServicesOverlayController::~ServicesOverlayController): Don’t need to uninstall the

PageOverlay as it has already been destroyed by this point in WebPage::~WebPage.

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

Disable button animations in regression tests
https://bugs.webkit.org/show_bug.cgi?id=133647
<rdar://problem/16677530>

Reviewed by Dean Jackson.

  • DumpRenderTree/mac/DumpRenderTree.mm: (setDefaultsToConsistentValuesForTesting):

We already did this for WebKit2, let's do it for WebKit1 too.

12:20 PM Changeset in webkit [171192] by roger_fong@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Add test for r169820.

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

Reviewed by Dean Jackson.

  • platform/mac-wk2/plugins/snapshotting/autoplay-dominant-blank-plugin-moved-into-view-expected.txt: Added.
  • plugins/snapshotting/autoplay-dominant-blank-plugin-moved-into-view.html: Added.
12:19 PM Changeset in webkit [171191] by timothy_horton@apple.com
  • 9 edits in trunk/Source/WebKit2

Sometimes purgeable (or empty!) tiles are shown on screen when resuming the app
https://bugs.webkit.org/show_bug.cgi?id=135018
<rdar://problem/17615038>

Reviewed by Simon Fraser.

  • UIProcess/DrawingAreaProxy.h:

(WebKit::DrawingAreaProxy::hideContentUntilNextUpdate):

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

(WebKit::RemoteLayerTreeDrawingAreaProxy::hideContentUntilNextUpdate):

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

(WebKit::RemoteLayerTreeHost::detachRootLayer):
Add a mechanism to "hide" drawing area content until the next commit,
by detaching the root layer. RemoteLayerTreeHost will automatically reattach
it at the next commit.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::viewStateDidChange):

  • UIProcess/WebPageProxy.h:

Add a parameter to viewStateDidChange specifying whether dispatching the change
to the Web process is deferrable or not. We will also automatically use "Immediate" if
the view is coming in-window, like we did before.

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _applicationWillEnterForeground:]):
Make use of the aforementioned new mechanisms to ensure that we immediately dispatch
view state changes when coming into the foreground, and will have removed the root layer
if a commit didn't come in while waitForDidUpdateViewState blocks.

11:17 AM Changeset in webkit [171190] by fpizlo@apple.com
  • 3 edits
    2 adds in trunk/Source/JavaScriptCore

DFG Flush(SetLocal) store elimination is overzealous for captured variables in the presence of nodes that have no effects but may throw
https://bugs.webkit.org/show_bug.cgi?id=134988
<rdar://problem/17706349>

Reviewed by Oliver Hunt.

Luckily, we also don't need this optimization to be super powerful: the only place
where it really matters is for getting rid of the redundancy between op_enter and
op_init_lazy_reg, and in that case, there is a small set of possible nodes between the
two things. This change updates the store eliminator to know about only that small,
obviously safe, set of nodes over which we can store-eliminate.

This shouldn't have any performance impact in the DFG because this optimization kicks
in relatively rarely already. And once we tier up into the FTL, we get a much better
store elimination over LLVM IR, so this really shouldn't matter at all.

The tricky part of this patch is that there is a close relative of this optimization,
for uncaptured variables that got flushed. This happens for arguments to inlined calls.
I make this work by splitting it into two different store eliminators.

Note that in the process of crafting the tests, I realized that we were incorrectly
DCEing NewArrayWithSize. That's not cool, since that can throw an exception for
negative array sizes. If we ever did want to DCE this node, we'd need to lower the node
to a check node followed by the actual allocation.

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::uncapturedSetLocalStoreElimination):
(JSC::DFG::CSEPhase::capturedSetLocalStoreElimination):
(JSC::DFG::CSEPhase::setLocalStoreElimination):
(JSC::DFG::CSEPhase::performNodeCSE):
(JSC::DFG::CSEPhase::SetLocalStoreEliminationResult::SetLocalStoreEliminationResult): Deleted.

  • dfg/DFGNodeType.h:
  • tests/stress/capture-escape-and-throw.js: Added.

(foo.f):
(foo):

  • tests/stress/new-array-with-size-throw-exception-and-tear-off-arguments.js: Added.

(foo):
(bar):

10:43 AM Changeset in webkit [171189] by mhahnenberg@apple.com
  • 1 edit
    2 deletes in branches/ftlopt/LayoutTests

sputnik/Implementation_Diagnostics/S12.6.4_D1.html depends on undefined behavior
https://bugs.webkit.org/show_bug.cgi?id=135007

Reviewed by Filip Pizlo.

EcmaScript 5.1 specifies that during for-in enumeration newly added properties may or may not be
visited during the current enumeration. Specifically, in section 12.6.4 the spec states:

"If new properties are added to the object being enumerated during enumeration, the newly added properties
are not guaranteed to be visited in the active enumeration."

The sputnik/Implementation_Diagnostics/S12.6.4_D1.html layout test is from before sputnik was added
to the test262 suite. I believe it has since been removed, so it would probably be okay to remove it
from our layout test suite.

  • sputnik/Implementation_Diagnostics/S12.6.4_D1-expected.txt: Removed.
  • sputnik/Implementation_Diagnostics/S12.6.4_D1.html: Removed.
10:35 AM Changeset in webkit [171188] by weinig@apple.com
  • 6 edits
    1 add in trunk/Source/WebCore

Don't send geolocation permission requests when the page is not visible
<rdar://problem/17208715>
https://bugs.webkit.org/show_bug.cgi?id=134989

Reviewed by Darin Adler.

Instead of eagerly requesting geolocation permission for pages that aren't visible,
store a set of pending requests, and send them only once the page has become visible.

  • Modules/geolocation/GeolocationController.cpp:

(WebCore::GeolocationController::GeolocationController):
(WebCore::GeolocationController::~GeolocationController):
(WebCore::GeolocationController::requestPermission):
(WebCore::GeolocationController::cancelPermissionRequest):
(WebCore::GeolocationController::viewStateDidChange):
(WebCore::provideGeolocationTo):

  • Modules/geolocation/GeolocationController.h:

Store pending requests to be fired once the page is visible.

  • WebCore.xcodeproj/project.pbxproj:

Add ViewStateChangeObserver.h

  • page/Page.cpp:

(WebCore::Page::addViewStateChangeObserver):
(WebCore::Page::removeViewStateChangeObserver):
(WebCore::Page::setViewState):

  • page/Page.h:

Add a set of registered view state observers, and notify them when the
view state changes.

  • page/ViewStateChangeObserver.h: Added.

(WebCore::ViewStateChangeObserver::~ViewStateChangeObserver):
Add an observer that can register with the page for view state changes.

10:33 AM Changeset in webkit [171187] by ap@apple.com
  • 2 edits in trunk/LayoutTests

plugins/quicktime-plugin-replacement.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=135015

  • platform/mac/TestExpectations: Marked as such.
10:26 AM Changeset in webkit [171186] by ap@apple.com
  • 6 edits in trunk/LayoutTests

Some inspector-protocol test expectations gardening.

Moved cross-platform expectations for inspector-protocol/debugger/setBreakpoint-dfg*
tests to a cross-platform file, and added a Mac expectation for
inspector-protocol/profiler/console-profile.html.

  • TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
10:07 AM Changeset in webkit [171185] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Flaky Test: media/video-ended-event-negative-playback.html
https://bugs.webkit.org/show_bug.cgi?id=134490

  • platform/mac/TestExpectations: Marking as such.
9:27 AM Changeset in webkit [171184] by jer.noble@apple.com
  • 7 edits in trunk

Enable legacy fullscreen API in media controls
https://bugs.webkit.org/show_bug.cgi?id=134985

Reviewed by Eric Carlson.

Source/WebCore:
Allow clients who have not enabled HTML5 Fullscreen APIs to still use fullscreen mode
with <video> elements by using the legacy, video-element-specific fullscreen APIs in
the <video> media controls.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller):
(Controller.prototype.handleReadyStateChange):
(Controller.prototype.isFullScreen):
(Controller.prototype.handlePlayButtonClicked):
(Controller.prototype.updateFullscreenButton):
(Controller.prototype.handleFullscreenButtonClicked):

LayoutTests:
Rebaseline expected results.

  • platform/mac/fast/hidpi/video-controls-in-hidpi-expected.txt:
  • platform/mac/fast/layers/video-layer-expected.txt:
  • platform/mac/media/media-controls-clone-expected.txt:
  • platform/mac/webarchive/loading/video-in-webarchive-expected.txt:
8:58 AM Changeset in webkit [171183] by Manuel Rego Casasnovas
  • 4 edits in trunk/LayoutTests

[CSS Grid Layout] Add element.style coverage for grid-auto-flow
https://bugs.webkit.org/show_bug.cgi?id=134966

Reviewed by Sergio Villar Senin.

As follow-up patch after r170996 we're adding new test cases for
grid-auto-flow to check the correct behavior of element.style.

  • fast/css-grid-layout/grid-auto-flow-get-set-expected.txt: Updated

expectations accordingly.

  • fast/css-grid-layout/grid-auto-flow-get-set.html: Updated test to add

checks for element.style.

  • fast/css-grid-layout/resources/grid-definitions-parsing-utils.js:

(checkGridAutoFlowSetCSSValue): Add new helper method to check
grid-auto-flow property.
(checkGridAutoFlowSetJSValue): Ditto.

3:55 AM Changeset in webkit [171182] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebKit2

[EFL][WK2] Add a "focus,notfound" signal.
https://bugs.webkit.org/show_bug.cgi?id=134674

Patch by Sanghyup Lee <sh53.lee@samsung.com> on 2014-07-17
Reviewed by Gyuyoung Kim.

Add a "focus,notfound" signal to handover focus control to application
because there are no elements of webview to focus on the given direction.

Application can decide to move the focus to next widget of ewk_view or something else
by using this signal.

  • UIProcess/API/efl/EwkViewCallbacks.h:
  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp: Added keyDown and keyUp function.

(EWK2UnitTest::EWK2UnitTestBase::waitUntilDirectionChanged):
(EWK2UnitTest::EWK2UnitTestBase::keyDown):
(EWK2UnitTest::EWK2UnitTestBase::keyUp):

  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(EWK2ViewTest::FocusNotFoundCallback):
(TEST_F):

  • UIProcess/efl/PageUIClientEfl.cpp: Removed unnecessary calls to evas_object_focus_set().

(WebKit::PageUIClientEfl::takeFocus):

2:29 AM Changeset in webkit [171181] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebCore

[GObject] StrictTypeChecking extended attribute fails for methods with sequence<T>.
https://bugs.webkit.org/show_bug.cgi?id=121698

Patch by Vineet Chaudhary <code.vineet@gmail.com> on 2014-07-17
Reviewed by Antonio Gomes.

GodeGenerator was including wrong heeaders as WebKitDOMlong[] for methods with
array parameters and StrictTypeChecking extended attribute.
No new tests. TestObj.idl covers the tests.

  • bindings/scripts/CodeGenerator.pm:

(GetArrayOrSequenceType):

  • bindings/scripts/CodeGeneratorGObject.pm:

(GenerateFunction):

  • bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:

(webkit_dom_test_obj_strict_function_with_array):

  • bindings/scripts/test/GObject/WebKitDOMTestObj.h:
  • bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp:

(webkit_dom_test_typedefs_func):
(webkit_dom_test_typedefs_nullable_array_arg):

  • bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
  • bindings/scripts/test/TestObj.idl:
1:13 AM Changeset in webkit [171180] by Lucas Forschler
  • 5 edits in branches/safari-600.1-branch/Source

Versioning.

1:11 AM Changeset in webkit [171179] by Lucas Forschler
  • 1 copy in tags/Safari-600.1.1

New Tag.

1:10 AM Changeset in webkit [171178] by Lucas Forschler
  • 10 edits in branches/safari-600.1-branch/Source

Merge patch from <rdar://problem/17675068>.

12:58 AM Changeset in webkit [171177] by Yusuke Suzuki
  • 3 edits in trunk/Source/WebCore

CSS JIT: Clean up return path
https://bugs.webkit.org/show_bug.cgi?id=135011

Reviewed by Benjamin Poulain.

Clean up the existing CSS JIT return path before adding new early return path
for pseudo elements.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):

  • cssjit/StackAllocator.h:

(WebCore::StackAllocator::StackReference::StackReference):
(WebCore::StackAllocator::StackReference::isValid):
(WebCore::StackAllocator::popAndDiscard): Deleted.

12:55 AM Changeset in webkit [171176] by Lucas Forschler
  • 5 edits in trunk/Source

Fix Versioning after r171175.

12:41 AM Changeset in webkit [171175] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

12:39 AM Changeset in webkit [171174] by Lucas Forschler
  • 1 copy in branches/safari-600.1-branch

New Branch.

12:14 AM Changeset in webkit [171173] by Lucas Forschler
  • 5 edits in trunk/Source

Fix Versioning after r171118.

Jul 16, 2014:

9:07 PM Changeset in webkit [171172] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: TextContentView calls the wrong super function in shown()
https://bugs.webkit.org/show_bug.cgi?id=135001

Patch by Saam Barati <sbarati@apple.com> on 2014-07-16
Reviewed by Timothy Hatcher.
TextContentView calls ResourceContentView.shown instead of ContentView.shown.
It should call ContentView.shown because ContentView is its prototype.

  • UserInterface/Views/TextContentView.js:

(WebInspector.TextContentView.prototype.shown):

8:31 PM Changeset in webkit [171171] by beidson@apple.com
  • 3 edits in trunk/Source/WebKit2

Reintroduce the SPI _websiteDataURLForContainerWithURL: that was removed in r171160
https://bugs.webkit.org/show_bug.cgi?id=134984

Reviewed by David Kilzer.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(+[WKProcessPool _websiteDataURLForContainerWithURL:]):

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
8:04 PM Changeset in webkit [171170] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

7:52 PM Changeset in webkit [171169] by clopez@igalia.com
  • 3 edits
    1 add in trunk/LayoutTests

[GTK] Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Report and mark new failures. Update some expectations.
  • platform/gtk/http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_xserver_redirect-expected.txt: Rebaseline after r171033.
  • platform/gtk/svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt: Added. Rebaseline after r171046.
7:50 PM Changeset in webkit [171168] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Skip some text track tests that fail only on release wk1 builds.

  • platform/mac-wk1/TestExpectations:
7:31 PM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
7:28 PM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
7:26 PM Changeset in webkit [171167] by ap@apple.com
  • 6 edits in trunk

A test that hangs at cleanup stage confuses webkitpy hugely
https://bugs.webkit.org/show_bug.cgi?id=122475
<rdar://problem/17184354>

Reviewed by Anders Carlsson.

Source/WebKit2:
Reset m_pageLoadState when the process exits cleanly - otherwise messages from a
new process for the same WebPageProxy would hit assertions.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::processDidCrash):
(WebKit::WebPageProxy::resetStateAfterProcessExited):

Tools:
Terminate WebContent process if it freezes between tests. Ideally, we should report
this somehow, but this is better than blaming the wrong test.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::terminateWebContentProcess):

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::invoke):
6:59 PM Changeset in webkit [171166] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. Skip in-band text track test on Mountain Lion.

  • platform/mac/TestExpectations:

In-band text tracks not supported on ML.

6:47 PM Changeset in webkit [171165] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Subpixel rendering: Adjust cliprect with devicePixelFractionFromRenderer() before painting.
https://bugs.webkit.org/show_bug.cgi?id=134950
<rdar://problem/17617994>

Reviewed by Simon Fraser.

The cliprect coming from the graphics layer needs to be adjusted with the subpixel gap
from renderer. This is symmetric with the offsetting we do, when the dirty rect is sent off to the GraphicsLayer.
It puts us back to the correct coordinating system for intersecting with renderers.

Source/WebCore:
Test: compositing/hidpi-compositing-layer-with-tile-layers-on-subpixel-position.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::beginTransparencyLayers):
(WebCore::RenderLayer::clipToRect):

LayoutTests:

  • compositing/hidpi-compositing-layer-with-tile-layers-on-subpixel-position-expected.html: Added.
  • compositing/hidpi-compositing-layer-with-tile-layers-on-subpixel-position.html: Added.
6:38 PM Changeset in webkit [171164] by ddkilzer@apple.com
  • 4 edits in trunk/Source

[iOS] Update order file paths for WebKit and WebKit2
<http://webkit.org/b/134993>
<rdar://problem/17557776>

Reviewed by Darin Adler.

Source/WebKit/mac:

  • Configurations/Base.xcconfig: Rename WebKit.order to

WebKitLegacy.order.

Source/WebKit2:

  • Configurations/Base.xcconfig: Add order file for iOS

named WebKit.order.

6:10 PM Changeset in webkit [171163] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix a typo noticed by Darin.

  • rendering/RenderBox.cpp:

(WebCore::shouldApplyContainersClipAndOffset):
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::shouldAppyContainersClipAndOffset): Deleted.

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

Improve showTree() logging
https://bugs.webkit.org/show_bug.cgi?id=134997

Reviewed by Tim Horton.

Have the debug showTree(), which dumps the Node/Element tree, show which nodes need
style recalc, and print element renderers.

  • dom/Node.cpp:

(WebCore::Node::showNode):

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

[iOS] Expose the points on WebEventRegion
https://bugs.webkit.org/show_bug.cgi?id=134978

Reviewed by Tim Horton.

Expose WebEventRegion's points so that UIKit can get at them.

  • page/ios/WebEventRegion.h:
  • page/ios/WebEventRegion.mm:

(-[WebEventRegion p1]):
(-[WebEventRegion p2]):
(-[WebEventRegion p3]):
(-[WebEventRegion p4]):

5:20 PM Changeset in webkit [171160] by beidson@apple.com
  • 13 edits in trunk/Source

Add WebSecurityOrigin "webSecurityOriginFromDatabaseIdentifier" SPI and change _websiteDataURLForContainerWithURL: SPI

Source/WebCore:
https://bugs.webkit.org/show_bug.cgi?id=134984

Reviewed by Dan Bernstein.

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

(WebCore::SecurityOrigin::maybeCreateFromDatabaseIdentifier): Add a form of createFromDatabaseIdentifier

that can fail and return a nullptr.

(WebCore::SecurityOrigin::createFromDatabaseIdentifier): Use maybeCreateFromDatabaseIdentifier before creating

the empty origin.

  • page/SecurityOrigin.h:

Source/WebKit/mac:
<rdar://problem/17454712> and https://bugs.webkit.org/show_bug.cgi?id=134984

Reviewed by Dan Bernstein.

  • WebCoreSupport/WebSecurityOrigin.mm:

(+[WebSecurityOrigin webSecurityOriginFromDatabaseIdentifier:]): Added.
(-[WebSecurityOrigin initWithURL:]): Update using RefPtr API to avoid a ref().

  • WebCoreSupport/WebSecurityOriginPrivate.h:

Source/WebKit2:
<rdar://problem/17454712> and https://bugs.webkit.org/show_bug.cgi?id=134984

Reviewed by Dan Bernstein.

Change _websiteDataURLForContainerWithURL: SPI to include an optional bundle identifier argument:

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(+[WKProcessPool _websiteDataURLForContainerWithURL:bundleIdentifierIfNotInContainer:]):
(+[WKProcessPool _websiteDataURLForContainerWithURL:]): Deleted.

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:

Add a big shiny comment in a few key places:

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::initializeDatabaseProcess):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::UniqueIDBDatabase):

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::applyPlatformSpecificConfigurationDefaults):
(WebKit::WebContext::ensureDatabaseProcess):

5:00 PM Changeset in webkit [171159] by enrica@apple.com
  • 3 edits in trunk/Source/WebKit2

REGRESSION (iOS WebKit2): Cannot scroll while dragging a selection.
https://bugs.webkit.org/show_bug.cgi?id=134992
<rdar://problem/17528020>

Reviewed by Benjamin Poulain.

This patch exposes the scroller and the visible content rect so that
UIKit can implement autoscroll when dragging the selections.
It also changes that way we do hit testing to allow hit test outside
the clipping region and fixes the way we compute the selection rectangle
for the block selection, ensuring that we consider also non text elements
like images.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView scroller]):
(-[WKContentView visibleRect]):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::selectionBoxForRange):
(WebKit::WebPage::rangeForWebSelectionAtPosition):
(WebKit::WebPage::rangeForBlockAtPoint):
(WebKit::WebPage::expandedRangeFromHandle):
(WebKit::WebPage::contractedRangeFromHandle):
(WebKit::WebPage::computeExpandAndShrinkThresholdsForHandle):
(WebKit::WebPage::changeBlockSelection):

4:34 PM Changeset in webkit [171158] by roger_fong@apple.com
  • 6 edits
    5 adds
    3 deletes in trunk

Captions container should not clip content.
https://bugs.webkit.org/show_bug.cgi?id=134840.
<rdar://problem/14553608>.

Reviewed by Simon Fraser.

Tests: media/track/track-in-band-subtitles-too-large.html

media/track/track-long-word-container-sizing.html

  • Modules/mediacontrols/mediaControlsApple.css:

(video::-webkit-media-text-track-container):
Set word break property of WebCTT cues to normal to make it consistent with in-band cues.

  • html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGenericBoxElement::applyCSSProperties):
Set -webkit-min-content on min-width/min-height property of the text track display.

  • html/track/VTTCue.cpp:

(WebCore::VTTCueBox::applyCSSProperties):
Do the same for WebVTT cues.

  • media/track/track-cue-rendering-snap-to-lines-not-set-expected.txt: Rebaseline.
  • media/track/captions-webvtt/long-word-small-track-display.vtt: Added.
  • media/track/track-in-band-subtitles-too-large-expected.txt: Added.
  • media/track/track-in-band-subtitles-too-large.html: Added.
  • media/track/track-long-word-container-sizing-expected.txt: Added.
  • media/track/track-long-word-container-sizing.html: Added.

We no longer break in the middle of a word, this test is no longer useful.

  • media/track/captions-webvtt/long-word.vtt: Removed.
  • media/track/track-word-breaking-expected.txt: Removed.
  • media/track/track-word-breaking.html: Removed.
4:11 PM Changeset in webkit [171157] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

[Mac] replace AVPlayerItem on the main thread
https://bugs.webkit.org/show_bug.cgi?id=134983

Reviewed by Jer Noble.

No new tests, this fixes a problem with a thread configuration not present in the
test environment.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::setAVPlayerItem): New, when called off of

the main thread, dispatch to the main thread before setting AVPlayerItem.

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Call setAVPlayerItem.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldBufferData): Ditto.

4:08 PM Changeset in webkit [171156] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

<rdar://problem/17669097> REGRESSION (r170155): Sandbox violations using a wrong
CFNetwork cache path in WebContent process

Rubber-stamped by Sam Weinig.

Before r170155, we incorrectly checked usesNetworkProcess(), which always returns
false at this point in initialization sequence. But we did the right thing, as we
always need to set the cache path, even when network process is used for most loading.

  • WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::platformInitializeWebProcess):
3:36 PM Changeset in webkit [171155] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Dispatch top content inset changes immediately if synchronously waiting for view state changes
https://bugs.webkit.org/show_bug.cgi?id=134942
<rdar://problem/17666800>

Reviewed by Simon Fraser.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _dispatchSetTopContentInset]):
(-[WKView _setTopContentInset:]):
Move the check from _setTopContentInset: to _dispatchSetTopContentInset
that ensures that we only send the message if the top content inset changed.

3:26 PM Changeset in webkit [171154] by benjamin@webkit.org
  • 14 edits in trunk/Source/WebKit2

[iOS][WK2] Synchronize the dynamic viewport updates with their layer tree commit
https://bugs.webkit.org/show_bug.cgi?id=134965
Related to <rdar://problem/17082607>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-07-16
Reviewed by Tim Horton.

Dynamic viewport update relies on the _resizeAnimationTransformAdjustments being applied
to the page at the new size during the transition.

Because of the races between the LayerTree Commit and DynamicViewportSizeUpdate, the transform
can be applied to the wrong set of tiles.
This is mostly a problem for unresponsive WebProcess or when the synchronization is done
immediately.

There is at least one more case that is not handled: if synchronizeDynamicViewportUpdate()
completely fails to get the new page, the UIProcess is in a somewhat messy state.
I will look into that separately than the layer tree synchronization.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didCommitLayerTree:]):
(-[WKWebView _dynamicViewportUpdateChangedTargetToScale:position:nextValidLayerTreeTransactionID:]):
(-[WKWebView _dynamicViewportUpdateChangedTargetToScale:position:]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::resetState):

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::dynamicViewportUpdateChangedTarget):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::dynamicViewportSizeUpdate):
(WebKit::WebPageProxy::synchronizeDynamicViewportUpdate):
(WebKit::WebPageProxy::didCommitLayerTree):
(WebKit::WebPageProxy::dynamicViewportUpdateChangedTarget):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::didCommitLoad):

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

(WebKit::WebPage::synchronizeDynamicViewportUpdate):
(WebKit::WebPage::updateVisibleContentRects):

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:

(WebKit::RemoteLayerTreeDrawingArea::nextTransactionID):
(WebKit::RemoteLayerTreeDrawingArea::currentTransactionID): Deleted.

2:33 PM Changeset in webkit [171153] by fpizlo@apple.com
  • 3 edits in branches/ftlopt/Source/JavaScriptCore

[ftlopt] Constant fold GetGetter and GetSetter if the GetterSetter is a constant
https://bugs.webkit.org/show_bug.cgi?id=134962

Reviewed by Oliver Hunt.

This removes yet another steady-state-throughput implication of using getters and setters:
if your accessor call is monomorphic then you'll just get a structure check, nothing more.
No more loads to get to the GetterSetter object or the accessor function object.

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • runtime/GetterSetter.h:

(JSC::GetterSetter::getterConcurrently):
(JSC::GetterSetter::setGetter):
(JSC::GetterSetter::setterConcurrently):
(JSC::GetterSetter::setSetter):

2:31 PM Changeset in webkit [171152] by fpizlo@apple.com
  • 3 edits in branches/ftlopt/Source/JavaScriptCore

[ftlopt] Identity replacement in CSE shouldn't create a Phantom over the Identity's children
https://bugs.webkit.org/show_bug.cgi?id=134893

Reviewed by Oliver Hunt.

Replace Identity with Check instead of Phantom. Phantom means that the child of the
Identity should be unconditionally live. The liveness semantics of Identity are such that
if the parents of Identity are live then the child is live. Removing the Identity entirely
preserves such liveness semantics. So, the only thing that should be left behind is the
type check on the child, which is what Check means: do the check but don't keep the child
alive if the check isn't needed.

  • dfg/DFGCSEPhase.cpp:
  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToCheck):

1:51 PM Changeset in webkit [171151] by jer.noble@apple.com
  • 5 edits in trunk/Source/WebCore

[MSE] http/tests/media/media-source/mediasource-buffered.html is flakey
https://bugs.webkit.org/show_bug.cgi?id=134949

Reviewed by Eric Carlson.

Depending on which SourceBuffer is successfully parsed first, the order of activeSourceBuffers
may change from run to run, breaking the http/tests/media/media-source/mediasource-buffered.html
test. Make the order of activeSourceBuffers the same as (a subset of) sourceBuffers, by replacing
calls to activeSourceBuffers->add() and with a new call to regenerateActiveSourceBuffers(), which
swaps the contents of the SourceBufferList with a new, ordered Vector.

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::addSourceBuffer):
(WebCore::MediaSource::sourceBufferDidChangeAcitveState):
(WebCore::MediaSource::regenerateActiveSourceBuffers):

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

(WebCore::SourceBufferList::swap):

  • Modules/mediasource/SourceBufferList.h:
1:31 PM Changeset in webkit [171150] by mkwst@chromium.org
  • 5 edits
    10 deletes in trunk

CSP: Drop 'script-nonce' directive.
https://bugs.webkit.org/show_bug.cgi?id=134926

Reviewed by Darin Adler.

Source/WebCore:
This patch drops the outdated 'script-nonce' Content Security
Policy directive. It was removed from the spec, and replaced in
CSP2 with a new 'script-src' syntax. We should implement that
instead.

Until then, removing the outdated syntax will ensure that no one
ends up relying on it in WebKit's implementation.

This should have limited web-visible impact, as the feature is
behind the CSP_NEXT flag, which is not enabled by default.

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::requestScript):
(WebCore::ScriptElement::executeScript):

  • page/ContentSecurityPolicy.cpp:

(WebCore::CSPDirectiveList::allowJavaScriptURLs):
(WebCore::CSPDirectiveList::allowInlineEventHandlers):
(WebCore::CSPDirectiveList::addDirective):
(WebCore::NonceDirective::NonceDirective): Deleted.
(WebCore::NonceDirective::allows): Deleted.
(WebCore::NonceDirective::parse): Deleted.
(WebCore::CSPDirectiveList::checkNonce): Deleted.
(WebCore::CSPDirectiveList::checkNonceAndReportViolation): Deleted.
(WebCore::CSPDirectiveList::allowScriptNonce): Deleted.
(WebCore::isAllowedByAllWithNonce): Deleted.
(WebCore::ContentSecurityPolicy::allowScriptNonce): Deleted.
(WebCore::ContentSecurityPolicy::reportInvalidNonce): Deleted.

  • page/ContentSecurityPolicy.h:

LayoutTests:
Dropping the nonce tests, as we're removing the functionality.

  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-allowed-expected.txt: Removed.
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-allowed.html: Removed.
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked-expected.txt: Removed.
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-blocked.html: Removed.
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-invalidnonce-expected.txt: Removed.
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-invalidnonce.html: Removed.
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-scriptsrc-blocked-expected.txt: Removed.
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-scriptsrc-blocked.html: Removed.
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-separators-allowed-expected.txt: Removed.
  • http/tests/security/contentSecurityPolicy/1.1/scriptnonce-separators-allowed.html: Removed.
12:10 PM Changeset in webkit [171149] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

REGRESSION(r171069) 75% repro crash in WebCore::AudioHardwareListenerMac::processIsRunningChanged()
https://bugs.webkit.org/show_bug.cgi?id=134986

Reviewed by Eric Carlson.

Add a WeakPtrFactory to AudioHardwareListenerMac, so that if CoreAudio calls our block after
being unregistered, we can bail early instead of calling into a deleted object.

  • platform/audio/mac/AudioHardwareListenerMac.cpp:

(WebCore::AudioHardwareListenerMac::AudioHardwareListenerMac):

  • platform/audio/mac/AudioHardwareListenerMac.h:
11:05 AM Changeset in webkit [171148] by jer.noble@apple.com
  • 5 edits in trunk

[MSE] REGRESSION(r171033): ASSERT in WebCore::MediaSource::onReadyStateChange()
https://bugs.webkit.org/show_bug.cgi?id=134941

Reviewed by Eric Carlson.

Source/WebCore:
Only do our modified-order change of the readyState if the error parameter is empty,
as that's the only case where a duration change will cause an inadvertant readyState
change.

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::streamEndedWithError):

LayoutTests:
Update media/media-source/media-source-end-of-stream.html to use an empty parameter, rather
than an empty string parameter, to endOfStream().

  • media/media-source/media-source-end-of-stream-expected.txt:
  • media/media-source/media-source-end-of-stream.html:
9:51 AM WebKitGTK/KeepingTheTreeGreen edited by ltilve@igalia.com
(diff)
9:42 AM Changeset in webkit [171147] by ap@apple.com
  • 3 edits in trunk/Source/WebCore

Remove svn:executable property erroneously added in <http://trac.webkit.org/changeset/171144> somehow.

  • ChangeLog: Removed property svn:executable.
  • svg/SVGSVGElement.h: Removed property svn:executable.
  • svg/animation/SVGSMILElement.h: Removed property svn:executable.
9:33 AM Changeset in webkit [171146] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r170653): Web Content service’s Info.plist has wrong format
https://bugs.webkit.org/show_bug.cgi?id=134973

Reviewed by Alexey Proskuryakov.

  • WebKit2.xcodeproj/project.pbxproj: Updated the Add CFBundle Localization Info.plist Key

script build phases to convert Info.plist back to binary format if the
PLIST_FILE_OUTPUT_FORMAT build setting requires it.

8:38 AM Changeset in webkit [171145] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Substitute CGRectZero for NSZeroRect in -[DOMNode hrefFrame].

Rubber-stamped by Zalan Bujtas.

The method -[DOMNode hrefFrame] returns a CGRect. So, when we don't have a renderer
we should return CGRectZero instead of a NSZeroRect.

  • bindings/objc/DOM.mm:

(-[DOMNode hrefFrame]): Also, fix up some code style issues.

8:03 AM Changeset in webkit [171144] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

mutable pointers from const methods, timeContainer().
https://bugs.webkit.org/show_bug.cgi?id=134757

Patch by Jeongeun Kim <je_julie.kim@samsung.com> on 2014-07-16
Reviewed by Alexey Proskuryakov.

Avoid return mutable pointers from const methods.
No new tests, no behavior change.

  • svg/SVGSVGElement.h:
  • svg/animation/SVGSMILElement.h:

(WebCore::SVGSMILElement::timeContainer):

7:47 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
5:24 AM Changeset in webkit [171143] by jinwoo7.song@samsung.com
  • 11 edits
    3 adds in trunk/LayoutTests

[EFL] Unreviewed EFL gardening.

Rebaseline tests after r168575, r170138 and r170418.

  • platform/efl/fast/dynamic/text-combine-expected.png: Rebaseline after r170418.
  • platform/efl/fast/dynamic/text-combine-expected.txt: Rebaseline after r170418.
  • platform/efl/fast/forms/control-restrict-line-height-expected.png: Rebaseline after r168575.
  • platform/efl/fast/forms/control-restrict-line-height-expected.txt: Rebaseline after r168575.
  • platform/efl/fast/forms/placeholder-position-expected.png: Rebaseline after r168575.
  • platform/efl/fast/forms/placeholder-position-expected.txt: Rebaseline after r168575.
  • platform/efl/fast/repaint/japanese-rl-selection-clear-expected.png: Rebaseline after r170418.
  • platform/efl/fast/repaint/japanese-rl-selection-clear-expected.txt: Added. Rebaseline after r170418.
  • platform/efl/fast/repaint/japanese-rl-selection-repaint-expected.png: Rebaseline after r170418.
  • platform/efl/fast/repaint/japanese-rl-selection-repaint-expected.txt: Added. Rebaseline after r170418.
  • platform/efl/fast/text/international/wrap-CJK-001-expected.txt: Added. Rebaseline after r170418.
  • platform/efl/fast/writing-mode/Kusa-Makura-background-canvas-expected.png: Rebaseline after r170418.
  • platform/efl/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt: Rebaseline after r170418.
4:20 AM Changeset in webkit [171142] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Tools

Change style check path with EFL WK2's path in checker_unittest.py
https://bugs.webkit.org/show_bug.cgi?id=134967

Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/style/checker_unittest.py: Change ewk_view.h path.

(GlobalVariablesTest.test_path_rules_specifier):

3:26 AM Changeset in webkit [171141] by clopez@igalia.com
  • 2 edits in trunk/Tools

Unreviewed. Added myself to the list of committers.

  • Scripts/webkitpy/common/config/contributors.json:
2:48 AM Changeset in webkit [171140] by jinwoo7.song@samsung.com
  • 3 edits in trunk/LayoutTests

[EFL] Unreviewed EFL gardening after r170138.

  • platform/efl/accessibility/image-map2-expected.txt: Updated.
  • platform/efl/inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Updated.
Note: See TracTimeline for information about the timeline view.