Timeline


and

07/01/15: Today

21:46 Changeset [186218] by commit-queue@webkit.org
  • 9 edits in trunk/Source

Web Inspector: Aggregate profile call information on the backend to drastically reduce profile sizes
https://bugs.webkit.org/show_bug.cgi?id=146536

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-07-01
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/protocol/Timeline.json:

Change a CPUProfile from sending a required "calls" param to sending a required
"callInfo" param which includes aggregated information about the calls.

Source/WebCore:

  • inspector/TimelineRecordFactory.cpp:

(WebCore::buildAggregateCallInfoInspectorObject):
(WebCore::buildInspectorObject):
Replace the array of Call objects with a single aggregated call info object.

Source/WebInspectorUI:

Since we still support legacy backends, the frontend documents where
it is handling legacy backends with compatibility comments.

  • UserInterface/Models/ProfileNode.js:

(WebInspector.ProfileNode):
(WebInspector.ProfileNode.prototype.get callInfo):
Handle a ProfileNode created with callInfo or calls. They are mutually exclusive.

  • UserInterface/Models/ScriptTimelineRecord.js:

(WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeFromPayload):
If the profile has per-call information, construct ProfileNodeCall objects, otherwise
just construct the ProfileNode with the aggregate callInfo value.

  • UserInterface/Views/ScriptTimelineDataGridNode.js:

(WebInspector.ScriptTimelineDataGridNode.prototype.get data):
When we have aggregate call information we cannot easily partition a script,
so we instead treat the entire script as one large atomic unit in the timeline.
If the timeline range has any portion of the script, show the entire script.
Users used to be able to select a portion of a script and view the relevant
functions called in just that sliver, but this doesn't appear to be a well
known feature or commonly used. In fact, given the small ranges of time it
could be confusing for users.

  • UserInterface/Views/TimelineRecordingContentView.js:

(WebInspector.TimelineRecordingContentView.prototype.matchTreeElementAgainstCustomFilters):
Treat as a discrete unit.

21:30 Changeset [186217] by drousso@apple.com
  • 4 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: When autocompleting, pressing tab twice shouldn't insert a tab character
https://bugs.webkit.org/show_bug.cgi?id=145885

Reviewed by Timothy Hatcher.

  • UserInterface/Controllers/CodeMirrorCompletionController.js:

(WebInspector.CodeMirrorCompletionController):
(WebInspector.CodeMirrorCompletionController.prototype.updateCompletions): Resolves the promise as having completions.
(WebInspector.CodeMirrorCompletionController.prototype.hideCompletions): Resolves the promise as not having completions.
(WebInspector.CodeMirrorCompletionController.prototype.completeAtCurrentPositionIfNeeded): Returns a WrappedPromise that allows
callers of this function to determine if the autocomplete had any values or was instead not shown.
(WebInspector.CodeMirrorCompletionController.prototype._resolveUpdatePromise):

  • UserInterface/Main.html: Added WrappedPromise class.
  • UserInterface/Models/WrappedPromise.js: Added WrappedPromise object to expose resolve and reject functions.
  • UserInterface/Views/ConsolePrompt.js:

(WebInspector.ConsolePrompt.prototype._handleTabKey): Attempts to find completions for current text. If there are none, beep.

21:01 Changeset [186216] by cdumez@apple.com
  • 3 edits in trunk/LayoutTests

Reduce resolution of performance.now
https://bugs.webkit.org/show_bug.cgi?id=146531

Reviewed by Simon Fraser.

Make layout test introduced in r186208.

  • http/tests/misc/webtiming-resolution-expected.txt:
  • http/tests/misc/webtiming-resolution.html:
18:30 Changeset [186215] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

DFG::freezeFragile should register the frozen value's structure
https://bugs.webkit.org/show_bug.cgi?id=136055
rdar://problem/21042120

Reviewed by Mark Lam and Geoffrey Garen.

This fixes weird concurrency bugs where the constant folding phase tries to convert
something to a constant but then crashes because the constant's structure wasn't
registered. The AI was registering the structure of any value it saw, but constant folding
wasn't - and that's fine so long as there ain't no concurrency.

The best fix is to just make it impossible to introduce a constant into the IR without
registering its structure. That's what this change does. This is not only a great
concurrency fix - it also makes the compiler somewhat easier to hack on because it's one
less case of structure registering that you have to remember about.

  • dfg/DFGAbstractValue.cpp:

(JSC::DFG::AbstractValue::setOSREntryValue): No need to register.
(JSC::DFG::AbstractValue::set): We still call register, but just to get the watchpoint state.

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::freezeFragile): Register the structure.

  • dfg/DFGStructureRegistrationPhase.cpp:

(JSC::DFG::StructureRegistrationPhase::run): Assert that these are all registered.

17:51 Changeset [186214] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Web Inspector: [Mac] InspectorFrontendHost.beep() doesn't play a sound, sandbox warnings
https://bugs.webkit.org/show_bug.cgi?id=146525

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-07-01
Reviewed by Timothy Hatcher.

  • WebProcess/com.apple.WebProcess.sb.in:

Get NSBeep working without any sandbox warnings.

17:48 Changeset [186213] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.17-branch/Source

Versioning.

17:47 Changeset [186212] by drousso@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Make the first click on a rule section create a newline for easy property addition
https://bugs.webkit.org/show_bug.cgi?id=146490

Reviewed by Timothy Hatcher.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._highlightNextNameOrValue):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleEnterKey): Inserts a semicolon if the line is missing one.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseDown): If the user clicks on a property with the editor being
unfocused, the name/value containing the cursor will be highlighted. If instead the user clicks at the end of a line, the
cursor's position is saved for mouseUp.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseUp): If the mouseDown cursor position was saved and is equal
to the current cursor's position (the user did not drag), add a newline after the current line and place the cursor on that line.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey.highlightNextNameOrValue): Deleted.

17:40 Changeset [186211] by cdumez@apple.com
  • 3 edits in trunk/LayoutTests

Unreviewed, rebaseline js/dom/global-constructors-attributes.html after r186198.

  • platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
17:36 Changeset [186210] by bfulgham@apple.com
  • 2 edits in trunk/Source/WebCore

[Win] REGRESSION (r185124) CACFLayer handling broken
https://bugs.webkit.org/show_bug.cgi?id=146530
<rdar://problem/21642241>

Reviewed by Tim Horton.

At some point in the past, the set of LayerChange flags
overflowed the default MSVC enum type of 'int'. This caused
Windows rendering code to not receive various update notifications.

Zalan's change moved the DebugIndicatorsChanged flag into that
overflow set, which made it obvious that something was wrong.

The fix is to tell the compiler to use a compatible base type
for the enum.

  • platform/graphics/ca/GraphicsLayerCA.h: Prevent overflow.
17:32 Changeset [186209] by bshafiei@apple.com
  • 5 edits in branches/safari-600.8-branch/Source

Versioning.

17:29 Changeset [186208] by achristensen@apple.com
  • 3 edits
    2 adds in trunk

Reduce resolution of performance.now.
https://bugs.webkit.org/show_bug.cgi?id=146531
rdar://problem/20116796

Reviewed by Simon Fraser.

Source/WebCore:

Test: http/tests/misc/webtiming-resolution.html

  • page/Performance.cpp:

(WebCore::Performance::now):
Floor the time returned by performance.now to the nearest 5 microseconds.

LayoutTests:

  • http/tests/misc/webtiming-resolution-expected.txt: Added.
  • http/tests/misc/webtiming-resolution.html: Added.
17:07 Changeset [186207] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Ignore Visual Studio warning in SegmentedVector
https://bugs.webkit.org/show_bug.cgi?id=146514

Patch by Alex Christensen <achristensen@webkit.org> on 2015-07-01
Reviewed by Andreas Kling.

  • wtf/SegmentedVector.h:

(WTF::SegmentedVector::deleteAllSegments):
Use pragmas to ignore the 0 element array warning.

17:05 Changeset [186206] by bfulgham@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Build fix

Patch by Eric Carlson <eric.carlson@apple.com> on 2015-07-01
Reviewed by Brent Fulgham.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVVideoLayer enterPIPModeRedirectingVideoToLayer:]): Renamed from enterOptimizedFullScreenModeRedirectingVideoToLayer.
(-[WebAVVideoLayer leavePIPMode]): Renamed from leaveOptimizedFullScreenMode.
(-[WebAVVideoLayer enterOptimizedFullScreenModeRedirectingVideoToLayer:]): Deleted.
(-[WebAVVideoLayer leaveOptimizedFullScreenMode]): Deleted.

17:02 Changeset [186205] by mmaxfield@apple.com
  • 5 edits
    3 adds in trunk

[iOS] Support bold and thin italicized system fonts
https://bugs.webkit.org/show_bug.cgi?id=146463
<rdar://problem/20948885>

Reviewed by Darin Adler.

Source/WebCore:

Add the italicized attribute to font descriptors.

Test: fast/text/weighted-italicized-system-font.html

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::createCTFontWithFamilyNameAndWeight):

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::fontWithFamilySpecialCase):
(WebCore::fontWithFamily):

  • platform/spi/cocoa/CoreTextSPI.h:

LayoutTests:

  • fast/text/weighted-italicized-system-font-expected.html: Added.
  • fast/text/weighted-italicized-system-font.html: Added.
17:00 Changeset [186204] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Remove code to recompute rounded window corners
https://bugs.webkit.org/show_bug.cgi?id=146534

Reviewed by Simon Fraser.

This code is no longer needed since we're always layer-backed now.

  • UIProcess/API/mac/WKView.mm:

(-[WKView displayIfNeeded]): Deleted.
(-[WKView _cacheWindowBottomCornerRect]): Deleted.

  • UIProcess/API/mac/WKViewInternal.h:
16:36 Changeset [186203] by ggaren@apple.com
  • 2 edits in trunk/Source/bmalloc

bmalloc: realloc of an XLarge range can unmap adjacent VM ranges
https://bugs.webkit.org/show_bug.cgi?id=146535

Reviewed by Anders Carlsson.

This bug causes a crash when running fast/css/large-list-of-rules-crash.html
with the fix applied for https://bugs.webkit.org/show_bug.cgi?id=146519.

  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::reallocate): Start at object + newSize since starting
at object + oldSize means deleting the adjacent VM range.

16:28 Changeset [186202] by mmirman@apple.com
  • 13 edits
    5 deletes in trunk

Unreviewed, rolling out r185889
https://bugs.webkit.org/show_bug.cgi?id=146528
rdar://problem/21573959

Patch breaks chromeexperiments.com

Reverted changeset:

Source/JavaScriptCore:

(.):

  • runtime/JSBoundSlotBaseFunction.cpp: Removed.
  • runtime/JSBoundSlotBaseFunction.h: Removed.
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init): Deleted.
(JSC::JSGlobalObject::visitChildren): Deleted.

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::boundSlotBaseFunctionStructure): Deleted.

  • runtime/JSObject.cpp:

(JSC::JSObject::getOwnPropertyDescriptor):
(JSC::getBoundSlotBaseFunctionForGetterSetter): Deleted.

  • runtime/VM.cpp:

(JSC::VM::VM): Deleted.

  • runtime/VM.h:

LayoutTests:

  • inspector-protocol/runtime/getProperties-expected.txt:
  • js/dom/native-bindings-descriptors-expected.txt: Removed.
  • js/dom/native-bindings-descriptors.html: Removed.
  • js/dom/script-tests/native-bindings-descriptors.js: Removed.
16:26 Changeset [186201] by achristensen@apple.com
  • 17 edits
    1 delete in trunk/Source

Fix ANGLE Windows build after r186169.
https://bugs.webkit.org/show_bug.cgi?id=146532

Reviewed by Brent Fulgham.

Source/ThirdParty/ANGLE:

  • ANGLE.vcxproj/libEGL.vcxproj:
  • ANGLE.vcxproj/libEGL.vcxproj.filters:
  • ANGLE.vcxproj/libGLESv2.vcxproj:
  • ANGLE.vcxproj/libGLESv2.vcxproj.filters:
  • ANGLE.vcxproj/libGLESv2Common.props:
  • ANGLE.vcxproj/translator_common.vcxproj:
  • ANGLE.vcxproj/translator_common.vcxproj.filters:
  • ANGLE.vcxproj/translator_glsl.vcxproj:
  • ANGLE.vcxproj/translator_glsl.vcxproj.filters:
  • ANGLE.vcxproj/translator_hlsl.vcxproj:
  • ANGLE.vcxproj/translator_hlsl.vcxproj.filters:

Update Windows build to build new files.

Source/WebCore:

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:

Don't compile OpenGLShims.cpp or Extensions3DOpenGL.cpp on Windows
because Windows uses OpenGLES through ANGLE, not OpenGL.

  • platform/graphics/ANGLEWebKitBridge.h:

Use OpenGLESShims.h on Windows instead of OpenGLShims.h.

  • platform/graphics/OpenGLESShims.h:

Added needed definitions from OpenGL to compile successfully.

  • platform/graphics/win/GL/glext.h: Removed.
16:17 Changeset [186200] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

Web page doesn't update its loading state when web process becomes suspended if there are pending network requests (XHR).
https://bugs.webkit.org/show_bug.cgi?id=146439

When web page is loading, we hold a background activity token in NavigationState and we release the token when the page done
loading. A web page can start loading subresources (like XHR) after the page is loaded, and WebPageProxy will update its
_networkRequestsInProgress state which will notify the client there is network actvity on-going. Since we don't hold
the background activity token after page is loaded, the WebContent process could become suspended without notifying the client
and the client will lose track of the loading state.

The first thought was to hold another background activity when _networkRequestsInProgress flag is set in NavigationState.
However, this could result in side-effect that a WebContent process can stay active for too long if there is a long lasting
XHR resquest.

This patch fix this by notifying the client that network activity is stopped when WebContent process is going to be suspended.
We also cache the networkRequestsInProgress state for suspended process, so that when it becomes foreground, we can tell
the client the correct state of network activity.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2015-07-01
Reviewed by Dan Bernstein.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy): Initialize m_hasNetworkRequestsOnSuspended.
(WebKit::WebPageProxy::processWillBecomeSuspended): If there is pending requests on suspend, cache the network activity state

and notify the client.

(WebKit::WebPageProxy::processWillBecomeForground): Restore the network activity state when the process becomes foreground.
(WebKit::WebPageProxy::resetState):

  • UIProcess/WebPageProxy.h: Add a data member m_hasNetworkRequestsOnSuspended to cache the network activity state on process

suspend.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::didSetAssertionState):

16:09 Changeset [186199] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Turn off mediastreamaudiosourcenode.html test
https://bugs.webkit.org/show_bug.cgi?id=146527
<rdar://problem/21641223>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-01
Reviewed by Simon Fraser.

  • platform/mac/TestExpectations:
15:38 Changeset [186198] by dino@apple.com
  • 24 edits in trunk/Source

Disable the experimental WebGL2 implementation
https://bugs.webkit.org/show_bug.cgi?id=146526
<rdar://problem/21641235>

Reviewed by Myles Maxfield.

Source/JavaScriptCore:

Add (and disable) an ENABLE_WEBGL2 flag.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Add (and disable) an ENABLE_WEBGL2 flag. Also protect
anything that is specific to WebGL2.

Covered by running the WebGL 1.0.2 conformance suite
and our LayoutTests.

  • Configurations/FeatureDefines.xcconfig:
  • bindings/js/JSCanvasRenderingContextCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSWebGL2RenderingContextCustom.cpp:
  • bindings/js/JSWebGLRenderingContextBaseCustom.cpp:

(WebCore::toJS):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::is3dType):

  • html/canvas/WebGL2RenderingContext.cpp:
  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGL2RenderingContext.idl:
  • html/canvas/WebGLFramebuffer.cpp:

(WebCore::WebGLFramebuffer::drawBuffersIfNecessary):

  • html/canvas/WebGLGetInfo.cpp:
  • html/canvas/WebGLGetInfo.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::create):

  • html/canvas/WebGLVertexArrayObject.cpp:
  • html/canvas/WebGLVertexArrayObject.h:
  • html/canvas/WebGLVertexArrayObject.idl:

Source/WebKit/mac:

Add (and disable) an ENABLE_WEBGL2 flag.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Add (and disable) an ENABLE_WEBGL2 flag.

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

Add (and disable) an ENABLE_WEBGL2 flag.

  • wtf/FeatureDefines.h:
15:22 Changeset [186197] by simon.fraser@apple.com
  • 2 edits in trunk/LayoutTests

Fix missing space.

  • platform/mac/TestExpectations:
14:54 Changeset [186196] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

Never try to pass URLs to LaunchServices when they're the same domain as the current URL.
<rdar://problem/20731429> and https://bugs.webkit.org/show_bug.cgi?id=146521

Reviewed by Alex Christensen.

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::tryAppLink): Compare the proposed URL to the current URL to see if they’re in the same domain.
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):

14:52 Changeset [186195] by cdumez@apple.com
  • 7 edits
    2 adds in trunk

Regression(183998): Disqus comments take a very long time to load
https://bugs.webkit.org/show_bug.cgi?id=146522
<rdar://problem/21590601>

Reviewed by Simon Fraser.

Source/WebCore:

Stop throttling requestAnimationFrame() in iframes that are not visible
due to them being zero-sized or display:none. Those are usually utility
iframes and throttling them is risky.

Se still throttle requestAnimationFrame() in iframes that would be
visible in theory but are currently not noticeable because they are
outside the viewport.

Test:

  • fast/animation/request-animation-frame-throttle-subframe.html
  • fast/animation/request-animation-frame-throttle-subframe-display-none.html
  • fast/animation/request-animation-frame-throttle-subframe-zero-size.html
  • page/FrameView.cpp:

(WebCore::FrameView::updateScriptedAnimationsAndTimersThrottlingState):

LayoutTests:

  • fast/animation/request-animation-frame-throttle-subframe-display-none-expected.txt:
  • fast/animation/request-animation-frame-throttle-subframe-display-none.html:

Update layout test as we changed behavior here. We no longer throttle display:none
iframes.

  • fast/animation/request-animation-frame-throttle-subframe-zero-size-expected.txt: Added.
  • fast/animation/request-animation-frame-throttle-subframe-zero-size.html: Added.

Add layout test to check that we don't throttle RaF in iframes that are zero-sized.

  • fast/animation/resources/requestAnimationFrame-frame-2.html:
  • fast/animation/resources/requestAnimationFrame-frame.html:

Update use of requestAnimationFrame() to be more representative of real world usage.

14:34 Changeset [186194] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

WKWebView snapshots have the wrong scale after rotation
https://bugs.webkit.org/show_bug.cgi?id=146476
<rdar://problem/18345247>

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didCommitLayerTree:]):
"Coordinate" -> "Coordinates".

(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):
Defer any snapshotting that happens during a resize until after
the resize completes. This will ensure that (in the case of an IOSurface
snapshot) the tiles are up to date, and (in the case of a software snapshot)
that our understanding of the scale and scroll offset of the WKContentView
are up to date, so that we can correctly convert from view to content coordinates
in the UI process.

