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

Timeline



Jun 28, 2015:

11:51 PM Changeset in webkit [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):

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

Fixed the iOS build after r186059.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.h:
11:26 PM Changeset in webkit [186065] by Gyuyoung Kim
  • 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.
10:29 PM Changeset in webkit [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.

10:05 PM Changeset in webkit [186063] by Chris Fleizach
  • 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):

9:47 PM Changeset in webkit [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.
8:18 PM Changeset in webkit [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
8:18 PM Changeset in webkit [186060] by Darin Adler
  • 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.

6:19 PM Changeset in webkit [186059] by Gyuyoung Kim
  • 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):

5:33 PM Changeset in webkit [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}.
4:30 PM Changeset in webkit [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.

4:07 PM Changeset in webkit [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

3:51 PM Changeset in webkit [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
3:16 PM Changeset in webkit [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):

1:36 PM Changeset in webkit [186053] by Lucas Forschler
  • 6 edits in tags/Safari-601.1.37.1

Merge r186046. rdar://problem/21581792

1:33 PM Changeset in webkit [186052] by Lucas Forschler
  • 5 edits in tags/Safari-601.1.37.1/Source

Versioning.

1:22 PM Changeset in webkit [186051] by Lucas Forschler
  • 1 copy in tags/Safari-601.1.37.1

New Tag.

12:09 PM Changeset in webkit [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 AM Changeset in webkit [186049] by Chris Dumez
  • 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 AM Changeset in webkit [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):

9:18 AM Changeset in webkit [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:
9:05 AM Changeset in webkit [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.

8:33 AM Changeset in webkit [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.

5:39 AM Changeset in webkit [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:
5:16 AM Changeset in webkit [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:
12:43 AM Changeset in webkit [186042] by Nikita Vasilyev
  • 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):

Jun 27, 2015:

8:47 PM Changeset in webkit [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.
8:29 PM Changeset in webkit [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
8:29 PM Changeset in webkit [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
4:02 PM Changeset in webkit [186038] by Chris Fleizach
  • 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.
3:53 PM Changeset in webkit [186037] by Darin Adler
  • 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.

3:52 PM Changeset in webkit [186036] by Darin Adler
  • 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.
2:38 PM Changeset in webkit [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.

2:37 PM Changeset in webkit [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:
2:31 PM Changeset in webkit [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.

2:11 PM Changeset in webkit [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 AM Changeset in webkit [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 AM Changeset in webkit [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 AM Changeset in webkit [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 AM Changeset in webkit [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
8:54 AM Changeset in webkit [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
8:54 AM Changeset in webkit [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
1:52 AM Changeset in webkit [186025] by Antti Koivisto
  • 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:
1:04 AM Changeset in webkit [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:
12:45 AM Changeset in webkit [186023] by Carlos Garcia Campos
  • 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):

12:42 AM Changeset in webkit [186022] by Carlos Garcia Campos
  • 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):

Jun 26, 2015:

7:04 PM Changeset in webkit [186021] by mmaxfield@apple.com
  • 6 edits
    3 adds in trunk

[iOS] AppleGothic has been superseded by Apple SD Gothic Neo
https://bugs.webkit.org/show_bug.cgi?id=146372
<rdar://problem/21574004>

Reviewed by Dean Jackson.

Source/WebCore:

Test: fast/text/hangul-generic-font-families.html

  • page/mac/SettingsMac.mm:

(WebCore::Settings::initializeDefaultFontFamilies):

LayoutTests:

  • fast/text/hangul-generic-font-families.html: Added.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios-simulator/fast/text/hangul-generic-font-families-expected.html: Added.
  • platform/mac/fast/text/hangul-generic-font-families-expected.html: Added.
  • platform/win/TestExpectations:
6:43 PM Changeset in webkit [186020] by commit-queue@webkit.org
  • 15 edits
    3 adds in trunk

Supporting getStartDate and added tests
https://bugs.webkit.org/show_bug.cgi?id=145676
<rdar://problem/20876076>

Patch by Matt Daiter <mdaiter@apple.com> on 2015-06-26
Reviewed by Brent Fulgham.

Source/WebCore:

Test: http/tests/media/hls/video-controller-getStartDate.html

  • bindings/js/JSDOMBinding.cpp:

(WebCore::jsDateOrNaN):

  • bindings/js/JSDOMBinding.h:
  • bindings/scripts/CodeGeneratorJS.pm: Added features to return

NaN for Date

  • bindings/scripts/CodeGeneratorGObject.pm: Needed to add

type checking code for GObject (no date)
(NativeToJSValue):

  • bindings/scripts/IDLAttributes.txt:
  • html/HTMLMediaElement.cpp: Added getStartDate function

(WebCore::HTMLMediaElement::getStartDate):

  • html/HTMLMediaElement.h: Needed to add declarations
  • html/HTMLMediaElement.idl: Needed to modify for returning NaN
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::getStartDate):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h: Added in Mac-specific platform

(WebCore::MediaPlayerPrivateInterface::getStartDate):

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::getStartDate):

LayoutTests:

  • http/tests/media/hls/video-controller-getStartDate-expected.txt: Added.
  • http/tests/media/hls/video-controller-getStartDate.html: Added.
  • http/tests/media/resources/hls/test-vod-date-time.m3u8: Added.
4:50 PM Changeset in webkit [186019] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Rubber-stamped by Tim Horton.

As Dan pointed out in https://bugs.webkit.org/show_bug.cgi?id=146350 , this way of
getting the screen size was problematic on multiple counts. Fixed here by using
UIScreen.

  • UIProcess/WKImagePreviewViewController.mm:

(-[WKImagePreviewViewController initWithCGImage:]):

4:48 PM Changeset in webkit [186018] by Beth Dakin
  • 4 edits in trunk/Source

WebPage::getPositionInformation() should not copy an image that is larger than the
screen
https://bugs.webkit.org/show_bug.cgi?id=146367

Reviewed by Tim Horton.

Source/WebCore:

Export the rect version of this function too.

  • platform/graphics/GraphicsContext.h:

Source/WebKit2:

Maintain aspectRatio, but scale down the buffer size if the image is larger than
the screen.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getPositionInformation):

4:46 PM Changeset in webkit [186017] by mark.lam@apple.com
  • 2 edits in trunk/Source/WebKit2

Re-instating the #import and assertion removed in r186014.
https://bugs.webkit.org/show_bug.cgi?id=146358

Not reviewed.

  • UIProcess/API/Cocoa/WKUserContentController.mm:
  • Speculative fix: should have used <wtf/MainThread.h> instead of <WTF/MainThread.h>.
4:33 PM Changeset in webkit [186016] by eric.carlson@apple.com
  • 4 edits in trunk/Source/WebCore

[Mac] Muted videos should not automatically play to AppleTV
https://bugs.webkit.org/show_bug.cgi?id=146366

Reviewed by Dean Jackson.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_initiallyMuted.
(WebCore::HTMLMediaElement::scheduleDelayedAction): Support CheckMediaState.
(WebCore::HTMLMediaElement::setReadyState): Set m_initiallyMuted to true if the element is

muted or the volume is less than 5%.

(WebCore::HTMLMediaElement::setMuted): Update media state asynchronously so multiple state

changes can be coalesced.

(WebCore::HTMLMediaElement::mediaPlayerEngineUpdated): Ditto.
(WebCore::HTMLMediaElement::setPlaying): Ditto.
(WebCore::HTMLMediaElement::mediaPlayerCurrentPlaybackTargetIsWirelessChanged): Ditto.
(WebCore::HTMLMediaElement::removeEventListener): Ditto.
(WebCore::HTMLMediaElement::enqueuePlaybackTargetAvailabilityChangedEvent): Ditto.
(WebCore::HTMLMediaElement::updateMediaState): Update after a timer when passed UpdateMediaState::Asynchronously.
(WebCore::HTMLMediaElement::mediaState): Don't set the ExternalDeviceAutoPlayCandidate flag if

m_initiallyMuted is true.

  • html/HTMLMediaElement.h:
  • html/HTMLMediaElementEnums.h:
3:55 PM Changeset in webkit [186015] by dino@apple.com
  • 2 edits in trunk/LayoutTests

No audio on animated page with the attached fixed layout epub
https://bugs.webkit.org/show_bug.cgi?id=146365
<rdar://problem/21360354>

Updated results.

  • media/audio-playback-restriction-play-expected.txt:
3:47 PM Changeset in webkit [186014] by mark.lam@apple.com
  • 2 edits in trunk/Source/WebKit2

Gardeining: remove an assertion and a #import to green the bot.
https://bugs.webkit.org/show_bug.cgi?id=146358

Not reviewed.

  • UIProcess/API/Cocoa/WKUserContentController.mm:
  • Not sure why the <WTF/MainThread.h> cannot be found on some bots, but I'm removing it (and the assertion that needed it) for now while I investigate further.
3:28 PM Changeset in webkit [186013] by peavo@outlook.com
  • 2 edits in trunk/WebKitLibraries

[WinCairo] Enable WEB_TIMING.
https://bugs.webkit.org/show_bug.cgi?id=146357

Reviewed by Brent Fulgham.

  • win/tools/vsprops/FeatureDefinesCairo.props:
3:18 PM Changeset in webkit [186012] by dbates@webkit.org
  • 9 edits
    2 deletes in trunk

Rolling out r184660
https://bugs.webkit.org/show_bug.cgi?id=145200

Reverting r184660 because it caused a regression.

Source/WebCore:

  • English.lproj/Localizable.strings:
  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::createAutoFillButton): Deleted.

  • platform/LocalizedStrings.cpp:

(WebCore::AXAutoFillButtonText): Deleted.

  • platform/LocalizedStrings.h:
  • platform/efl/LocalizedStringsEfl.cpp:

(WebCore::AXAutoFillButtonText): Deleted.

  • platform/gtk/LocalizedStringsGtk.cpp:

(WebCore::AXAutoFillButtonText): Deleted.

LayoutTests:

  • accessibility/input-auto-fill-button-expected.txt: Removed.
  • accessibility/input-auto-fill-button.html: Removed.
  • platform/win/TestExpectations:
3:18 PM Changeset in webkit [186011] by dbates@webkit.org
  • 6 edits
    7 deletes in trunk

Rolling out r185881
https://bugs.webkit.org/show_bug.cgi?id=146243
And
r185828
https://bugs.webkit.org/show_bug.cgi?id=145241

Reverting r185881 and r185828 because the latter caused a regression.

Source/WebCore:

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::accessibilityTextFieldDecorationHitTest): Deleted.
(WebCore::AccessibilityRenderObject::accessibilityHitTest): Deleted.

  • accessibility/AccessibilityRenderObject.h:

LayoutTests:

  • accessibility/hit-test-input-auto-fill-button-expected.txt: Removed.
  • accessibility/hit-test-input-auto-fill-button.html: Removed.
  • accessibility/hit-test-input-search-cancel-button-expected.txt: Removed.
  • accessibility/hit-test-input-search-cancel-button.html: Removed.
  • accessibility/input-search-cancel-button-expected.txt: Removed.
  • accessibility/input-search-cancel-button.html: Removed.
  • accessibility/resources/shouldBeAccessibleByCursor.js: Removed.
  • platform/win/TestExpectations:
  • platform/wk2/TestExpectations:
3:14 PM Changeset in webkit [186010] by mark.lam@apple.com
  • 2 edits in trunk/Source/WebKit2

ScriptMessageHandlerDelegate::didPostMessage() should reuse its JSContext instance.
https://bugs.webkit.org/show_bug.cgi?id=146358

Reviewed by Anders Carlsson.

Currently, ScriptMessageHandlerDelegate::didPostMessage() creates a new JSContext each
time it is called. This JSContext is used only once to deserialized a JSON object
and then destroyed. We will change ScriptMessageHandlerDelegate to cache the JSContext
and reuse it in all subsequent calls to didPostMessage().

Also added a @autoreleasepool scope in didPostMessage() so that transient ObjC objects
will be release sooner.

  • UIProcess/API/Cocoa/WKUserContentController.mm:
2:33 PM Changeset in webkit [186009] by dino@apple.com
  • 4 edits in trunk

No audio on animated page with the attached fixed layout epub
https://bugs.webkit.org/show_bug.cgi?id=146365
Source/WebCore:

Reviewed by Eric Carlson.

The new restriction RequireUserGestureForAudioRateChange conflicted
with existing clients who expected RequireUserGestureForRateChange
to allow autoplaying audio. Update the logic to ensure that
RequireUserGestureForRateChange covers all media when set to
false.

This may require a revisit once we're using RequireUserGestureForAudioRateChange
in production, because the global setting will trump that, and
most clients have the global setting to false. We'll need to come
up with a way to allow legacy clients to preserve their behaviour.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement): Only restrict audio
if RequireUserGestureForRateChange is also false.

LayoutTests:

<rdar://problem/21360354>

Reviewed by Eric Carlson.

The test to ensure audio needs a user gesture now needs to also
restrict the general case.

  • media/audio-playback-restriction-play.html:
2:24 PM Changeset in webkit [186008] by Beth Dakin
  • 5 edits
    2 adds in trunk/Source/WebKit2

Add support for image previews
https://bugs.webkit.org/show_bug.cgi?id=146350
-and corresponding-
rdar://problem/20640234

Reviewed by Tim Horton.

For images, use the actual image instead of a snapshot.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getPositionInformation):

ViewController for image preview.

  • UIProcess/WKImagePreviewViewController.h: Added.
  • UIProcess/WKImagePreviewViewController.mm: Added.

(-[WKImagePreviewViewController loadView]):
(-[WKImagePreviewViewController initWithCGImage:]):
(-[WKImagePreviewViewController viewDidLayoutSubviews]):
(_scaleSizeWithinSize):

New enum and member variable to keep track of preview type.

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

Only apply the http restriction to non-image links since we can still preview the
image of a non-http image link.
(-[WKContentView gestureRecognizerShouldBegin:]):

Handle links and images.
(-[WKContentView previewViewControllerForPosition:inSourceView:]):

Return early for non-link previews.
(-[WKContentView commitPreviewViewController:]):

New files.

  • WebKit2.xcodeproj/project.pbxproj:

Just use the actual image in the PositionInformation for image elements rather
than taking a screen shot.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getPositionInformation):

1:42 PM Changeset in webkit [186007] by andersca@apple.com
  • 9 edits
    1 delete in trunk/Source/WebCore

Get rid of ScrollbarThemeClient now that it's unused
https://bugs.webkit.org/show_bug.cgi?id=146327

Reviewed by Beth Dakin.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::scrollbarOverlayStyle): Deleted.
(WebCore::Scrollbar::isScrollableAreaActive): Deleted.
(WebCore::Scrollbar::isScrollViewScrollbar): Deleted.
(WebCore::Scrollbar::root): Deleted.

  • platform/Scrollbar.h:

(WebCore::Scrollbar::isCustomScrollbar):
(WebCore::Scrollbar::orientation):
(WebCore::Scrollbar::value):
(WebCore::Scrollbar::currentPos):
(WebCore::Scrollbar::visibleSize):
(WebCore::Scrollbar::totalSize):
(WebCore::Scrollbar::maximum):
(WebCore::Scrollbar::controlSize):
(WebCore::Scrollbar::lineStep):
(WebCore::Scrollbar::pageStep):
(WebCore::Scrollbar::pressedPart):
(WebCore::Scrollbar::hoveredPart):
(WebCore::Scrollbar::enabled):
(WebCore::Scrollbar::styleChanged):
(WebCore::Scrollbar::isAlphaLocked):
(WebCore::Scrollbar::setIsAlphaLocked):

  • platform/ScrollbarTheme.h:
  • platform/ScrollbarThemeClient.h: Removed.

(WebCore::ScrollbarThemeClient::~ScrollbarThemeClient): Deleted.

  • platform/mac/ScrollbarThemeMac.mm:

(WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):

  • rendering/RenderScrollbarTheme.cpp:
12:21 PM Changeset in webkit [186006] by Antti Koivisto
  • 3 edits
    1 add in trunk

Network process hangs fetching disk cache entries
https://bugs.webkit.org/show_bug.cgi?id=146348
<rdar://problem/21528072>

Reviewed by Anders Carlsson.

RunLoop::dispatch may deadlock if invoked with std::function that captures an object that calls RunLoop::dispatch in destructor.

  • wtf/RunLoop.cpp:

(WTF::RunLoop::performWork):

Don't reuse std::function variable in loop. We may end up destroying previously held std::function in assignment
while holding the runloop mutex. With this change std::function is always destroyed with mutex unlocked.

11:26 AM Changeset in webkit [186005] by Chris Dumez
  • 8 edits in trunk/Source/WebCore

Prevent new loads while in PageCache (or being added to PageCache)
https://bugs.webkit.org/show_bug.cgi?id=146299
<rdar://problem/21523788>

Reviewed by Darin Adler.

Generalize the change in r185337 to prevent new loads while in the
PageCache (or being added to the PageCache), instead of merely
preventing new loads in pagehide event handlers. We should never
have any pages that are still loading inside the PageCache.

The fix in r185337 was apparently insufficient to address the
problem so generalizing the check / policy will hopefully catch
more cases where content is able to start loads while being added
to the PageCache. This patch also removes some of the complexity
added in r185337 as it is no longer needed.

No new tests, already covered by:
http/tests/navigation/image-load-in-pagehide-handler.html
http/tests/navigation/subframe-pagehide-handler-starts-load.html
http/tests/navigation/subframe-pagehide-handler-starts-load2.html

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::loadWithDocumentLoader):
(WebCore::FrameLoader::stopAllLoaders):
(WebCore::FrameLoader::handleBeforeUnloadEvent):
(WebCore::FrameLoader::FrameLoader): Deleted.

  • loader/FrameLoader.h:

(WebCore::FrameLoader::pageDismissalEventBeingDispatched):

  • loader/ImageLoader.cpp:

(WebCore::pageIsBeingDismissed):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::load):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestImage):

  • page/Page.cpp:

(WebCore::Page::inPageCache):

  • page/Page.h:

(WebCore::Page::group): Deleted.

11:23 AM Changeset in webkit [186004] by peavo@outlook.com
  • 9 edits
    2 adds in trunk

WinLauncher fails to download files.
https://bugs.webkit.org/show_bug.cgi?id=146242

Reviewed by Alex Christensen.

Source/WebKit/win:

Don't start download when there is no download delegate.

  • WebView.cpp:

(WebView::downloadURL):

Tools:

Added WinLauncher download delegate.

  • WinLauncher/Common.cpp:
  • WinLauncher/WebDownloadDelegate.cpp: Added.

(WebDownloadDelegate::WebDownloadDelegate):
(WebDownloadDelegate::~WebDownloadDelegate):
(WebDownloadDelegate::QueryInterface):
(WebDownloadDelegate::AddRef):
(WebDownloadDelegate::Release):
(WebDownloadDelegate::decideDestinationWithSuggestedFilename):
(WebDownloadDelegate::didCancelAuthenticationChallenge):
(WebDownloadDelegate::didCreateDestination):
(WebDownloadDelegate::didFailWithError):
(WebDownloadDelegate::didReceiveAuthenticationChallenge):
(WebDownloadDelegate::didReceiveDataOfLength):
(WebDownloadDelegate::didReceiveResponse):
(WebDownloadDelegate::shouldDecodeSourceDataOfMIMEType):
(WebDownloadDelegate::willResumeWithResponse):
(WebDownloadDelegate::willSendRequest):
(WebDownloadDelegate::didBegin):
(WebDownloadDelegate::didFinish):

  • WinLauncher/WebDownloadDelegate.h: Added.
  • WinLauncher/WinLauncher.cpp:

(WinLauncher::setAccessibilityDelegate):
(WinLauncher::setResourceLoadDelegate):
(WinLauncher::setDownloadDelegate):
(WinLauncher::mainFrame):

  • WinLauncher/WinLauncher.h:

(WinLauncher::standardPreferences):
(WinLauncher::privatePreferences):

  • WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj:
  • WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj.filters:
  • WinLauncher/WinMain.cpp:

(wWinMain):

11:17 AM Changeset in webkit [186003] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

[OS X] Change the layer tiling threshold from 2000 to 2048 pixels
https://bugs.webkit.org/show_bug.cgi?id=146353

Reviewed by Tim Horton.

Programmers love powers of two.

  • platform/graphics/ca/GraphicsLayerCA.cpp:
10:42 AM Changeset in webkit [186002] by mrajca@apple.com
  • 2 edits in trunk/Source/WebKit2

Wireless Playback Target-related #import should be a #include
https://bugs.webkit.org/show_bug.cgi?id=146283

Reviewed by Eric Carlson.

  • Shared/WebCoreArgumentCoders.cpp:
10:27 AM Changeset in webkit [186001] by mmaxfield@apple.com
  • 6 edits
    5 adds in trunk

[Cocoa] Sans-serif generic font family should map to PingFang
https://bugs.webkit.org/show_bug.cgi?id=146333
<rdar://problem/21521217>

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-06-26
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Also performs a little bit of cleanup.

Test: fast/text/han-generic-font-families.html

  • page/mac/SettingsMac.mm:

(WebCore::sansSerifTraditionalHanFontFamily):
(WebCore::sansSerifSimplifiedHanFontFamily):
(WebCore::Settings::initializeDefaultFontFamilies):

LayoutTests:

  • fast/text/han-generic-font-families.html: Added.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios-simulator/fast/text/han-generic-font-families-expected.html: Added.
  • platform/mac-mavericks/fast/text/han-generic-font-families-expected.html: Added.
  • platform/mac-yosemite/fast/text/han-generic-font-families-expected.html: Added.
  • platform/mac/fast/text/han-generic-font-families-expected.html: Added.
  • platform/win/TestExpectations:
10:09 AM Changeset in webkit [186000] by peavo@outlook.com
  • 2 edits in trunk/Source/WebCore

[Curl] Compile errors; ResourceResponseBase::resourceLoadTiming() has changed return type.
https://bugs.webkit.org/show_bug.cgi?id=146343

Reviewed by Brent Fulgham.

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::calculateWebTimingInformations):
(WebCore::headerCallback):
(WebCore::ResourceHandleManager::initializeHandle):
(WebCore::ResourceHandleManager::initCookieSession):
(WebCore::sockoptfunction): Deleted.

9:45 AM Changeset in webkit [185999] by commit-queue@webkit.org
  • 11 edits
    2 moves
    1 add in trunk/Source/WebKit

[Win] Implement WebViewGroup to support WebView::addxxxToGroup().
https://bugs.webkit.org/show_bug.cgi?id=145908

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

Make WebViewGroup class sharing on Mac and Win port.

Source/WebKit:

  • WebCoreSupport: Added.
  • WebCoreSupport/WebViewGroup.cpp: Added.

(webViewGroups):
(WebViewGroup::getOrCreate):
(WebViewGroup::get):
(WebViewGroup::WebViewGroup):
(WebViewGroup::~WebViewGroup):
(WebViewGroup::addWebView):
(WebViewGroup::removeWebView):
(WebViewGroup::storageNamespaceProvider):

  • WebCoreSupport/WebViewGroup.h: Added.

(WebViewGroup::userContentController):
(WebViewGroup::visitedLinkStore):

  • WebKit.vcxproj/WebKit/WebKit.vcxproj:
  • WebKit.vcxproj/WebKit/WebKit.vcxproj.filters:
  • WebKit.vcxproj/WebKit/WebKitCommon.props:
  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

  • WebCoreSupport/WebViewGroup.h: Removed.
  • WebCoreSupport/WebViewGroup.mm: Removed.

Source/WebKit/win:

  • WebCoreSupport/WebVisitedLinkStore.cpp:

(visitedLinkStores):
(WebVisitedLinkStore::create):
(WebVisitedLinkStore::WebVisitedLinkStore):
(WebVisitedLinkStore::~WebVisitedLinkStore):
(WebVisitedLinkStore::setShouldTrackVisitedLinks):
(WebVisitedLinkStore::removeAllVisitedLinks):
(WebVisitedLinkStore::singleton): Deleted.

  • WebCoreSupport/WebVisitedLinkStore.h:
  • WebView.cpp:

(toURL):
(localStorageDatabasePath):
(WebView::WebView):
(WebView::~WebView):
(WebView::shouldInitializeTrackPointHack):
(WebView::initWithFrame):
(WebView::setGroupName):
(WebView::addVisitedLinks):

  • WebView.h:
9:42 AM Changeset in webkit [185998] by Csaba Osztrogonác
  • 3 edits
    1 delete in trunk/Source/JavaScriptCore

Remove ARMv7Assembler.cpp
https://bugs.webkit.org/show_bug.cgi?id=146340

Reviewed by Filip Pizlo.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/ARMv7Assembler.cpp: Removed.
8:17 AM Changeset in webkit [185997] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

iOS speech synthesizer should expose names
https://bugs.webkit.org/show_bug.cgi?id=146319

Reviewed by Mario Sanchez Prada.

Use newer API to get the name and identifier of each voice asset.

  • platform/ios/PlatformSpeechSynthesizerIOS.mm:

(WebCore::PlatformSpeechSynthesizer::initializeVoiceList):

6:24 AM Changeset in webkit [185996] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

Fix the !ENABLE(ES6_ARROWFUNCTION_SYNTAX) build after r185989
https://bugs.webkit.org/show_bug.cgi?id=146344

Reviewed by Yusuke Suzuki.

  • parser/Parser.cpp:

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

6:05 AM Changeset in webkit [185995] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebCore

[EFL] Remove unnecessary overriden methods from ScrollBarEfl
https://bugs.webkit.org/show_bug.cgi?id=146342

Reviewed by Gyuyoung Kim.

  • platform/efl/ScrollbarEfl.cpp:

(WebCore::ScrollbarEfl::setParent): Deleted.
(WebCore::ScrollbarEfl::setFrameRect): Deleted.
(WebCore::ScrollbarEfl::frameRectsChanged): Deleted.
(WebCore::ScrollbarEfl::invalidate): Deleted.

  • platform/efl/ScrollbarEfl.h:
6:01 AM Changeset in webkit [185994] by Csaba Osztrogonác
  • 6 edits in trunk/Source/WebCore

Convert some of WebCore/dom over to range-for loops
https://bugs.webkit.org/show_bug.cgi?id=126250

Reviewed by Darin Adler.

Based on the original patch of Sam Weinig <sam@webkit.org>.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::replaceChild):
(WebCore::willRemoveChildren):
(WebCore::ContainerNode::appendChild):

  • dom/MutationObserver.cpp:

(WebCore::MutationObserver::disconnect):
(WebCore::MutationObserver::getObservedNodes):
(WebCore::MutationObserver::deliver):

  • dom/MutationObserverInterestGroup.cpp:

(WebCore::MutationObserverInterestGroup::isOldValueRequested):
(WebCore::MutationObserverInterestGroup::enqueueMutationRecord):

  • dom/MutationObserverRegistration.cpp:

(WebCore::MutationObserverRegistration::clearTransientRegistrations):
(WebCore::MutationObserverRegistration::addRegistrationNodesToSet):

  • dom/Node.cpp:

(WebCore::Node::dumpStatistics):
(WebCore::collectMatchingObserversForMutation):
(WebCore::Node::notifyMutationObserversNodeWillDetach):

4:37 AM Changeset in webkit [185993] by Csaba Osztrogonác
  • 2 edits in trunk/WebKitLibraries

Unreviewed buildfix after r185971, disable WEB_TIMING.

  • win/tools/vsprops/FeatureDefinesCairo.props:
4:05 AM Changeset in webkit [185992] by Csaba Osztrogonác
  • 3 edits
    1 delete in trunk/Tools

[EFL] Bump libseccomp version to 2.2.1
https://bugs.webkit.org/show_bug.cgi?id=146341

Reviewed by Gyuyoung Kim.

  • efl/jhbuild.modules:
  • efl/jhbuildrc: Enabled libseccomp build on AArch64.
  • efl/patches/libseccomp-pick-up-CC.patch: Removed, we don't need it anymore.
1:49 AM Changeset in webkit [185991] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.37/Source/WebCore

Merged r185988.

12:10 AM Changeset in webkit [185990] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r185971): js/dom/global-constructors-attributes.html fails on Windows

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

Update results after enabling WEB_TIMING API for Windows.

Jun 25, 2015:

11:49 PM Changeset in webkit [185989] by commit-queue@webkit.org
  • 12 edits
    27 adds in trunk

Source/JavaScriptCore:

[ES6] Implement ES6 arrow function syntax. Parser of arrow function with execution as common function.
https://bugs.webkit.org/show_bug.cgi?id=144955

Reviewed by Yusuke Suzuki.

Added support of ES6 arrow function. Changes were made according to following spec http://wiki.ecmascript.org/doku.php?id=harmony:arrow_function_syntax. Patch does not include any arrow function specific behavior e.g. lexical bind this, arguments and etc.

This patch implements the simplest cases of arrow function declaration:

parameters () => 10 + 20
parameter x => x + 20
parameters (x, y) => x + y
function with block x => { return x*10; }

Not implemented:

bind of the this, arguments, super and etc.
exception in case of trying to use 'new' with arrow function

Patch by Aleksandr Skachkov <gskachkov@gmail.com> on 2015-06-26

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createFunctionExpr):
(JSC::ASTBuilder::createArrowFunctionExpr):
(JSC::ASTBuilder::createGetterOrSetterProperty):
(JSC::ASTBuilder::createFuncDeclStatement):

  • parser/Lexer.cpp:

(JSC::Lexer<T>::setTokenPosition):
(JSC::Lexer<T>::lex):

  • parser/Lexer.h:

(JSC::Lexer::lastTokenLocation):
(JSC::Lexer::setTerminator):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseInner):
(JSC::Parser<LexerType>::parseSourceElements):
(JSC::Parser<LexerType>::parseArrowFunctionSingleExpressionBody):
(JSC::Parser<LexerType>::parseSwitchClauses):
(JSC::Parser<LexerType>::parseSwitchDefaultClause):
(JSC::Parser<LexerType>::parseBlockStatement):
(JSC::Parser<LexerType>::parseFunctionBody):
(JSC::stringForFunctionMode):
(JSC::Parser<LexerType>::parseFunctionParameters):
(JSC::Parser<LexerType>::parseFunctionInfo):
(JSC::Parser<LexerType>::parseFunctionDeclaration):
(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parseAssignmentExpression):
(JSC::Parser<LexerType>::parsePropertyMethod):
(JSC::Parser<LexerType>::parseGetterSetter):
(JSC::Parser<LexerType>::parseArrowFunctionExpression):

  • parser/Parser.h:

(JSC::Parser::locationBeforeLastToken):
(JSC::Parser::isEndOfArrowFunction):
(JSC::Parser::isArrowFunctionParamters):
(JSC::Parser::setEndOfStatement):

  • parser/ParserFunctionInfo.h:
  • parser/ParserTokens.h:
  • parser/SourceCode.h:

(JSC::SourceCode::subArrowExpression):

  • parser/SourceProviderCacheItem.h:

(JSC::SourceProviderCacheItem::endFunctionToken):
(JSC::SourceProviderCacheItem::SourceProviderCacheItem):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createArrowFunctionExpr):
(JSC::SyntaxChecker::setFunctionNameStart):

LayoutTests:

[ES6] Implement ES6 arrow function syntax. Parser of arrow function with execution as common function
https://bugs.webkit.org/show_bug.cgi?id=144955

Reviewed by Yusuke Suzuki.

Added arrow function tests

Patch by Aleksandr Skachkov <gskachkov@gmail.com> on 2015-06-26

  • js/arrowfunction-asparamter-1-expected.txt: Added.
  • js/arrowfunction-asparamter-1.html: Added.
  • js/arrowfunction-asparamter-2-expected.txt: Added.
  • js/arrowfunction-asparamter-2.html: Added.
  • js/arrowfunction-associativity-1-expected.txt: Added.
  • js/arrowfunction-associativity-1.html: Added.
  • js/arrowfunction-associativity-2-expected.txt: Added.
  • js/arrowfunction-associativity-2.html: Added.
  • js/arrowfunction-block-1-expected.txt: Added.
  • js/arrowfunction-block-1.html: Added.
  • js/arrowfunction-block-2-expected.txt: Added.
  • js/arrowfunction-block-2.html: Added.
  • js/arrowfunction-syntax-endings-expected.txt: Added.
  • js/arrowfunction-syntax-endings.html: Added.
  • js/arrowfunction-syntax-errors-expected.txt: Added.
  • js/arrowfunction-syntax-errors.html: Added.
  • js/arrowfunction-syntax-expected.txt: Added.
  • js/arrowfunction-syntax.html: Added.
  • js/script-tests/arrowfunction-asparamter-1.js: Added.
  • js/script-tests/arrowfunction-asparamter-2.js: Added.
  • js/script-tests/arrowfunction-associativity-1.js: Added.
  • js/script-tests/arrowfunction-associativity-2.js: Added.
  • js/script-tests/arrowfunction-block-1.js: Added.
  • js/script-tests/arrowfunction-block-2.js: Added.
  • js/script-tests/arrowfunction-syntax-endings.js: Added.
  • js/script-tests/arrowfunction-syntax-errors.js: Added.
  • js/script-tests/arrowfunction-syntax.js: Added.
11:42 PM Changeset in webkit [185988] by Lucas Forschler
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix.

  • platform/audio/VectorMath.cpp:

(WebCore::VectorMath::vsmul):
(WebCore::VectorMath::vadd):
(WebCore::VectorMath::vmul):
(WebCore::VectorMath::zvmul):

11:20 PM Changeset in webkit [185987] by bshafiei@apple.com
  • 10 edits in tags/Safari-601.1.37/Source

Merge custom patch. rdar://problem/21537375

11:09 PM Changeset in webkit [185986] by bshafiei@apple.com
  • 10 edits in tags/Safari-601.1.37/Source

Merge custom patch. rdar://problem/21537375

11:01 PM Changeset in webkit [185985] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

10:59 PM Changeset in webkit [185984] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.37

New tag.

10:30 PM Changeset in webkit [185983] by Stephanie Lewis
  • 2 edits in trunk/Source/WebCore

Build fix.

Unreviewed.

  • platform/audio/DirectConvolver.cpp:

(WebCore::DirectConvolver::process):

8:55 PM Changeset in webkit [185982] by Brent Fulgham
  • 4 edits in trunk/Source/WebKit/win

[Win] Need implementation of layoutTestController.setBackingScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=87919
<rdar://problem/11563242>

Reviewed by Dean Jackson.

Connect the test infrastructure for High DPI tests to Windows. This
involved adding a new accessor to the IWebViewPrivate interface, and
providing a rudimentary implemenation of DPI support on Windows.

  • Interfaces/IWebViewPrivate.idl: Add new API to set/get scaling

factor.

  • WebView.cpp:

(WebView::initWithFrame): Initialize the device scale factor.
(WebView::setHostWindow): Ditto.
(WebView::windowAncestryDidChange): Ditto.
(WebView::deviceScaleFactor): Added. Check current window for scaling
factor. If no windows exist, check main screen.
(WebView::setCustomBackingScaleFactor): Added.
(WebView::backingScaleFactor): Added.

  • WebView.h:
8:13 PM Changeset in webkit [185981] by Yusuke Suzuki
  • 8 edits
    1 add in trunk/Source/JavaScriptCore

[ES6] Support rest element in destructuring assignments
https://bugs.webkit.org/show_bug.cgi?id=146206

Reviewed by Oliver Hunt.

This patch enables rest element (...rest) in array binding patterns.
It generates array from the iterables.
In variable declarations and parameters, [...identifier] form is only allowed,
while expressions can take [...[...rest]] pattern.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitEnumeration):
(JSC::BytecodeGenerator::emitIteratorNext):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::ArrayPatternNode::bindValue):
(JSC::ArrayPatternNode::toString):

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::appendArrayPatternSkipEntry):
(JSC::ASTBuilder::appendArrayPatternEntry):
(JSC::ASTBuilder::appendArrayPatternRestEntry):

  • parser/Nodes.h:

(JSC::ArrayPatternNode::appendIndex):

  • parser/Parser.cpp:

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

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::operatorStackPop):

  • tests/stress/rest-elements.js: Added.

(shouldBe):
(shouldThrow):

7:49 PM Changeset in webkit [185980] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Wrong timeline selected after switching from Rendering Frames to Timelines
https://bugs.webkit.org/show_bug.cgi?id=146331

Reviewed by Timothy Hatcher.

  • UserInterface/Views/TimelineSidebarPanel.js:

Set previously selected timeline type to null if no tree element is selected when switching
view mode to Rendering Frames.

7:13 PM Changeset in webkit [185979] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebKit/ios

Unreviewed, attempt to fix the iOS build after r185968.

  • WebCoreSupport/WebInspectorClientIOS.mm:

(WebInspectorFrontendClient::startWindowDrag):

6:45 PM Changeset in webkit [185978] by Joseph Pecoraro
  • 5 edits in trunk/Source

Web Inspector: Add Support for OS X Full Screen Mode
https://bugs.webkit.org/show_bug.cgi?id=123510

Reviewed by Timothy Hatcher.

Source/WebKit/mac:

  • WebCoreSupport/WebInspectorClient.h:
  • WebCoreSupport/WebInspectorClient.mm:

(WebInspectorClient::didResizeMainFrame):
(WebInspectorClient::windowFullScreenDidChange):
(WebInspectorClient::canAttach):
(WebInspectorFrontendClient::canAttach):
(-[WebInspectorWindowController showWindow:]):
Consolidate canAttach logic into canAttach functions.