(-[WKWebView _endAnimatedResize]):
Perform the deferred snapshotting after the resize completes.

14:21 Changeset [186193] by simon.fraser@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Fix the iOS build.

  • WebCoreSupport/WebUserMediaClient.mm:

(-[WebUserMediaPolicyListener denyOnlyThisRequest]): Remove ASSERT_NOT_REACHED,
because it caused the compiler to warn about noreturn.

13:53 Changeset [186192] by simon.fraser@apple.com
  • 2 edits in trunk/LayoutTests

Mark compositing/masks/compositing-clip-path-origin.html as being image-flakey.

  • platform/mac/TestExpectations:
13:31 Changeset [186191] by rniwa@webkit.org
  • 4 edits
    2 adds in trunk

REGRESSION (r179168): Characters overlap after resizing the font on the copy-pasted Japanese text
https://bugs.webkit.org/show_bug.cgi?id=146492

Reviewed by Darin Adler.

Source/WebCore:

The bug was caused by WebKit serializing the used line-height size (e.g. 18px) in the copied content
instead of string "normal" and removeStyleFromRulesAndContext failing to strip it down when text with
a font that influences the line height got pasted. This is because the used value of line-height
property of the context and the pasted content doesn't match when the context doesn't use the same font.

Fixed the bug by not considering line-height as a list of editing properties we try to preserve. This is
fine because we don't provide editing operations to directly manipulate line-height.

Test: editing/pasteboard/cjk-line-height.html

  • editing/EditingStyle.cpp:

(WebCore::editingProperties): Removed CSSPropertyLineHeight.

LayoutTests:

Added a regression test. Also reverted the bad rebaseline in r179168:
http://trac.webkit.org/changeset/179168/trunk/LayoutTests/editing/pasteboard/simplfiying-markup-should-not-strip-content-expected.txt

  • editing/pasteboard/cjk-line-height-expected.txt: Added.
  • editing/pasteboard/cjk-line-height.html: Added.
  • editing/pasteboard/simplfiying-markup-should-not-strip-content-expected.txt:
13:07 Changeset [186190] by bshafiei@apple.com
  • 1 copy in branches/safari-600.8-branch

New Branch.

13:07 Changeset [186189] by bshafiei@apple.com
  • 1 copy in branches/safari-600.1.4.17-branch

New Branch.

12:34 Changeset [186188] by bshafiei@apple.com
  • 5 edits
    1 copy
    1 delete in tags/Safari-601.1.38/Source/WebKit2

Roll out r185936. rdar://problem/21637235

12:33 Changeset [186187] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.38/Source

Roll out r185939. rdar://problem/21637235

12:32 Changeset [186186] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.38/Source/WebCore

Roll out r185951. rdar://problem/21637235

12:29 Changeset [186185] by bfulgham@apple.com
  • 3 edits in trunk/Source/WebCore

REGRESSION (r184296): View keeps scrolling upward
https://bugs.webkit.org/show_bug.cgi?id=146497
<rdar://problem/21524942>

Reviewed by Darin Adler.

Avoid improperly triggering the ScrollController wheel event handling
logic when the wheel event deltaX/deltaY are zero. On certain sites,
this caused a programmatic JavaScript scroll to be triggered unexpectedly,
scrolling the page back to some initial state.

This bug was introduced while trying to make sure scrollbars were notified
when the wheel event had come to an end. Revise that change so that we still
follow the right code path for non-stretchable regions. However, make sure
that for zero-delta wheel events we make sure to properly handle the wheel
event phase.

  • platform/mac/ScrollAnimatorMac.h:
  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::shouldForwardWheelEventsToParent): New helper function
to reduce the complexity of the logic in handleWheelEvent.
(WebCore::ScrollAnimatorMac::handleWheelEvent): When wheel events should be forwarded
to the parent scroll view, if the event was handled or has no change in position
trigger the 'handleWheelEventPhase' logic so that scrollbars are hidden, etc.

12:11 Changeset [186184] by bdakin@apple.com
  • 2 edits in trunk/Source/WebKit2

This is a quick follow-on to http://trac.webkit.org/changeset/186132

Rubber-stamped by Darin Adler.

Make this a one-liner.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getPositionInformation):

12:08 Changeset [186183] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

Hide the inline controls when going into PiP
https://bugs.webkit.org/show_bug.cgi?id=146487
<rdar://problem/19881159>

Reviewed by Eric Carlson.

When the presentation mode is PiP, toggle a class
on the container element so that we can completely
hide the control toolbar. The placard should still
remain visible.

  • Modules/mediacontrols/mediaControlsiOS.css:

(video::-webkit-media-controls-panel-container.picture-in-picture): Add
a rule that hides the toolbar when PiP is active.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.showControls):
(ControllerIOS.prototype.handlePresentationModeChange): Toggle a
class. Also fix a bug I noticed where exiting from PiP was
not auto-hiding the controls until the user tapped.

11:44 Changeset [186182] by commit-queue@webkit.org
  • 30 edits in trunk

Source/JavaScriptCore:
Enable MEDIA_STREAM flag
https://bugs.webkit.org/show_bug.cgi?id=145947
<rdar://problem/21365829>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-01
Reviewed by Eric Carlson.

  • Configurations/FeatureDefines.xcconfig: Added MEDIA_STREAM flag

Source/WebCore:
Enable MEDIA_STREAM flag
https://bugs.webkit.org/show_bug.cgi?id=145947
<rdar://problem/21365829>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-01
Reviewed by Eric Carlson.

  • Configurations/FeatureDefines.xcconfig: Added MEDIA_STREAM flag
  • Modules/mediastream/MediaStreamTrack.h:
  • WebCore.xcodeproj/project.pbxproj: Changed project headers to

private headers

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/mediastream/RealtimeMediaSource.h:
  • platform/mediastream/mac/AVAudioCaptureSource.mm:
  • platform/mediastream/mac/AVCaptureDeviceManager.mm:

(WebCore::refreshCaptureDeviceList): Deleted.

  • platform/mediastream/mac/AVMediaCaptureSource.mm:

(WebCore::AVMediaCaptureSource::startProducingData):
(WebCore::AVMediaCaptureSource::stopProducingData):

Source/WebKit/mac:
Enable MEDIA_STREAM flag
https://bugs.webkit.org/show_bug.cgi?id=145947
<rdar://problem/21365829>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-01
Reviewed by Eric Carlson.

  • Configurations/FeatureDefines.xcconfig: Added MEDIA_STREAM flag
  • WebCoreSupport/WebUserMediaClient.h: Changed signatures
  • WebCoreSupport/WebUserMediaClient.mm: Changed signatures

(WebUserMediaClient::requestPermission):
(WebUserMediaClient::cancelRequest):
(-[WebUserMediaPolicyListener denyOnlyThisRequest]):
(-[WebUserMediaPolicyListener shouldClearCache]):

Source/WebKit2:
Enable MEDIA_STREAM flag
https://bugs.webkit.org/show_bug.cgi?id=145947
<rdar://problem/21365829>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-01
Reviewed by Eric Carlson.

  • Configurations/FeatureDefines.xcconfig: Add MEDIA_STREAM flag
  • WebKit2.xcodeproj/project.pbxproj: Changed some project to private

declarations of headers

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

(WebKit::WebPage::userMediaPermissionRequestManager):

Tools:
Enabled MEDIA_STREAM flag
https://bugs.webkit.org/show_bug.cgi?id=145947
<rdar://problem/21365829>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-01
Reviewed by Eric Carlson.

  • TestWebKitAPI/Tests/WebKit2/UserMedia.cpp:

LayoutTests:
Enable MEDIA_STREAM flag
https://bugs.webkit.org/show_bug.cgi?id=145947
<rdar://problem/21365829>

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-07-01
Reviewed by Eric Carlson.

*
platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
Added attributes to tests
*
platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
Ditto

  • platform/mac/js/dom/global-constructors-attributes-expected.txt:

Ditto

10:35 Changeset [186181] by bfulgham@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r185016): Intermittent crash in WebCore::TextTrackList::remove
https://bugs.webkit.org/show_bug.cgi?id=146493
<rdar://problem/21511122>

Reviewed by Eric Carlson.

The m_textTracks member is frequently null checked during other operations, but
was not checked during track removal. This needs to be corrected.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::removeTextTrack): Check that m_textTracks is
not null before using it during track removal.

10:22 Changeset [186180] by antti@apple.com
  • 7 edits
    2 adds in trunk

PNG mask images are loaded with Accept:image/svg+xml
https://bugs.webkit.org/show_bug.cgi?id=146509
Source/WebCore:

rdar://problem/21584740

Reviewed by Simon Fraser.

For some strange reason MaskImageOperation code loads all mask images, including non-SVG ones
using CachedSVGDocument. Resulting bad accept header may cause server to reject the request.

This is far from ideal but as a quick fix we can override the accept header for mask images to
allow any image type.

Test: http/tests/misc/mask-image-accept.html

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):

  • loader/cache/CachedResourceRequest.h:

(WebCore::CachedResourceRequest::acceptOverride):
(WebCore::CachedResourceRequest::setAcceptOverride):

  • loader/cache/CachedSVGDocumentReference.cpp:

(WebCore::CachedSVGDocumentReference::load):

  • loader/cache/CachedSVGDocumentReference.h:

(WebCore::CachedSVGDocumentReference::loadRequested):
(WebCore::CachedSVGDocumentReference::setAcceptsAnyImageType):
(WebCore::CachedSVGDocumentReference::document):

  • platform/graphics/MaskImageOperation.cpp:

(WebCore::MaskImageOperation::ensureCachedSVGDocumentReference):

LayoutTests:

Reviewed by Simon Fraser.

  • http/tests/misc/mask-image-accept-expected.html: Added.
  • http/tests/misc/mask-image-accept.html: Added.
10:13 Changeset [186179] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit/mac

REGRESSION (185319): Reproducible crash in WebHistoryItem launching FluidApp.
<rdar://problem/21598293> and https://bugs.webkit.org/show_bug.cgi?id=146494

Reviewed by Darin Adler.

  • History/WebHistoryItem.mm:

(-[WebHistoryItem initFromDictionaryRepresentation:]): Don’t reference members of a Vector

that don’t exist.

09:53 Changeset [186178] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

Check shouldOpenExternalURLs instead of isProcessingUserGesture before passing URL to LaunchServices.
<rdar://problem/20577859> and https://bugs.webkit.org/show_bug.cgi?id=146513

Reviewed by Darin Adler.

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::tryAppLink): The expected value of isProcessingUserGesture is lost over redirects.

shouldOpenExternalURLs actually fits this role perfectly.

08:54 Changeset [186177] by jer.noble@apple.com
  • 4 edits
    11 adds in trunk

[MSE] Failures on W3C media-source tests regarding MIME types
https://bugs.webkit.org/show_bug.cgi?id=146499

Reviewed by Eric Carlson.

Source/WebCore:

Tests: http/tests/media/media-source/SourceBuffer-abort-readyState.html

http/tests/media/media-source/SourceBuffer-abort-removed.html
http/tests/media/media-source/SourceBuffer-abort-updating.html
http/tests/media/media-source/SourceBuffer-abort.html

Multiple failures in the W3C media-source test suite due to two failures in isTypeSupported MIME type handling:

  • MIME types without codec strings were being rejected.
  • MIME types with codec strings which are rejected by the system are being reported as supported.

For the first, stop rejecting MIME types with non-existent codec strings. For MIME types which do have non-empty
codec strings, treat a "Maybe" response as unsupported.

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::isTypeSupported):

LayoutTests:

Import four new tests from the w3c test suite <https://github.com/w3c/web-platform-tests.git>.

  • http/tests/media/media-source/SourceBuffer-abort-readyState.html: Added.
  • http/tests/media/media-source/SourceBuffer-abort-removed.html: Added.
  • http/tests/media/media-source/SourceBuffer-abort-updating.html: Added.
  • http/tests/media/media-source/SourceBuffer-abort.html: Added.
  • http/tests/media/white.mp4: Added.
  • http/tests/media/white.webm: Added.
  • platform/mac/TestExpectations:
  • platform/mac/http/tests/media/media-source/SourceBuffer-abort-expected.txt: Added.
  • platform/mac/http/tests/media/media-source/SourceBuffer-abort-readyState-expected.txt: Added.
  • platform/mac/http/tests/media/media-source/SourceBuffer-abort-removed-expected.txt: Added.
  • platform/mac/http/tests/media/media-source/SourceBuffer-abort-updating-expected.txt: Added.
  • platform/mac/http/tests/media/media-source/mediasource-is-type-supported-expected.txt: Added.
08:44 Changeset [186176] by mcatanzaro@igalia.com
  • 2 edits in trunk/Source/WebKit2

[GTK] [Wayland] Build broken with ENABLE_WAYLAND_TARGET=ON
https://bugs.webkit.org/show_bug.cgi?id=146512

Unreviewed, fix build with ENABLE_WAYLAND_TARGET=ON after r185949.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseCreateWebPage):

07:51 Changeset [186175] by mrobinson@webkit.org
  • 5 edits
    2 copies in trunk

[GTK] REGRESSION(r183936): Test /webkit2/WebKitWebContext/spell-checker fails since r183936
https://bugs.webkit.org/show_bug.cgi?id=144828

Reviewed by Carlos Garcia Campos.

Source/WebKit2:

Instead of setting spell checking languages unconditionally when building int
developer mode, add some C API that allows setting them in WebKitTestRunner.

  • PlatformGTK.cmake: Add the new C API file to the source list.
  • UIProcess/API/C/gtk/WKTextCheckerGtk.cpp:

(WKTextCheckerSetSpellCheckingLanguages): Added this function which allows settings
the spell checking languages from the C API.

  • UIProcess/API/C/gtk/WKTextCheckerGtk.h: Added.
  • UIProcess/gtk/TextCheckerGtk.cpp:

(WebKit::enchantTextChecker): Remove the hack which sets the spell checking languages automatically
for development builds.

Tools:

  • WebKitTestRunner/gtk/main.cpp:

(main): Use the new WKTextChecker API to set the spell checking languages
when the process is starting up.

01:55 Changeset [186174] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[Mac] Numerous CGColor leaks in swipe gestures
https://bugs.webkit.org/show_bug.cgi?id=146501

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-07-01
Reviewed by Tim Horton.

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::beginSwipeGesture):

01:51 Changeset [186173] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[Mac] Confusing RetainPtr use in TiledCoreAnimationDrawingArea
https://bugs.webkit.org/show_bug.cgi?id=146503

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-07-01
Reviewed by Tim Horton.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
Simplify adoption into a new RetainPtr.

06/30/15: Yesterday

23:26 Changeset [186172] by achristensen@apple.com
  • 4 edits in trunk/Source

[Win] Unreviewed build fix after r186169.

Source/WebKit:

  • WebKit.vcxproj/WebKit.sln:

Temporarily don't build ANGLE projects on Windows.

Source/WTF:

  • wtf/FeatureDefines.h:

Temporarily disable WebGL on WinCairo. It was already temporarily disabled on AppleWin.

23:23 Changeset [186171] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

23:18 Changeset [186170] by bshafiei@apple.com
  • 6 edits in tags/Safari-601.1.38/Source/WebKit2

Roll out r186148. rdar://problem/20655729

23:17 Changeset [186169] by achristensen@apple.com
  • 160 edits
    541 adds
    85 deletes in trunk/Source

Update ANGLE to b11e2483742db884bd0af41f78f528240577356b.
https://bugs.webkit.org/show_bug.cgi?id=145010

Reviewed by Dean Jackson.

Source/ThirdParty/ANGLE:

Huge list of source changes omitted.
ROLL DEPS!

Source/WebCore:

  • CMakeLists.txt:
  • platform/graphics/ANGLEWebKitBridge.cpp:

(WebCore::appendSymbol):
(WebCore::getStructInfo):
(WebCore::getSymbolInfo):
(WebCore::ANGLEWebKitBridge::cleanupCompilers):
(WebCore::ANGLEWebKitBridge::compileShaderSource):
(WebCore::getValidationResultValue): Deleted.

  • platform/graphics/ANGLEWebKitBridge.h:

(WebCore::ANGLEShaderSymbol::isSampler):

  • platform/graphics/GraphicsContext3D.h:

(WebCore::GraphicsContext3D::SymbolInfo::SymbolInfo):

  • platform/graphics/mac/GraphicsContext3DMac.mm:
  • platform/graphics/opengl/Extensions3DOpenGL.cpp:
  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::checkVaryingsPacking):
(WebCore::GraphicsContext3D::precisionsMatch):
Update WebCore to reflect changes in ANGLE.

23:15 Changeset [186168] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.38

New tag.

23:08 Changeset [186167] by gyuyoung.kim@webkit.org
  • 2 edits
    1 add in trunk/LayoutTests

[EFL] Unreviewed gardening.

Some tests are flaky or timeout after bumping Ubuntu version from 14.04 to 15.04.
Mark the tests to flaky or timeout.

  • platform/efl/TestExpectations:
  • platform/efl/compositing/tiling/rotated-tiled-clamped-expected.txt: Added.
22:59 Changeset [186166] by fpizlo@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, skip this test for now. We can unskip it when this feature is enabled.

  • js/script-tests/intl.js:
21:30 Changeset [186165] by zalan@apple.com
  • 5 edits
    2 adds in trunk

Frame flattening: Hit-testing an iframe could end up destroying the associated inline tree context.
https://bugs.webkit.org/show_bug.cgi?id=146447
rdar://problem/20613501

Reviewed by Simon Fraser.

This patch ensures that the render tree associated with the document on which
the hit-test is initiated does not get laid out, unless it was directly mutated prior to the hittest.

Hit-test requirements:

  1. A clean the render tree before hit-testing gets propagated to the renderers.

Document::updateLayout() ensures it by calling both updateStyleIfNeeded() and layout() not only on the current tree, but also
on the ancestors if needed.

  1. No render tree mutation while hit-testing the renderers.

When an iframe is being hit-tested, this hit-test could bubble down to the child frame's render view.
In order to ensure #1, we call Document::updateLayout() on the current (subframe) document.
If updateStyleIfNeeded() mutates the render tree, we mark it dirty for layout(). However frame flattening also
marks the parent renderer (RenderIFrame) dirty.
While calling layout() to clean the current render tree, we end up laying out the parent tree too.
Laying out the parent tree could end up destroying the inline tree context from where the
hittest just bubbled down. (InlineFlowBox -> RenderWidget -> RenderView).

This patch protects the render tree from such unintentional inline tree mutation during hittesting.
After the initial layout we set a layout disallow flag on the frame view to defer subsequent layouts.
This patch only changes behavior when frame flattening is enabled, but in future we may always want to enable this.

Source/WebCore:

Test: fast/frames/flattening/hittest-iframe-while-style-changes-crash.html

  • page/FrameView.cpp:

(WebCore::FrameView::layout):
(WebCore::FrameView::startLayoutAtMainFrameViewIfNeeded): Deleted. -> Assertion in no longer valid.

  • page/FrameView.h:
  • rendering/RenderView.cpp:

(WebCore::FrameFlatteningLayoutDisallower::FrameFlatteningLayoutDisallower):
(WebCore::FrameFlatteningLayoutDisallower::~FrameFlatteningLayoutDisallower):
(WebCore::RenderView::hitTest): Protect the render tree from subsequent layouts.

LayoutTests:

  • fast/frames/flattening/hittest-iframe-while-style-changes-crash-expected.txt: Added.
  • fast/frames/flattening/hittest-iframe-while-style-changes-crash.html: Added.
19:39 Changeset [186164] by simon.fraser@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix CoordinatedGraphics.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::didFlushRootLayer):

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

Web Inspector: add " = $0" hint after selected element in main DOMTreeOutline
https://bugs.webkit.org/show_bug.cgi?id=145739

Patch by Devin Rousso <drousso@apple.com> on 2015-06-30
Reviewed by Timothy Hatcher.

  • UserInterface/Views/DOMTreeOutline.css: Adds a semi-opaque " = $0" to the selected element in the DOM tree.

(.dom-tree-outline li.selected > span::after):
(.dom-tree-outline:focus li.selected > span::after):

19:03 Changeset [186162] by simon.fraser@apple.com
  • 3 edits in trunk/Source/WebKit2

More Gtk/EFL fixing.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::didFlushRootLayer):

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::flushPendingLayerChanges):

19:01 Changeset [186161] by commit-queue@webkit.org
  • 25 edits
    5 adds in trunk

Implement ECMAScript Internationalization API
https://bugs.webkit.org/show_bug.cgi?id=90906

Patch by Andy VanWagoner <thetalecrafter@gmail.com> on 2015-06-30
Reviewed by Benjamin Poulain.

.:

Begin implementing the Intl apis behind ENABLE_INTL flag.
Create the base Intl namespace object.

  • Source/cmake/WebKitFeatures.cmake: add ENABLE_INTL flag

Source/JavaScriptCore:

  • CMakeLists.txt: add IntlObject.cpp
  • Configurations/FeatureDefines.xcconfig: add ENABLE_INTL flag
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: add IntlObject
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: add IntlObject
  • JavaScriptCore.xcodeproj/project.pbxproj: add IntlObject
  • runtime/CommonIdentifiers.h: add "Intl" name
  • runtime/IntlObject.cpp: Added.

(JSC::IntlObject::IntlObject):
(JSC::IntlObject::create):
(JSC::IntlObject::finishCreation):
(JSC::IntlObject::createStructure):

  • runtime/IntlObject.h: Added.
  • runtime/JSGlobalObject.cpp: Add global Intl

(JSC::JSGlobalObject::init):

Source/WebCore:

Test: js/intl.html

  • Configurations/FeatureDefines.xcconfig: add ENABLE_INTL flag

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig: add ENABLE_INTL flag

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig: add ENABLE_INTL flag

Source/WTF:

  • wtf/FeatureDefines.h: add ENABLE_INTL flag

Tools:

  • Scripts/webkitperl/FeatureList.pm: add ENABLE_INTL flag

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.props: add ENABLE_INTL flag
  • win/tools/vsprops/FeatureDefinesCairo.props: add ENABLE_INTL flag

LayoutTests:

  • TestExpectations: Skip intl until enabled
  • js/intl-expected.txt: Added.
  • js/intl.html: Added.
  • js/script-tests/intl.js: Added.

(global):

18:51 Changeset [186160] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

scroll-snap-points do not work very well with mechanical scroll wheel events
https://bugs.webkit.org/show_bug.cgi?id=142501
<rdar://problem/20093511>

Patch by Wenson Hsieh <whsieh@berkeley.edu> on 2015-06-30
Reviewed by Brent Fulgham.

Source/WebCore:

Stateless scroll events generated by scrolling with a mechanical mouse wheel now trigger scroll
snapping after a fixed delay.

Test: platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-overflow-stateless.html

  • platform/cocoa/ScrollController.h: Added member to track stateless scrolling.
  • platform/cocoa/ScrollController.mm: Added constant for delay for stateless scroll snapping.

(WebCore::ScrollController::processWheelEventForScrollSnapOnAxis): Triggers timer upon stateless scroll events.
(WebCore::ScrollController::horizontalScrollSnapTimerFired): Timer now handles stateless scrolling updates.
(WebCore::ScrollController::verticalScrollSnapTimerFired): See above.
(WebCore::ScrollController::beginScrollSnapAnimation): Handles stateless scroll snapping.

LayoutTests:

  • platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-overflow-stateless-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-overflow-stateless.html: Added.
18:46 Changeset [186159] by simon.fraser@apple.com
  • 5 edits in trunk/Source

Fix Mac and Windows builds.

Source/WebKit/win:

  • WebCoreSupport/AcceleratedCompositingContext.cpp:

(AcceleratedCompositingContext::flushPendingLayerChanges):

  • WebView.cpp:

(WebView::flushPendingGraphicsLayerChanges):

Source/WebKit2:

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::flushLayers):

18:33 Changeset [186158] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.37.1.2/Source

Versioning.

18:30 Changeset [186157] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.37.1.2

New tag.

18:15 Changeset [186156] by simon.fraser@apple.com
  • 6 edits in trunk/Source/WebCore

Try to fix Gtk and EFL builds.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly):
(WebCore::GraphicsLayerTextureMapper::flushCompositingState):

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:
  • platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:

(WebCore::CompositingCoordinator::flushPendingLayerChanges):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::flushCompositingState):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
18:08 Changeset [186155] by simon.fraser@apple.com
  • 10 edits in trunk/Source

[iOS] Missing tiles inside position:fixed on scrolling
https://bugs.webkit.org/show_bug.cgi?id=146485
rdar://problem/21226861

Reviewed by Tim Horton.

Layer flushing adjusts the coverage rect for tiled layers, but does so at times
when position:fixed layers are moved around by the scrolling tree. The computed
coverage rect then doesn't reflect the layer's on-screen position, causing missing
tiles.

Fix by pushing the notion of being in a "stable state" onto FrameView, and passing
that state into the layer flush. When not in a stable state, flushing doesn't change
the visible and coverage rects for layers that are viewport-constrained.

Source/WebCore:

  • page/FrameView.cpp:

(WebCore::FrameView::reset):

  • page/FrameView.h: Remove some velocity-related data members that were unused.
  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::flushCompositingState):
(WebCore::GraphicsLayer::flushCompositingStateForThisLayerOnly):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::flushCompositingState):
(WebCore::GraphicsLayerCA::flushCompositingStateForThisLayerOnly):
(WebCore::GraphicsLayerCA::setVisibleAndCoverageRects): If this is a viewport-constrained
layer, and the viewport is not stable, don't touch the rects.
(WebCore::GraphicsLayerCA::recursiveCommitChanges):

  • platform/graphics/ca/GraphicsLayerCA.h:

(WebCore::GraphicsLayerCA::CommitState::CommitState):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::flushPendingLayerChanges):

Source/WebKit2:

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::updateVisibleContentRects):

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::flushLayers):

18:01 Changeset [186154] by simon.fraser@apple.com
  • 5 edits in trunk/Source/WebCore

Rename GraphicsLayer's allowsBackingStoreDetachment to isViewportConstrained
https://bugs.webkit.org/show_bug.cgi?id=146483

Reviewed by Tim Horton.

What GraphicsLayer really needs to know is whether some other thread/process
is moving its platform layers around behind its back, and this is is better
expressed as "isViewportConstrained" rather than "allowsBackingStoreDetachment".

The sense of the flag is flipped, and boolean logic adjusted accordingly.

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::setIsViewportConstrained):
(WebCore::GraphicsLayer::isViewportConstrained):
(WebCore::GraphicsLayer::setAllowsBackingStoreDetachment): Deleted.
(WebCore::GraphicsLayer::allowsBackingStoreDetachment): Deleted.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::setVisibleAndCoverageRects):
(WebCore::GraphicsLayerCA::recursiveCommitChanges):

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

(WebCore::RenderLayerBacking::setIsScrollCoordinatedWithViewportConstrainedRole):

17:46 Changeset [186153] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

[EFL] Implement ewk_favicon_database_clear() API.
https://bugs.webkit.org/show_bug.cgi?id=146337

Patch by Hyungwook Lee <hyungwook.lee@navercorp.com> on 2015-06-30
Reviewed by Gyuyoung Kim.

We need to provide way to clear favicon data.

  • UIProcess/API/efl/ewk_favicon_database.cpp:

(EwkFaviconDatabase::getIconSurfaceSynchronously):
(EwkFaviconDatabase::clearFaviconDatabase):
(EwkFaviconDatabase::iconDataReadyForPageURL):
(ewk_favicon_database_icon_change_callback_del):
(ewk_favicon_database_clear):

  • UIProcess/API/efl/ewk_favicon_database.h:
  • UIProcess/API/efl/ewk_favicon_database_private.h:
  • UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:

(TEST_F):

17:39 Changeset [186152] by akling@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] Ignore viewport rect changes during zoom bouncing.
<https://webkit.org/b/146480>

Reviewed by Benjamin Poulain.

When the user has pinch-zoomed past the maximum zoom scale and lets go of the screen,
we animate a bounce back to the maximum scale.

Suppress viewport rect updates during this bounce animation since we don't need them
anyway. This fixes an issue where we'd sometimes get a weird rect during the animation
and if could send that to the web process, causing it to generate tiles for a part of
the page that's not actually exposed.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _updateVisibleContentRects]):

17:36 Changeset [186151] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Errors in read() are not handled in WTF::cryptographicallyRandomValuesFromOS.
https://bugs.webkit.org/show_bug.cgi?id=146473

Patch by Keith Miller <keith_miller@apple.com> on 2015-06-30
Reviewed by Filip Pizlo.

We were not checking if errors occurred in WTF::cryptographicallyRandomValuesFromOS.
We now buffer the data until enough bits of entropy exist to fill the buffer
rather than crash. Additionally, added two crash functions so we can distinguish
between the two reasons why we crashed in traces.

  • wtf/OSRandomSource.cpp:

(WTF::crashUnableToOpenFD):
(WTF::crashUnableToReadFromFD):
(WTF::cryptographicallyRandomValuesFromOS):

17:17 Changeset [186150] by cdumez@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Unreviewed, rebaseline editing/style/unbold-in-bold.html on WK2.

  • platform/mac-wk2/editing/style/unbold-in-bold-expected.txt: Added.
17:16 Changeset [186149] by cdumez@apple.com
  • 1 edit
    1 delete in trunk/LayoutTests

Unreviewed, revert bad wk2 baseline done in r186106.

  • platform/mac-wk2/editing/style: Removed.
17:08 Changeset [186148] by enrica@apple.com
  • 6 edits in trunk/Source/WebKit2

<rdar://problem/20655729> WebKit should heuristically exclude scrolling touch events from the user gesture category

Reviewed by Benjamin Poulain.

  • Platform/spi/ios/UIKitSPI.h:
  • Shared/WebEvent.h:

(WebKit::WebTouchEvent::WebTouchEvent):
(WebKit::WebTouchEvent::position):
(WebKit::WebTouchEvent::isPotentialTap):
(WebKit::WebTouchEvent::isGesture):
(WebKit::WebTouchEvent::gestureScale):
(WebKit::WebTouchEvent::gestureRotation):

  • Shared/WebEventConversion.cpp:

(WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):

  • Shared/ios/NativeWebTouchEventIOS.mm:

(WebKit::NativeWebTouchEvent::NativeWebTouchEvent):

  • Shared/ios/WebTouchEventIOS.cpp:

(WebKit::WebTouchEvent::encode):
(WebKit::WebTouchEvent::decode):
Pipe isPotentialTap through.

16:33 Changeset [186147] by bshafiei@apple.com
  • 5 edits
    1 copy
    1 delete in tags/Safari-601.1.37.0.1/Source/WebKit2

Roll out r185936. rdar://problem/21597179

16:30 Changeset [186146] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.37.0.1/Source

Roll out r185939. rdar://problem/21597179

16:27 Changeset [186145] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.37.0.1/Source/WebCore

Roll out r185951. rdar://problem/21597179

16:15 Changeset [186144] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.37.0.1/Source

Versioning.

16:10 Changeset [186143] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.37.0.1

New tag.

15:58 Changeset [186142] by fpizlo@apple.com
  • 3 edits in trunk/PerformanceTests

Update the JetStream documentation to reflect the recent changes
https://bugs.webkit.org/show_bug.cgi?id=146474

Reviewed by Geoffrey Garen.

  • JetStream/create.rb: Bump the version.
  • JetStream/in-depth-TEMPLATE.html: Add cdjs documentation. Remove cordic documentation. Change documentation for splay and mandreel.
15:58 Changeset [186141] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: ProfileNode cleanup
https://bugs.webkit.org/show_bug.cgi?id=146472

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-06-30
Reviewed by Timothy Hatcher.

  • UserInterface/Models/ProfileNode.js:

(WebInspector.ProfileNode):
Use Array.prototype.every instead of reduce.
Correct the name of a function to be what callers expect!

15:51 Changeset [186140] by clopez@igalia.com
  • 3 edits in trunk/Source/WebKit2

[GTK] [EFL] Unreviewed build fix after r186118.

Add if PLATFORM(COCOA) back.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::nonVisibleProcessCleanupTimerFired):

  • WebProcess/WebProcess.h:
15:21 Changeset [186139] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

CABackdropFilter should set windowServerAware to false
https://bugs.webkit.org/show_bug.cgi?id=146469
<rdar://problem/21618614>

Reviewed by Simon Fraser.

  • platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:

(PlatformCALayerCocoa::PlatformCALayerCocoa): Set windowServerAware
to false on Mac (it's not available on iOS).

15:20 Changeset [186138] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: iOS 8: Profile Nodes not showing in JavaScript Timeline
https://bugs.webkit.org/show_bug.cgi?id=146471

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-06-30
Reviewed by Brian Burg.

  • UserInterface/Models/ScriptTimelineRecord.js:

(WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeCallFromPayload):
For legacy backends, convert the startTime to the proper timestamp type.

15:19 Changeset [186137] by cdumez@apple.com
  • 3 edits in trunk/Source/WebCore

Rolling out r175171
https://bugs.webkit.org/show_bug.cgi?id=146470
<rdar://problem/21349934>

Unreviewed, rolling out <http://trac.webkit.org/changeset/175171>. It
wasn't a huge win and Brady says it caused crash at
<rdar://problem/21349934>.

  • platform/network/cf/ResourceRequest.h:
  • platform/network/cocoa/ResourceRequestCocoa.mm:

(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdatePlatformHTTPBody):

15:19 Changeset [186136] by basile_clement@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Allow object allocation sinking through GetScope, GetExecutable and SkipScope nodes
https://bugs.webkit.org/show_bug.cgi?id=146431

Reviewed by Filip Pizlo.

  • dfg/DFGNode.h:

(JSC::DFG::Node::isFunctionAllocation):
(JSC::DFG::Node::isPhantomFunctionAllocation):

  • dfg/DFGObjectAllocationSinkingPhase.cpp:

(JSC::DFG::ObjectAllocationSinkingPhase::handleNode):

  • dfg/DFGPromoteHeapAccess.h:

(JSC::DFG::promoteHeapAccess):

15:16 Changeset [186135] by cdumez@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, revert bad WK1 rebaseline done in r186106.

  • platform/mac/editing/style/unbold-in-bold-expected.txt:
15:00 Changeset [186134] by simon.fraser@apple.com
  • 4 edits in trunk/Source

Crash under _layoutForNodeHighlight: when inspecting espn.com
https://bugs.webkit.org/show_bug.cgi?id=146422

Reviewed by Joseph Pecoraro.
Source/WebKit/mac:

When inspecting espn.com, MobileSafari sometimes crashes, because
highlight.quads is empty. I was not able to quickly determine why.

Fix by bailing in this case.

  • WebInspector/WebNodeHighlightView.mm:

(-[WebNodeHighlightView _layoutForNodeHighlight:parent:]):

Source/WebKit2:

When inspecting espn.com, MobileSafari sometimes crashes, because
highlight.quads is empty. I was not able to quickly determine why.

Fix by bailing in this case.

  • UIProcess/WKInspectorHighlightView.mm:

(-[WKInspectorHighlightView _layoutForNodeHighlight:]):

14:45 Changeset [186133] by mattbaker@apple.com
  • 24 edits
    1 add in trunk/Source

Web Inspector: Reduce rendering frames "Other" time by instrumenting compositing
https://bugs.webkit.org/show_bug.cgi?id=146168

Reviewed by Brian Burg.

Source/JavaScriptCore:

  • inspector/protocol/Timeline.json:

New timeline record type for compositing events.

Source/WebCore:

Added Inspector instrumentation for measuring CoreAnimation compositing time. We mark the start of a composite
event when the LayerFlushScheduler triggers a scheduled layer flush. InspectorController now exports a function
for marking the end of the composite event, which should be called during the CA transaction post-commit phase
(based on platform support). Lacking platform support, the event is considered complete after CoreAnimation
runloop observers have run.

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::didComposite):

  • inspector/InspectorController.h:

New export for instrumentation in WebKit2.

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::willCompositeImpl):
(WebCore::InspectorInstrumentation::didCompositeImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::willComposite):
(WebCore::InspectorInstrumentation::didComposite):
Plumbing for new instrumentation.

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::internalStart):
(WebCore::InspectorTimelineAgent::internalStop):
(WebCore::InspectorTimelineAgent::willComposite):
(WebCore::InspectorTimelineAgent::didComposite):
(WebCore::toProtocol):

  • inspector/InspectorTimelineAgent.h:

New Composite event type and instrumentation.

  • page/FrameView.cpp:

(WebCore::FrameView::flushCompositingStateIncludingSubframes):
Hook for start of compositing.

  • platform/spi/cocoa/QuartzCoreSPI.h:

New header include and interface declaration.

Source/WebInspectorUI:

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

(WebInspector.TimelineManager.prototype._processRecord):
Added handling for new Composite record type. Paint records with a parent Composite record
are flagged to simplify processing after the event hierarchy is unpacked.

  • UserInterface/Images/TimelineRecordComposite.svg: Added.

New composite record icon.

  • UserInterface/Models/LayoutTimelineRecord.js:

(WebInspector.LayoutTimelineRecord):
(WebInspector.LayoutTimelineRecord.displayNameForEventType):
(WebInspector.LayoutTimelineRecord.prototype.get duringComposite): Added
Composite record support.

  • UserInterface/Models/RenderingFrameTimelineRecord.js:

(WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask.get validRecordForTaskType):
Add compositing time when bucketing runloop tasks, ignoring Paint events that are
contained within a Composite event.

  • UserInterface/Views/LayoutTimelineOverviewGraph.js:

(WebInspector.LayoutTimelineOverviewGraph.prototype._layoutTimelineRecordAdded):
Add Composite records to paint timeline row.

  • UserInterface/Views/RenderingFrameTimelineView.js:

(WebInspector.RenderingFrameTimelineView.prototype._processPendingRecords):
Small unrelated fix.

  • UserInterface/Views/TimelineIcons.css:

(.composite-record .icon):

  • UserInterface/Views/TimelineRecordBar.css:

(.timeline-record-bar.timeline-record-type-layout.layout-timeline-record-composite > .segment):

  • UserInterface/Views/TimelineRecordTreeElement.js:

(WebInspector.TimelineRecordTreeElement):
New styles and tree element icon.

Source/WebKit2:

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::flushLayers):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
Added CA transaction post-commit handlers to instrument end of composite.

14:40 Changeset [186132] by bdakin@apple.com
  • 4 edits in trunk/Source

The bounds on InteractionInformationAtPosition should be more precise
https://bugs.webkit.org/show_bug.cgi?id=146468
-and corresponding-
rdar://problem/20739834

Reviewed by Enrica Casucci and Simon Fraser.

Source/WebCore:

Export absoluteContentQuad().

  • rendering/RenderBox.h:

Source/WebKit2:

For links, get the TextQuads from the Range, and for images, look at the
absoluteContentQuad(). All other items can continue to use absoluteBoundingBox.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getPositionInformation):

14:37 Changeset [186131] by jond@apple.com
  • 2 edits in trunk/Tools

Added myself, Jonathan Davis, as a committer.

14:01 Changeset [186130] by jond@apple.com
  • 2 edits in trunk/Websites/webkit.org

Added WebKit feature status page to navigation.

13:31 Changeset [186129] by zalan@apple.com
  • 2 edits in trunk/Source/WebCore

Addressing post-review comments in r185756.

  • html/RubyTextElement.cpp:

(WebCore::RubyTextElement::createElementRenderer):

13:03 Changeset [186128] by zalan@apple.com
  • 2 edits in trunk/Source/WebCore

Addressing post-review comments in r185916

  • platform/LayoutUnit.h:

(WebCore::roundToDevicePixel):

12:53 Changeset [186127] by mrajca@apple.com
  • 2 edits in trunk/Source/WebCore

MediaSession: Use setSessionInternal to set the default media session in HTMLMediaElement's constructor
https://bugs.webkit.org/show_bug.cgi?id=146465

Reviewed by Eric Carlson.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement):

12:48 Changeset [186126] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Disable Spintracer when getting the list of plug-ins
https://bugs.webkit.org/show_bug.cgi?id=146467
rdar://problem/21616640

Reviewed by Tim Horton.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::populatePluginCache):

12:12 Changeset [186125] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Java Plugin cannot launch JavaUpdater.app after renaming
https://bugs.webkit.org/show_bug.cgi?id=146464
rdar://problem/19747153

Reviewed by Tim Horton.

Check for both "JavaUpdater.app" and "Java Updater.app".

  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::isJavaUpdaterURL):

11:26 Changeset [186124] by andersca@apple.com
  • 8 edits in trunk/Source/WebKit/mac

Remove the WK_ENABLE_FORMAL_DELEGATE_PROTOCOLS ifdefs now that this is always true
https://bugs.webkit.org/show_bug.cgi?id=146462

Reviewed by Dan Bernstein.

  • Misc/WebDownload.h:
  • WebView/WebFrameLoadDelegate.h:
  • WebView/WebPolicyDelegate.h:
  • WebView/WebResourceLoadDelegate.h:
  • WebView/WebUIDelegate.h:
  • WebView/WebView.h:
  • postprocess-headers.sh:
11:10 Changeset [186123] by mrajca@apple.com
  • 5 edits in trunk/Source/WebCore

Media Session: implement algorithm for updating a media element's session (6.1)
https://bugs.webkit.org/show_bug.cgi?id=146460

Reviewed by Darin Adler.

In addition to storing a pointer to the new media session, we now:

  • pause the media element if it is 'active' in the current media session
  • remove the media element from the current media session
  • release the current media session if there are no more active media elements
  • set the default media session if the new media session is null
  • update the 'kind' attribute to match the kind of the new media session
  • Modules/mediasession/MediaSession.cpp:

(WebCore::MediaSession::isMediaElementActive):
(WebCore::MediaSession::hasActiveMediaElements):

  • Modules/mediasession/MediaSession.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setSession):
(WebCore::HTMLMediaElement::setSessionInternal):

  • html/HTMLMediaElement.h:
11:08 Changeset [186122] by cdumez@apple.com
  • 3 edits in trunk/Source/WebKit2

[WK2] Avoid taking a useless / blank navigation snapshot when navigating after restoring sessionState
https://bugs.webkit.org/show_bug.cgi?id=146446
<rdar://problem/21584231>

Reviewed by Darin Adler.

We currently take a useless / blank navigation snapshot when navigating
after restoring the back / forward list from a sessionState object.
This is because we get a current HistoryItem from the sessionState
which we have never really navigated to. We then take a navigation
snapshot for the current HistoryItem when navigating away as we usually
do. However, in this case, the HistoryItem was imported and there is
nothing to snapshot.

Taking this snapshot is not only wasteful, it can also potentially
overwrite the snapshot that was set by the client using
WKWebView._saveBackForwardSnapshotForItem() SPI.

To address the problem, this patch suppresses navigation snapshotting
after restoring the back / forward list from a session state and until
the next load is committed.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::recordNavigationSnapshot):
(WebKit::WebPageProxy::restoreFromSessionState):
(WebKit::WebPageProxy::didCommitLoadForFrame):

  • UIProcess/WebPageProxy.h:
10:32 Changeset [186121] by bfulgham@apple.com
  • 2 edits in trunk/Source/WebKit/win

[Win] webViewAddMessageToConsole always gets 1 for isError
https://bugs.webkit.org/show_bug.cgi?id=146457
<rdar://problem/21606395>

Reviewed by Zalan Bujtas.

  • WebCoreSupport/WebChromeClient.cpp:

(messageIsError): Added.
(WebChromeClient::addMessageToConsole): Only pass true for
isError if the message is an error message.

10:20 Changeset [186120] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: iOS 8: Uncaught Exception expanding Object Prototype
https://bugs.webkit.org/show_bug.cgi?id=146427

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-06-30
Reviewed by Timothy Hatcher.

  • UserInterface/Views/ObjectTreePropertyTreeElement.js:

(WebInspector.ObjectTreePropertyTreeElement.prototype._updateProperties):

  • UserInterface/Views/ObjectTreeView.js:

(WebInspector.ObjectTreeView.prototype._updateProperties):
We are supposed to receive value properties for proto properties
so that we can immediately start showing information about the property.
When that is not the case, which appeared to only be on legacy
backends for the top level prototype, just ignore it.

10:16 Changeset [186119] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: Misc. Timeline cleanup
https://bugs.webkit.org/show_bug.cgi?id=146430

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-06-30
Reviewed by Timothy Hatcher.

  • UserInterface/Models/Timeline.js:

(WebInspector.Timeline.prototype.reset):
Nobody listens for this event. Just remove it.

  • UserInterface/Models/TimelineRecording.js:

Avoiding doing multiple lookups.

  • UserInterface/Views/TimelineDataGridNode.js:
  • UserInterface/Views/TimelineRecordingContentView.js:

(WebInspector.TimelineRecordingContentView.prototype._updateTimes):

  • UserInterface/Views/TimelineView.js:

(WebInspector.TimelineView.prototype.updateLayout):
Eliminate some unnecessary deletes.

10:12 Changeset [186118] by andersca@apple.com
  • 13 edits in trunk/Source

Get rid of unused WKSI functions
https://bugs.webkit.org/show_bug.cgi?id=146443

Reviewed by Tim Horton.

Source/WebCore:

  • platform/graphics/cg/PathCG.cpp:

(WebCore::Path::platformAddPathForRoundedRect):
Just call CGPathAddRoundedRect directly.

  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:

Source/WebKit/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Deleted.

Source/WebKit2:

  • UIProcess/API/Cocoa/WKWebView.mm:
  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Deleted.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::nonVisibleProcessCleanupTimerFired):

  • WebProcess/WebProcess.h:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::destroyRenderingResources):

09:39 Changeset [186117] by bfulgham@apple.com
  • 2 edits in trunk/Tools

Unreviewed build fix.

  • Scripts/update-webkit-dependency: Try to build even if we cannot connect

to developer.apple.com to get update libraries.

09:31 Changeset [186116] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.37.1.1/Source

Versioning.

09:27 Changeset [186115] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.37.1.1

New tag.

04:26 Changeset [186114] by peavo@outlook.com
  • 3 edits in trunk/Source/WebKit/win

[WinCairo] Compile error, WebEditorClient::didApplyStyle() should not have any parameters.
https://bugs.webkit.org/show_bug.cgi?id=146450

Reviewed by Csaba Osztrogonác.

  • WebCoreSupport/WebEditorClient.cpp:

(WebEditorClient::shouldApplyStyle):
(WebEditorClient::didApplyStyle):

  • WebCoreSupport/WebEditorClient.h:
02:53 Changeset [186113] by calvaris@igalia.com
  • 4 edits in trunk

[Streams API] Finish pulling must always be done asynchronously as it is the expected promise behavior (according to the spec)
https://bugs.webkit.org/show_bug.cgi?id=146408

Reviewed by Darin Adler.

Source/WebCore:

Current tests cover the case already.

  • Modules/streams/ReadableStream.cpp:

(WebCore::ReadableStream::pull): Call finishPull() in a postTask to delay it and simulate the promise
resolution.

LayoutTests:

  • streams/reference-implementation/readable-stream-expected.txt: Updated expectation to PASS
02:27 Changeset [186112] by calvaris@igalia.com
  • 5 edits in trunk

[Streams API] Synced bad strategy test with reference implementation
https://bugs.webkit.org/show_bug.cgi?id=146411

Reviewed by Darin Adler.

Source/WebCore:

Current tests cover the case.

  • bindings/js/ReadableJSStream.cpp:

(WebCore::ReadableJSStream::retrieveChunkSize): Check for negative size then running the JavaScript function.

LayoutTests:

  • streams/reference-implementation/bad-strategies-expected.txt:
  • streams/reference-implementation/bad-strategies.html: There are three tests that are merged into one and a

fourth check is added. Updated expectations accordingly.

00:50 Changeset [186111] by youenn.fablet@crf.canon.fr
  • 6 edits in trunk/Source/WebCore

[Streams API] Remove ReadableStream.getReader() custom binding
https://bugs.webkit.org/show_bug.cgi?id=146404

Reviewed by Darin Adler.

Covered by existing tests.

  • Modules/streams/ReadableStream.cpp:

(WebCore::ReadableStream::getReader): Updated to take an exception.

  • Modules/streams/ReadableStream.h:
  • Modules/streams/ReadableStream.idl: Updated to remove custom binding.
  • bindings/js/JSReadableStreamCustom.cpp:

(WebCore::JSReadableStream::getReader): Deleted.

  • bindings/js/JSReadableStreamReaderCustom.cpp:

(WebCore::constructJSReadableStreamReader): Updated to pass an exception to getReader.

00:17 Changeset [186110] by philn@webkit.org
  • 2 edits in trunk

[CMake] Error when gst-plugins-base is missing is too confusing
https://bugs.webkit.org/show_bug.cgi?id=145682

Reviewed by Carlos Garcia Campos.

  • Source/cmake/OptionsGTK.cmake: Error out if the required

GStreamer libraries are not found on the host.

06/29/15:

23:47 Changeset [186109] by youenn.fablet@crf.canon.fr
  • 6 edits in trunk/Source/WebCore

[Streams API] ReadableStreamReader.closed should use DOMPromise
https://bugs.webkit.org/show_bug.cgi?id=146406

Reviewed by Darin Adler.

Added storage of ClosedPromise as Optional of ReadableStream.
Updated code accordingly.

Covered by existing tests.

  • Modules/streams/ReadableStream.cpp:

(WebCore::ReadableStream::clearCallbacks):
(WebCore::ReadableStream::releaseReader):
(WebCore::ReadableStream::changeStateToErrored):
(WebCore::ReadableStream::closed):

  • Modules/streams/ReadableStream.h:
  • Modules/streams/ReadableStreamReader.cpp:

(WebCore::ReadableStreamReader::closed):

  • Modules/streams/ReadableStreamReader.h:
  • bindings/js/JSReadableStreamReaderCustom.cpp:

(WebCore::JSReadableStreamReader::closed):

23:02 Changeset [186108] by gyuyoung.kim@webkit.org
  • 3 edits in trunk/Source/WebKit2

[GTK] Unreviewed GTK build fix since r186088 and r186095.
https://bugs.webkit.org/show_bug.cgi?id=146449

  • PlatformGTK.cmake:
  • UIProcess/API/gtk/PageClientImpl.h:
22:33 Changeset [186107] by simon.fraser@apple.com
  • 3 edits in trunk/Source/WebCore

[iOS WK2] WKWebViews in Facebook app start off black
https://bugs.webkit.org/show_bug.cgi?id=146445
rdar://problem/21600433

Reviewed by Tim Horton.

If -isOpaque is toggled on a WKWebView, we failed to make the page tiles non-opaque
for a while. After r183775, RenderLayerCompositor::rootBackgroundTransparencyChanged() was called,
but only considered the computed document background color, and not the view transparency.

Fix by having rootBackgroundTransparencyChanged() simply use viewHasTransparentBackground(),
which checks the FrameView transparency. Now we just need to store a transparency bool rather
than the old color (we only checked its alpha anyway).

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::rootBackgroundTransparencyChanged):

19:38 Changeset [186106] by rniwa@webkit.org
  • 2 edits
    1 copy in trunk/LayoutTests

Another rebaseline after r186086.
WebKit2 needs the original expected result.

  • platform/mac-wk2/editing/style: Copied from LayoutTests/platform/mac/editing/style/unbold-in-bold-expected.txt.
  • platform/mac/editing/style/unbold-in-bold-expected.txt:
19:05 Changeset [186105] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Rebaseline after r186086.

  • platform/mac/editing/style/unbold-in-bold-expected.txt:
18:26 Changeset [186104] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

WebKit should use 80% black background for PiP indicator
https://bugs.webkit.org/show_bug.cgi?id=146444
<rdar://problem/21555726>

Reviewed by Sam Weinig.

Change the black background to a slightly less black background.
This also involved making the placard artwork white, in order
to keep it visible against the new grey.

  • Modules/mediacontrols/mediaControlsiOS.css:

(audio::-webkit-media-controls-wireless-playback-status):
(audio::-webkit-media-controls-wireless-playback-status.small):
(audio::-webkit-media-controls-wireless-playback-status.picture-in-picture):

18:09 Changeset [186103] by gyuyoung.kim@webkit.org
  • 3 edits in trunk/Source/WebKit2

Unreviewed EFL build fix since r186088 and r186095.

  • CMakeLists.txt: Remove ConnectionStack.cpp.
  • UIProcess/CoordinatedGraphics/WebView.h: Override virtual didFailLoadForMainFrame().
17:47 Changeset [186102] by nvasilyev@apple.com
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Unable to select the text of an inline error message
https://bugs.webkit.org/show_bug.cgi?id=145813

Reviewed by Timothy Hatcher.

  • UserInterface/Views/CodeMirrorOverrides.css:

(.CodeMirror-linewidget):

  • UserInterface/Views/TextEditor.js:

(WebInspector.TextEditor.prototype.createWidgetForLine):

17:40 Changeset [186101] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Remove harmless error for not getting named flows
https://bugs.webkit.org/show_bug.cgi?id=146417

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-06-29
Reviewed by Darin Adler.

  • UserInterface/Controllers/DOMTreeManager.js:
17:37 Changeset [186100] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Network errors (404) are missing location link in console messages
https://bugs.webkit.org/show_bug.cgi?id=146442

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-06-29
Reviewed by Darin Adler.

  • UserInterface/Views/ConsoleMessageView.js:

(WebInspector.ConsoleMessageView.prototype._appendLocationLink):
Restore behavior of adding a location link for network messages with urls.

17:32 Changeset [186099] by beidson@apple.com
  • 6 edits in trunk/Source

Flag sync XHRs from the network process so they can be handled appropriately.
<rdar://problem/21579162> and https://bugs.webkit.org/show_bug.cgi?id=146441

Reviewed by Darin Adler.

Source/WebCore:

  • platform/network/ResourceHandleClient.h:

(WebCore::ResourceHandleClient::loadingSynchronousXHR): Added so clients of asynchronous

loads can signal they should be treated like synchronous loads at the platform level.

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::start): Adjust SchedulingBehavior based on the client.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::start): Adjust SchedulingBehavior based on the client.

Source/WebKit2:

  • NetworkProcess/NetworkResourceLoader.h:

(WebKit::NetworkResourceLoader::loadingSynchronousXHR): Return isSynchronous().

17:27 Changeset [186098] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: iOS 8: Resources Timeline Data does not show up
https://bugs.webkit.org/show_bug.cgi?id=146433

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-06-29
Reviewed by Timothy Hatcher.

There were a couple issues with initializing the legacy base timestamp
for attempting to dynamically compute monotonically increasing timestamps
for timeline events for legacy backends.

  • Sometimes legacy timestamps were in seconds since epochs, sometimes milliseconds. The frontend did not handle both.
  • On navigations, even while resetting the base timestamp for the first new record received, the main resource still had a will send request time computed from the previous page's time system. This patch re-uses the original timestamp for this main resource as the new base and all future records are computed relative to this.
  • UserInterface/Controllers/FrameResourceManager.js:

(WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent):
(WebInspector.FrameResourceManager.prototype._addNewResourceToFrame):

  • UserInterface/Models/Resource.js:

(WebInspector.Resource):
(WebInspector.Resource.prototype.get originalRequestWillBeSentTimestamp):
For legacy timestamp calculations, save the original request will be sent
timestamp on the Resource in case it is needed.

  • UserInterface/Controllers/TimelineManager.js:

(WebInspector.TimelineManager.prototype._loadNewRecording):
When auto-starting a new recording for a navigation / reload, use the
main resource's request will be sent timestamp as the new base.

  • UserInterface/Models/TimelineRecording.js:

Address legacy timeline timestamps by handling both legacy timestamps
that may be seconds / milliseconds.

17:24 Changeset [186097] by cfleizach@apple.com
  • 2 edits in trunk/Source/WebCore

AX: PlatformSpeechSynthesizer code doesn't catch Objective-C exceptions
https://bugs.webkit.org/show_bug.cgi?id=146419

Reviewed by Simon Fraser.

Make sure ObjC exception resulting from calling into the platform cause problems in WebKit.

  • platform/ios/PlatformSpeechSynthesizerIOS.mm:

(-[WebSpeechSynthesisWrapper speakUtterance:]):
(-[WebSpeechSynthesisWrapper pause]):
(-[WebSpeechSynthesisWrapper resume]):
(-[WebSpeechSynthesisWrapper cancel]):
(-[WebSpeechSynthesisWrapper speechSynthesizer:didStartSpeechUtterance:]):
(WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
(WebCore::PlatformSpeechSynthesizer::pause):

17:15 Changeset [186096] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove an empty group from the Xcode project.

  • WebKit2.xcodeproj/project.pbxproj:
16:46 Changeset [186095] by andersca@apple.com
  • 4 edits
    2 deletes in trunk/Source/WebKit2

Get rid of ConnectionStack
https://bugs.webkit.org/show_bug.cgi?id=146437

Reviewed by Andreas Kling.

Just use a TemporaryChange and a static variable instead.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:
  • PluginProcess/WebProcessConnection.cpp:

(WebKit::WebProcessConnection::setGlobalException):
(WebKit::WebProcessConnection::didReceiveMessage):
(WebKit::WebProcessConnection::didReceiveSyncMessage):

  • Shared/ConnectionStack.cpp: Removed.

(WebKit::ConnectionStack::singleton): Deleted.

  • Shared/ConnectionStack.h: Removed.

(WebKit::ConnectionStack::current): Deleted.
(WebKit::ConnectionStack::CurrentConnectionPusher::CurrentConnectionPusher): Deleted.
(WebKit::ConnectionStack::CurrentConnectionPusher::~CurrentConnectionPusher): Deleted.

  • WebKit2.xcodeproj/project.pbxproj:
16:14 Changeset [186094] by mrajca@apple.com
  • 2 edits in trunk/Source/WebCore

Removing an element from a media session should also remove it from the sets of active participating elements
https://bugs.webkit.org/show_bug.cgi?id=146420

Reviewed by Eric Carlson.

  • Modules/mediasession/MediaSession.cpp:

(WebCore::MediaSession::removeMediaElement):

16:08 Changeset [186093] by commit-queue@webkit.org
  • 2 edits in trunk/WebKitLibraries

[Win] Activate SSE support for 32-bit builds.
https://bugs.webkit.org/show_bug.cgi?id=144923

Patch by Hyungwook Lee <hyungwook.lee@navercorp.com> on 2015-06-29
Reviewed by Brent Fulgham.

  • win/tools/vsprops/common.props:
16:01 Changeset [186092] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebKit2

Fix the build.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didFailLoadForMainFrame]):

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::didFailLoadForMainFrame):

15:59 Changeset [186091] by dino@apple.com
  • 12 edits in trunk

Temporarily disable PICTURE_SIZES
https://bugs.webkit.org/show_bug.cgi?id=146435
<rdar://problem/21087013>

Source/JavaScriptCore:

Reviewed by Tim Horton.

Temporarily disable PICTURE_SIZES because it causes problems with out
of date <picture> polyfills.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Reviewed by Tim Horton.

Temporarily disable PICTURE_SIZES because it causes problems with out
of date <picture> polyfills.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

Reviewed by Tim Horton.

Temporarily disable PICTURE_SIZES because it causes problems with out
of date <picture> polyfills.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Temporarily disable PICTURE_SIZES because it causes problems with out
of date <picture> polyfills.

Temporarily disable PICTURE_SIZES until Safari branches.

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

Reviewed by Tim Horton.

Temporarily disable PICTURE_SIZES because it causes problems with out
of date <picture> polyfills.

  • wtf/FeatureDefines.h:

LayoutTests:

Reviewed by Tim Horton.

Skip HTMLImageElement.sizes tests.

15:42 Changeset [186090] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

Fix the build.

  • editing/cocoa/HTMLConverter.mm:
  • platform/spi/cocoa/NSAttributedStringSPI.h:
15:35 Changeset [186089] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the build.

  • platform/spi/cocoa/NSAttributedStringSPI.h:
15:07 Changeset [186088] by andersca@apple.com
  • 10 edits in trunk/Source/WebKit2

Don't try to access a possibly deallocated WebFrameProxy object
https://bugs.webkit.org/show_bug.cgi?id=146428
rdar://problem/21446364

Reviewed by Tim Horton.

Make sure to call isMainFrame before calling out to the client inside
WebPageProxy::didFailLoadForFrame, matching what we do for WebPageProxy::didFinishLoadForFrame.

Also, add a ViewGestureController::didFailLoadForMainFrame function and call that instead of
calling didFinishLoadForMainFrame in the failure case.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _didFailLoadForMainFrame]):

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didFailLoadForFrame):

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::mainFrameLoadDidReachTerminalState):
(WebKit::ViewGestureController::didFinishLoadForMainFrame): Deleted.

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

(WebKit::PageClientImpl::didFailLoadForMainFrame):

  • UIProcess/mac/ViewGestureController.h:

(WebKit::ViewGestureController::didFinishLoadForMainFrame):
(WebKit::ViewGestureController::didFailLoadForMainFrame):

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::mainFrameLoadDidReachTerminalState):
(WebKit::ViewGestureController::didFinishLoadForMainFrame): Deleted.

14:56 Changeset [186087] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Disable default gesture recognizers on preview.
https://bugs.webkit.org/show_bug.cgi?id=146424
rdar://problem/21572828

We should disable default gesture recognizers on preview, to avoid activating links or
triggering touch events accidentally. We can enable them after preview finishes.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2015-06-29
Reviewed by Beth Dakin.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView willPresentPreviewViewController:forPosition:inSourceView:]):
(-[WKContentView didDismissPreviewViewController:committing:]):

14:38 Changeset [186086] by rniwa@webkit.org
  • 20 edits
    3 adds in trunk/Source

Font panel doesn't get updated when bolding text via cmd+b in Mail on OS X
https://bugs.webkit.org/show_bug.cgi?id=146379

Reviewed by Darin Adler.

Source/WebCore:

The bug was caused by WebKit not updating the font panel when the typing style changes.
There was also a bug that WebKit never updated font attributes on OS X.

Fixed the bugs by always updating the font panel after applying style instead of only
when the selection changes and setting the font attributes.

I tried really had to write a WebKit API test but I couldn't get it to work so there are
no new tests :(

  • WebCore.xcodeproj/project.pbxproj:
  • editing/Editor.cpp:

(WebCore::Editor::applyStyle):
(WebCore::Editor::shouldApplyStyle):
(WebCore::Editor::applyParagraphStyle):
(WebCore::Editor::applyStyleToSelection):
(WebCore::Editor::applyParagraphStyleToSelection):
(WebCore::Editor::selectionStartHasStyle):
(WebCore::Editor::document):
(WebCore::Editor::styleForSelectionStart): Deleted.

  • editing/Editor.h:
  • editing/cocoa/EditorCocoa.h: Added. Shares the declaration for NSUnderlineStyle in iOS.
  • editing/cocoa/EditorCocoa.mm: Added.

(WebCore::Editor::styleForSelectionStart): Moved from Editor.cpp
(WebCore::Editor::getTextDecorationAttributesRespectingTypingStyle): Extracted from iOS's
fontAttributesForSelectionStart implementation.

  • editing/cocoa/HTMLConverter.mm:
  • editing/ios/EditorIOS.mm:

(WebCore::Editor::fontAttributesForSelectionStart):

  • editing/mac/EditorMac.mm:

(WebCore::Editor::fontAttributesForSelectionStart):

  • loader/EmptyClients.h:
  • page/EditorClient.h:

Source/WebKit/mac:

Update the font panel when newly added EditorClient::didApplyStyle is called. Also set the font attributes
in _updateFontPanel so that underline and strike through states will be reflected.

  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::shouldApplyStyle):
(updateFontPanelIfNeeded): Extracted from respondToChangedContents.
(WebEditorClient::didApplyStyle): Added.
(WebEditorClient::respondToChangedContents):

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _updateFontPanel]): Sets font attributes as well as font.

Source/WebKit/win:

  • WebCoreSupport/WebEditorClient.cpp:

(WebEditorClient::didApplyStyle): Added.

  • WebCoreSupport/WebEditorClient.h:

Source/WebKit2:

Since font panel doesn't open in WebKit2 at the moment, just add an empty implementation of didApplyStyle

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::didApplyStyle):

  • WebProcess/WebCoreSupport/WebEditorClient.h:
  • WebProcess/WebPage/WebPage.h:
14:11 Changeset [186085] by jacob_nielsen@apple.com
  • 2 edits in trunk/Tools

Add timeout in run-webkit-tests for launching the simulator
https://bugs.webkit.org/show_bug.cgi?id=146371

Reviewed by Darin Adler.

Adds a default 5-minute timeout using the timeout class in webkitpy.benchmark_runner.utils
for the otherwise infinitely patient wait_until_device_is_in_state method.

  • Scripts/webkitpy/xcode/simulator.py:

(Simulator.DeviceState):
(Simulator):
(Simulator.wait_until_device_is_in_state):
(Simulator.device_state):

14:01 Changeset [186084] by mrajca@apple.com
  • 3 edits in trunk/Source/WebCore

MediaSession: use a HashSet for the collection of participating elements
https://bugs.webkit.org/show_bug.cgi?id=146421

Reviewed by Eric Carlson.

  • Modules/mediasession/MediaSession.cpp:

(WebCore::MediaSession::addMediaElement):
(WebCore::MediaSession::removeMediaElement):

  • Modules/mediasession/MediaSession.h:
13:53 Changeset [186083] by dino@apple.com
  • 14 edits in trunk/Source

Setting to enable/disable media controls sizing on page zoom
https://bugs.webkit.org/show_bug.cgi?id=146423
<rdar://problem/18379634>

Reviewed by Eric Carlson.

Add a new setting "MediaControlsScaleWithPageZoom" that can disable
the behaviour we currently implement on iOS, where the media controls
attempt to remain at a fixed size independent of page zoom.

Source/WebCore:

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setMediaControlsDependOnPageScaleFactor): Do not
set this value to true if the new setting is disabled.

  • page/Settings.cpp:
  • page/Settings.in: Add the new setting.

Source/WebKit/mac:

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

(+[WebPreferences initialize]): Initialize to false on iOS, true otherwise.
(-[WebPreferences mediaControlsScaleWithPageZoom]):
(-[WebPreferences setMediaControlsScaleWithPageZoom:]):

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

(-[WebView _preferencesChanged:]):

Source/WebKit2:

  • Shared/WebPreferencesDefinitions.h: Initialize to false on iOS, true otherwise.
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetMediaControlsScaleWithPageZoom):
(WKPreferencesGetMediaControlsScaleWithPageZoom):

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

(WebKit::WebPage::updatePreferences):

12:56 Changeset [186082] by cdumez@apple.com
  • 10 edits in trunk/Source/WebKit2

[WK2][iOS] Swipe gesture snapshot stays up for 3 seconds when swiping back after top-hit navigation
https://bugs.webkit.org/show_bug.cgi?id=146415
<rdar://problem/21595801>

Reviewed by Tim Horton.

Swipe gesture snapshot previously stayed up for 3 seconds when swiping
back after a top-hit navigation. This is because we do not restore the
scroll position in this case and the ViewGestureController was waiting
for the scroll position to be restored before taking down the snapshot.

This patch adds a fail-safe mechanism so that the WebProcess can let
the UIProcess know (via a CouldNotRestorePageState IPC) that the page
state (including scroll position) could not be restored so that it can
let the ViewGestureController it should not wait for the scroll
position to be restored.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _couldNotRestorePageState]):

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::couldNotRestorePageState):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::couldNotRestorePageState):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::restorePageState):

12:52 Changeset [186081] by adam.bergkvist@ericsson.com
  • 32 edits
    10 adds
    2 deletes in trunk

WebRTC: Update the MediaStream API
https://bugs.webkit.org/show_bug.cgi?id=146313

Reviewed by Eric Carlson.

Source/WebCore:

Update the MediaStream API (MediaStream, MediaStreamTrack and
RealtimeMediaSource) to match the Media Capture and Stream
specification [1]. Notable changes:

Updated event handling to synchronously update corresponding
state/attributes as events are dispatched.

Removed 'new' state from MediaStreamTrack. A track is either 'live' or
'ended'. As a consequence 'started' event is also removed.

MediaStreamTrack always has a source (disconnected source concept was
removed from the spec). Therefore, more state can be kept at the source
without going away.

Calculate MediaStream.active internally, from the track set, instead of
setting it externally.

Updated RealtimeMediaSource Observer interface.

Replaced MediaStream's separate audio and video track lists with a
single track set (more aligned with spec).

Updated MediaStream constructor to adopt instead of clone track
arguments (or tracks from MediaStream argument).

Removed MediaStreamTrack.getSources() and corresponding test (removed
from spec).

Test status: 3 added, 8 existing enabled (some updated) and 1 removed.

[1] http://w3c.github.io/mediacapture-main/archives/20150523/getusermedia.html

Tests: fast/mediastream/MediaStreamTrack-clone.html

fast/mediastream/MediaStreamTrack-kind.html
fast/mediastream/MediaStreamTrack-stop.html

  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::create):
(WebCore::MediaStream::MediaStream):
(WebCore::MediaStream::clone):
(WebCore::MediaStream::addTrack):
(WebCore::MediaStream::removeTrack):
(WebCore::MediaStream::getTrackById):
(WebCore::MediaStream::getAudioTracks):
(WebCore::MediaStream::getVideoTracks):
(WebCore::MediaStream::getTracks):
(WebCore::MediaStream::contextDestroyed):
(WebCore::MediaStream::trackDidEnd):
(WebCore::MediaStream::activeStatusChanged):
(WebCore::MediaStream::didAddTrackToPrivate):
(WebCore::MediaStream::didRemoveTrackFromPrivate):
(WebCore::MediaStream::internalAddTrack):
(WebCore::MediaStream::internalRemoveTrack):
(WebCore::MediaStream::scheduleActiveStateChange):
(WebCore::MediaStream::activityEventTimerFired):
(WebCore::MediaStream::trackVectorForType):
(WebCore::MediaStream::~MediaStream): Deleted.
(WebCore::MediaStream::registry): Deleted.
(WebCore::MediaStream::addObserver): Deleted.
(WebCore::MediaStream::removeObserver): Deleted.

  • Modules/mediastream/MediaStream.h:
  • Modules/mediastream/MediaStream.idl:
  • Modules/mediastream/MediaStreamTrack.cpp:

(WebCore::MediaStreamTrack::MediaStreamTrack):
(WebCore::MediaStreamTrack::~MediaStreamTrack):
(WebCore::MediaStreamTrack::kind):
(WebCore::MediaStreamTrack::id):
(WebCore::MediaStreamTrack::label):
(WebCore::MediaStreamTrack::enabled):
(WebCore::MediaStreamTrack::setEnabled):
(WebCore::MediaStreamTrack::muted):
(WebCore::MediaStreamTrack::readonly):
(WebCore::MediaStreamTrack::remote):
(WebCore::MediaStreamTrack::readyState):
(WebCore::MediaStreamTrack::ended):
(WebCore::MediaStreamTrack::clone):
(WebCore::MediaStreamTrack::stopProducingData):
(WebCore::MediaStreamTrack::states):
(WebCore::MediaStreamTrack::getCapabilities):
(WebCore::MediaStreamTrack::applyConstraints):
(WebCore::MediaStreamTrack::trackEnded):
(WebCore::MediaStreamTrack::trackMutedChanged):
(WebCore::MediaStreamTrack::stop):
(WebCore::MediaStreamTrack::getConstraints): Deleted.
(WebCore::MediaStreamTrack::addObserver): Deleted.
(WebCore::MediaStreamTrack::removeObserver): Deleted.
(WebCore::MediaStreamTrack::configureTrackRendering): Deleted.
(WebCore::MediaStreamTrack::activeDOMObjectName): Deleted.
(WebCore::MediaStreamTrack::canSuspendForPageCache): Deleted.

  • Modules/mediastream/MediaStreamTrack.h:
  • Modules/mediastream/MediaStreamTrack.idl:
  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::didRemoveRemoteStream): Deleted.

  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::didCreateStream):

  • platform/mediastream/MediaStreamPrivate.cpp:

(WebCore::MediaStreamPrivate::create):
(WebCore::MediaStreamPrivate::MediaStreamPrivate):
(WebCore::MediaStreamPrivate::tracks):
(WebCore::MediaStreamPrivate::updateActiveState):
(WebCore::MediaStreamPrivate::addTrack):
(WebCore::MediaStreamPrivate::removeTrack):

  • platform/mediastream/MediaStreamPrivate.h:

(WebCore::MediaStreamPrivate::active): Deleted.

  • platform/mediastream/MediaStreamTrackPrivate.cpp:

(WebCore::MediaStreamTrackPrivate::create):
(WebCore::MediaStreamTrackPrivate::MediaStreamTrackPrivate):
(WebCore::MediaStreamTrackPrivate::~MediaStreamTrackPrivate):
(WebCore::MediaStreamTrackPrivate::label):
(WebCore::MediaStreamTrackPrivate::setEnabled):
(WebCore::MediaStreamTrackPrivate::endTrack):
(WebCore::MediaStreamTrackPrivate::clone):
(WebCore::MediaStreamTrackPrivate::type):
(WebCore::MediaStreamTrackPrivate::applyConstraints):
(WebCore::MediaStreamTrackPrivate::sourceStopped):
(WebCore::MediaStreamTrackPrivate::sourceMutedChanged):
(WebCore::MediaStreamTrackPrivate::preventSourceFromStopping):
(WebCore::MediaStreamTrackPrivate::muted): Deleted.
(WebCore::MediaStreamTrackPrivate::readonly): Deleted.
(WebCore::MediaStreamTrackPrivate::remote): Deleted.
(WebCore::MediaStreamTrackPrivate::constraints): Deleted.
(WebCore::MediaStreamTrackPrivate::states): Deleted.
(WebCore::MediaStreamTrackPrivate::capabilities): Deleted.

  • platform/mediastream/MediaStreamTrackPrivate.h:

(WebCore::MediaStreamTrackPrivate::id):
(WebCore::MediaStreamTrackPrivate::ended):
(WebCore::MediaStreamTrackPrivate::enabled):
(WebCore::MediaStreamTrackPrivate::setClient):
(WebCore::MediaStreamTrackPrivate::source): Deleted.
(WebCore::MediaStreamTrackPrivate::client): Deleted.

  • platform/mediastream/RealtimeMediaSource.cpp:

(WebCore::RealtimeMediaSource::RealtimeMediaSource):
(WebCore::RealtimeMediaSource::reset):
(WebCore::RealtimeMediaSource::setMuted):
(WebCore::RealtimeMediaSource::readonly):
(WebCore::RealtimeMediaSource::stop):
(WebCore::RealtimeMediaSource::requestStop):
(WebCore::RealtimeMediaSource::addObserver): Deleted.
(WebCore::RealtimeMediaSource::removeObserver): Deleted.

  • platform/mediastream/RealtimeMediaSource.h:

(WebCore::RealtimeMediaSource::stopped):
(WebCore::RealtimeMediaSource::id): Deleted.
(WebCore::RealtimeMediaSource::muted): Deleted.
(WebCore::RealtimeMediaSource::setReadonly): Deleted.

  • platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:

(WebCore::RealtimeMediaSourceCenterOwr::createMediaStream): Deleted.

  • platform/mock/MockRealtimeMediaSourceCenter.cpp:

(WebCore::MockRealtimeMediaSourceCenter::createMediaStream): Deleted.