(-[WebInspectorWindowController window:]):
Share the same full screen behavior as WebKit2.

(-[WebInspectorWindowController windowDidEnterFullScreen:]):
(-[WebInspectorWindowController windowDidExitFullScreen:]):
Attach availability may have changed.

Source/WebKit2:

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::createInspectorWindow):
Allow full screen.

6:34 PM Changeset in webkit [185977] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

[EFL] Make send / receive messages to communicate the Web and UI Processes using Injected Bundle.
https://bugs.webkit.org/show_bug.cgi?id=145685

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

To have extensible port specific API facility using Injected Bundle,
we need to load libewebkit_extension_manager.so in default that is same as what gtk port does.

  • UIProcess/API/efl/ewk_context.cpp:

(EwkContext::EwkContext):
(EwkContext::findOrCreateWrapper):
(bundlePathForExtension):
(EwkContext::create):
(EwkContext::allowSpecificHTTPSCertificateForHost):
(EwkContext::isDefaultBundle):
(ewk_context_default_get):

  • UIProcess/API/efl/ewk_context_private.h:
  • WebProcess/efl/ExtensionManagerEfl.cpp:

(WebKit::ExtensionManagerEfl::initialize):

6:15 PM Changeset in webkit [185976] by Chris Fleizach
  • 8 edits
    2 adds in trunk