LayoutTests:

Test status: 3 added, 8 existing enabled (some updated) and 1 removed.

  • TestExpectations:
  • fast/mediastream/MediaStream-add-ended-tracks-expected.txt:
  • fast/mediastream/MediaStream-add-ended-tracks.html:
  • fast/mediastream/MediaStream-add-remove-tracks-expected.txt:
  • fast/mediastream/MediaStream-add-remove-tracks.html:
  • fast/mediastream/MediaStream-add-tracks-to-inactive-stream.html:
  • fast/mediastream/MediaStream-clone-expected.txt: Added.
  • fast/mediastream/MediaStream-clone.html:
  • fast/mediastream/MediaStream-construct-with-ended-tracks-expected.txt: Added.
  • fast/mediastream/MediaStream-construct-with-ended-tracks.html:
  • fast/mediastream/MediaStream-getTracks-expected.txt:
  • fast/mediastream/MediaStream-getTracks.html:
  • fast/mediastream/MediaStreamConstructor.html:
  • fast/mediastream/MediaStreamTrack-clone-expected.txt: Added.
  • fast/mediastream/MediaStreamTrack-clone.html: Added.
  • fast/mediastream/MediaStreamTrack-getSources-expected.txt: Removed.
  • fast/mediastream/MediaStreamTrack-getSources.html: Removed. Tested method removed from spec.
  • fast/mediastream/MediaStreamTrack-kind-expected.txt: Added.
  • fast/mediastream/MediaStreamTrack-kind.html: Added.
  • fast/mediastream/MediaStreamTrack-stop-expected.txt: Added.
  • fast/mediastream/MediaStreamTrack-stop.html: Added.
  • fast/mediastream/MediaStreamTrackEvent-constructor-expected.txt:
  • fast/mediastream/MediaStreamTrackEvent-constructor.html:
  • fast/mediastream/resources/getUserMedia-helper.js: Added.

(.reject):
(getUserMedia):
(defaultRejectOrCatch):

  • platform/gtk/TestExpectations:
12:43 Changeset [186080] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

REGRESSION: Web Inspector: Jump to Definition is broken
https://bugs.webkit.org/show_bug.cgi?id=146376

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-06-29
Reviewed by Timothy Hatcher.

  • UserInterface/Views/ObjectTreeBaseTreeElement.js:

(WebInspector.ObjectTreeBaseTreeElement.prototype._appendMenusItemsForObject):
Allow changing tabs when jumping to function definition.

12:40 Changeset [186079] by benjamin@webkit.org
  • 14 edits
    4 adds in trunk

Make the NFA transitions range-based
https://bugs.webkit.org/show_bug.cgi?id=146338

Reviewed by Alex Christensen.

Source/WebCore:

Change the NFA to use range based transition for any kind of transition.
The fallback transition is also absorbed as ranges.

Previously, the NFA would only have single transitions and a fallback
transition for all cases not covered by single transitions.

The problem with that design was that character ranges (e.g. [a-z]) were
extended as individual transitions. Something like [a] would cover
most of the alphabet with transitions.
When converting the NFA to DFA, the time is proportional to the number of states
multiplied by the number of transitions. With many individual transitions,
the run time was an order of magnitude higher than what we want.

This patch changes the NFA to only handle ranges of characters. A single transition
becomes a range with the character as first and last character in the range
('a' becomes 'a' to 'a').
Ranges of characters are handled direclty (e.g. [a-z] becomes a single 'a' to 'z' transition).

In the context of the state machines, ranges have identifies (the target of the transitions).
When two ranges collide, they have to be split such that each part retain its target
except the intersection that gets the union of the targets.

Handling the union of ranges efficiently is critical because we have to do
it for every NFA node in any subset when building the DFA. The helper
class that does that is MutableRange.

The union of ranges is done efficiently because of preconditions on our list of ranges:
-The ranges must be sorted.
-No range in a list can intersect any other range in the same list.

To merge two ranges, we can go over them in order and split them part by part.
It is easy to find what goes where because they are both sorted and we can
compare the characters of each to know how to move forward.
The time to merge 2 range list is proportional to O(n+m) where 'n' and 'm' are
the number of ranges in each list.

Since taking the union of two lists usually create new ranges, we have to allocate
those somewhere efficiently. To do that, MutableRange support an inline capacity,
which is used for the NFAToDFA Convertion.

---

With ranges, the NFA-to-DFA conversion changes very little:
-Each NFA nodes contains a list of ranges and each range has a list of targets.
-The subset construction select any number of NFA nodes corresponding to

a single deterministic state.

-For the subset, we can use MutableRange to merge the ranges of every

NFA node in the set. The resulting list has rangeis with targets corresponding
to the union of all the transitions.

-We go over all the ranges the same way we used to go over the transitions.

Since the DFA does not support ranges, the ranges are spread as individual
transitions + fallback transition.

---

With the efficient merging solved, we still need the actual NFA to use ranges
instead of individual transitions.

I could have used MutableRange for that but it is not the most compact
way to represent ranges that do not need merging.

Instead, the NFA uses a custom structure: ImmutableNFA. It is basically
the same thing, but in that one you cannot change a list of range
after creating it.

Consequently, the sorted ranges in ImmutableNFA are also subsequent
in memory, which is really nice to go over them efficiently
when merging ranges in the NFA-to-DFA conversion. :)

When building the NFA, we don't know all the transitions when creating
each node, BUT we know that we have very few node "unfinished" at any
time. Since we build by going depth-first in the prefix-tree, we only
have the max-depth of live nodes in the worst case.

To help building the NFA out of the prefix tree, we have
ImmutableNFANodeBuilder. It keeps all the informations about a NFA node,
but in a non-compact, mutable form. When a ImmutableNFANodeBuilder
is destroyed, it serialize the information into the immutable NFA.

  • WebCore.xcodeproj/project.pbxproj:
  • contentextensions/CombinedURLFilters.cpp:

(WebCore::ContentExtensions::generateNFAForSubtree):
(WebCore::ContentExtensions::CombinedURLFilters::processNFAs):

  • contentextensions/ContentExtensionCompiler.cpp:

(WebCore::ContentExtensions::compileRuleList):

  • contentextensions/DFA.cpp:

(WebCore::ContentExtensions::DFA::empty):

  • contentextensions/DFA.h:
  • contentextensions/ImmutableNFA.h: Added.

(WebCore::ContentExtensions::ImmutableNFA::ConstTargetIterator::operator*):
(WebCore::ContentExtensions::ImmutableNFA::ConstTargetIterator::operator->):
(WebCore::ContentExtensions::ImmutableNFA::ConstTargetIterator::operator==):
(WebCore::ContentExtensions::ImmutableNFA::ConstTargetIterator::operator!=):
(WebCore::ContentExtensions::ImmutableNFA::ConstTargetIterator::operator++):
(WebCore::ContentExtensions::ImmutableNFA::IterableConstTargets::begin):
(WebCore::ContentExtensions::ImmutableNFA::IterableConstTargets::end):
(WebCore::ContentExtensions::ImmutableNFA::ConstRangeIterator::operator*):
(WebCore::ContentExtensions::ImmutableNFA::ConstRangeIterator::operator->):
(WebCore::ContentExtensions::ImmutableNFA::ConstRangeIterator::operator==):
(WebCore::ContentExtensions::ImmutableNFA::ConstRangeIterator::operator!=):
(WebCore::ContentExtensions::ImmutableNFA::ConstRangeIterator::operator++):
(WebCore::ContentExtensions::ImmutableNFA::ConstRangeIterator::data):
(WebCore::ContentExtensions::ImmutableNFA::IterableConstRange::begin):
(WebCore::ContentExtensions::ImmutableNFA::IterableConstRange::end):
(WebCore::ContentExtensions::ImmutableNFA::IterableConstRange::debugPrint):
(WebCore::ContentExtensions::ImmutableNFA::transitionsForNode):
(WebCore::ContentExtensions::ImmutableNFA::root):
(WebCore::ContentExtensions::ImmutableNFA::finalize):
(WebCore::ContentExtensions::ImmutableNFA::memoryUsed):

  • contentextensions/ImmutableNFANodeBuilder.h: Added.

(WebCore::ContentExtensions::ImmutableNFANodeBuilder::ImmutableNFANodeBuilder):
(WebCore::ContentExtensions::ImmutableNFANodeBuilder::~ImmutableNFANodeBuilder):
(WebCore::ContentExtensions::ImmutableNFANodeBuilder::addTransition):
(WebCore::ContentExtensions::ImmutableNFANodeBuilder::addEpsilonTransition):
(WebCore::ContentExtensions::ImmutableNFANodeBuilder::setActions):
(WebCore::ContentExtensions::ImmutableNFANodeBuilder::operator=):
(WebCore::ContentExtensions::ImmutableNFANodeBuilder::finalize):
(WebCore::ContentExtensions::ImmutableNFANodeBuilder::sinkActions):
(WebCore::ContentExtensions::ImmutableNFANodeBuilder::sinkTransitions):
(WebCore::ContentExtensions::ImmutableNFANodeBuilder::sinkEpsilonTransitions):

  • contentextensions/MutableRange.h: Added.

(WebCore::ContentExtensions::MutableRange::MutableRange):
(WebCore::ContentExtensions::MutableRange::operator=):
(WebCore::ContentExtensions::MutableRange::size):

  • contentextensions/MutableRangeList.h: Added.

(WebCore::ContentExtensions::MutableRangeList::ConstIterator::operator*):
(WebCore::ContentExtensions::MutableRangeList::ConstIterator::operator->):
(WebCore::ContentExtensions::MutableRangeList::ConstIterator::operator==):
(WebCore::ContentExtensions::MutableRangeList::ConstIterator::operator!=):
(WebCore::ContentExtensions::MutableRangeList::ConstIterator::operator++):
(WebCore::ContentExtensions::MutableRangeList::begin):
(WebCore::ContentExtensions::MutableRangeList::end):
(WebCore::ContentExtensions::MutableRangeList::appendRange):
(WebCore::ContentExtensions::MutableRangeList::extend):
(WebCore::ContentExtensions::MutableRangeList::isEmpty):
(WebCore::ContentExtensions::MutableRangeList::clear):
(WebCore::ContentExtensions::MutableRangeList::debugPrint):
(WebCore::ContentExtensions::MutableRangeList::insertBetween):
(WebCore::ContentExtensions::MutableRangeList::initializeFrom):

  • contentextensions/NFA.cpp:

(WebCore::ContentExtensions::NFA::debugPrintDot):
(WebCore::ContentExtensions::NFA::NFA): Deleted.
(WebCore::ContentExtensions::NFA::createNode): Deleted.
(WebCore::ContentExtensions::NFA::memoryUsed): Deleted.
(WebCore::ContentExtensions::NFA::addTransition): Deleted.
(WebCore::ContentExtensions::NFA::addEpsilonTransition): Deleted.
(WebCore::ContentExtensions::NFA::addTransitionsOnAnyCharacter): Deleted.
(WebCore::ContentExtensions::NFA::setActions): Deleted.
(WebCore::ContentExtensions::NFA::graphSize): Deleted.
(WebCore::ContentExtensions::NFA::restoreToGraphSize): Deleted.
(WebCore::ContentExtensions::printRange): Deleted.
(WebCore::ContentExtensions::printTransitions): Deleted.

  • contentextensions/NFA.h:

(WebCore::ContentExtensions::NFA::root): Deleted.
(WebCore::ContentExtensions::NFA::addRuleId): Deleted.

  • contentextensions/NFANode.h:
  • contentextensions/NFAToDFA.cpp:

(WebCore::ContentExtensions::epsilonClosureExcludingSelf):
(WebCore::ContentExtensions::resolveEpsilonClosures):
(WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetSource::NodeIdSetToUniqueNodeIdSetSource):
(WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetTranslator::translate):
(WebCore::ContentExtensions::DataConverterWithEpsilonClosure::convert):
(WebCore::ContentExtensions::DataConverterWithEpsilonClosure::extend):
(WebCore::ContentExtensions::createCombinedTransition):
(WebCore::ContentExtensions::canUseFallbackTransition):
(WebCore::ContentExtensions::findBestFallbackTarget):
(WebCore::ContentExtensions::getOrCreateDFANode):
(WebCore::ContentExtensions::NFAToDFA::convert):
(WebCore::ContentExtensions::populateTransitions): Deleted.

  • contentextensions/NFAToDFA.h:
  • contentextensions/Term.h:

(WebCore::ContentExtensions::Term::Term):
(WebCore::ContentExtensions::Term::generateGraph):
(WebCore::ContentExtensions::Term::generateSubgraphForAtom):
(WebCore::ContentExtensions::Term::Term::generateGraph): Deleted.

Tools:

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

Test some new interesting cases.

12:12 Changeset [186078] by mrajca@apple.com
  • 2 edits
    2 adds in trunk/LayoutTests

Media Session: test session attribute of newly-created media elements
https://bugs.webkit.org/show_bug.cgi?id=146412

Reviewed by Eric Carlson.

  • media/session/default-session-expected.txt: Added.
  • media/session/default-session.html: Added.
  • platform/mac/TestExpectations: Media Session support is disabled by default.
12:08 Changeset [186077] by cdumez@apple.com
  • 3 edits in trunk/Source/WebKit2

[WK2][iOS] Add WKWebView private API to save a back/forward snapshot
https://bugs.webkit.org/show_bug.cgi?id=146398
<rdar://problem/21584231>

Reviewed by Dan Bernstein.

Add WKWebView private API to save a back/forward snapshot so that the
client can make sure a back/forward snapshot is available even when
swapping WKWebView upon navigation.

This matches the WKView.saveBackForwardSnapshotForItem API we have on
Mac.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView saveBackForwardSnapshotForItem:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
12:04 Changeset [186076] by youenn.fablet@crf.canon.fr
  • 10 edits in trunk/Source

Binding generator should allow using JSC::Value for "any" parameter in lieu of ScriptValue
https://bugs.webkit.org/show_bug.cgi?id=146403

Reviewed by Darin Adler.

Source/JavaScriptCore:

  • bindings/ScriptValue.h: Added implicit conversion to JSC::JSValue.

Source/WebCore:

Covered by existing tests.

Enabling new APIs to use JSC::JSValue by using implicit case from ScriptValue to JSC::JSValue.
Updated binding generator to include ScruptValue header in the needed JSXX.cpp files.
Applied approach to ReadableStreamController.error.

  • Modules/streams/ReadableStreamController.h:

(WebCore::ReadableStreamController::error):

  • Modules/streams/ReadableStreamController.idl:
  • bindings/js/JSReadableStreamControllerCustom.cpp:

(WebCore::constructJSReadableStreamController): Deleted.

  • bindings/js/ReadableJSStream.cpp:

(WebCore::ReadableJSStream::error):

  • bindings/js/ReadableJSStream.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(JSValueToNative):

  • bindings/scripts/test/JS/JSTestObj.cpp:
11:56 Changeset [186075] by andersca@apple.com
  • 10 edits
    1 delete in trunk/Source

Use DISPATCH_SOURCE_TYPE_MEMORYPRESSURE instead of DISPATCH_SOURCE_TYPE_MEMORYSTATUS
https://bugs.webkit.org/show_bug.cgi?id=146413
Source/WebCore:

rdar://problem/21295036

Reviewed by Andreas Kling.

Replace SPI with API.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::install):

  • platform/mac/WebCoreSystemInterface.h:
  • platform/spi/cocoa/DispatchSPI.h: Removed.

Source/WebKit/mac:

Reviewed by Andreas Kling.

Replace SPI with API.

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Deleted.

  • WebView/WebView.mm:

(+[WebView registerForMemoryNotifications]):

Source/WebKit2:

Reviewed by Andreas Kling.

Replace SPI with API.

  • UIProcess/ios/WebMemoryPressureHandlerIOS.mm:

(WebKit::WebMemoryPressureHandler::WebMemoryPressureHandler):

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Deleted.

11:46 Changeset [186074] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Pausing a media element should discard buffered data immediately if under memory pressure.
<https://webkit.org/b/146410>
<rdar://problem/20366883>

Reviewed by Darin Adler.

When moving a media element into paused state, call purgeBufferedDataIfPossible()
right away if the system is under memory pressure.

This ensures that mediaserverd drops its forward-looking frame queue right
away instead of waiting for a new pressure notification.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::pauseInternal):

10:43 Changeset [186073] by enrica@apple.com
  • 5 edits in trunk/Source/WebKit2

[iOS] Hardware Keyboard: All combinations of arrow keys and space key do not scroll the view.
https://bugs.webkit.org/show_bug.cgi?id=146290
rdar://problem/18466015

We don't normally get called by the keyboard to handle the event if we are not
interacting with editable content. In order to receive all the hardware keyboard events
we need to implement _handleKeyUIEvent which is called for every key event
when the view is first responder. This gives us the opportunity to send each keystroke
to the WebProcess to let any Javascript handler intercept it and then perform the default
action for the key combination.
Unfortunately this mechanism does not provide key repeat, which is implemented in the
keyboard layer. In order to have it at least for the arrow keys, we use the keyCommands
mechanism only for those.

Reviewed by Darin Adler.

  • Platform/spi/ios/UIKitSPI.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _scrollByOffset:]):

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView canPerformAction:withSender:]):
(-[WKContentView keyCommands]):
(-[WKContentView _arrowKey:]):
(-[WKContentView _handleKeyUIEvent:]):
(-[WKContentView handleKeyEvent:]):
(-[WKContentView handleKeyWebEvent:]):
(-[WKContentView _interpretKeyEvent:isCharEvent:]):

10:33 Changeset [186072] by mrajca@apple.com
  • 3 edits in trunk/Source/WebCore

Media Session: Media elements should report a null session for Default sessions
https://bugs.webkit.org/show_bug.cgi?id=146373

Reviewed by Eric Carlson.

If a media element's current session is a 'Default' media session, its session property should report null in
the JavaScript API.

  • Modules/mediasession/MediaSession.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::session):

10:18 Changeset [186071] by commit-queue@webkit.org
  • 4 edits in trunk

[Mac] Disable QTKit by default.
https://bugs.webkit.org/show_bug.cgi?id=146352

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-06-29
Reviewed by Darin Adler.
Source/WebCore:

Fix the the requirement for enabling QTKit and AVFoundation.

  • page/Settings.cpp:

(WebCore::invalidateAfterGenericFamilyChange): Remove the requirement
for enabling QTKit and AVFoundation. The initial state of QTKit should
be disabled on all OS X ports. And the initial state of AVFoundation
should be enabled on all OS X ports.

LayoutTests:

  • platform/mac/TestExpectations: Skip media tests which require QTKit on

all OS X ports.

09:50 Changeset [186070] by mrajca@apple.com
  • 2 edits
    3 adds in trunk/LayoutTests

Test existence of controls on MediaSession
https://bugs.webkit.org/show_bug.cgi?id=146356

Reviewed by Eric Carlson.

  • media/session/controls-existence-expected.txt: Added.
  • media/session/controls-existence.html: Added.
  • platform/mac/TestExpectations: Media Session support is disabled by default.
08:22 Changeset [186069] by commit-queue@webkit.org
  • 2 edits
    2 adds in trunk/LayoutTests

Unreviewed EFL gardening on 29th Jun.
https://bugs.webkit.org/show_bug.cgi?id=146409

Remove the duplicated results and rebaseline the missing tests.

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2015-06-29

  • platform/efl/TestExpectations:
  • platform/efl/editing/execCommand/paste-1-expected.txt: Added.
  • platform/efl/printing/single-line-must-not-be-split-into-two-pages-expected.txt: Added.
03:09 Changeset [186068] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL] Purge unused favicons from IconDatabase after 30 days.
https://bugs.webkit.org/show_bug.cgi?id=146334

Patch by Hyungwook Lee <hyungwook.lee@navercorp.com> on 2015-06-29
Reviewed by Gyuyoung Kim.

We need purge unused favicons from IconDatabase for database size control.

  • loader/icon/IconDatabase.cpp:

(WebCore::IconDatabase::performURLImport):

06/28/15:

23:51 Changeset [186067] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

Fixed the iOS 8.x build after r186066.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.h:
  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::create):

23:43 Changeset [186066] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Fixed the iOS build after r186059.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.h:
23:26 Changeset [186065] by gyuyoung.kim@webkit.org
  • 2 edits
    27 adds in trunk/LayoutTests

[EFL] Unreviewed add new baseline for missing tests

Some tests need to have own test expectations for EFL port.

  • platform/efl/TestExpectations:
  • platform/efl/accessibility/auto-filled-value-expected.txt: Added.
  • platform/efl/accessibility/img-fallsback-to-title-expected.txt: Added.
  • platform/efl/accessibility/internal-link-anchors2-expected.txt: Added.
  • platform/efl/accessibility/math-multiscript-attributes-expected.txt: Added.
  • platform/efl/accessibility/meter-element-expected.txt: Added.
  • platform/efl/compositing/iframes/invisible-nested-iframe-show-expected.txt: Added.
  • platform/efl/compositing/iframes/resizer-expected.txt: Added.
  • platform/efl/compositing/layer-creation/fixed-position-scroll-expected.txt: Added.
  • platform/efl/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt: Added.
  • platform/efl/compositing/tiling/huge-layer-add-remove-child-expected.txt: Added.
  • platform/efl/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: Added.
  • platform/efl/css2.1/t1604-c542-letter-sp-00-b-a-expected.txt: Added.
  • platform/efl/css3/flexbox/flexbox-baseline-margins-expected.txt: Added.
  • platform/efl/editing/selection/contains-boundaries-expected.txt: Added.
  • platform/efl/editing/selection/mixed-editability-10-expected.txt: Added.
  • platform/efl/editing/selection/replaced-boundaries-3-expected.txt: Added.
  • platform/efl/editing/style/5065910-expected.txt: Added.
  • platform/efl/editing/style/font-family-with-space-expected.txt: Added.
  • platform/efl/fast/css/named-images-expected.txt: Added.
  • platform/efl/ietestcenter/css3/bordersbackgrounds/background-repeat-space-padding-box-expected.txt: Added.
  • platform/efl/ietestcenter/css3/text/textshadow-005-expected.txt: Added.
  • platform/efl/printing/media-queries-print-expected.txt: Added.
  • platform/efl/printing/setPrinting-expected.txt: Added.
  • platform/efl/printing/simultaneous-position-float-change-expected.txt: Added.
  • platform/efl/printing/width-overflow-expected.txt: Added.
  • platform/efl/transforms/3d/point-mapping/3d-point-mapping-origins-expected.txt: Added.
22:29 Changeset [186064] by mrajca@apple.com
  • 6 edits in trunk/Source/WebCore

Add support for 'Default' media session types
https://bugs.webkit.org/show_bug.cgi?id=146355

Reviewed by Darin Adler.

  • Modules/mediasession/MediaSession.cpp:

(WebCore::MediaSession::MediaSession): Added a new constructor for creating 'Default' media sessions.
(WebCore::MediaSession::kind): 'Default' media sessions are represented by an empty string.

  • Modules/mediasession/MediaSession.h:
  • dom/Document.cpp:

(WebCore::Document::defaultMediaSession): Lazily construct the default media session.

  • dom/Document.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement): New media elements are assigned to the 'Default' media session.

22:05 Changeset [186063] by cfleizach@apple.com
  • 2 edits in trunk/Source/WebKit2

AX: iOS: Crash at accessibilityObjectForMainFramePlugin()
https://bugs.webkit.org/show_bug.cgi?id=146399

Reviewed by Darin Adler.

Could not reproduce issue, but the invalid address seems to indicate this is a nullptr access is happening when we try to get the plugin of the m_page variable when
it has not been initialized.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::accessibilityObjectForMainFramePlugin):

21:47 Changeset [186062] by jinwoo7.song@samsung.com
  • 1 edit
    16 adds in trunk/LayoutTests

[EFL] Unreviewed, gardening.

Add missing expectation results in fast/ directory.

  • platform/efl/fast/css/resize-corner-tracking-transformed-iframe-expected.txt: Added.
  • platform/efl/fast/forms/select-element-focus-ring-expected.txt: Added.
  • platform/efl/fast/regions/auto-size/autoheight-regions-mark-expected.txt: Added.
  • platform/efl/fast/regions/flows-dependency-dynamic-remove-expected.txt: Added.
  • platform/efl/fast/regions/flows-dependency-same-flow-expected.txt: Added.
  • platform/efl/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt: Added.
  • platform/efl/fast/regions/region-dynamic-after-before-expected.txt: Added.
  • platform/efl/fast/regions/region-generated-content-before-after-expected.txt: Added.
  • platform/efl/fast/regions/repaint/line-flow-with-floats-in-regions-expected.txt: Added.
  • platform/efl/fast/regions/repaint/overflow-flipped-writing-mode-block-in-regions-expected.txt: Added.
  • platform/efl/fast/regions/repaint/region-painting-invalidation-expected.txt: Added.
  • platform/efl/fast/regions/repaint/region-painting-via-layout-expected.txt: Added.
  • platform/efl/fast/regions/text-region-split-small-pagination-expected.txt: Added.
  • platform/efl/fast/repaint/block-selection-gap-in-table-cell-expected.txt: Added.
  • platform/efl/fast/ruby/select-ruby-expected.txt: Added.
20:18 Changeset [186061] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

ASAN crashes in js/regress-141098.html
<http://webkit.org/b/145007>

crashes with ASan enabled:

  • js/regress-141098.html
20:18 Changeset [186060] by darin@apple.com
  • 2 edits in trunk/Source/WebKit/mac

[Mac] Remove redundant call to colorUsingColorSpaceName:
https://bugs.webkit.org/show_bug.cgi?id=146397

Reviewed by Alexey Proskuryakov.

  • WebView/WebHTMLView.mm:

(extractUnderlines): Remove call to the colorUsingColorSpaceName: method,
since colorFromNSColor already calls it. No need to do it twice.

18:19 Changeset [186059] by gyuyoung.kim@webkit.org
  • 62 edits in trunk/Source/WebKit2

Use Ref/RefPtr instead of PassRefPtr in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=146190

Reviewed by Darin Adler.

As a step to remove PassRefPtr, this patch reduces use of PassRefPtr in WebKit2.

  • Shared/API/c/WKContextMenuItem.cpp:

(WKContextMenuItemCreateAsAction):
(WKContextMenuItemCreateAsCheckableAction):

  • Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:

(WebKit::WebCoordinatedSurface::create):

  • Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
  • Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.cpp:

(WebKit::ThreadSafeCoordinatedSurface::create):

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadSafeCoordinatedSurface.h:
  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::ThreadedCompositor::create):

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
  • Shared/Plugins/NPRemoteObjectMap.cpp:

(WebKit::NPRemoteObjectMap::create):

  • Shared/Plugins/NPRemoteObjectMap.h:
  • Shared/WebBatteryStatus.h:

(WebKit::WebBatteryStatus::create):

  • Shared/WebCertificateInfo.h:

(WebKit::WebCertificateInfo::create):

  • Shared/WebContextMenuItem.h:

(WebKit::WebContextMenuItem::create):

  • Shared/WebRenderObject.cpp:

(WebKit::WebRenderObject::create):

  • Shared/WebRenderObject.h:

(WebKit::WebRenderObject::create):

  • UIProcess/API/APINavigationData.h:

(API::NavigationData::create):

  • UIProcess/API/APISession.cpp:

(API::Session::createEphemeral):

  • UIProcess/API/APISession.h:
  • UIProcess/API/APISessionState.cpp:

(API::SessionState::create):

  • UIProcess/API/APISessionState.h:
  • UIProcess/API/APIUserScript.h:
  • UIProcess/API/APIWebsiteDataStore.cpp:

(API::WebsiteDataStore::createNonPersistentDataStore):
(API::WebsiteDataStore::create):

  • UIProcess/API/APIWebsiteDataStore.h:
  • UIProcess/API/C/WKCredential.cpp:

(WKCredentialCreate):
(WKCredentialCreateWithCertificateInfo):

  • UIProcess/API/C/WKPage.cpp:

(WKPageCopySessionState):
(WKPageSetPageContextMenuClient):

  • UIProcess/API/C/WKSessionStateRef.cpp:

(WKSessionStateCreateFromData):

  • UIProcess/API/C/WKUserScriptRef.cpp:

(WKUserScriptCreateWithSource):

  • UIProcess/API/Cocoa/WKNSURLAuthenticationChallenge.mm:

(-[WKNSURLAuthenticationChallengeSender useCredential:forAuthenticationChallenge:]):

  • UIProcess/API/Cocoa/WKProcessGroup.mm:

(-[WKProcessGroup _setAllowsSpecificHTTPSCertificate:forHost:]):

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _setAllowsSpecificHTTPSCertificate:forHost:]):

  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(+[WKWebsiteDataStore nonPersistentDataStore]):

  • UIProcess/API/efl/ewk_auth_request_private.h:

(EwkAuthRequest::create):

  • UIProcess/API/efl/ewk_back_forward_list_item_private.h:

(EwkBackForwardListItem::create):

  • UIProcess/API/efl/ewk_context.cpp:

(EwkContext::create):

  • UIProcess/API/efl/ewk_context_menu_private.h:

(EwkContextMenu::create):

  • UIProcess/API/efl/ewk_download_job_private.h:

(EwkDownloadJob::create):

  • UIProcess/API/efl/ewk_file_chooser_request_private.h:

(EwkFileChooserRequest::create):

  • UIProcess/API/efl/ewk_form_submission_request_private.h:

(EwkFormSubmissionRequest::create):

  • UIProcess/API/efl/ewk_navigation_data_private.h:

(EwkNavigationData::create):

  • UIProcess/API/efl/ewk_security_origin_private.h:

(EwkSecurityOrigin::create):

  • UIProcess/Authentication/AuthenticationChallengeProxy.h:

(WebKit::AuthenticationChallengeProxy::create):

  • UIProcess/Authentication/AuthenticationDecisionListener.h:

(WebKit::AuthenticationDecisionListener::create):

  • UIProcess/Authentication/WebCredential.h:

(WebKit::WebCredential::create):

  • UIProcess/Authentication/WebProtectionSpace.h:

(WebKit::WebProtectionSpace::create):

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::HistoryClient::didNavigateWithNavigationData):

  • UIProcess/Databases/DatabaseProcessProxy.cpp:

(WebKit::DatabaseProcessProxy::create):

  • UIProcess/Databases/DatabaseProcessProxy.h:
  • UIProcess/Launcher/ProcessLauncher.h:

(WebKit::ProcessLauncher::create):

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:
  • UIProcess/Notifications/WebNotificationManagerProxy.cpp:

(WebKit::WebNotificationManagerProxy::create):

  • UIProcess/Notifications/WebNotificationManagerProxy.h:
  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::create):

  • UIProcess/Plugins/PluginProcessProxy.h:
  • UIProcess/Scrolling/RemoteScrollingTree.cpp:

(WebKit::RemoteScrollingTree::create):

  • UIProcess/Scrolling/RemoteScrollingTree.h:
  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:

(WebKit::ScrollingTreeOverflowScrollingNodeIOS::create):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::WebProcessPool):

  • UIProcess/efl/WebPopupMenuListenerEfl.h:

(WebKit::WebPopupMenuListenerEfl::create):

  • UIProcess/efl/WebViewEfl.cpp:

(WebKit::WebView::create):

  • UIProcess/ios/WebVideoFullscreenManagerProxy.h:
  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::create):

17:33 Changeset [186058] by mitz@apple.com
  • 3 edits
    2 deletes in trunk/Source/WebKit2

[Cocoa] Remove _WKSecurityOrigin.{h,mm}
https://bugs.webkit.org/show_bug.cgi?id=146402

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKSecurityOrigin.mm: Declare and define _WKSecurityOrigin here.

(-[WKSecurityOrigin methodSignatureForSelector:]): Moved into a WKBinaryCompatibility
category.
(-[WKSecurityOrigin forwardInvocation:]): Ditto.

  • UIProcess/API/Cocoa/_WKSecurityOrigin.h: Removed.
  • UIProcess/API/Cocoa/_WKSecurityOrigin.mm: Removed.
  • WebKit2.xcodeproj/project.pbxproj: Removed references to _WKSecurityOrigin.{h,mm}.
16:30 Changeset [186057] by mitz@apple.com
  • 2 edits in trunk/Tools

[Xcode] Use the same environment for command-line and IDE builds
https://bugs.webkit.org/show_bug.cgi?id=146401

Reviewed by Anders Carlsson.

  • Scripts/webkitdirs.pm:

(XcodeOptions): Set the UseSanitizedBuildSystemEnvironment user default to YES, which makes
xcodebuild use the same environment Xcode uses.

16:07 Changeset [186056] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

Fix warning about duplicate test expectation: js/regress-141098.html

Fixes the following warning when running layout tests:

LayoutTests/TestExpectations:523 More specific entry for js/regress-141098.html on line LayoutTests/TestExpectations:523 overrides line LayoutTests/TestExpectations:519. js/regress-141098.html

15:51 Changeset [186055] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

Mark http/tests/contentextensions/character-set-basic-support.html as flaky on mac-wk2

  • platform/mac-wk2/TestExpectations: Mark ask flaky:
  • http/tests/contentextensions/character-set-basic-support.html
15:16 Changeset [186054] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

[iOS] Drop buffered data in paused media elements on memory pressure.
<https://webkit.org/b/146369>
<rdar://problem/20366883>

Reviewed by Eric Carlson.

To avoid getting crushed under mediaserverd memory growth when viewing
a page with multiple media elements, add a step to the memory pressure
handler that drops buffered data from all media elements that are
not currently playing.

On a test page with a bunch of embedded YouTube videos, this pass frees
up ~4MB per paused video when the system memory pressure hits.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::allMediaElements):
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::purgeBufferedDataIfPossible):

  • html/HTMLMediaElement.h:
  • platform/MemoryPressureHandler.cpp:

(WebCore::MemoryPressureHandler::releaseCriticalMemory):

13:36 Changeset [186053] by lforschler@apple.com
  • 6 edits in tags/Safari-601.1.37.1

Merge r186046. rdar://problem/21581792

13:33 Changeset [186052] by lforschler@apple.com
  • 5 edits in tags/Safari-601.1.37.1/Source

Versioning.

13:22 Changeset [186051] by lforschler@apple.com
  • 1 copy in tags/Safari-601.1.37.1

New Tag.

12:09 Changeset [186050] by commit-queue@webkit.org
  • 2 edits in trunk

CairoGL should be checked unconditionally
https://bugs.webkit.org/show_bug.cgi?id=146390

Patch by Philip Chimento <philip.chimento@gmail.com> on 2015-06-28
Reviewed by Darin Adler.

  • Source/cmake/OptionsGTK.cmake: Move check for CairoGL so that

it is run unconditionally; this is necessary because its result
is used later on, outside of any conditions.

11:53 Changeset [186049] by cdumez@apple.com
  • 5 edits
    3 adds in trunk

Crash: com.apple.WebKit.WebContent at com.apple.WebCore: WebCore::CachedFrameBase::restore + 333
https://bugs.webkit.org/show_bug.cgi?id=146388
<rdar://problem/21567343>

Reviewed by Darin Adler.

Source/WebCore:

Pages that are currently loading are not supposed to go into the
PageCache. However, PageCache::canCache() only checks if the
FrameLoader's documentLoader is loading. If the subframe is in
provisional load stage, we would fail to detect that the frame is
actually loading because the FrameLoader active documentLoader would
be the provisional documentLoader, not the regular documentLoader.
Therefore, the page would get added to the PageCache and the frame
would keep loading while in the PageCache.

On http://www.audiusa.com/models, this is what was happening. It was
crashing because the subframe would finish loading while in the
PageCache, in which case we would fire the 'load' event and the
content 'load' event handler would then proceed to remove the iframe.
Upon restoring the PageCache entry, we would run into trouble as we
would have a CachedFrame whose Frame has been removed.

The solution proposed is to prevent page-caching if a subframe is in
provisional load stage.

Test: http/tests/navigation/page-cache-iframe-provisional-load.html

  • history/PageCache.cpp:

(WebCore::logCanCacheFrameDecision):
(WebCore::PageCache::canCachePageContainingThisFrame):

  • page/DiagnosticLoggingKeys.cpp:

(WebCore::DiagnosticLoggingKeys::provisionalLoadKey):

  • page/DiagnosticLoggingKeys.h:

LayoutTests:

Add layout test to cover the case where a subframe is currently in
provisional load stage when checking if the page if page-cacheable.

The test also removes the iframe once loaded in order to cause a crash
if the frame were to finish loading while in the page cache.

  • http/tests/navigation/page-cache-iframe-provisional-load-expected.txt: Added.
  • http/tests/navigation/page-cache-iframe-provisional-load.html: Added.
  • http/tests/navigation/resources/page-cache-helper-slow.html: Added.
10:57 Changeset [186048] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Tried to fix the EFL buid after r186046.

  • UIProcess/efl/PageUIClientEfl.cpp:

(WebKit::PageUIClientEfl::PageUIClientEfl):

09:18 Changeset [186047] by commit-queue@webkit.org
  • 5 edits in trunk

[ES6] Implement ES6 arrow function syntax. No Line terminator between function parameters and =>
https://bugs.webkit.org/show_bug.cgi?id=146394

Source/JavaScriptCore:

Patch by Aleksandr Skachkov <gskachkov@gmail.com> on 2015-06-28
Reviewed by Yusuke Suzuki.

  • parser/Parser.cpp:

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

LayoutTests:

Patch by Skachkov Oleksandr <gskachkov@gmail.com> on 2015-06-28
Reviewed by Yusuke Suzuki.

  • js/arrowfunction-syntax-errors-expected.txt:
  • js/script-tests/arrowfunction-syntax-errors.js:
09:05 Changeset [186046] by mitz@apple.com
  • 6 edits in trunk