AX: improve list heuristics (presentational use versus actual lists)
https://bugs.webkit.org/show_bug.cgi?id=134187

Source/WebCore:

Rolling this change back in.
It was taken out to allow clients to have time to update their expectations of what is a list vs. a group

Test: accessibility/list-detection2.html

  • accessibility/AccessibilityList.cpp:

(WebCore::AccessibilityList::isDescriptionList):
(WebCore::AccessibilityList::childHasPseudoVisibleListItemMarkers):
(WebCore::AccessibilityList::determineAccessibilityRole):

  • accessibility/AccessibilityList.h:

LayoutTests:

Rolling this change back in now that clients have had time to update their expectations.

  • accessibility/list-detection-expected.txt:
  • accessibility/list-detection.html:
  • accessibility/list-detection2-expected.txt: Added.
  • accessibility/list-detection2.html: Added.
  • platform/gtk/accessibility/list-detection-expected.txt:
  • platform/win/TestExpectations:
6:09 PM Changeset in webkit [185975] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after r185964.

Correct a few pointers-that-should-be-references-now errors.

  • platform/win/PopupMenuWin.cpp:

(WebCore::AccessiblePopupMenu::accLocation):
(WebCore::AccessiblePopupMenu::accHitTest):

6:00 PM Changeset in webkit [185974] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Bug 146300 AX: AccessibilityObject focus events that don't cause a selection
change can leave m_isSynchronizingSelection set to true
https://bugs.webkit.org/show_bug.cgi?id=146300