REGRESSION (r185915): Source-incompatible change in WKPageUIClient
https://bugs.webkit.org/show_bug.cgi?id=146396

Reviewed by Anders Carlsson.

Source/WebKit2:

  • UIProcess/API/C/WKPageUIClient.h: Renamed

runJavaScript{Alert,Confirm,Prompt}_deprecatedForUseWithV0 back to runJavaScript{Alert,Confirm,Prompt}
in client versions prior to V5.

Tools:

  • TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash.cpp:

(TestWebKitAPI::runJavaScriptAlert): Removed _deprecatedForUseWithV0 suffix from the name.
(TestWebKitAPI::TEST): Updated for renames.

  • TestWebKitAPI/Tests/mac/FullscreenZoomInitialFrame.mm:

(runJavaScriptAlert): Removed suffix.
(TestWebKitAPI::FullscreenZoomInitialFrame::initializeView): Updated.

  • TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:

(runJavaScriptAlert): Removed suffix.
(TestWebKitAPI::PageVisibilityStateWithWindowChanges::initializeView): Updated.

08:33 Changeset [186045] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION: Page footers are displayed above the bottom of the WebView due to tiled scaling
https://bugs.webkit.org/show_bug.cgi?id=146393
<rdar://problem/21113217>

Reviewed by Sam Weinig.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded):
Don't include the top content inset in the layout size.

05:39 Changeset [186044] by youenn.fablet@crf.canon.fr
  • 5 edits in trunk

[Streams API] Add support for chunks with customized sizes
https://bugs.webkit.org/show_bug.cgi?id=146312

Reviewed by Darin Adler.

Source/WebCore:

Covered by rebased tests.

  • bindings/js/ReadableJSStream.cpp:

(WebCore::ReadableJSStream::read): Decrement totalQueueSize with the chunk specific size.
(WebCore::ReadableJSStream::enqueue): Calls retrieveSize, enqueue chunk with its size and increment totalQueueSize.
(WebCore::ReadableJSStream::retrieveChunkSize): Calls size JS callback and convert it to double.

  • bindings/js/ReadableJSStream.h:

LayoutTests:

  • streams/reference-implementation/bad-strategies-expected.txt:
05:16 Changeset [186043] by youenn.fablet@crf.canon.fr
  • 6 edits in trunk/Source/WebCore

[Streams API]Remove ReadableStreamController.close custom binding
https://bugs.webkit.org/show_bug.cgi?id=146380

Reviewed by Darin Adler.

No change in behavior.

  • Modules/streams/ReadableStreamController.h:

(WebCore::ReadableStreamController::close): Calling ReadableJSStream close method.

  • Modules/streams/ReadableStreamController.idl: Removed Custom.
  • bindings/js/JSReadableStreamControllerCustom.cpp:

(WebCore::JSReadableStreamController::close): Deleted.

  • bindings/js/ReadableJSStream.cpp:

(WebCore::ReadableJSStream::close): Moved custom binding code here.

  • bindings/js/ReadableJSStream.h:
00:43 Changeset [186042] by nvasilyev@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Wrong border color of console messages when filters are enabled
https://bugs.webkit.org/show_bug.cgi?id=146392

Reviewed by Timothy Hatcher.

  • UserInterface/Views/LogContentView.css:

(.console-error-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
(.console-warning-level:not(.filtered-out, .filtered-out-by-search) + .console-item):

06/27/15:

20:47 Changeset [186041] by fpizlo@apple.com
  • 4 edits in trunk/PerformanceTests

[JetStream] Raise the percentile of mandreel-latency and splay-latency
https://bugs.webkit.org/show_bug.cgi?id=146378

Reviewed by Mark Lam.

The current percentile is 95%. When I looked at the sample lists in our GC, it was
clear that the worst 5% samples completely amortize our GC pauses. Our GC pauses can
be quite bad. Clearly, splay-latency is meant to test whether we have an incremental
GC that ensures that you don't have bad worst-case pauses. But 95% is too small,
because it doesn't really capture those pauses. Raising the percentile to above 99%
appears to do the trick. 99.5% or more seems like a good bet. The trade-off there is
just that if we set it too high, then we won't have enough statistics. Doing this very
clearly rewards GCs that are incremental, and punishes GCs that aren't (like ours).
That's what we want, since in the future we want to use this test to guide any
improvements to the worst-case performance of our GC.

The way that the percentile is selected will also affect mandreel-latency. That's a
good thing, because 95% is probably too low for that test as well. That test ends up
with >10k samples. The goal of using 95% in the first place was to get enough samples
to have a stable average. But if we have >10k samples, we can push that percentile up
much higher and still get good statistics while achieving the effect we want - i.e.
getting the worst case.

I don't think that we need to do the same thing for cdjs. That test only takes 200
samples, so 95% means we report the average of the worst 10 samples. That's probably
good enough.

  • JetStream/Octane2/base.js: Raise the percentile as described above.

(BenchmarkSuite.prototype.RunSingleBenchmark):

  • JetStream/Reference.js: Tweak the reference times to bring the latency tests closer to 100ish on my machine.
  • JetStream/create.rb: Bump the version.
20:29 Changeset [186040] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

fast/canvas/webgl/tex-*.html flakily timeout on Mavericks Debug WK1

  • platform/mac-wk1/TestExpectations: Change "Slow" to

"Pass Timeout" since the tests flakily time out and fail:

  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba4444.html
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba5551.html
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-video.html
  • fast/canvas/webgl/tex-image-and-uniform-binding-bugs.html
20:29 Changeset [186039] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r186038): accessibility/aria-roledescription.html fails on Windows

  • platform/win/TestExpectations: Mark as failing on Windows:
  • accessibility/aria-roledescription.html
16:02 Changeset [186038] by cfleizach@apple.com
  • 7 edits
    2 adds in trunk

AX: implement @aria-roledescription
https://bugs.webkit.org/show_bug.cgi?id=146274

Reviewed by Darin Adler.

Source/WebCore:

Add support for aria-roledescription.

Test: accessibility/aria-roledescription.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::hasHighlighting):
(WebCore::AccessibilityObject::roleDescription):
(WebCore::nodeHasPresentationRole):

  • accessibility/AccessibilityObject.h:
  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper _accessibilityMaxValue]):
(-[WebAccessibilityObjectWrapper accessibilityRoleDescription]):
(-[WebAccessibilityObjectWrapper accessibilityLabel]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper roleDescription]):

LayoutTests:

  • accessibility/aria-roledescription-expected.txt: Added.
  • accessibility/aria-roledescription.html: Added.
15:53 Changeset [186037] by darin@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Make converting JSString to StringView idiomatically safe
https://bugs.webkit.org/show_bug.cgi?id=146387

Reviewed by Anders Carlsson.

  • jsc.cpp:

(functionPrint): Add explicit call to SafeView::get, needed since there
is no StringView temporary.
(functionDebug): Ditto.

  • runtime/ArrayPrototype.cpp:

(JSC::holesMustForwardToPrototype): Refactored into helper function.
(JSC::join): Refactored so that StringView is a function argument, making
the lifetime simpler.
(JSC::arrayProtoFuncJoin): Ditto.
(JSC::arrayProtoFuncReverse): Use new holesMustForwardToPrototype helper.

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::encode): Add explicit call to SafeView::get.

  • runtime/JSString.h: Moved declarations of functions to the top of the

file instead of mixing them in with the function definitions. Changed
return type of the view function to return a JSString::SafeView so that
the JSString's lifetime will last as long as the StringView does in
typical coding idioms.
(JSC::JSString::getIndex): Use unsafeView so we can index into the
view; could also have used view.get but here in this class this seems fine.
(JSC::JSRopeString::unsafeView): Renamed existing view function to this.
(JSC::JSString::unsafeView): Ditto.
(JSC::JSString::SafeView::SafeView): Contains reference to an ExecState
and a JSString. The ExecState is needed to create the StringView, and the
JSString needs to be kept alive as long as the StringView is.
(JSC::JSString::SafeView::operator StringView): Call unsafeView.
(JSC::JSString::SafeView::get): Convenience for when we want to call
StringView member functions.
(JSC::JSString::view): Added. Returns a SafeView.

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncIndexOf): Add explicit call to SafeView::get.

15:52 Changeset [186036] by darin@apple.com
  • 3 edits in trunk/Source/WebCore

Fix the build.

  • platform/network/cf/ResourceErrorCF.cpp: (WebCore::ResourceError::cfError): Take out log statement. Add FIXME comment that explains part of the reason we may get null here.
  • platform/network/mac/ResourceErrorMac.mm: (WebCore::createNSErrorFromResourceErrorBase): Ditto.
14:38 Changeset [186035] by ddkilzer@apple.com
  • 3 edits in trunk/Source/WebCore

Crash in WebCore::ResourceError::cfError() after provisional load failed
<http://webkit.org/b/146384>

Reviewed by Darin Adler.

This is a speculative fix based on the crashing stack.

  • platform/network/cf/ResourceErrorCF.cpp:

(WebCore::ResourceError::cfError): Add NULL check.

  • platform/network/mac/ResourceErrorMac.mm:

(WebCore::createNSErrorFromResourceErrorBase): Add nil check in
case we ever turn off USE(CFNETWORK) for iOS.

14:37 Changeset [186034] by mmaxfield@apple.com
  • 3 edits in trunk/LayoutTests

REGRESSION (r186001): fast/text/han-generic-font-families.html always fails on Yosemite
https://bugs.webkit.org/show_bug.cgi?id=146385

Unreviewed.

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-06-27

  • platform/mac-yosemite/fast/text/han-generic-font-families-expected.html:
  • platform/mac/TestExpectations:
14:31 Changeset [186033] by rniwa@webkit.org
  • 7 edits in trunk/Websites/perf.webkit.org

build-requests should use conform to JSON API format
https://bugs.webkit.org/show_bug.cgi?id=146375

Reviewed by Stephanie Lewis.

Instead of returning single dictionary that maps root set id to a dictionary of repository names
to revisions, timestamps, simply return root sets and roots "rows" or "objects" as defined in
JSON API (http://jsonapi.org/). This API change makes it easier to resolve the bug 146374 and
matches what we do in /api/test-groups.

Also add the support for /api/build-requests/?id=<id> to fetch the build request with <id>.
This is useful for debugging purposes.

  • public/api/build-requests.php:

(main): Added the support for $_GETid?. Also return "rootSets" and "roots".
(update_builds): Extracted from main.

  • public/include/build-requests-fetcher.php:

(BuildRequestFetcher::fetch_request): Added. Used for /api/build-requests/?id=<id>.
(BuildRequestFetcher::results_internal): Always call fetch_roots_for_set_if_needed.
(BuildRequestFetcher::fetch_roots_for_set_if_needed): Renamed from fetch_roots_for_set.
Moved the logic to exit early when the root set had already been fetched here.

  • public/v2/analysis.js:

(App.TestGroup._fetchTestResults): Fixed the bug that test groups without any successful results
won't be shown.

  • tools/pull-os-versions.py:

(main):
(setup_auth): Moved to util.py

  • tools/sync-with-buildbot.py:

(main): Replaced a bunch of perf dashboard related options by --server-config-json.
(update_and_fetch_build_requests): No longer takes build_request_auth since that's now taken care
of by setup_auth.
(organize_root_sets_by_id_and_repository_names): Added. Builds the old rootsSets directory based
on "roots" and "rootSets" dictionaries returned by /api/build-requests.
(config_for_request): Fixed a bug that the script blows up when the build request is missing
the repository specified in the configuration. This tolerance is necessary when a new repository
dependency is added but we want to run A/B tests for old builds without the dependency.
(fetch_json): No longer takes auth.

  • tools/util.py:

(setup_auth): Moved from pull-os-versions.py to be shared with sync-with-buildbot.py.

14:11 Changeset [186032] by eric.carlson@apple.com
  • 4 edits in trunk/Source/WebCore

[Mac] Only flag a video element as eligible for auto-play to AppleTV one time
https://bugs.webkit.org/show_bug.cgi?id=146386

Reviewed by Brent Fulgham.

  • Modules/mediasession/WebMediaSessionManager.cpp:

(WebCore::WebMediaSessionManager::removeAllPlaybackTargetPickerClients): Drive-by fix - early

return when there are no clients.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::pendingActionTimerFired): Set m_failedToPlayToWirelessTarget if the

media engine is still unable to play to the wireless target.

(WebCore::HTMLMediaElement::prepareForLoad): Clear m_failedToPlayToWirelessTarget.
(WebCore::HTMLMediaElement::mediaState): Don't set the ExternalDeviceAutoPlayCandidate flag

if m_failedToPlayToWirelessTarget is true.

  • html/HTMLMediaElement.h:
10:59 Changeset [186031] by ddkilzer@apple.com
  • 1 edit
    3 adds in trunk/LayoutTests

REGRESSION (r186029): fast/text/justify-ideograph-{complex,simple,vertical}.html fail on Yosemite

The results replaced in r186029 were the Yosemite results, so
Yosemite started failing when they were rebaselined for
El Capitan.

  • platform/mac-yosemite/fast/text/justify-ideograph-complex-expected.txt: Copied from platform/mac/fast/text/justify-ideograph-complex-expected.txt in r186028.
  • platform/mac-yosemite/fast/text/justify-ideograph-simple-expected.txt: Copied from platform/mac/fast/text/justify-ideograph-simple-expected.txt in r186028.
  • platform/mac-yosemite/fast/text/justify-ideograph-vertical-expected.txt: Copied from platform/mac/fast/text/justify-ideograph-vertical-expected.txt in r186028.
10:04 Changeset [186030] by ddkilzer@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

Add missing image results for platform/mac/platform/mac/fast/text/vertical-surrogate-pair.html

  • platform/mac/platform/mac/fast/text/vertical-surrogate-pair-expected.png: Added.
10:04 Changeset [186029] by ddkilzer@apple.com
  • 7 edits
    1 add in trunk/LayoutTests

Rebaseline El Capitan results for fast/text/justify-ideograph-{complex,simple,vertical}.html

  • platform/mac/TestExpectations: Removed expectations.
  • platform/mac/fast/text/justify-ideograph-complex-expected.png: Updated.
  • platform/mac/fast/text/justify-ideograph-complex-expected.txt: Updated.
  • platform/mac/fast/text/justify-ideograph-simple-expected.png: Updated.
  • platform/mac/fast/text/justify-ideograph-simple-expected.txt: Updated.
  • platform/mac/fast/text/justify-ideograph-vertical-expected.png: Added.
  • platform/mac/fast/text/justify-ideograph-vertical-expected.txt: Updated.
10:00 Changeset [186028] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

Document more slow fast/canvas/webgl tests on Mavericks Debug WK1

See Flakiness Dashboard:
<http://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=fast%2Fcanvas%2Fwebgl%2Ftex-image-and-sub-image-2d-with-video-rgba4444.html>
<http://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=fast%2Fcanvas%2Fwebgl%2Ftex-image-and-sub-image-2d-with-video-rgba5551.html>

  • platform/mac-wk1/TestExpectations: Add slow expectations for:
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba4444.html
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba5551.html
08:54 Changeset [186027] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r186001): fast/text/han-generic-font-families.html always fails on Yosemite

Fix tracked by: <http://webkit.org/b/146385>

  • platform/mac/TestExpectations: Mark as failing on Yosemite:
  • fast/text/han-generic-font-families.html
08:54 Changeset [186026] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

editing/undo/remove-css-property-and-remove-style.html is flaky on Debug WK2

As seen on Flakiness Dashboard:
<http://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=editing%2Fundo%2Fremove-css-property-and-remove-style.html>

  • platform/mac-wk2/TestExpectations: Add:
  • editing/undo/remove-css-property-and-remove-style.html
01:52 Changeset [186025] by antti@apple.com
  • 6 edits in trunk/Source/WebKit2

Make NetworkCache::traverse faster
https://bugs.webkit.org/show_bug.cgi?id=146354

Reviewed by Anders Carlsson.

  • NetworkProcess/cache/NetworkCacheIOChannel.h:

(WebKit::NetworkCache::IOChannel::path):
(WebKit::NetworkCache::IOChannel::type):

  • NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:

(WebKit::NetworkCache::IOChannel::open):
(WebKit::NetworkCache::IOChannel::read):
(WebKit::NetworkCache::IOChannel::write):
(WebKit::NetworkCache::IOChannel::readSync): Deleted.

Not needed anymore.

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::WriteOperation::WriteOperation):
(WebKit::NetworkCache::Storage::TraverseOperation::TraverseOperation):

Add TraverseOperation, similar to Read/Write.

(WebKit::NetworkCache::Storage::open):
(WebKit::NetworkCache::Storage::traverse):

Use async I/O.
Use condition variable to allow maximum 5 parallel file reads.

  • NetworkProcess/cache/NetworkCacheStorage.h:
01:04 Changeset [186024] by youenn.fablet@crf.canon.fr
  • 6 edits in trunk

[Streams API] Implement ReadableStreamController.desiredSize property
https://bugs.webkit.org/show_bug.cgi?id=146311

Reviewed by Darin Adler.

Source/WebCore:

Covered by rebased tests.

  • Modules/streams/ReadableStreamController.h: Adding desiredSize getter.

(WebCore::ReadableStreamController::desiredSize): Ditto.

  • Modules/streams/ReadableStreamController.idl: Added desiredSize attribute.

LayoutTests:

  • streams/reference-implementation/count-queuing-strategy-expected.txt:
  • streams/reference-implementation/readable-stream-expected.txt:
00:45 Changeset [186023] by carlosgc@webkit.org
  • 6 edits
    2 adds in trunk

[GTK][SOUP] Implement WebCore::PublicSuffix for soup and enable PUBLIC_SUFFIX_LIST for GTK+
https://bugs.webkit.org/show_bug.cgi?id=146318

Reviewed by Sergio Villar Senin.

.:

Enable PUBLIC_SUFFIX_LIST for GTK+.

  • Source/cmake/OptionsGTK.cmake:

Source/WebCore:

This is covered by unit tests.

  • PlatformGTK.cmake:
  • platform/soup/PublicSuffixSoup.cpp: Added.

(WebCore::isPublicSuffix):
(WebCore::topPrivatelyControlledDomain):

Tools:

Copy mac PublicSuffix test to the common directory and add it to
the GTK+ build.

  • TestWebKitAPI/PlatformGTK.cmake:
  • TestWebKitAPI/Tests/WebCore/PublicSuffix.cpp: Added.

(TestWebKitAPI::TEST_F):

00:42 Changeset [186022] by carlosgc@webkit.org
  • 2 edits in trunk/Source/WebKit2

[SOUP] NetworkCache: Make NetworkProcess::clearDiskCache actually clear the the resources depending on the date
https://bugs.webkit.org/show_bug.cgi?id=146316

Reviewed by Sergio Villar Senin.

And make sure the completion handler is called, as well. This
functionality is already implemented in Storage::clear(), so we
just need to pass the time point and completion handler to Cache::clear().

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::NetworkProcess::clearDiskCache):

Note: See TracTimeline for information about the timeline view.