Patch by Doug Russell <d_russell@apple.com> on 2015-06-25
Reviewed by Chris Fleizach.

Added a clearTextSelectionIntent() convenience function to be used after any
event that can, but isn't guaranteed to result in a selection change. Matches
calls to setTextSelectionIntent() convenience function.
Added support for tests listening for focus change notifications.

Source/WebCore:

Test: platform/mac/accessibility/focus-setting-selection-syncronizing-not-clearing.html

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::clearTextSelectionIntent):
(WebCore::AccessibilityRenderObject::setSelectedTextRange):
(WebCore::AccessibilityRenderObject::setFocused):
(WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):

  • accessibility/mac/AXObjectCacheMac.mm:

(WebCore::AXObjectCache::platformHandleFocusedUIElementChanged):

LayoutTests:

  • platform/mac/accessibility/focus-setting-selection-syncronizing-not-clearing-expected.txt: Added.
  • platform/mac/accessibility/focus-setting-selection-syncronizing-not-clearing.html: Added.
5:57 PM Changeset in webkit [185973] by achristensen@apple.com
  • 4 edits in trunk

[Content Extensions] Add a way to match a domain but not subdomains
https://bugs.webkit.org/show_bug.cgi?id=146241
rdar://problem/21557754

Reviewed by Darin Adler.

Source/WebCore:

This patch makes it possible to have a trigger with an if-domain apply to sub2.sub1.webkit.org
but not sub1.webkit.org by making the domains default to only applying to the domain and not subdomains.
To make a domain apply to a domain and any subdomains, the domain must begin with a '*'.

  • contentextensions/CombinedURLFilters.cpp:

(WebCore::ContentExtensions::CombinedURLFilters::addDomain):
(WebCore::ContentExtensions::CombinedURLFilters::addPattern):
Make domains apply only to the exact domain unless there is a * at the beginning,
in which case they apply to the domain and any subdomains.

Tools:

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(TestWebKitAPI::TEST_F):
Update subdomain test because of changed behavior and add test for new '*' functionality.

5:29 PM Changeset in webkit [185972] by Simon Fraser
  • 16 edits in trunk/Source

[iOS WK2] Swiping back just after scrolling can cause some tiles to disappear
https://bugs.webkit.org/show_bug.cgi?id=146329
rdar://problem/21233010

Reviewed by Tim Horton.
Source/WebCore:

Have the Compositing log channel dump the visible rect used for layer flushing.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::flushPendingLayerChanges):

Source/WebKit2:

When doing a back swipe, views interposed between the WKWebView and the WKContentView
get positions and animations for the swipe. This -_updateVisibleContentRects to
compute bad visible and unobscured rects, so we lose tiles.

Fix by "freezing" the visible and unobscured content rects in the view being
swiped for the duration of the navigation gesture. When swiping the main view,
we just plumb through navigationGestureDidEnd(). When Reader is showing and the
swiped view is different from the navigating view, use the new navigationGestureDidEnd()
override which takes no arguments.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _updateVisibleContentRects]):
(-[WKWebView _navigationGestureDidBegin]):
(-[WKWebView _navigationGestureDidEnd]):

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::navigationGestureDidEnd):

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/CoordinatedGraphics/WebView.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::navigationGestureDidEnd):

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

(WebKit::PageClientImpl::navigationGestureDidBegin):
(WebKit::PageClientImpl::navigationGestureDidEnd):

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::endSwipeGesture):

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

(WebKit::PageClientImpl::navigationGestureDidEnd):

4:47 PM Changeset in webkit [185971] by Brent Fulgham
  • 6 edits in trunk

[WIN] Enable WEB_TIMING API
https://bugs.webkit.org/show_bug.cgi?id=146330
<rdar://problem/21530765>

Reviewed by Dean Jackson.

Source/WebCore:

Tested by internal HLS tests.

Enable WEB_TIMING features on Windows by activating the feature flag,
and correcting some build errors.

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::start): "setCollectionTimingData" is only
defined for PLATFORM(COCOA).

  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:

(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse):
The 'ResourceHandle::getConnectionTimingData' method is only defined
for PLATFORM(COCOA).

WebKitLibraries:

Enable WEB_TIMING features on Windows by activating the feature flag,
and correcting some build errors.

  • win/tools/vsprops/FeatureDefines.props: Enable feature flag.
  • win/tools/vsprops/FeatureDefinesCairo.props: Ditto.
4:38 PM Changeset in webkit [185970] by ljaehun.lim@samsung.com
  • 2 edits in trunk/Tools

Cleanup ENABLE_CSS3_CONDITIONAL_RULES codes.
https://bugs.webkit.org/show_bug.cgi?id=146308

Reviewed by Csaba Osztrogonác.

ENABLE_CSS3_CONDITIONAL_RULES guard was removed from r174536.

  • Scripts/webkitperl/FeatureList.pm:
4:13 PM Changeset in webkit [185969] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

Inline media controls disappear when returning a video to inline
https://bugs.webkit.org/show_bug.cgi?id=146328
<rdar://problem/21142862>

Reviewed by Tim Horton.

We were getting into a state where the controls were being
hidden via a timer while we were in fullscreen or on
another tab. Meanwhile, we could exit from such
a condition to a point where the controls were
not visible, but not completely removed from the DOM, confusing
the logic that decided whether to show them on tap.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.hideControls): If we are in the act of hiding
controls, we can clear any existing timers that are going to try
to hide them again.
(Controller.prototype.resetHideControlsTimer): Make sure we null
out the hideTimer object, since we look at its value often to
decide whether or not a timer exists.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.handlePlayButtonTouchEnd): If the user
taps play, then we should call showControls, which resets the hide
timers amongst other things. We need to do this due to the next change,
so that a timer started before we pressed play doesn't cause the
controls to instantly disappear as soon as we start playing.
(ControllerIOS.prototype.handleWrapperTouchStart): We can get into
the state where controls are invisible but still in the tree. Since the
controlsAreHidden() logic only looks for the latter, we need to also
look for invisible when the user taps for the controls. Yes, this
naming doesn't make much sense :(

4:09 PM Changeset in webkit [185968] by Joseph Pecoraro
  • 23 edits in trunk/Source

[Mac] Web Inspector: Window dragging on toolbar should behave more like native window dragging
https://bugs.webkit.org/show_bug.cgi?id=146324

Reviewed by Timothy Hatcher.

Source/WebCore:

  • inspector/InspectorFrontendClient.h:
  • inspector/InspectorFrontendClientLocal.h:

Do nothing or pass it up to the the frontend client.

  • inspector/InspectorFrontendHost.h:
  • inspector/InspectorFrontendHost.idl:
  • inspector/InspectorFrontendHost.cpp:

(WebCore::InspectorFrontendHost::startWindowDrag):
Add a new host function to get native window dragging behavior.

Source/WebInspectorUI:

  • UserInterface/Base/Main.js:

On Mac 10.11 transition to using InspectorFrontendHost.startWindowDrag.
For older Macs continue to use InspectorFrontendHost.moveWindowBy.

  • UserInterface/Protocol/InspectorFrontendHostStub.js:

(WebInspector.InspectorFrontendHostStub.prototype.startWindowDrag):
Add the stub for InspectorFrontendHostStub.

Source/WebKit/mac:

  • WebCoreSupport/WebInspectorClient.h:
  • WebCoreSupport/WebInspectorClient.mm:

(WebInspectorFrontendClient::startWindowDrag):
Start performing a window drag.

Source/WebKit2:

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView _startWindowDrag]):
Add a way to start a window drag from a WKView using the most
recent mouse down event.

  • WebProcess/WebPage/WebInspectorUI.h:
  • WebProcess/WebPage/WebInspectorUI.cpp:

(WebKit::WebInspectorUI::startWindowDrag):
Send a message that we should start a window drag.

  • UIProcess/WebInspectorProxy.messages.in:
  • UIProcess/WebInspectorProxy.h:
  • UIProcess/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::startWindowDrag):
(WebKit::WebInspectorProxy::platformStartWindowDrag):

  • UIProcess/efl/WebInspectorProxyEfl.cpp:

(WebKit::WebInspectorProxy::platformStartWindowDrag):

  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::platformStartWindowDrag):

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::platformStartWindowDrag):
Let the platform start a window drag. Only implemented by Mac.

4:09 PM Changeset in webkit [185967] by timothy_horton@apple.com
  • 7 edits in trunk/Source/WebKit2

[iOS] When using the back swipe gesture in Safari, the previous webpage will flash for a second
https://bugs.webkit.org/show_bug.cgi?id=146326
<rdar://problem/17811304>

Reviewed by Dean Jackson.

  • UIProcess/DrawingAreaProxy.h:

(WebKit::DrawingAreaProxy::hideContentUntilPendingUpdate):
(WebKit::DrawingAreaProxy::hideContentUntilAnyUpdate):
(WebKit::DrawingAreaProxy::hideContentUntilNextUpdate): Deleted.

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

(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
(WebKit::RemoteLayerTreeDrawingAreaProxy::hideContentUntilPendingUpdate):
(WebKit::RemoteLayerTreeDrawingAreaProxy::hideContentUntilAnyUpdate):
(WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy): Deleted.
(WebKit::RemoteLayerTreeDrawingAreaProxy::hideContentUntilNextUpdate): Deleted.
Make it possible to distinguish between hiding the content until *any* commit
comes in (for example, when we're coming back from being suspended and don't want
to show anything until we are sure all the layers are valid) and hiding the content
until the currently pending commit corresponding to the current state in the UI process
has arrived (which is what we want when e.g. hiding content after a gesture navigation
and not showing it until the commit including the navigation lands).

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _hideContentUntilNextUpdate]):

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _applicationWillEnterForeground]):
Make use of "hideContentUntilAnyUpdate".

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::endSwipeGesture):
Make use of "hideContentUntilPendingUpdate".

3:40 PM Changeset in webkit [185966] by timothy_horton@apple.com
  • 6 edits in trunk

Viewport units are wrong when scaled in 2-up mode, cause content to hop around on apple.com/music
https://bugs.webkit.org/show_bug.cgi?id=146322
<rdar://problem/21413884>

Reviewed by Simon Fraser.

  • page/FrameView.cpp:

(WebCore::FrameView::viewportSizeForCSSViewportUnits):
Use the fixed layout size, if enabled, instead of the visibleContentRect,
for the viewport unit size. This ensures that viewport units take up the whole
fixed-layout viewport, not just the size of the view scaled by the page scale
(which visibleContentRect provides).

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::scaleViewToFitDocumentIfNeeded):
Inflate the fixed layout height (by the viewScale) so that it's the size of the view.

  • fast/fixed-layout/fixed-layout-expected.txt:

Rebaseline now that viewport units behave correctly.

3:11 PM Changeset in webkit [185965] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] AirPlay menu button still doesn't always show on page load
https://bugs.webkit.org/show_bug.cgi?id=146325

Reviewed by Dean Jackson.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaState): A player that can't currently play to a wireless

target does require target monitoring if an availability event listner has been registered,
otherwise we may not register for availability change notifications.

3:03 PM Changeset in webkit [185964] by andersca@apple.com
  • 25 edits in trunk/Source/WebCore

Stop using ScrollbarThemeClient and just use Scrollbar directly
https://bugs.webkit.org/show_bug.cgi?id=146320

Reviewed by Tim Horton.

  • page/scrolling/mac/ScrollingStateFrameScrollingNodeMac.mm:

(WebCore::ScrollingStateFrameScrollingNode::setScrollbarPaintersFromScrollbars):

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::setScrollbarOverlayStyle):

  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::Scrollbar):
(WebCore::Scrollbar::~Scrollbar):
(WebCore::Scrollbar::offsetDidChange):
(WebCore::Scrollbar::updateThumb):
(WebCore::Scrollbar::paint):
(WebCore::thumbUnderMouse):
(WebCore::Scrollbar::autoscrollPressedPart):
(WebCore::Scrollbar::startTimerIfNeeded):
(WebCore::Scrollbar::moveThumb):
(WebCore::Scrollbar::setHoveredPart):
(WebCore::Scrollbar::setPressedPart):
(WebCore::Scrollbar::mouseMoved):
(WebCore::Scrollbar::mouseUp):
(WebCore::Scrollbar::mouseDown):
(WebCore::Scrollbar::setEnabled):

  • platform/ScrollbarTheme.h:

(WebCore::ScrollbarTheme::updateEnabledState):
(WebCore::ScrollbarTheme::paint):
(WebCore::ScrollbarTheme::hitTest):
(WebCore::ScrollbarTheme::updateScrollbarOverlayStyle):
(WebCore::ScrollbarTheme::invalidateParts):
(WebCore::ScrollbarTheme::invalidatePart):
(WebCore::ScrollbarTheme::paintTickmarks):
(WebCore::ScrollbarTheme::shouldCenterOnThumb):
(WebCore::ScrollbarTheme::shouldSnapBackToDragOrigin):
(WebCore::ScrollbarTheme::shouldDragDocumentInsteadOfThumb):
(WebCore::ScrollbarTheme::thumbPosition):
(WebCore::ScrollbarTheme::thumbLength):
(WebCore::ScrollbarTheme::trackPosition):
(WebCore::ScrollbarTheme::trackLength):
(WebCore::ScrollbarTheme::registerScrollbar):
(WebCore::ScrollbarTheme::unregisterScrollbar):

  • platform/ScrollbarThemeComposite.cpp:

(WebCore::ScrollbarThemeComposite::paint):
(WebCore::ScrollbarThemeComposite::hitTest):
(WebCore::ScrollbarThemeComposite::invalidatePart):
(WebCore::ScrollbarThemeComposite::splitTrack):
(WebCore::usedTotalSize):
(WebCore::ScrollbarThemeComposite::thumbPosition):
(WebCore::ScrollbarThemeComposite::thumbLength):
(WebCore::ScrollbarThemeComposite::minimumThumbLength):
(WebCore::ScrollbarThemeComposite::trackPosition):
(WebCore::ScrollbarThemeComposite::trackLength):
(WebCore::ScrollbarThemeComposite::thumbRect):

  • platform/ScrollbarThemeComposite.h:

(WebCore::ScrollbarThemeComposite::willPaintScrollbar):
(WebCore::ScrollbarThemeComposite::didPaintScrollbar):
(WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
(WebCore::ScrollbarThemeComposite::paintTrackBackground):
(WebCore::ScrollbarThemeComposite::paintTrackPiece):
(WebCore::ScrollbarThemeComposite::paintButton):
(WebCore::ScrollbarThemeComposite::paintThumb):
(WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):

  • platform/efl/ScrollbarThemeEfl.h:
  • platform/gtk/ScrollbarThemeGtk.cpp:

(WebCore::ScrollbarThemeGtk::hasThumb):
(WebCore::ScrollbarThemeGtk::backButtonRect):
(WebCore::ScrollbarThemeGtk::forwardButtonRect):
(WebCore::ScrollbarThemeGtk::trackRect):
(WebCore::ScrollbarThemeGtk::registerScrollbar):
(WebCore::ScrollbarThemeGtk::unregisterScrollbar):
(WebCore::ScrollbarThemeGtk::updateScrollbarsFrameThickness):
(WebCore::ScrollbarThemeGtk::thumbRect):
(WebCore::ScrollbarThemeGtk::paintTrackBackground):
(WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
(WebCore::ScrollbarThemeGtk::paintThumb):
(WebCore::ScrollbarThemeGtk::paintButton):
(WebCore::ScrollbarThemeGtk::paint):
(WebCore::ScrollbarThemeGtk::shouldCenterOnThumb):
(WebCore::ScrollbarThemeGtk::buttonSize):
(WebCore::ScrollbarThemeGtk::minimumThumbLength):

  • platform/gtk/ScrollbarThemeGtk.h:

(WebCore::ScrollbarThemeGtk::hasButtons):

  • platform/ios/ScrollbarThemeIOS.h:
  • platform/ios/ScrollbarThemeIOS.mm:

(WebCore::ScrollbarThemeIOS::registerScrollbar):
(WebCore::ScrollbarThemeIOS::unregisterScrollbar):
(WebCore::ScrollbarThemeIOS::hasButtons):
(WebCore::ScrollbarThemeIOS::hasThumb):
(WebCore::ScrollbarThemeIOS::backButtonRect):
(WebCore::ScrollbarThemeIOS::forwardButtonRect):
(WebCore::ScrollbarThemeIOS::trackRect):
(WebCore::ScrollbarThemeIOS::minimumThumbLength):
(WebCore::ScrollbarThemeIOS::shouldCenterOnThumb):
(WebCore::ScrollbarThemeIOS::paint):

  • platform/mac/ScrollAnimatorMac.mm:

(scrollbarPainterForScrollbar):
(-[WebScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
(-[WebScrollbarPartAnimation startAnimation]):
(-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
(-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:animateAlphaTo:duration:]):
(-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
(-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
(-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
(-[WebScrollbarPainterDelegate scrollerImp:animateExpansionTransitionWithDuration:]):
(WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
(WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
(WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
(WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
(WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
(WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
(WebCore::ScrollAnimatorMac::invalidateScrollbarPartLayers):
(WebCore::ScrollAnimatorMac::verticalScrollbarLayerDidChange):
(WebCore::ScrollAnimatorMac::horizontalScrollbarLayerDidChange):
(WebCore::ScrollAnimatorMac::shouldScrollbarParticipateInHitTesting):
(WebCore::ScrollAnimatorMac::updateScrollerStyle):

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

(WebCore::ScrollbarThemeMac::registerScrollbar):
(WebCore::ScrollbarThemeMac::unregisterScrollbar):
(WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
(WebCore::ScrollbarThemeMac::painterForScrollbar):
(WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
(WebCore::ScrollbarThemeMac::hasButtons):
(WebCore::ScrollbarThemeMac::hasThumb):
(WebCore::ScrollbarThemeMac::backButtonRect):
(WebCore::ScrollbarThemeMac::forwardButtonRect):
(WebCore::ScrollbarThemeMac::trackRect):
(WebCore::ScrollbarThemeMac::minimumThumbLength):
(WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
(WebCore::ScrollbarThemeMac::shouldDragDocumentInsteadOfThumb):
(WebCore::ScrollbarThemeMac::updateEnabledState):
(WebCore::ScrollbarThemeMac::setPaintCharacteristicsForScrollbar):
(WebCore::ScrollbarThemeMac::paint):

  • platform/mock/ScrollbarThemeMock.cpp:

(WebCore::ScrollbarThemeMock::trackRect):
(WebCore::ScrollbarThemeMock::paintTrackBackground):
(WebCore::ScrollbarThemeMock::paintThumb):

  • platform/mock/ScrollbarThemeMock.h:

(WebCore::ScrollbarThemeMock::hasButtons): Deleted.
(WebCore::ScrollbarThemeMock::hasThumb): Deleted.
(WebCore::ScrollbarThemeMock::backButtonRect): Deleted.
(WebCore::ScrollbarThemeMock::forwardButtonRect): Deleted.
(WebCore::ScrollbarThemeMock::maxOverlapBetweenPages): Deleted.
(WebCore::ScrollbarThemeMock::isMockTheme): Deleted.

  • platform/win/ScrollbarThemeSafari.cpp:

(WebCore::ScrollbarThemeSafari::hasButtons):
(WebCore::ScrollbarThemeSafari::hasThumb):
(WebCore::ScrollbarThemeSafari::backButtonRect):
(WebCore::ScrollbarThemeSafari::forwardButtonRect):
(WebCore::ScrollbarThemeSafari::trackRect):
(WebCore::ScrollbarThemeSafari::minimumThumbLength):
(WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
(WebCore::ScrollbarThemeSafari::paintTrackBackground):
(WebCore::ScrollbarThemeSafari::paintButton):
(WebCore::ScrollbarThemeSafari::paintThumb):

  • platform/win/ScrollbarThemeSafari.h:
  • platform/win/ScrollbarThemeWin.cpp:

(WebCore::ScrollbarThemeWin::hasThumb):
(WebCore::ScrollbarThemeWin::backButtonRect):
(WebCore::ScrollbarThemeWin::forwardButtonRect):
(WebCore::ScrollbarThemeWin::trackRect):
(WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
(WebCore::ScrollbarThemeWin::shouldSnapBackToDragOrigin):
(WebCore::ScrollbarThemeWin::paintTrackBackground):
(WebCore::ScrollbarThemeWin::paintTrackPiece):
(WebCore::ScrollbarThemeWin::paintButton):
(WebCore::paintGripper):
(WebCore::ScrollbarThemeWin::paintThumb):

  • platform/win/ScrollbarThemeWin.h:
  • rendering/RenderScrollbar.h:

(isType):

  • rendering/RenderScrollbarPart.cpp:

(WebCore::RenderScrollbarPart::styleDidChange):
(WebCore::RenderScrollbarPart::imageChanged):

  • rendering/RenderScrollbarTheme.cpp:

(WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
(WebCore::RenderScrollbarTheme::hasButtons):
(WebCore::RenderScrollbarTheme::hasThumb):
(WebCore::RenderScrollbarTheme::minimumThumbLength):
(WebCore::RenderScrollbarTheme::backButtonRect):
(WebCore::RenderScrollbarTheme::forwardButtonRect):
(WebCore::RenderScrollbarTheme::trackRect):
(WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
(WebCore::RenderScrollbarTheme::willPaintScrollbar):
(WebCore::RenderScrollbarTheme::didPaintScrollbar):
(WebCore::RenderScrollbarTheme::paintScrollbarBackground):
(WebCore::RenderScrollbarTheme::paintTrackBackground):
(WebCore::RenderScrollbarTheme::paintTrackPiece):
(WebCore::RenderScrollbarTheme::paintButton):
(WebCore::RenderScrollbarTheme::paintThumb):
(WebCore::RenderScrollbarTheme::paintTickmarks):

  • rendering/RenderScrollbarTheme.h:
2:44 PM Changeset in webkit [185963] by mrajca@apple.com
  • 3 edits in trunk/Source/WebCore

MediaSession: fall back to "content" kind when an unsupported media session kind is passed in
https://bugs.webkit.org/show_bug.cgi?id=146293

Reviewed by Eric Carlson.

  • Modules/mediasession/MediaSession.cpp:

(WebCore::MediaSession::parseKind): Parse the media session kind to one of the four supported types.
(WebCore::MediaSession::MediaSession):
(WebCore::MediaSession::kind): Format the value as a string (which the JS bindings expect).

  • Modules/mediasession/MediaSession.h: The media session kind is now stored as an enum rather than a string since we only support a small, fixed number of values.
2:00 PM Changeset in webkit [185962] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] Crash in WebCore::MediaPlayer::canPlayToWirelessPlaybackTarget
https://bugs.webkit.org/show_bug.cgi?id=146317

Reviewed by Brent Fulgham.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaState): NULL-check m_player before using it.

1:57 PM Changeset in webkit [185961] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

[WK2][iOS] Drop WebKitNetworkCacheTemporarilyDisabledForTesting NSUserDefaults
https://bugs.webkit.org/show_bug.cgi?id=146323
<rdar://problem/21552370>

Reviewed by Antti Koivisto.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::isNetworkCacheEnabled):

1:53 PM Changeset in webkit [185960] by commit-queue@webkit.org
  • 11 edits in trunk/Source

Unreviewed, rolling out r185956.
https://bugs.webkit.org/show_bug.cgi?id=146321

Causes massive crashes on test bots (Requested by bfulgham on
#webkit).

Reverted changeset:

"Enabling MEDIA_STREAM"
https://bugs.webkit.org/show_bug.cgi?id=145947
http://trac.webkit.org/changeset/185956

1:48 PM Changeset in webkit [185959] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Minor fix to idx bounds check after 185954

Rubber Stamped by Ryosuke Niwa.

Changed "idx > 1" to "idx > 0" in two places.

  • runtime/ExceptionHelpers.cpp:

(JSC::functionCallBase):

12:37 PM Changeset in webkit [185958] by Brent Fulgham
  • 9 edits in trunk/Source/WebCore

[Win] Update MediaPlayerPrivateAVFoundationCF::supportsType
https://bugs.webkit.org/show_bug.cgi?id=146302
<rdar://problem/19726553>

Reviewed by Eric Carlson.

Tested by existing media tests.

Update the AVFoundationCF version of 'supportsType' to more closely match the AVFoundation
version. Use this new code when the necessary AVFoundationCF functions are present.

  • AVFoundationSupport.py: Check for presence of AVCFURLAssetIsPlayableExtendedMIMEType.

(fileContains): Added helper function.

  • WebCore.vcxproj/WebCoreGenerated.vcxproj: Add AVFoundationSupport.py to project file to make

maintenance easier.

  • WebCore.vcxproj/WebCoreGenerated.vcxproj.filters: Ditto.
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::isUnsupportedMIMEType): Moved from ObjC version.
(WebCore::MediaPlayerPrivateAVFoundation::staticMIMETypeList): Ditto.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  • platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Add missing declaration.
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::avfMIMETypes): Added CF version of AVFoundation code.
(WebCore::MediaPlayerPrivateAVFoundationCF::supportsType): Update to use new AVCF
method if it is available.
(WebCore::MediaPlayerPrivateAVFoundationCF::languageOfPrimaryAudioTrack): Handle case of a
null language locale. This is a drive-by fix of a bug found during testing.

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

(WebCore::isUnsupportedMIMEType): Deleted.
(WebCore::staticMIMETypeList): Deleted.

12:22 PM Changeset in webkit [185957] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Address Sanitizer does not play well with memcpy in JSC::MachineThreads::tryCopyOtherThreadStack.
https://bugs.webkit.org/show_bug.cgi?id=146297

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

Since we cannot blacklist the system memcpy we must use our own naive implementation,
copyMemory. This is not a significant performance loss as tryCopyOtherThreadStack is
only called as part of an O(heapsize) operation. As the heap is generally much larger
than the stack the performance hit is minimal.

  • heap/MachineStackMarker.cpp:

(JSC::copyMemory):
(JSC::MachineThreads::tryCopyOtherThreadStack):
(JSC::asanUnsafeMemcpy): Deleted.

11:39 AM Changeset in webkit [185956] by Brent Fulgham
  • 11 edits in trunk/Source

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

Patch by Matthew Daiter <mdaiter@apple.com> on 2015-06-25
Reviewed by Brent Fulgham.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Modules/mediastream/UserMediaClient.h:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/mediastream/mac/AVAudioCaptureSource.mm:
  • platform/mock/UserMediaClientMock.h:
10:42 AM Changeset in webkit [185955] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Do not send touch events to the slider's thumb when it does not have a renderer.
https://bugs.webkit.org/show_bug.cgi?id=146307
rdar://problem/21539399

Reviewed by Simon Fraser.

Bail out early if either the touch target or the renderer() is null.

Source/WebCore:

Test: fast/events/touch/input-range-with-thumb-display-none-crash.html

  • html/shadow/SliderThumbElement.cpp:

(WebCore::findTouchWithIdentifier):
(WebCore::SliderThumbElement::handleTouchStart):
(WebCore::SliderThumbElement::handleTouchMove):
(WebCore::SliderThumbElement::handleTouchEndAndCancel):

LayoutTests:

  • fast/events/touch/input-range-with-thumb-display-none-crash-expected.txt: Added.
  • fast/events/touch/input-range-with-thumb-display-none-crash.html: Added.
10:35 AM Changeset in webkit [185954] by msaboff@apple.com
  • 3 edits
    3 adds in trunk

REGRESSION (r181889): basspro.com hangs on load under JSC::ErrorInstance::finishCreation(JSC::ExecState*, JSC::VM&, WTF::String const&, bool) + 2801 (JavaScriptCore + 3560689)
https://bugs.webkit.org/show_bug.cgi?id=146298

Reviewed by Mark Lam.

Source/JavaScriptCore:

We were underflowing in ExceptionHelpers.cpp::functionCallBase() with a right to left
string index. Added checks that idx stays within the string. Also added a termination
condition when idx is 0.

  • runtime/ExceptionHelpers.cpp:

(JSC::functionCallBase):

LayoutTests:

New regression test.

  • js/regress-146298-expected.txt: Added.
  • js/regress-146298.html: Added.
  • js/script-tests/regress-146298.js: Added.
5:37 AM Changeset in webkit [185953] by youenn.fablet@crf.canon.fr
  • 8 edits in trunk

[Streams API] Implement HighWaterMark
https://bugs.webkit.org/show_bug.cgi?id=146235

Reviewed by Darin Adler.

Source/WebCore:

Retrieval of HighWaterMark parameter from arguments passed to the ReadableStream JS constructor.
Retrieval of size function callback from arguments passed to the ReadableStream JS constructor.
Calling doPull() if buffer size is below HighWaterMark.

Covered by rebased tests.

  • Modules/streams/ReadableStream.cpp:

(WebCore::ReadableStream::pull): Adding precise check for HWM.

  • Modules/streams/ReadableStream.h: Introducing hasEnoughValues.
  • bindings/js/ReadableJSStream.cpp:

(WebCore::getHighWaterMark): Utility routine to get properly HWM value.
(WebCore::ReadableJSStream::create): Retrieval of HWM and size function.
(WebCore::ReadableJSStream::ReadableJSStream):

  • bindings/js/ReadableJSStream.h: Adding hasEnoughValues and desiredSize prototypes.

LayoutTests:

  • streams/reference-implementation/bad-strategies-expected.txt:
  • streams/reference-implementation/readable-stream-expected.txt:
12:55 AM Changeset in webkit [185952] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Crash in ViewGestureController::didRestoreScrollPosition() running WKWebView.LoadAlternateHTMLStringFromProvisionalLoadError test
https://bugs.webkit.org/show_bug.cgi?id=146309
<rdar://problem/21476651>

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didCommitLayerTree:]):
Null-check. _gestureController can be null if allowsBackForwardNavigationGestures is NO.

12:54 AM Changeset in webkit [185951] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Try to fix the iOS EWS build.

  • platform/spi/cocoa/SecuritySPI.h:
12:51 AM Changeset in webkit [185950] by Carlos Garcia Campos
  • 12 edits
    3 adds in trunk

[GTK] Add initial WebKitWebsiteDataManager API for process configuration options
https://bugs.webkit.org/show_bug.cgi?id=146149

Reviewed by Sergio Villar Senin.

Source/WebKit2:

Add WebKitWebsiteDataManager to replace the different ways we have
to configure data store
directories. WebKitWebContext:indexed-db-directory property has
been removed, since it was added only in trunk, and
WebKitWebContext:local-storage-directory has been deprecated. The
method webkit_web_context_set_disk_cache_directory() has been
deprecated too in favor of WebKitWebsiteDataManager.

  • PlatformGTK.cmake: Add new files to compilation.
  • UIProcess/API/gtk/WebKitPrivate.h: Move networkCacheSubdirectory

definition here.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkitWebContextGetProperty): Replace indexed-db-directory getter
with website-data-manager one.
(webkitWebContextSetProperty): Replace indexed-db-directory setter
with website-data-manager one.
(webkitWebContextConstructed): Use the user provided
WebKitWebsiteDataManager to configure the context or create a
default WebKitWebsiteDataManager if not provided.
(webkit_web_context_class_init): Replace indexed-db-directory
property with website-data-manager.
(webkit_web_context_new_with_website_data_manager):
(webkit_web_context_get_website_data_manager):
(webkitWebContextCreatePageForWebView): Get the WebsiteDataStore
from the WebKitWebsiteDataManager.

  • UIProcess/API/gtk/WebKitWebContext.h:
  • UIProcess/API/gtk/WebKitWebsiteDataManager.cpp: Added.

(webkitWebsiteDataManagerGetProperty):
(webkitWebsiteDataManagerSetProperty):
(webkit_website_data_manager_class_init):
(webkitWebsiteDataManagerCreate):
(webkitWebsiteDataManagerGetDataStore):
(webkit_website_data_manager_new):
(webkit_website_data_manager_get_local_storage_directory):
(webkit_website_data_manager_get_disk_cache_directory):
(webkit_website_data_manager_get_offline_application_cache_directory):
(webkit_website_data_manager_get_indexeddb_directory):
(webkit_website_data_manager_get_websql_directory):

  • UIProcess/API/gtk/WebKitWebsiteDataManager.h: Added.
  • UIProcess/API/gtk/WebKitWebsiteDataManagerPrivate.h: Added.
  • UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add new symbols.
  • UIProcess/API/gtk/docs/webkit2gtk-4.0.types: Add webkit_website_data_manager_get_type.
  • UIProcess/API/gtk/webkit2.h: Include WebKitWebsiteDataManager.h.

Tools:

Update unit tests to use WebKitWebsiteDataManager.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:

(testWebContextConfiguration):
(serverCallback):

  • TestWebKitAPI/gtk/WebKit2Gtk/TestMain.h:

(Test::Test): Use WebKitWebsiteDataManager and set all possible
values to ensure unit tests don't write outside the temporary directory.
(Test::~Test): Explicitly reset the web context to ensure its
objects are released before the leaks check.

  • TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:

(WebViewTest::wait): Fix the GSource used, since we are receiving
a double in seconds, but using g_timeout_add_seconds() that
expects an unsigned in seconds. Use GMainLoopSource to correctly
handle the value and simplify the code.

12:15 AM Changeset in webkit [185949] by Carlos Garcia Campos
  • 7 edits
    1 copy in trunk/Source/WebKit2

[GTK] Do not use legacy data store options in WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=146145

Reviewed by Gustavo Noronha Silva.

Use a custom WebsiteDataStore in WebKitWebContext, configured with
the context options, and passed to every page created. This is in
preparation for exposing WebsiteDataStore in the public API.

  • PlatformGTK.cmake: Add APIWebsiteDataStore.cpp to compilation.
  • UIProcess/API/APIWebsiteDataStore.cpp:
  • UIProcess/API/gtk/APIWebsiteDataStoreGtk.cpp:

(API::WebsiteDataStore::defaultApplicationCacheDirectory):
(API::WebsiteDataStore::defaultNetworkCacheDirectory):
(API::WebsiteDataStore::defaultIndexedDBDatabaseDirectory):
(API::WebsiteDataStore::defaultLocalStorageDirectory):
(API::WebsiteDataStore::defaultMediaKeysStorageDirectory):
(API::WebsiteDataStore::defaultWebSQLDatabaseDirectory):
(API::WebsiteDataStore::cacheDirectoryFileSystemRepresentation):
(API::WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation):
(API::WebsiteDataStore::defaultDataStoreConfiguration):

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(websiteDataStoreConfigurationForWebProcessPoolConfiguration):
Helper function to create the WebsiteDataStore configuration with
the WebProcessPool configuration options.
(webkitWebContextConstructed): Do not create a
WebProcessPoolConfiguration with legacy options and create a WebsiteDataStore.
(webkitWebContextCreatePageForWebView): Set the WebsiteDataStore
and session ID in web page configuration.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseCreate): Create a WebPageConfiguration for the
given options and pass it to webkitWebViewBaseCreateWebPage.
(webkitWebViewBaseCreateWebPage): It receives now a
WebPageConfiguration, instead of creating it based on the given parameters.

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  • UIProcess/gtk/WebProcessPoolGtk.cpp: Use WebsiteDataStore default configuration.

(WebKit::WebProcessPool::legacyPlatformDefaultApplicationCacheDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultWebSQLDatabaseDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultIndexedDBDatabaseDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultLocalStorageDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultMediaKeysStorageDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultNetworkCacheDirectory):

12:13 AM Changeset in webkit [185948] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GTK] Empty gtk-font-name setting causes WebProcess crash rendering pages
https://bugs.webkit.org/show_bug.cgi?id=146246

Reviewed by Sergio Villar Senin.

Return early if system font is empty.

  • rendering/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::updateCachedSystemFontDescription):

Note: See TracTimeline for information about the timeline view.