Timeline



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):

Jun 24, 2015:

10:32 PM Changeset in webkit [185947] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed gardening, test rebaseline on Windows after r185934.

  • platform/win/fast/css/apple-system-colors-expected.txt:
10:20 PM Changeset in webkit [185946] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed, EFL build fix after r185940.

Members were initialized in wrong order.

  • Modules/mediastream/MediaDeviceInfo.cpp:

(WebCore::MediaDeviceInfo::MediaDeviceInfo):

10:11 PM Changeset in webkit [185945] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed, Build fix after r185940.

Move implementation inside WebCore namespace.

  • Modules/mediastream/MediaDeviceInfo.cpp:
10:02 PM Changeset in webkit [185944] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed, speculative GTK build fix after 185940.

Add new cpp file to CMakeLists.txt.

  • CMakeLists.txt:
9:49 PM Changeset in webkit [185943] by Chris Dumez
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, speculative build fix after r185942.

Add missing include for StrongInlines.h.

  • runtime/ArrayPrototype.cpp:
9:32 PM Changeset in webkit [185942] by Darin Adler
  • 3 edits in trunk/Source/JavaScriptCore

Optimize Array.join and Array.reverse for high speed array types
https://bugs.webkit.org/show_bug.cgi?id=146275

Reviewed by Mark Lam.

This seems to yield another 17% speed improvement in the array
test from the Peacekeeper benchmark.

  • runtime/ArrayPrototype.cpp:

(JSC::isHole): Added. Helper to check for holes.
(JSC::containsHole): Ditto.
(JSC::arrayProtoFuncJoin): Added special cases for the various types
of arrays that could be in a butterfly.
(JSC::arrayProtoFuncReverse): Ditto.

  • runtime/JSStringJoiner.h: Made appendEmptyString public so we can

call it from the new parts of Array.join.

9:06 PM Changeset in webkit [185941] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

DFG::SpeculativeJIT shouldn't use filter==Contradiction when it meant isClear
https://bugs.webkit.org/show_bug.cgi?id=146291
rdar://problem/21435366

Reviewed by Michael Saboff.

The filter() method returns Contradiction only when a value *becomes* clear. This is
necessary for supporting the convention that non-JSValue nodes have a bottom proved
type. (We should fix that convention eventually, but for now let's just be consistent
about it.)

  • dfg/DFGFiltrationResult.h: Document the issue.
  • dfg/DFGSpeculativeJIT32_64.cpp: Work around the issue.

(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):

  • dfg/DFGSpeculativeJIT64.cpp: Work around the issue.

(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt52):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):

6:15 PM Changeset in webkit [185940] by commit-queue@webkit.org
  • 4 edits
    3 adds in trunk/Source/WebCore

Building MediaDeviceInfo for enumerateDevices
https://bugs.webkit.org/show_bug.cgi?id=146257
<rdar://problem/21513462>

Patch by Matt Daiter <mdaiter@apple.com> on 2015-06-24
Reviewed by Eric Carlson.

MediaDeviceInfo necessary for enumerateDevices

  • CMakeLists.txt: Added MediaDevicesInfo.idl
  • DerivedSources.make: Added MediaDevicesInfo.idl
  • Modules/mediastream/MediaDeviceInfo.h: Created class for MediaDevicesInfo

(WebCore::MediaDeviceInfo::create): Allocates class
(WebCore::MediaDeviceInfo::MediaDeviceInfo): Creates class for public
(WebCore::MediaDeviceInfo::~MediaDeviceInfo):
(WebCore::MediaDeviceInfo::label):
(WebCore::MediaDeviceInfo::deviceId):
(WebCore::MediaDeviceInfo::groupId):
(WebCore::MediaDeviceInfo::kind):

  • Modules/mediastream/MediaDeviceInfo.idl:
  • WebCore.xcodeproj/project.pbxproj:
5:35 PM Changeset in webkit [185939] by andersca@apple.com
  • 5 edits in trunk/Source

Detect view services by using the "com.apple.UIKit.vends-view-services" entitlement
https://bugs.webkit.org/show_bug.cgi?id=146301

Reviewed by Tim Horton.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • platform/spi/cocoa/SecuritySPI.h:

Source/WebKit2:

  • UIProcess/ApplicationStateTracker.mm:

(WebKit::hasEntitlement):
(WebKit::isViewService):

5:33 PM Changeset in webkit [185938] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.35.2.4/Source

Versioning.

5:26 PM Changeset in webkit [185937] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.35.2.4

New tag.

4:56 PM Changeset in webkit [185936] by andersca@apple.com
  • 5 edits
    1 move in trunk/Source/WebKit2

WebContent process is unreponsive/idle when WKWebView is inside a view service.
https://bugs.webkit.org/show_bug.cgi?id=146296

Reviewed by Tim Horton.

  • Platform/spi/ios/AssertionServicesSPI.h: Renamed from Source/WebKit2/Platform/spi/ios/BKSProcessAssertionSPI.h.

Rename this and add SPI for BKSApplicationStateMonitor.

  • Platform/spi/ios/UIKitSPI.h:

Add _UIApplicationIsExtension SPI.

  • UIProcess/ApplicationStateTracker.mm:

(WebKit::isViewService):
Return whether we're an extension or the safari view controller service.

(WebKit::isBackgroundState):
Helper function that returns whether a given BKSApplicationState is a background state.

(WebKit::ApplicationStateTracker::ApplicationStateTracker):
If we're a view service, create a BKSApplicationStateMonitor and listen for state changes for our pid.

  • UIProcess/ios/ProcessAssertionIOS.mm:

Update #import.

  • WebKit2.xcodeproj/project.pbxproj:

Update for rename.

4:54 PM Changeset in webkit [185935] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Pressing tab in the styles sidebar shouldn't insert a tab character
https://bugs.webkit.org/show_bug.cgi?id=146189

Patch by Devin Rousso <Devin Rousso> on 2015-06-24
Reviewed by Timothy Hatcher.

  • UserInterface/Controllers/CodeMirrorCompletionController.js: Added variable to control whether semicolons are added to the end of autocompleted css values.

(WebInspector.CodeMirrorCompletionController):
(WebInspector.CodeMirrorCompletionController.prototype.set noEndingSemicolon):
(WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions):

  • UserInterface/Views/CSSStyleDeclarationSection.js:

(WebInspector.CSSStyleDeclarationSection):
(WebInspector.CSSStyleDeclarationSection.prototype.cssStyleDeclarationTextEditorSwitchRule):
(WebInspector.CSSStyleDeclarationSection.prototype.focusRuleSelector):
(WebInspector.CSSStyleDeclarationSection.prototype.selectLastProperty):
(WebInspector.CSSStyleDeclarationSection.prototype.get selectorLocked):
(WebInspector.CSSStyleDeclarationSection.prototype.get locked):
(WebInspector.CSSStyleDeclarationSection.prototype._handleKeyDown):

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor): Added functions for "Tab", "Shift-Tab", and "Shift-Enter" keypresses to improve usability.
(WebInspector.CSSStyleDeclarationTextEditor.prototype.selectFirstProperty): Highlights the first property.
(WebInspector.CSSStyleDeclarationTextEditor.prototype.selectLastProperty): Highlights the last property.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._insertNewlineAfterCurrentLine): Inserts a newline after the currently selected line.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey.switchRule):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleShiftTabKey): Pressing shift-tab will move the cursor to the previous non-word character that is immediately after a word character.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey.switchRule):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey.highlightNextNameOrValue):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._handleTabKey): Pressing tab will move the cursor to each space character until the end of the line is reached, at
which point the cursor will move to the beginning of the next line. Once the cursor is at the last line, pressing tab again will insert a newline.

  • UserInterface/Views/RulesStyleDetailsPanel.js:

(WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorNextRule): Switches the focused rule to the next section.
(WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorPrevRule): Switches the focused rule to the previous section.

4:48 PM Changeset in webkit [185934] by commit-queue@webkit.org
  • 13 edits in trunk

Add a new color -apple-wireless-playback-target-active
https://bugs.webkit.org/show_bug.cgi?id=146269
<rdar://problem/21465189>

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-06-24
Reviewed by Dean Jackson.

Source/WebCore:

At the moment we use -apple-system-blue to indicate an Airplay route is
active. This might not always be blue, so we need to add another system
color with a name that will allow us to change the underlying color.
Initially -apple-wireless-playback-target-active will be an alias to
-apple-system-blue.

Existing tests are modified to include the new color value.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.updateWirelessTargetPickerButton):

  • Modules/mediacontrols/mediaControlsiOS.css:

(video::-webkit-media-controls-wireless-playback-picker-button.playing):
Use the new color value in the media controls.

  • css/CSSParser.cpp:

(WebCore::isAppleLegacyCssValueKeyword): Returns true if the value keyword
has an '-apple' prefix which has to be replaced by '-webkit'

(WebCore::cssValueKeywordID): Call a new function which handles all the
'-apple' legacy keywords.

  • css/CSSValueKeywords.in: Define the new color keyword.
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::systemColor):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::systemColor):
Define the value of the new color keyword to be an alias of systemBlueColor.

LayoutTests:

Modify existing tests to include the new color value.

  • fast/css/apple-system-colors-expected.txt:
  • fast/css/apple-system-colors.html:
  • platform/ios-simulator/fast/css/apple-system-colors-expected.txt:
  • platform/mac-mavericks/fast/css/apple-system-colors-expected.txt:
  • platform/mac/fast/css/apple-system-colors-expected.txt:
4:44 PM Changeset in webkit [185933] by Joseph Pecoraro
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: console.group looks poor in console
https://bugs.webkit.org/show_bug.cgi?id=146295

Reviewed by Timothy Hatcher.

  • Localizations/en.lproj/localizedStrings.js:

String for the default group name if you use console.group() without a name parameter.

  • UserInterface/Views/LogContentView.css:

(.console-group-title::before):
Tweak the positioning and eliminate the log level ::before image.

  • UserInterface/Views/ConsoleMessageView.js:

(WebInspector.ConsoleMessageView):
Reorder a bit to reduce a couple branches.

(WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
Take a very straightforward approach for group names.

3:50 PM Changeset in webkit [185932] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Crash on gog.com due to PolymorphicCallNode's having stale references to CallLinkInfo
https://bugs.webkit.org/show_bug.cgi?id=146285

Reviewed by Filip Pizlo.

CallLinkInfo's contain a RefPtr to a PolymorphicCallStubRoutine, named stub, which contains
a collection of PolymorphicCallNode. Those PolymorphicCallNodes have a reference back to the
CallLinkInfo. When a CallLinkInfo replaces or clears "stub", the ref count of the
PolymorphicCallStubRoutine is decremented as expected, but since it inherits from
GCAwareJITStubRoutine, it isn't actually deleted until GC. In the mean time, the original
CallLinkInfo can go away. If PolymorphicCallNode::unlink() is called at that point,
it will try to unlink a now deleted CallLinkInfo and crash as a result.

The fix is to clear the CallLinkInfo references from any PolymorphicCallNode objects when
when we set a new stub or clear an existing stub for a CallLinkInfo. This is done by
calling PolymorphicCallNode::clearCallNodesFor() on the old stub.

The prior code would only call clearCallNodesFor() from the CallLinkInfo destructor.
This only took care of the last PolymorphicCallStubRoutine held in the CallLinkInfo.
Any prior PolymorphicCallStubRoutine would still have a, now bad, reference to the CallLinkInfo.

In the process I refactored CallLinkInfo from a struct to a class with proper accessors and
made all the data elements private.

  • bytecode/CallLinkInfo.cpp:

(JSC::CallLinkInfo::clearStub): Updated to call PolymorphicCallStubRoutine::clearCallNodesFor()
to clear the back references to this CallLinkInfo.

  • bytecode/CallLinkInfo.h:

(JSC::CallLinkInfo::~CallLinkInfo): Moved clearCallNodesFor() call to clearStub().
(JSC::CallLinkInfo::setStub): Clear any prior stub before changing to the new stub.

3:41 PM Changeset in webkit [185931] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Work towards: Add status of Safari projects on iOS Dashboard on build-safari
https://bugs.webkit.org/show_bug.cgi?id=146126
<rdar://problem/18226291>

Patch by Jason Marcell <jmarcell@apple.com> on 2015-06-24
Reviewed by Alexey Proskuryakov.

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

(documentReady): Using combined queues to display iOS projects

3:37 PM Changeset in webkit [185930] by msaboff@apple.com
  • 21 edits in trunk/Source/JavaScriptCore

Refactor CallLinkInfo from a struct to a class
https://bugs.webkit.org/show_bug.cgi?id=146292

Rubber stamped by Filip Pizlo.

Refactored CallLinkInfo from a struct to a class with proper accessors and made all the
data elements private.

Done in preparation for fixing https://bugs.webkit.org/show_bug.cgi?id=146285.

  • bytecode/CallLinkInfo.cpp:

(JSC::CallLinkInfo::clearStub):
(JSC::CallLinkInfo::unlink):
(JSC::CallLinkInfo::visitWeak):

  • bytecode/CallLinkInfo.h:

(JSC::CallLinkInfo::callTypeFor):
(JSC::CallLinkInfo::CallLinkInfo):
(JSC::CallLinkInfo::~CallLinkInfo):
(JSC::CallLinkInfo::specializationKindFor):
(JSC::CallLinkInfo::specializationKind):
(JSC::CallLinkInfo::isLinked):
(JSC::CallLinkInfo::setUpCall):
(JSC::CallLinkInfo::setCallLocations):
(JSC::CallLinkInfo::setUpCallFromFTL):
(JSC::CallLinkInfo::callReturnLocation):
(JSC::CallLinkInfo::hotPathBegin):
(JSC::CallLinkInfo::hotPathOther):
(JSC::CallLinkInfo::setCallee):
(JSC::CallLinkInfo::clearCallee):
(JSC::CallLinkInfo::callee):
(JSC::CallLinkInfo::setLastSeenCallee):
(JSC::CallLinkInfo::clearLastSeenCallee):
(JSC::CallLinkInfo::lastSeenCallee):
(JSC::CallLinkInfo::haveLastSeenCallee):
(JSC::CallLinkInfo::setStub):
(JSC::CallLinkInfo::stub):
(JSC::CallLinkInfo::seenOnce):
(JSC::CallLinkInfo::clearSeen):
(JSC::CallLinkInfo::setSeen):
(JSC::CallLinkInfo::hasSeenClosure):
(JSC::CallLinkInfo::setHasSeenClosure):
(JSC::CallLinkInfo::clearedByGC):
(JSC::CallLinkInfo::setCallType):
(JSC::CallLinkInfo::callType):
(JSC::CallLinkInfo::addressOfMaxNumArguments):
(JSC::CallLinkInfo::maxNumArguments):
(JSC::CallLinkInfo::offsetOfSlowPathCount):
(JSC::CallLinkInfo::setCalleeGPR):
(JSC::CallLinkInfo::calleeGPR):
(JSC::CallLinkInfo::slowPathCount):
(JSC::CallLinkInfo::setCodeOrigin):
(JSC::CallLinkInfo::codeOrigin):
(JSC::getCallLinkInfoCodeOrigin):

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFor):
(JSC::CallLinkStatus::computeFromCallLinkInfo):
(JSC::CallLinkStatus::computeDFGStatuses):

  • bytecode/CallLinkStatus.h:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::printCallOp):
(JSC::CodeBlock::getCallLinkInfoForBytecodeIndex):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::reifyInlinedCallFrames):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

  • ftl/FTLJSCallBase.cpp:

(JSC::FTL::JSCallBase::link):

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

(JSC::JIT::privateCompile):

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

(JSC::JIT::compileSetupVarargsFrame):
(JSC::JIT::compileOpCall):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileSetupVarargsFrame):
(JSC::JIT::compileOpCall):

  • jit/JITOperations.cpp:
  • jit/PolymorphicCallStubRoutine.cpp:

(JSC::PolymorphicCallNode::unlink):
(JSC::PolymorphicCallNode::clearCallLinkInfo):

  • jit/PolymorphicCallStubRoutine.h:
  • jit/Repatch.cpp:

(JSC::generateByIdStub):
(JSC::linkSlowFor):
(JSC::linkFor):
(JSC::revertCall):
(JSC::unlinkFor):
(JSC::linkPolymorphicCall):

  • jit/ThunkGenerators.cpp:

(JSC::virtualForThunkGenerator):

3:36 PM Changeset in webkit [185929] by mrajca@apple.com
  • 11 edits in trunk/Source

MediaSession: propagate MediaSessionMetadata to WebPageProxy
https://bugs.webkit.org/show_bug.cgi?id=146282

Reviewed by Darin Adler and Tim Horton.

WebCore:

  • Modules/mediasession/MediaSession.cpp:

(WebCore::MediaSession::setMetadata):

WebKit2:

  • Shared/WebCoreArgumentCoders.cpp: Added ArgumentEncoder support for MediaSessionMetadata so we can send it through the web page proxy.

(IPC::ArgumentCoder<MediaSessionMetadata>::encode):
(IPC::ArgumentCoder<MediaSessionMetadata>::decode):

  • Shared/WebCoreArgumentCoders.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::mediaSessionMetadataDidChange):

  • UIProcess/WebPageProxy.h: Receive mediaSessionMetadataDidChange in the web page proxy.
  • UIProcess/WebPageProxy.messages.in: Added a new MediaSessionMetadataDidChange message.
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::mediaSessionMetadataDidChange): Push a mediaSessionMetadataDidChange message through the web page proxy.

  • WebProcess/WebCoreSupport/WebChromeClient.h:
3:17 PM Changeset in webkit [185928] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: Show warning icon for invalid CSS properties and/or values
https://bugs.webkit.org/show_bug.cgi?id=145657

Patch by Devin Rousso <Devin Rousso> on 2015-06-24
Reviewed by Timothy Hatcher.

  • UserInterface/Models/CSSCompletions.js:

(WebInspector.CSSCompletions.prototype.getClosestPropertyName): Calculates the levenshtein distance between a given property and every existing property name. Returns the property name with the smallest distance or, in the case of multiple properties having the same distance, the first property in alphabetical order.
(WebInspector.CSSCompletions.prototype.propertyRequiresWebkitPrefix): Retruns if the property name exists only with a '-webkit-' prefix.
(WebInspector.CSSCompletions):

  • UserInterface/Views/CSSStyleDeclarationTextEditor.css:

(.css-style-text-editor > .CodeMirror .CodeMirror-lines .invalid-warning-marker):
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .invalid-warning-marker.clickable:hover):

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded.duplicatePropertyExistsBelow): Determines if there exists a property below (visually) the given property that has the same name.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded.generateInvalidMarker): Creates a warning icon marker at the given position with the given title.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded.instancesOfProperty): Returns the number of properties in the rule that have the same name.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): A button with a warning icon is now added to the beginning of an invalid property. If this button is clicked, the property is replaced with the closest matching property and the autocomplete menu is opened.

2:43 PM Changeset in webkit [185927] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Null dereference in DocumentLoader::areAllLoadersPageCacheAcceptable()
https://bugs.webkit.org/show_bug.cgi?id=146286
<rdar://problem/21523788>

Reviewed by Sam Weinig.

Add null check for the Page in areAllLoadersPageCacheAcceptable()
to fix this top crasher until I can investigate how this can happen.

  • loader/DocumentLoader.cpp:

(WebCore::areAllLoadersPageCacheAcceptable):

2:34 PM Changeset in webkit [185926] by andersca@apple.com
  • 11 edits
    2 moves in trunk/Source

Move PluginMainThreadScheduler to WebKit/win
https://bugs.webkit.org/show_bug.cgi?id=146289

Reviewed by Tim Horton.

Source/WebCore:

  • CMakeLists.txt:
  • Configurations/WebCore.xcconfig:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • plugins/PluginMainThreadScheduler.cpp:

(WebCore::PluginMainThreadScheduler::scheduler): Deleted.
(WebCore::PluginMainThreadScheduler::PluginMainThreadScheduler): Deleted.
(WebCore::PluginMainThreadScheduler::scheduleCall): Deleted.
(WebCore::PluginMainThreadScheduler::registerPlugin): Deleted.
(WebCore::PluginMainThreadScheduler::unregisterPlugin): Deleted.
(WebCore::PluginMainThreadScheduler::dispatchCallsForPlugin): Deleted.
(WebCore::PluginMainThreadScheduler::dispatchCalls): Deleted.
(WebCore::PluginMainThreadScheduler::mainThreadCallback): Deleted.

  • plugins/PluginMainThreadScheduler.h:

(WebCore::PluginMainThreadScheduler::Call::Call): Deleted.
(WebCore::PluginMainThreadScheduler::Call::performCall): Deleted.

Source/WebKit:

  • WebKit.vcxproj/WebKit/WebKit.vcxproj:
  • WebKit.vcxproj/WebKit/WebKit.vcxproj.filters:

Source/WebKit/win:

  • Plugins/PluginMainThreadScheduler.cpp: Renamed from Source/WebCore/plugins/PluginMainThreadScheduler.cpp.

(WebCore::PluginMainThreadScheduler::scheduler):
(WebCore::PluginMainThreadScheduler::PluginMainThreadScheduler):
(WebCore::PluginMainThreadScheduler::scheduleCall):
(WebCore::PluginMainThreadScheduler::registerPlugin):
(WebCore::PluginMainThreadScheduler::unregisterPlugin):
(WebCore::PluginMainThreadScheduler::dispatchCallsForPlugin):
(WebCore::PluginMainThreadScheduler::dispatchCalls):
(WebCore::PluginMainThreadScheduler::mainThreadCallback):

  • Plugins/PluginMainThreadScheduler.h: Renamed from Source/WebCore/plugins/PluginMainThreadScheduler.h.

(WebCore::PluginMainThreadScheduler::Call::Call):
(WebCore::PluginMainThreadScheduler::Call::performCall):

  • Plugins/PluginView.cpp:
1:54 PM Changeset in webkit [185925] by dino@apple.com
  • 7 edits in trunk/Source/WebCore

Better fix for Element with blur backdrop-filter shows edge duplication and dark edges
https://bugs.webkit.org/show_bug.cgi?id=146287
<rdar://problem/21530437>

Reviewed by Simon Fraser.

There is no need to carry around a bit in FilterOperations indicating what
type of source property the object came from. Whether or not to clip to the
bounds of the filter region is purely a property of the type of CALayer
we are applying the filter to.

This basically reverts r185846.

Covered by the test for the previous commit.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertBackdropFilterOperations): Deleted.

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFilterOperations): Deleted.

  • platform/graphics/ca/cocoa/PlatformCAFiltersCocoa.mm: Set the normalized

edges property if we are a CABackdropLayer.

  • platform/graphics/filters/FilterOperations.cpp:

(WebCore::FilterOperations::operator==):
(WebCore::FilterOperations::operationsMatch):
(WebCore::FilterOperations::operator=): Deleted.

  • platform/graphics/filters/FilterOperations.h:

(WebCore::FilterOperations::isUsedForBackdropFilters): Deleted.
(WebCore::FilterOperations::setUsedForBackdropFilters): Deleted.

1:51 PM Changeset in webkit [185924] by commit-queue@webkit.org
  • 13 edits
    2 adds in trunk

Source/JavaScriptCore:
Bug 146177 - AX: AXObjectCache should try to use an unignored accessibilityObject
when posting a selection notification when on the border between two accessibilityObjects
https://bugs.webkit.org/show_bug.cgi?id=146177

Add an adopt() function to simplify JSRetainPtr<JSStringRef> { Adopt, string } to adopt(string).

Patch by Doug Russell <d_russell@apple.com> on 2015-06-24
Reviewed by Darin Adler.

  • API/JSRetainPtr.h:

(adopt):

Source/WebCore:
Bug 146177 - AX: AXObjectCache should try to use an unignored accessibilityObject
when posting a selection notification when on the border between two accessibilityObjects
https://bugs.webkit.org/show_bug.cgi?id=146177

Patch by Doug Russell <d_russell@apple.com> on 2015-06-24
Reviewed by Darin Adler.

Add support for position to be passed for selection changes to allow checking.
for boundaries in the case of ignored elements.
Add support for searching for unignored siblings of AccessibilityObjects.
Include AccessibilityObject wrappers in notifications for tests.

Test: platform/mac/accessibility/selection-element-tabbing-to-link.html

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::postTextStateChangeNotification):

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

(WebCore::AccessibilityObject::previousSiblingUnignored):
(WebCore::AccessibilityObject::nextSiblingUnignored):

  • accessibility/AccessibilityObject.h:
  • accessibility/mac/WebAccessibilityObjectWrapperBase.mm:

(isValueTypeSupported):
(arrayRemovingNonSupportedTypes):
(dictionaryRemovingNonSupportedTypes):
(-[WebAccessibilityObjectWrapperBase accessibilityPostedNotification:userInfo:]):

  • editing/mac/FrameSelectionMac.mm:

(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):

Tools:
Bug 146177 - AX: AXObjectCache should try to use an unignored accessibilityObject
when posting a selection notification when on the border between two accessibilityObjects
https://bugs.webkit.org/show_bug.cgi?id=146177

Patch by Doug Russell <d_russell@apple.com> on 2015-06-24
Reviewed by Darin Adler.

Add support for mapping WebCore Accessibility types into JSValueRef types
so they can be used in tests.

  • DumpRenderTree/mac/AccessibilityNotificationHandler.mm:

(webAccessibilityObjectWrapperClass):
(-[AccessibilityNotificationHandler startObserving]):
(makeValueRefForValue):
(makeArrayRefForArray):
(makeObjectRefForDictionary):
(-[AccessibilityNotificationHandler _notificationReceived:]):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityNotificationHandler.mm:

(webAccessibilityObjectWrapperClass):
(-[AccessibilityNotificationHandler startObserving]):
(makeValueRefForValue):
(makeArrayRefForArray):
(makeObjectRefForDictionary):
(-[AccessibilityNotificationHandler _notificationReceived:]):

LayoutTests:
Bug 146177 - AX: AXObjectCache should try to use an unignored accessibilityObject
when posting a selection notification when on the border between two accessibilityObjects
https://bugs.webkit.org/show_bug.cgi?id=146177

Add test for forward and backward tabbing between links and corresponding notifications
change element

Patch by Doug Russell <d_russell@apple.com> on 2015-06-24
Reviewed by Darin Adler.

  • platform/mac/accessibility/selection-element-tabbing-to-link-expected.txt: Added.
  • platform/mac/accessibility/selection-element-tabbing-to-link.html: Added.
1:48 PM Changeset in webkit [185923] by andersca@apple.com
  • 19 edits in trunk/Source/WebCore

Enable -Winconsistent-missing-override when building with Xcode
https://bugs.webkit.org/show_bug.cgi?id=146288

Reviewed by Sam Weinig.

  • Configurations/Base.xcconfig:
  • Modules/encryptedmedia/MediaKeySession.h:
  • Modules/webdatabase/DatabaseTask.h:
  • html/DateTimeLocalInputType.h:
  • page/scrolling/ios/ScrollingCoordinatorIOS.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.h:
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:

(WebCore::MediaPlayerPrivateAVFoundation::platformLayer): Deleted.
(WebCore::MediaPlayerPrivateAVFoundation::supportsScanning): Deleted.
(WebCore::MediaPlayerPrivateAVFoundation::fileSize): Deleted.
(WebCore::MediaPlayerPrivateAVFoundation::engineDescription): Deleted.
(WebCore::MediaPlayerPrivateAVFoundation::platformErrorCode): Deleted.
(WebCore::MediaPlayerPrivateAVFoundation::notifyTrackModeChanged): Deleted.

  • platform/graphics/avfoundation/VideoTrackPrivateAVF.h:

(WebCore::VideoTrackPrivateAVF::trackIndex): Deleted.

  • platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h:

(WebCore::CDMSessionAVFoundationObjC::type): Deleted.

  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:

(WebCore::CDMSessionMediaSourceAVFObjC::type): Deleted.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsAcceleratedRendering): Deleted.
(WebCore::MediaPlayerPrivateAVFoundationObjC::canPlayToWirelessPlaybackTarget): Deleted.

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

(WebCore::WebCoreNSURLAuthenticationChallengeClient::receivedCredential): Deleted.
(WebCore::WebCoreNSURLAuthenticationChallengeClient::receivedRequestToContinueWithoutCredential): Deleted.
(WebCore::WebCoreNSURLAuthenticationChallengeClient::receivedCancellation): Deleted.
(WebCore::WebCoreNSURLAuthenticationChallengeClient::receivedRequestToPerformDefaultHandling): Deleted.
(WebCore::WebCoreNSURLAuthenticationChallengeClient::receivedChallengeRejection): Deleted.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsFullscreen): Deleted.

  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:

(WebCore::MediaPlayerPrivateQTKit::supportsScanning): Deleted.
(WebCore::MediaPlayerPrivateQTKit::networkState): Deleted.
(WebCore::MediaPlayerPrivateQTKit::readyState): Deleted.
(WebCore::MediaPlayerPrivateQTKit::maximumDurationToCacheMediaTime): Deleted.
(WebCore::MediaPlayerPrivateQTKit::engineDescription): Deleted.

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

(WebCore::SerializedPlatformRepresentationMac::platformType): Deleted.

  • platform/mac/ThemeMac.h:

(WebCore::ThemeMac::controlRequiresPreWhiteSpace): Deleted.

  • testing/MockCDM.cpp:

(WebCore::MockCDMSession::setClient): Deleted.

1:32 PM Changeset in webkit [185922] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[Mac] A checkmark is briefly visible next to the webpage context menu items when they're clicked
https://bugs.webkit.org/show_bug.cgi?id=146284
<rdar://problem/20297182>

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-06-24
Reviewed by Darin Adler.

The default value of [NSPopUpButtonCell altersStateOfSelectedItem] is YES.
This makes the popup menu items checkable by default. We need to change the
value of this attribute to NO when creating the popup menu, so the items
are uncheckable. The value of this property needs to change back to YES
if context menu is about selecting an option and not executing a command.

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::populate):

1:24 PM Changeset in webkit [185921] by Joseph Pecoraro
  • 1 edit
    12 adds in trunk/Websites/webkit.org

Add some images for a blog post.

  • blog-files/console-improvements/array-api.png: Added.
  • blog-files/console-improvements/collections.png: Added.
  • blog-files/console-improvements/console-messages.png: Added.
  • blog-files/console-improvements/interactivity.m4v: Added.
  • blog-files/console-improvements/iterators.png: Added.
  • blog-files/console-improvements/localStorage-api.png: Added.
  • blog-files/console-improvements/object-preview.png: Added.
  • blog-files/console-improvements/object-tree.png: Added.
  • blog-files/console-improvements/promises.png: Added.
  • blog-files/console-improvements/tooltip-1.png: Added.
  • blog-files/console-improvements/tooltip-2.png: Added.
12:13 PM Changeset in webkit [185920] by commit-queue@webkit.org
  • 10 edits
    4 adds in trunk

Strict Equality on objects should only check that one of the two sides is an object.
https://bugs.webkit.org/show_bug.cgi?id=145992

Source/JavaScriptCore:

This patch adds a new optimization for checking strict equality on objects.
If we speculate that a strict equality comparison has an object on one side
we only need to type check that side. Equality is then determined by a pointer
comparison between the two values (although in the 32-bit case we must also check
that the other side is a cell). Once LICM hoists type checks out of a loop we
can be cleverer about how we choose the operand we type check if both are
speculated to be objects.

For testing I added the addressOf function, which returns the address
of a Cell to the runtime.

Patch by Keith Miller <keith_miller@apple.com> on 2015-06-24
Reviewed by Mark Lam.

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileStrictEq):

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

(JSC::DFG::SpeculativeJIT::compileObjectStrictEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectStrictEquality):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compileObjectStrictEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectStrictEquality):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::DFG::LowerDFGToLLVM::compileCompareStrictEq):

  • jsc.cpp:

(GlobalObject::finishCreation):
(functionAddressOf):

  • tests/stress/equality-type-checking.js: Added.

(Foo):
(checkStrictEq):
(checkStrictEqOther):

LayoutTests:

Patch by Keith Miller <keith_miller@apple.com> on 2015-06-24
Reviewed by Mark Lam.

Adds a test that checks if strict equality checks with objects properly exit out of DFG code when
dealing with document.all, which is an object that masquerades as undefined.

  • js/dom/document-all-strict-eq-expected.txt: Added.
  • js/dom/document-all-strict-eq.html: Added.
  • js/dom/script-tests/document-all-strict-eq.js: Added.

(f):

12:08 PM Changeset in webkit [185919] by youenn.fablet@crf.canon.fr
  • 2 edits in trunk/Source/WebCore

Improve JSDOMPromise callPromiseFunction naming
https://bugs.webkit.org/show_bug.cgi?id=146280

Unreviewed.

No change in behavior.

  • bindings/js/JSDOMPromise.h:

(WebCore::callPromiseFunction):

11:41 AM Changeset in webkit [185918] by mmaxfield@apple.com
  • 1 edit
    4 adds in trunk/LayoutTests

[Win] Test gardening for fast/text/font-weight{,-zh}.html
https://bugs.webkit.org/show_bug.cgi?id=146266
<rdar://problem/21391628>
<rdar://problem/21391673>

Unreviewed.

  • platform/win/fast/text/font-weights-expected.png: Added.
  • platform/win/fast/text/font-weights-expected.txt: Added.
  • platform/win/fast/text/font-weights-zh-expected.png: Added.
  • platform/win/fast/text/font-weights-zh-expected.txt: Added.
10:57 AM Changeset in webkit [185917] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r185804): Crash selecting time in the form on https://backup.brighthorizons.com/BackupCareRequest.aspx
<rdar://problem/21525376>

Reviewed by Sam Weinig.

  • page/TextIndicator.cpp:

(WebCore::TextIndicator::createWithRange):
Null check.

10:53 AM Changeset in webkit [185916] by Alan Bujtas
  • 4 edits in trunk

Subpixel rendering: roundToDevicePixel() snaps to wrong value.
https://bugs.webkit.org/show_bug.cgi?id=146273
rdar://problem/18509840

Reviewed by Simon Fraser.

Due to the floating point approximate representation, we can't always produce
the correct snap value. This patch addresses the issue by removing redundant kFixedPointDenominator multiplication
and by changing the rounding in roundToDevicePixel() from float to double.

Source/WebCore:

API test is added.

  • platform/LayoutUnit.h:

(WebCore::roundToDevicePixel):

Tools:

  • TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp:

(TestWebKitAPI::TEST):

10:21 AM WebKitGTK/2.8.x edited by berto@igalia.com
(diff)
9:57 AM Changeset in webkit [185915] by beidson@apple.com
  • 11 edits
    1 copy in trunk

Update JavaScript dialog delegates to include a WKSecurityOriginRef argument.
<rdar://problem/21269187> and https://bugs.webkit.org/show_bug.cgi?id=146249

Reviewed by Alex Christensen.

Source/WebKit2:

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient): Call the new signature if the client has it set.

Otherwise fall back to the old signature.

  • UIProcess/API/C/WKPageUIClient.h: Deprecate the old method signature, and add the new one to the newest V5 client structure.

Tools:

  • Update WKTR to the new client structure.
  • Update existing TestWebKitAPI tests to either use the new client structure or assign the old function signature to the updated variable name.
  • Include a new test.
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/CloseFromWithinCreatePage.cpp:

(TestWebKitAPI::runJavaScriptAlert):

  • TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/ModalAlertsSPI.cpp:

(TestWebKitAPI::analyzeDialogArguments):
(TestWebKitAPI::runJavaScriptAlert):
(TestWebKitAPI::runJavaScriptConfirm):
(TestWebKitAPI::runJavaScriptPrompt):
(TestWebKitAPI::createNewPage):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/mac/FullscreenZoomInitialFrame.mm:

(TestWebKitAPI::FullscreenZoomInitialFrame::initializeView):

  • TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:

(TestWebKitAPI::PageVisibilityStateWithWindowChanges::initializeView):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createOtherPage):
(WTR::TestController::createWebViewWithOptions):

9:38 AM Changeset in webkit [185914] by mrajca@apple.com
  • 5 edits
    1 copy in trunk/Source/WebCore

MediaSession: Support setting of metadata
https://bugs.webkit.org/show_bug.cgi?id=146253

Reviewed by Eric Carlson.

  • Modules/mediasession/MediaSession.cpp:

(WebCore::MediaSession::MediaSession): Store a reference to the document so we can use it in setMetadata.
(WebCore::MediaSession::setMetadata): Implemented as described in the Media Session spec.

  • Modules/mediasession/MediaSession.h:
  • Modules/mediasession/MediaSession.idl: Added the setMetadata method.
  • Modules/mediasession/MediaSessionMetadata.h:

(WebCore::MediaSessionMetadata::MediaSessionMetadata): Added to keep track of media session metadata.
(WebCore::MediaSessionMetadata::title):
(WebCore::MediaSessionMetadata::artist):
(WebCore::MediaSessionMetadata::album):
(WebCore::MediaSessionMetadata::artworkURL):

  • WebCore.xcodeproj/project.pbxproj: Added MediaSessionMetadata.h.
9:36 AM Changeset in webkit [185913] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Background of Computed Styles is missing
https://bugs.webkit.org/show_bug.cgi?id=146209

Patch by Devin Rousso <Devin Rousso> on 2015-06-24
Reviewed by Timothy Hatcher.

  • UserInterface/Views/ComputedStyleDetailsPanel.css:

(.computed-style-properties.details-section): Added white background.

8:54 AM Changeset in webkit [185912] by dbates@webkit.org
  • 5 edits in trunk

Content Security Policy error message when frame load is blocked does not read well
https://bugs.webkit.org/show_bug.cgi?id=146279

Reviewed by Csaba Osztrogonác.

Source/WebCore:

Substitute "Refused to load frame" for "Refused to frame" as the prefix of the error message
emitted when the Content Security Policy of the page blocks a frame load.

  • page/ContentSecurityPolicy.cpp:

(WebCore::CSPDirectiveList::checkSourceAndReportViolation):

LayoutTests:

Update expected results.

  • http/tests/security/contentSecurityPolicy/frame-src-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/frame-src-redirect-blocked-expected.txt:
8:32 AM Changeset in webkit [185911] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Right/Left arrow no longer works in console to expand/collapse ObjectTrees
https://bugs.webkit.org/show_bug.cgi?id=141949

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-06-24
Reviewed by Timothy Hatcher.

  • UserInterface/Views/ConsoleMessageView.js:

(WebInspector.ConsoleMessageView):
(WebInspector.ConsoleMessageView.prototype.get expandable):
(WebInspector.ConsoleMessageView.prototype.set expandable): Deleted.
(WebInspector.ConsoleMessageView.prototype._appendExtraParameters):
(WebInspector.ConsoleMessageView.prototype._appendStackTrace):
(WebInspector.ConsoleMessageView.prototype._makeExpandable):
Clarify what makes a ConsoleMessageView expandable or not.

(WebInspector.ConsoleMessageView.prototype.expand):
(WebInspector.ConsoleMessageView.prototype.collapse):
Handle the expand/collapse cases which could apply to the
ConsoleMessageView itself or an inner ObjectTreeView if that is all we contain.

(WebInspector.ConsoleMessageView.prototype._formatParameterAsObject):
Delete out of date comment. A console.log("message", obj) will want the
object tree member variable to handle auto expanding/collapsing of the
single object in the message.

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype._leftArrowWasPressed):
(WebInspector.LogContentView.prototype._rightArrowWasPressed):
Use the higher level ConsoleMessageView objects accessible from the element
to call through to expand/collapse.

7:47 AM Changeset in webkit [185910] by dbates@webkit.org
  • 2 edits in trunk/LayoutTests

LayoutTests/http/tests/security/contentSecurityPolicy/media-src-track-block.html always passes
https://bugs.webkit.org/show_bug.cgi?id=146272

Reviewed by Darin Adler.

Fixes an issue where the test LayoutTests/http/tests/security/contentSecurityPolicy/media-src-track-block.html
will always pass regardless of whether the Content Security Policy <meta> tag is present because
the external text track file is not valid WebVTT-formatted file.

The test verifies that the external text track file LayoutTests/http/tests/security/contentSecurityPolicy/resources/track.vtt
fails to load when the Content Security Policy of the page disallows loading of all media (media-src: "none")
by listening for a DOM error event to be dispatched to the <track>. And the text track file is not a valid
WebVTT-formatted file. So, it will always fail to load; => a DOM error event is always dispatched to the
<track>; => the test always passes.

  • http/tests/security/contentSecurityPolicy/resources/track.vtt:
7:18 AM Changeset in webkit [185909] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fixed assertion in JSStringJoiner::join() (regression from r185899).

Not reviewed.

JSStringJoiner did not account for the case where the array being joined can
have null or undefined elements. As a result, its size may be less than
its initially reserved capacity (which was estimated based on the array length).

  • runtime/JSStringJoiner.cpp:

(JSC::JSStringJoiner::join):

6:36 AM Changeset in webkit [185908] by svillar@igalia.com
  • 15 edits
    1 copy
    19 adds in trunk

intrinsic size keywords don't work for heights
https://bugs.webkit.org/show_bug.cgi?id=113610

Reviewed by Darin Adler.

Source/WebCore:

Based on Blink's r148314 & r150355 by <cbiesinger@chromium.org>.

Adds intrinsic values support to heigh & min/max-height. This involves the
following changes:

  • RenderBox needs to pass the content height through to computeLogicalHeight and

related functions, which needs it to resolve max-content, et. al.

  • Make the callers pass the content height to this function. Some callers pass

logicalHeight() (adjusted for border/padding) which works because if
logicalHeight is not the content height, then it is the height we ended up using,
so the constrain* functions will just constrain to that value again.

  • Parsing code needs to be adjusted to support intrinsic values for heights.

Tests: fast/css-intrinsic-dimensions/height-css-tables-collapsed.html

fast/css-intrinsic-dimensions/height-css-tables.html
fast/css-intrinsic-dimensions/height-flexbox.html
fast/css-intrinsic-dimensions/height-positioned-replaced.html
fast/css-intrinsic-dimensions/height-positioned.html
fast/css-intrinsic-dimensions/height-replaced.html
fast/css-intrinsic-dimensions/height-tables-collapsed.html
fast/css-intrinsic-dimensions/height-tables.html
fast/css-intrinsic-dimensions/height.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::isValidSize): Refactored from validateWidth and
validateHeight.
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::validateWidth): Deleted.
(WebCore::CSSParser::validateHeight): Deleted.

  • css/CSSParser.h:
  • platform/Length.h:

(WebCore::Length::isFillAvailable):
(WebCore::Length::isFitContent):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::constrainLogicalHeightByMinMax):
(WebCore::RenderBox::constrainContentBoxLogicalHeightByMinMax):
(WebCore::RenderBox::computeLogicalHeight):
(WebCore::RenderBox::computeLogicalHeightUsing):
(WebCore::RenderBox::computeContentLogicalHeight):
(WebCore::RenderBox::computeIntrinsicLogicalContentHeightUsing):
(WebCore::RenderBox::computeContentAndScrollbarLogicalHeightUsing):
(WebCore::RenderBox::computePercentageLogicalHeight):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
(WebCore::RenderBox::availableLogicalHeight):
(WebCore::RenderBox::availableLogicalHeightUsing):
(WebCore::RenderBox::computePositionedLogicalHeight):
(WebCore::RenderBox::computePositionedLogicalHeightUsing):

  • rendering/RenderBox.h:
  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::computeMainAxisExtentForChild):
(WebCore::RenderFlexibleBox::applyStretchAlignmentToChild):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::addForcedRegionBreak):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeUsedBreadthOfSpecifiedLength):
(WebCore::RenderGrid::applyStretchAlignmentToChildIfNeeded):

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::calculateMaxColumnHeight):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::hasReplacedLogicalHeight):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):
(WebCore::RenderTable::layout):

LayoutTests:

Based on Blink's r148314 by <cbiesinger@chromium.org>.

  • fast/css-intrinsic-dimensions/height-css-tables-collapsed-expected.html: Added.
  • fast/css-intrinsic-dimensions/height-css-tables-collapsed.html: Added.
  • fast/css-intrinsic-dimensions/height-css-tables-expected.html: Added.
  • fast/css-intrinsic-dimensions/height-css-tables.html: Added.
  • fast/css-intrinsic-dimensions/height-expected.html: Added.
  • fast/css-intrinsic-dimensions/height-flexbox-expected.html: Added.
  • fast/css-intrinsic-dimensions/height-flexbox.html: Added.
  • fast/css-intrinsic-dimensions/height-positioned-expected.html: Added.
  • fast/css-intrinsic-dimensions/height-positioned-replaced-expected.html: Added.
  • fast/css-intrinsic-dimensions/height-positioned-replaced.html: Added.
  • fast/css-intrinsic-dimensions/height-positioned.html: Added.
  • fast/css-intrinsic-dimensions/height-property-value-expected.txt:
  • fast/css-intrinsic-dimensions/height-property-value.html:
  • fast/css-intrinsic-dimensions/height-property-value.html.orig: Copied from LayoutTests/fast/css-intrinsic-dimensions/height-property-value.html.
  • fast/css-intrinsic-dimensions/height-replaced-expected.html: Added.
  • fast/css-intrinsic-dimensions/height-replaced.html: Added.
  • fast/css-intrinsic-dimensions/height-tables-collapsed-expected.html: Added.
  • fast/css-intrinsic-dimensions/height-tables-collapsed.html: Added.
  • fast/css-intrinsic-dimensions/height-tables-expected.html: Added.
  • fast/css-intrinsic-dimensions/height-tables.html: Added.
  • fast/css-intrinsic-dimensions/height.html: Added.
  • fast/css-intrinsic-dimensions/resources/height-keyword-classes.css: Added.

(.min-content):
(.max-content):
(.fill-available):
(.fit-content):
(.max-height-min-content):
(.max-height-max-content):
(.max-height-fill-available):
(.max-height-fit-content):
(.min-height-min-content):
(.min-height-max-content):
(.min-height-fill-available):
(.min-height-fit-content):

6:09 AM Changeset in webkit [185907] by commit-queue@webkit.org
  • 5 edits in trunk/Source

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

MSVC doesn't yet provide a const-qualified std::array<T,
N>::size(), failing to compile the static_assert (Requested by
zdobersek on #webkit).

Reverted changeset:

"Improve the source code generated by make_names.pl"
https://bugs.webkit.org/show_bug.cgi?id=146208
http://trac.webkit.org/changeset/185906

5:19 AM Changeset in webkit [185906] by zandobersek@gmail.com
  • 5 edits in trunk/Source

Improve the source code generated by make_names.pl
https://bugs.webkit.org/show_bug.cgi?id=146208

Reviewed by Darin Adler.

Source/WebCore:

Clean up and optimize the output that's generated by the make_names.pl script
when generating large sets of DOM names for attributes and tags.

The GenerateStrings() function in the StaticString.pm module is split into
GenerateStringData() and GenerateASCIILiteral() so that the two new functions
can be used independently, with the original function still being called when
generating font names.

Tags and attributes have the corresponding static QualifiedName globals defined
as before. After that, two static const std::array<> objects are defined for
both types -- the first is an ordered array of addresses of the QualifiedName
objects (corresponding to the C array that was defined in getHTMLTags(),
getSVGAttrs() etc.), and the second is an ordered array of StringImpl::StaticASCIILiteral
objects that replaces separately defined StringImpl::StaticASCIILiteral objects
and the additional tables that contained pairs of QualifiedName object addresses
and the corresponding StaticASCIILiteral object references in the init() function.
This is all generated by the printStaticData() function in make_names.pl.

The printQualifiedNameCreation() function generates a static_assert() that ensures
that the corresponding std::array<QualifiedName*> and std::array<StaticASCIILiteral>
objects have the same amount of items, and then sets up a loop that walks through
the two arrays and properly constructs the QualifiedName objects from the static
literal data.

On the GTK port, this shaves off ~54kB from the final stripped shared library
on a 64-bit build, and ~21kB on a 32-bit build.

  • bindings/scripts/StaticString.pm:

(GenerateStringData):
(GenerateASCIILiteral):
(GenerateStrings):

  • dom/make_names.pl:

(printCppHead):
(printNamesCppFile):
(printStaticData):
(printQualifiedNameCreation):
(printInit): Deleted.
(printDefinitions): Deleted.

Source/WTF:

  • wtf/text/StringImpl.h:

(WTF::StringImpl::assertHashIsCorrect): Make this method const-qualified.

2:25 AM Changeset in webkit [185905] by ryuan.choi@navercorp.com
  • 6 edits in trunk/Source/WebKit2

Remove some dead code from Download
https://bugs.webkit.org/show_bug.cgi?id=146268

Reviewed by Darin Adler.

retrieveDestinationWithSuggestedFilename() was introduced for DownloadCFNetWin.cpp since r77585.
didDecideDestination and others are also introduced for WebKit2 Windows port since r77055.
Since WebKit2 Windows port is dropped, no one uses them now.

  • Shared/Downloads/Download.cpp:

(WebKit::Download::decideDestinationWithSuggestedFilename):
(WebKit::Download::retrieveDestinationWithSuggestedFilename): Deleted.

  • Shared/Downloads/Download.h:

(WebKit::Download::destination): Deleted.

  • Shared/Downloads/ios/DownloadIOS.mm:

(WebKit::Download::didDecideDestination): Deleted.

  • Shared/Downloads/mac/DownloadMac.mm:

(WebKit::Download::didDecideDestination): Deleted.

  • Shared/Downloads/soup/DownloadSoup.cpp:

(WebKit::Download::didDecideDestination): Deleted.

1:14 AM Changeset in webkit [185904] by Darin Adler
  • 4 edits in trunk/Source/JavaScriptCore

2015-06-24 Darin Adler <Darin Adler>

Fix Array.concat with RuntimeArray (regression from my last patch)

  • runtime/ArrayPrototype.cpp: (JSC::arrayProtoFuncConcat): Use getLength instead of JSArray::length.
  • runtime/JSArray.cpp: (JSC::JSArray::defineOwnProperty): Added comment about use of JSArray::length here that is incorrect (in a really non-obvious way). (JSC::JSArray::fillArgList): Ditto. (JSC::JSArray::copyToArguments): Ditto.
  • runtime/JSArray.h: Added a comment explaining that it is not always safe to use JSArray::length.
12:42 AM Changeset in webkit [185903] by youenn.fablet@crf.canon.fr
  • 7 edits in trunk/Source/WebCore

Refactor UserMediaRequest to share more codes between MediaDevices.getUserMedia and legacy webkitGetUserMedia
https://bugs.webkit.org/show_bug.cgi?id=146237

Reviewed by Darin Adler.

Covered by existing tests, no change in behavior.

  • Modules/mediastream/MediaConstraintsImpl.cpp:

(WebCore::MediaConstraintsImpl::create): Simplified error handling by removing exception code parameter.

  • Modules/mediastream/MediaConstraintsImpl.h: Ditto.
  • Modules/mediastream/MediaDevices.cpp:

(WebCore::MediaDevices::getUserMedia): Removed code now in UserMediaRequest::start.

  • Modules/mediastream/NavigatorUserMedia.cpp:

(WebCore::NavigatorUserMedia::webkitGetUserMedia): Ditto.

  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::parseOptions): Simplified error handling by removing exception code parameter.
(WebCore::UserMediaRequest::start): Renamed create in start and added common code.

  • Modules/mediastream/UserMediaRequest.h:

Jun 23, 2015:

10:44 PM Changeset in webkit [185902] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Gardening: Fixing 2 bad asserts from r185889.
https://bugs.webkit.org/show_bug.cgi?id=140575

Not reviewed.

  • runtime/JSBoundSlotBaseFunction.cpp:

(JSC::JSBoundSlotBaseFunction::finishCreation):

9:34 PM Changeset in webkit [185901] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix build.

  • UIProcess/ios/ProcessAssertionIOS.mm:

(-[WKProcessAssertionBackgroundTaskManager init]):

7:34 PM Changeset in webkit [185900] by mitz@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fixed iOS production builds.

7:33 PM Changeset in webkit [185899] by Darin Adler
  • 12 edits in trunk/Source

Make Array.join work directly on substrings without reifying them
https://bugs.webkit.org/show_bug.cgi?id=146191

Reviewed by Andreas Kling.

Source/JavaScriptCore:

Besides the Array.join change, this has other optimizations based on
profiling the Peacekeeper array benchmark.

I measured a 14% speed improvement in the Peacekeeper array benchmark.

Still a lot of low hanging fruit in that test because so many of functions
on the array prototype are not optimizing for simple cases. For example,
the reverse function does individual get and put calls even when the array
is entirely made up of integers in contiguous storage.

  • runtime/ArrayPrototype.cpp:

(JSC::getProperty): Use tryGetIndexQuickly first before getPropertySlot.
(JSC::argumentClampedIndexFromStartOrEnd): Marked inline.
(JSC::shift): Use the getProperty helper in this file instead of using
getPropertySlot. Use putByIndexInline instead of calling putByIndex directly.
In both cases this can yield a faster code path.
(JSC::unshift): Ditto.
(JSC::arrayProtoFuncToString): Updated to use the new JSStringJoiner
interface. Changed local variable name to thisArray since it's not a
JSObject*. Changed loop index to i instead of k.
(JSC::arrayProtoFuncToLocaleString): Updated to use the new JSStringJoiner
interface. Renamed thisObj to thisObject. Added a missing exception check
after the toLocaleString function is called, but before toString is called
the result of that function.
(JSC::arrayProtoFuncJoin): Updated to use the new JSStringJointer interface.
Added a missing exception check after calling toString on the separator
but before calling get to get the first element in the array-like object
being joined. Changed loop index to i instead of k. Added missing exception
check after calling toString on each string from the array before calling
get for the next element.
(JSC::arrayProtoFuncConcat): Use JSArray::length instead of using the
getLength function.
(JSC::arrayProtoFuncReverse): Ditto. Also use putByIndexInline.
(JSC::arrayProtoFuncShift): Ditto.
(JSC::arrayProtoFuncSplice): Use getIndex instead of get, which includes some
additional optimizations.
(JSC::getOrHole): Deleted. Unused function.
(JSC::arrayProtoFuncUnShift): Use putByIndexInline.

  • runtime/ExceptionHelpers.cpp:

(JSC::errorDescriptionForValue): Removed the duplicate copy of the the logic
from JSValue::toString.

  • runtime/JSCJSValue.cpp:

(JSC::JSValue::toStringSlowCase): Improved the performance when converting a
small integer to a single character string.
(JSC::JSValue::toWTFStringSlowCase): Moved the contents of the
inlineJSValueNotStringtoString function here.

  • runtime/JSCJSValue.h: Removed no longer used toWTFStringInline and fixed

a comment with a typo.

  • runtime/JSObject.h:

(JSC::JSObject::putByIndexInline): Marked ALWAYS_INLINE because this was not
getting inlined at some call sites.
(JSC::JSObject::indexingData): Deleted. Unused function.
(JSC::JSObject::currentIndexingData): Deleted. Unused function.
(JSC::JSObject::getHolyIndexQuickly): Deleted. Unused function.
(JSC::JSObject::relevantLength): Deleted. Unused function.
(JSC::JSObject::currentRelevantLength): Deleted. Unused function.

  • runtime/JSString.h: Added the StringViewWithUnderlyingString struct and

the viewWithUnderlyingString function. Removed the inlineJSValueNotStringtoString
and toWTFStringInline functions.

  • runtime/JSStringJoiner.cpp:

(JSC::appendStringToData): Changed this to be a template instead of writing
it out, since StringView::getCharactersWithUpconvert does almsot exactly what
this function was trying to do.
(JSC::joinStrings): Rewrote this to use StringView.
(JSC::JSStringJoiner::joinedLength): Added. Factored out from the join function.
(JSC::JSStringJoiner::join): Rewrote to make it a bit simpler. Added an assertion
that we entirely filled capacity, since we are now reserving capacity and using
uncheckedAppend. Use String instead of RefPtr<StringImpl> because there was no
particular value to using the impl directly.

  • runtime/JSStringJoiner.h: Changed the interface to the class to use StringView.

Also changed this class so it now has the responsibility to convert each JSValue
into a string. This let us share more code between toString and join, and also
lets us use the new viewWithUnderlyingString function, which could be confusing at
all the call sites, but is easier to understand here.

Source/WTF:

  • wtf/Vector.h: Added an overload of uncheckedAppend like the one we added

a while back, a non-template function that forwards through to the function
template. This lets us call uncheckedAppend on an argument list and have it
properly convert it to the Vector's element type.

  • wtf/text/StringView.h:

(WTF::StringView::getCharactersWithUpconvert): Changed to not use memcpy;
saw some indication the hand-written loop was faster when profiling. Also
use m_length directly when we know we are dealing with an 8-bit string,
since the masking that the index function does is not needed in that case.
(WTF::StringView::UpconvertedCharacters::UpconvertedCharacters): Ditto.
(WTF::StringView::toString): Ditto.
(WTF::StringView::toFloat): Ditto.
(WTF::StringView::toInt): Ditto.
(WTF::StringView::toStringWithoutCopying): Ditto.
(WTF::StringView::find): Ditto.

7:13 PM Changeset in webkit [185898] by commit-queue@webkit.org
  • 11 edits in trunk/Tools

Refactoring benchmark runner script to follow pep8 code style.
https://bugs.webkit.org/show_bug.cgi?id=146264

Patch by Dewei Zhu <Dewei Zhu> on 2015-06-23
Reviewed by Ryosuke Niwa.

Refactor benchmark runner script to follow pep8 code style.

  • Scripts/webkitpy/benchmark_runner/benchmark_builder/generic_benchmark_builder.py:

(GenericBenchmarkBuilder.prepare):
(GenericBenchmarkBuilder._run_create_script):
(GenericBenchmarkBuilder._copy_benchmark_to_temp_dir):
(GenericBenchmarkBuilder._fetch_remote_archive):
(GenericBenchmarkBuilder):
(GenericBenchmarkBuilder._checkout_with_subversion):
(GenericBenchmarkBuilder._apply_patch):
(GenericBenchmarkBuilder.clean):
(GenericBenchmarkBuilder._runCreateScript): Deleted.
(GenericBenchmarkBuilder._copyBenchmarkToTempDir): Deleted.
(GenericBenchmarkBuilder._fetchRemoteArchive): Deleted.
(GenericBenchmarkBuilder._checkoutWithSubverion): Deleted.
(GenericBenchmarkBuilder._applyPatch): Deleted.

  • Scripts/webkitpy/benchmark_runner/benchmark_runner.py:

(BenchmarkRunner.init):
(BenchmarkRunner._find_plan_file):
(BenchmarkRunner.execute):
(BenchmarkRunner._cleanup):
(BenchmarkRunner._dump):
(BenchmarkRunner._wrap):
(BenchmarkRunner._merge):
(BenchmarkRunner._show_results):
(BenchmarkRunner._findPlanFile): Deleted.
(BenchmarkRunner.cleanup): Deleted.
(BenchmarkRunner.dump): Deleted.
(BenchmarkRunner.wrap): Deleted.
(BenchmarkRunner.merge): Deleted.
(BenchmarkRunner.show_results): Deleted.

  • Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:

(BrowserDriver.prepare_env):
(BrowserDriver.launch_url):
(BrowserDriver.close_browsers):
(BrowserDriver.prepareEnv): Deleted.
(BrowserDriver.launchUrl): Deleted.
(BrowserDriver.closeBrowser): Deleted.

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:

(OSXBrowserDriver):
(OSXBrowserDriver.prepare_env):
(OSXBrowserDriver.close_browsers):
(OSXBrowserDriver._launch_process):
(OSXBrowserDriver._terminiate_processes):
(OSXBrowserDriver._launch_process_with_caffinate):
(OSXBrowserDriver._screen_size):
(OSXBrowserDriver.prepareEnv): Deleted.
(OSXBrowserDriver.closeBrowsers): Deleted.
(OSXBrowserDriver.launchProcess): Deleted.
(OSXBrowserDriver.terminateProcesses): Deleted.
(OSXBrowserDriver.launchProcessWithCaffinate): Deleted.
(OSXBrowserDriver.screenSize): Deleted.

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:

(OSXChromeDriver):
(OSXChromeDriver.launch_url):
(OSXChromeCanaryDriver):
(OSXChromeCanaryDriver.launch_url):
(OSXChromeDriver.launchUrl): Deleted.
(OSXChromeCanaryDriver.launchUrl): Deleted.

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:

(OSXFirefoxDriver):
(OSXFirefoxDriver.launch_url):
(OSXFirefoxNightlyDriver):
(OSXFirefoxNightlyDriver.launch_url):
(OSXFirefoxDriver.launchUrl): Deleted.
(OSXFirefoxNightlyDriver.launchUrl): Deleted.

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:

(OSXSafariDriver):
(OSXSafariDriver.prepare_env):
(OSXSafariDriver.launch_url):
(OSXSafariDriver.close_browsers):
(OSXSafariDriver._maximize_window):
(OSXSafariDriver.prepareEnv): Deleted.
(OSXSafariDriver.launchUrl): Deleted.
(OSXSafariDriver.closeBrowsers): Deleted.
(OSXSafariDriver.maximizeWindow): Deleted.

  • Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver.py:

(HTTPServerDriver.fetch_result):
(HTTPServerDriver.kill_server):
(HTTPServerDriver.get_return_code):
(HTTPServerDriver.set_device_id):
(HTTPServerDriver.fetchResult): Deleted.
(HTTPServerDriver.killServer): Deleted.
(HTTPServerDriver.getReturnCode): Deleted.
(HTTPServerDriver.setDeviceID): Deleted.

  • Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:

(SimpleHTTPServerDriver.serve):
(SimpleHTTPServerDriver.base_url):
(SimpleHTTPServerDriver.fetch_result):
(SimpleHTTPServerDriver.kill_server):
(SimpleHTTPServerDriver.get_return_code):
(SimpleHTTPServerDriver): Deleted.
(SimpleHTTPServerDriver.baseUrl): Deleted.
(SimpleHTTPServerDriver.fetchResult): Deleted.
(SimpleHTTPServerDriver.killServer): Deleted.
(SimpleHTTPServerDriver.getReturnCode): Deleted.

  • Scripts/webkitpy/benchmark_runner/utils.py:

(get_path_from_project_root):
(force_remove):
(getPathFromProjectRoot): Deleted.
(forceRemove): Deleted.

7:09 PM Changeset in webkit [185897] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Should reduce tile coverage for the first paint after a tab switch.
<https://webkit.org/b/146252>
<rdar://problem/19821583>

Reviewed by Darin Adler.

Reduce the number of tiles we need to paint after switching tabs,
to shorten the time it takes before we can flush pixels to screen.

We accomplish this by piggybacking on the "speculative tiling enabled"
mode of FrameView, which was previously only used to throttle painting
and layer flushes during page load.

When a FrameView becomes visible, which is what happens when you
switch to its tab, we revert the speculative tiling optimization to
its initial state, and reset the "scrolled by user" flag.

In practice this means that after switching tabs, we only generate
enough tiles to fill the viewport. Then, after 500ms has passed
or the user scrolls the page, we go back to the usual speculative
tiling mode.

  • page/FrameView.cpp:

(WebCore::FrameView::show):

7:04 PM Changeset in webkit [185896] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit2

[GTK] Crash performing drag-and-drop
https://bugs.webkit.org/show_bug.cgi?id=146267

Reviewed by Darin Adler.

Return early if gtk_get_current_event() returns null to avoid a crash. Note that this does
not fix drag-and-drop. Note also this prevents the web process from forcing the UI process
to crash by sending fake startDrag messages.

  • UIProcess/gtk/DragAndDropHandler.cpp:

(WebKit::DragAndDropHandler::startDrag):

7:00 PM Changeset in webkit [185895] by mmaxfield@apple.com
  • 7 edits
    3 copies
    1 move
    2 adds in trunk/LayoutTests

[OS X] Rebaseline fast/text/font-weight{,-zh}.html for El Capitan
https://bugs.webkit.org/show_bug.cgi?id=146266
<rdar://problem/21391628>
<rdar://problem/21391673>

Unreviewed.

  • fast/text/font-weights.html: Renamed from LayoutTests/platform/mac/fast/text/font-weights.html.
  • platform/mac/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/win/TestExpectations:
  • platform/mac/fast/text/font-weights-expected.png: Added.
  • platform/mac/fast/text/font-weights-expected.txt:
  • platform/mac/fast/text/font-weights-zh-expected.png: Added.
  • platform/mac/fast/text/font-weights-zh-expected.txt:
  • platform/mac-mavericks/fast/text/font-weights-expected.txt: Moved from platform/mac/fast/text/font-weights-expected.txt
  • platform/mac-yosemite/fast/text/font-weights-expected.txt: Ditto.
  • platform/mac-yosemite/fast/text/font-weights-zh-expected.txt: Moved from platform/mac/fast/text/font-weights-zh-expected.txt
5:50 PM Changeset in webkit [185894] by andersca@apple.com
  • 5 edits
    2 adds in trunk/Source/WebKit2

Add a class that tracks whether we're a background or foreground application
https://bugs.webkit.org/show_bug.cgi?id=146259
rdar://problem/19833808

Reviewed by Darin Adler.

First step towards being able to send out these notifications for view services.

  • UIProcess/ApplicationStateTracker.h: Added.

(WebKit::ApplicationStateTracker::isInBackground):

  • UIProcess/ApplicationStateTracker.mm: Added.

(WebKit::ApplicationStateTracker::singleton):
(WebKit::ApplicationStateTracker::ApplicationStateTracker):
(WebKit::ApplicationStateTracker::addListener):
(WebKit::ApplicationStateTracker::applicationDidEnterBackground):
(WebKit::ApplicationStateTracker::applicationWillEnterForeground):
(WebKit::ApplicationStateTracker::invokeListeners):
(WebKit::ApplicationStateTracker::pruneListeners):

  • UIProcess/ios/ProcessAssertionIOS.mm:

(-[WKProcessAssertionBackgroundTaskManager init]):
(-[WKProcessAssertionBackgroundTaskManager _updateBackgroundTask]):
(-[WKProcessAssertionBackgroundTaskManager _applicationWillEnterForeground]):
(-[WKProcessAssertionBackgroundTaskManager _applicationDidEnterBackground]):
(-[WKProcessAssertionBackgroundTaskManager dealloc]): Deleted.
(-[WKProcessAssertionBackgroundTaskManager _applicationWillEnterForeground:]): Deleted.
(-[WKProcessAssertionBackgroundTaskManager _applicationDidEnterBackground:]): Deleted.

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

(-[WKContentView _commonInitializationWithProcessPool:configuration:]):
(-[WKContentView isBackground]):
(-[WKContentView _applicationDidEnterBackground]):
(-[WKContentView _applicationWillEnterForeground]):
(-[WKContentView _applicationDidEnterBackground:]): Deleted.
(-[WKContentView _applicationWillEnterForeground:]): Deleted.

  • WebKit2.xcodeproj/project.pbxproj:
5:43 PM Changeset in webkit [185893] by andersca@apple.com
  • 22 edits in trunk/Source

Remove windowResizerRect code, nobody is using it anymore
https://bugs.webkit.org/show_bug.cgi?id=146265

Reviewed by Beth Dakin.

Source/WebCore:

  • loader/EmptyClients.h:
  • page/Chrome.cpp:

(WebCore::Chrome::windowResizerRect): Deleted.

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

(WebCore::FrameView::windowResizerRect): Deleted.

  • page/FrameView.h:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::ScrollView): Deleted.
(WebCore::ScrollView::windowResizerRectChanged): Deleted.
(WebCore::ScrollView::containsScrollbarsAvoidingResizer): Deleted.
(WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount): Deleted.
(WebCore::ScrollView::setParent): Deleted.

  • platform/ScrollView.h:

(WebCore::ScrollView::windowResizerRect): Deleted.

  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::Scrollbar): Deleted.
(WebCore::Scrollbar::setFrameRect): Deleted.
(WebCore::Scrollbar::setParent): Deleted.

  • platform/Scrollbar.h:

Source/WebKit/mac:

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::windowResizerRect): Deleted.

Source/WebKit/win:

  • WebCoreSupport/WebChromeClient.cpp:

(WebChromeClient::windowResizerRect): Deleted.

  • WebCoreSupport/WebChromeClient.h:

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::windowResizerRect): Deleted.

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

(WebKit::WebPage::windowResizerRect): Deleted.

  • WebProcess/WebPage/WebPage.h:
5:29 PM Changeset in webkit [185892] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Reduce QuickConsole DidResize events if it did not change
https://bugs.webkit.org/show_bug.cgi?id=146258

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-06-23
Reviewed by Timothy Hatcher.

  • UserInterface/Views/QuickConsole.js:

(WebInspector.QuickConsole.prototype.consoleLogVisibilityChanged):
Do not trigger the event unless there was a change in visibility.

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

Web Inspector: TextEditor scroll position not correctly restored when switching tabs
https://bugs.webkit.org/show_bug.cgi?id=146254

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-06-23
Reviewed by Timothy Hatcher.

  • UserInterface/Views/TextEditor.js:

(WebInspector.TextEditor.prototype.updateLayout):
Workaround a larger issue with ContentView restoration so that
TextEditors restore their scroll position as expected.

5:21 PM Changeset in webkit [185890] by mitz@apple.com
  • 3 edits
    2 adds in trunk/Source/WebKit2

Restore binary compatibility with iOS 8 Safari after r185877
https://bugs.webkit.org/show_bug.cgi?id=146263

Reviewed by Anders Carlsson.

  • Platform/spi/Cocoa: Added.
  • Platform/spi/Cocoa/NSInvocationSPI.h: Added.
  • UIProcess/API/Cocoa/WKSecurityOrigin.mm:

(-[WKSecurityOrigin methodSignatureForSelector:]): Override to check _WKSecurityOrigin for
possible category methods with the specified selector.
(-[WKSecurityOrigin forwardInvocation:]): Invoke using the implementation of the
_WKSecurityOrigin category method.

  • WebKit2.xcodeproj/project.pbxproj:
4:36 PM Changeset in webkit [185889] by mmirman@apple.com
  • 13 edits
    5 adds in trunk

Completes native binding descriptors with native getters and potentially setters.
https://bugs.webkit.org/show_bug.cgi?id=140575
rdar://problem/19506502

Reviewed by Mark Lam.

Source/JavaScriptCore:

  • CMakeLists.txt: Added JSBoundSlotBaseFunction.cpp
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • inspector/InjectedScriptSource.js: Added case for descriptor having a native getter.
  • runtime/JSBoundSlotBaseFunction.cpp: Added.

(JSC::boundSlotBaseFunctionCall):
(JSC::JSBoundSlotBaseFunction::JSBoundSlotBaseFunction):
Necessary wrapper for custom getters and setters as objects.
(JSC::JSBoundSlotBaseFunction::create):
(JSC::JSBoundSlotBaseFunction::visitChildren):
(JSC::JSBoundSlotBaseFunction::finishCreation):

  • runtime/JSBoundSlotBaseFunction.h: Added.

(JSC::JSBoundSlotBaseFunction::createStructure):
(JSC::JSBoundSlotBaseFunction::boundSlotBase):
(JSC::JSBoundSlotBaseFunction::customGetterSetter):
(JSC::JSBoundSlotBaseFunction::isGetter):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init): Added a globally initialized structure for JSBoundSlotBaseFunction
(JSC::JSGlobalObject::visitChildren): visits that structure

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::boundSlotBaseFunctionStructure): added a getter for that structure

  • runtime/JSObject.cpp:

(JSC::JSObject::getOwnPropertyDescriptor): extends the case for CustomGetterSetter to
actually include GetterSetter as a JSBoundSlotBaseFunction

  • runtime/VM.cpp: Added initializer for customGetterSetterFunctionMap
  • runtime/VM.h: Added cache for JSBoundSlotBaseFunction

LayoutTests:

  • inspector-protocol/runtime/getProperties-expected.txt: updated.
  • js/dom/native-bindings-descriptors-expected.txt: Added.
  • js/dom/native-bindings-descriptors.html: Added.
  • js/dom/script-tests/native-bindings-descriptors.js: Added.
3:47 PM Changeset in webkit [185888] by dino@apple.com
  • 3 edits
    2 adds in trunk/Source/WebCore

Media controls are missing the white backdrop in UIWebViews
https://bugs.webkit.org/show_bug.cgi?id=146251
<rdar://problem/20181345>

Reviewed by Simon Fraser.

Implement two new CALayer subclasses that explicitly set
something that resembles the system appearance for
media-controls-dark-bar-background and media-controls-light-bar-background.
This way, WebKit1 clients get a visible result.

Creating the actual system recipes is tracked by:
https://bugs.webkit.org/show_bug.cgi?id=146250

  • WebCore.xcodeproj/project.pbxproj: Add new files.
  • platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:

(PlatformCALayerCocoa::PlatformCALayerCocoa): Use the new CALayer subclasses for
the appropriate layer types.

  • platform/graphics/ca/cocoa/WebSystemBackdropLayer.h: Added.
  • platform/graphics/ca/cocoa/WebSystemBackdropLayer.mm: Added.

(-[WebLightSystemBackdropLayer init]):
(-[WebLightSystemBackdropLayer setBackgroundColor:]): Only set to a light grey.
(-[WebDarkSystemBackdropLayer init]):
(-[WebDarkSystemBackdropLayer setBackgroundColor:]): Only set to a dark grey.

3:46 PM Changeset in webkit [185887] by andersca@apple.com
  • 4 edits in trunk

Add operator! and copy/move constructors to WeakObjCPtr
https://bugs.webkit.org/show_bug.cgi?id=146255

Reviewed by Andreas Kling.

Source/WebKit2:

  • Shared/mac/WeakObjCPtr.h:

(WebKit::WeakObjCPtr::WeakObjCPtr):
(WebKit::WeakObjCPtr::operator!):

Tools:

  • TestWebKitAPI/Tests/WebKit2/cocoa/WeakObjCPtr.mm:

(TEST):

3:09 PM Changeset in webkit [185886] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Some brief previews are incorrectly treated as lossless
https://bugs.webkit.org/show_bug.cgi?id=146247

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-06-23
Reviewed by Timothy Hatcher.

  • UserInterface/Views/ObjectPreviewView.js:

(WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
(WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
When we have a brief preview we may need to override lossless / overflow
if the preview view itself shows less properties than were in the preview.

3:02 PM Changeset in webkit [185885] by mrajca@apple.com
  • 3 edits in trunk/Source/WebCore

Support releasing media sessions
https://bugs.webkit.org/show_bug.cgi?id=146132

Reviewed by Darin Adler.

  • Modules/mediasession/MediaSession.cpp: Implemented as described in the Media Session spec.

(WebCore::MediaSession::releaseSession):
(WebCore::MediaSession::releaseInternal):

  • Modules/mediasession/MediaSession.h:
2:41 PM Changeset in webkit [185884] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

AX: iOS: VoiceOver and ARIA: has popup property not announced
https://bugs.webkit.org/show_bug.cgi?id=146188

Reviewed by Darin Adler.

Expose the existing "has popup" property to the iOS Accessibility API.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityHasPopup]):

2:09 PM Changeset in webkit [185883] by mmaxfield@apple.com
  • 3 edits
    2 copies
    2 adds in trunk/LayoutTests

Unreviewed test gardening after r185842
https://bugs.webkit.org/show_bug.cgi?id=145681
<rdar://problem/21169844>

  • platform/mac-yosemite/fast/text/arabic-times-new-roman-expected.png: Copied from LayoutTests/platform/mac/fast/text/arabic-times-new-roman-expected.png.
  • platform/mac-yosemite/fast/text/arabic-times-new-roman-expected.txt: Copied from LayoutTests/platform/mac/fast/text/arabic-times-new-roman-expected.txt.
  • platform/mac/fast/text/arabic-times-new-roman-expected.png:
  • platform/mac/fast/text/arabic-times-new-roman-expected.txt:
  • platform/win/fast/text/arabic-times-new-roman-expected.png: Added.
  • platform/win/fast/text/arabic-times-new-roman-expected.txt: Added.
1:34 PM Changeset in webkit [185882] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit2

CrashTracer: com.apple.WebKit.Networking at JavaScriptCore: WTF::String::isolatedCopy const &
https://bugs.webkit.org/show_bug.cgi?id=146236
rdar://problem/21380700

Reviewed by Andreas Kling.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::Cache::clear):

Don't crash if this is called with network cache disabled.

11:54 AM Changeset in webkit [185881] by dbates@webkit.org
  • 2 edits in trunk/LayoutTests

AX Tests hit-test-input-{auto-fill, search}-button.html and input-search-cancel-button.html fail on Windows
https://bugs.webkit.org/show_bug.cgi?id=146243

Mark the tests as failing for now.

  • platform/win/TestExpectations:
11:27 AM Changeset in webkit [185880] by Simon Fraser
  • 7 edits in trunk

Expose some more rendering progress events, and have MiniBrowser log for each of them
https://bugs.webkit.org/show_bug.cgi?id=146227

Reviewed by Darin Adler.

Source/WebKit2:

Add _WKRenderingProgressEventFirstLayoutAfterSuppressedIncrementalRendering and
_WKRenderingProgressEventFirstPaintAfterSuppressedIncrementalRendering to the private
header, and convert them to/from WebCore milestones.

  • Shared/API/Cocoa/_WKRenderingProgressEvents.h:
  • Shared/API/Cocoa/_WKRenderingProgressEventsInternal.h:

(renderingProgressEvents):

  • UIProcess/API/Cocoa/WKWebView.mm:

(layoutMilestones):

Tools:

Register for layout milestones/rendering progress events in the WK1 and WK2
browser window controllers, and, if logging is turned on, log when they are
reached.

  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController awakeFromNib]):
(-[WK1BrowserWindowController webView:didLayout:]):

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController awakeFromNib]):
(-[WK2BrowserWindowController _webView:renderingProgressDidChange:]):

11:04 AM Changeset in webkit [185879] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebKit2

Unreviewed. Fix GTK+ build after r185876 and r185877.

  • UIProcess/API/gtk/WebKitUIClient.cpp:
  • UIProcess/API/gtk/WebKitUserContentManager.cpp:
  • UIProcess/API/gtk/WebKitWebView.cpp:
10:37 AM Changeset in webkit [185878] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

Get rid of the window resizer size
https://bugs.webkit.org/show_bug.cgi?id=146240

Reviewed by Darin Adler.

This code was only used by older versions of GTK+, so get rid of it.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseNotifyResizerSize): Deleted.
(toplevelWindowResizeGripVisibilityChanged): Deleted.
(webkitWebViewBaseSetToplevelOnScreenWindow): Deleted.
(resizeWebKitWebViewBaseFromAllocation): Deleted.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setWindowResizerSize): Deleted.

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::windowResizerRect):
(WebKit::WebPage::setWindowResizerSize): Deleted.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
10:28 AM Changeset in webkit [185877] by beidson@apple.com
  • 39 edits
    2 copies
    1 move
    2 adds in trunk

WKFrameInfo should have an accessor for the Frame's current security origin.
https://bugs.webkit.org/show_bug.cgi?id=146162

Reviewed by Dan Bernstein.

Source/WebKit2:

This patch:

  • Promotes _WKSecurityOrigin to API.
  • Makes the WKSecurityOrigin Cocoa API object work with API::SecurityOrigin.
  • Adds a WKSecurityOrigin accessor to WKFrameInfo.
  • Changes IPC messaging so every handler that calls out with a WKFrameInfo object gets a relevant SecurityOrigin to wrap.
  • Shared/API/APISecurityOrigin.h:

(API::SecurityOrigin::create):
(API::SecurityOrigin::SecurityOrigin):

  • Shared/API/Cocoa/WebKit.h:
  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toCopiedAPI):

  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):

  • Shared/SecurityOriginData.cpp:

(WebKit::SecurityOriginData::fromFrame):

  • Shared/SecurityOriginData.h:
  • UIProcess/API/APIFrameInfo.cpp:

(API::FrameInfo::FrameInfo):

  • UIProcess/API/APIFrameInfo.h:
  • UIProcess/API/APINavigationClient.h:

(API::NavigationClient::didFailProvisionalLoadInSubframeWithError):

  • UIProcess/API/APIUIClient.h:

(API::UIClient::createNewPage):
(API::UIClient::runJavaScriptAlert):
(API::UIClient::runJavaScriptConfirm):
(API::UIClient::runJavaScriptPrompt):

  • UIProcess/API/C/WKApplicationCacheManager.cpp:

(WKApplicationCacheManagerGetApplicationCacheOrigins):

  • UIProcess/API/C/WKKeyValueStorageManager.cpp:

(WKKeyValueStorageManagerGetKeyValueStorageOrigins):

  • UIProcess/API/C/WKOriginDataManager.cpp:

(WKOriginDataManagerGetOrigins):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):
(WKPageSetPageNavigationClient):

  • UIProcess/API/C/WKResourceCacheManager.cpp:

(WKResourceCacheManagerGetCacheOrigins):

  • UIProcess/API/Cocoa/WKFrameInfo.h:
  • UIProcess/API/Cocoa/WKFrameInfo.mm:

(-[WKFrameInfo securityOrigin]):

  • UIProcess/API/Cocoa/WKSecurityOrigin.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKSecurityOrigin.h.
  • UIProcess/API/Cocoa/WKSecurityOrigin.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKSecurityOrigin.mm.

(-[WKSecurityOrigin dealloc]):
(-[WKSecurityOrigin description]):
(-[WKSecurityOrigin protocol]):
(-[WKSecurityOrigin host]):
(-[WKSecurityOrigin port]):
(-[WKSecurityOrigin _apiObject]):

  • UIProcess/API/Cocoa/WKSecurityOriginInternal.h: Renamed from Source/WebKit2/UIProcess/API/Cocoa/_WKSecurityOriginInternal.h.

(API::wrapper):

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/API/Cocoa/WKUserContentController.mm:
  • UIProcess/API/Cocoa/_WKSecurityOrigin.h:
  • UIProcess/API/Cocoa/_WKSecurityOrigin.mm:

(-[_WKSecurityOrigin _initWithSecurityOrigin:]): Deleted.
(-[_WKSecurityOrigin protocol]): Deleted.
(-[_WKSecurityOrigin host]): Deleted.
(-[_WKSecurityOrigin port]): Deleted.

  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::NavigationClient::didFailProvisionalLoadInSubframeWithError):

  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::UIClient::createNewPage):
(WebKit::UIDelegate::UIClient::runJavaScriptAlert):
(WebKit::UIDelegate::UIClient::runJavaScriptConfirm):
(WebKit::UIDelegate::UIClient::runJavaScriptPrompt):
(WebKit::UIDelegate::UIClient::exceededDatabaseQuota):
(WebKit::UIDelegate::UIClient::reachedApplicationCacheOriginQuota):

  • UIProcess/UserContent/WebScriptMessageHandler.h:
  • UIProcess/UserContent/WebUserContentControllerProxy.cpp:

(WebKit::WebUserContentControllerProxy::didPostMessage):

  • UIProcess/UserContent/WebUserContentControllerProxy.h:
  • UIProcess/UserContent/WebUserContentControllerProxy.messages.in:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponse):
(WebKit::WebPageProxy::decidePolicyForResponseSync):
(WebKit::WebPageProxy::createNewPage):
(WebKit::WebPageProxy::runJavaScriptAlert):
(WebKit::WebPageProxy::runJavaScriptConfirm):
(WebKit::WebPageProxy::runJavaScriptPrompt):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/UserContent/WebUserContentController.cpp:

(WebKit::WebUserMessageHandlerDescriptorProxy::didPostMessage):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createWindow):
(WebKit::WebChromeClient::runJavaScriptAlert):
(WebKit::WebChromeClient::runJavaScriptConfirm):
(WebKit::WebChromeClient::runJavaScriptPrompt):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/modal-alerts-in-new-about-blank-window.html: Added.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ModalAlerts.mm: Added.

(sawDialog):
(-[ModalAlertsUIDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
(-[ModalAlertsUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[ModalAlertsUIDelegate webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler:]):
(-[ModalAlertsUIDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:completionHandler:]):
(TEST):

9:45 AM Changeset in webkit [185876] by mitz@apple.com
  • 15 edits in trunk/Source/WebKit2

<rdar://problem/21342465> Make -[WKWebView _certificateChain] public.
https://bugs.webkit.org/show_bug.cgi?id=145886

Reviewed by Sam Weinig.

  • Shared/WebCertificateInfo.h:

(WebKit::WebCertificateInfo::create): Changed to return a Ref rather than a PassRefPtr.

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm: Added no-op overrides of new

PageLoadState::Observer functions to PageLoadStateObserver.

  • UIProcess/API/Cocoa/WKProcessGroup.mm:

(-[WKProcessGroup _setAllowsSpecificHTTPSCertificate:forHost:]): Updated for change to
WebCertificateInfo::create.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _setAllowsSpecificHTTPSCertificate:forHost:]): Ditto.

  • UIProcess/API/Cocoa/WKWebView.h: Declared new certificateChain property on WKWebView.
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView certificateChain]): Added. Returns the certificate chain from the page load
state, or an empty array if there is no certificate chain.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h: Deprecated _certificateChain.
  • UIProcess/Cocoa/NavigationState.h: Declared overrides of new PageLoadState::Observer

functions.

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::willChangeCertificateInfo): Override to call
-willChangeValueForKey:.
(WebKit::NavigationState::didChangeCertificateInfo): Override to call
-didChangeValueForKey:.

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::commitChanges): Call the new observer functions
willChangeCertificateInfo and didChangeCertificateInfo.
(WebKit::PageLoadState::didCommitLoad): Added new certificateInfo parameter, which is stored
in the uncommitted state.

  • UIProcess/PageLoadState.h:

(WebKit::PageLoadState::certificateInfo): Added this getter.

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::didCommitLoad): Changed the parameter type from
WebCore::CertificateInfo to WebCertificateInfo.

  • UIProcess/WebFrameProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didCommitLoadForFrame): Pass the certificate info to
PageLoadState::didCommitLoad.

9:26 AM Changeset in webkit [185875] by Matt Baker
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Layout & Rendering timeline should show paint and layout records in separate rows
https://bugs.webkit.org/show_bug.cgi?id=146119

Reviewed by Timothy Hatcher.

This patch makes the original Layout & Rendering timeline visually consistent with the Rendering Frames
timeline, which uses green to distinguish Paint from Layout. In order to support having record bars with
different colors in the same overview graph, the timeline has been split into two rows.

  • UserInterface/Views/LayoutTimelineOverviewGraph.css:

(.timeline-overview-graph.layout > .graph-row):
(.timeline-overview-graph.layout > .graph-row > .timeline-record-bar):
(.timeline-overview-graph.layout > .graph-row > .timeline-record-bar > .segment):
New row styles.

  • UserInterface/Views/LayoutTimelineOverviewGraph.js:

(WebInspector.LayoutTimelineOverviewGraph.prototype.reset.createRecordRow):
(WebInspector.LayoutTimelineOverviewGraph.prototype.reset):
(WebInspector.LayoutTimelineOverviewGraph.prototype.updateLayout):
(WebInspector.LayoutTimelineOverviewGraph.prototype._updateRowLayout.createBar):
(WebInspector.LayoutTimelineOverviewGraph.prototype._updateRowLayout):
(WebInspector.LayoutTimelineOverviewGraph.prototype._layoutTimelineRecordAdded):
(WebInspector.LayoutTimelineOverviewGraph): Deleted.
Added bookkeeping objects for timeline row elements and their associated records.

  • UserInterface/Views/TimelineRecordBar.css:

(.timeline-record-bar.timeline-record-type-layout.layout-timeline-record-paint > .segment):
New style for layout record event types.

  • UserInterface/Views/TimelineRecordBar.js:

(WebInspector.TimelineRecordBar.prototype.set records):
Add style class for eventType, if present.

7:18 AM Changeset in webkit [185874] by jfernandez@igalia.com
  • 2 edits in trunk/Source/WebCore

[CSS Grid Layout] Performance optimization: avoid computing overflow alignment if not needed
https://bugs.webkit.org/show_bug.cgi?id=146231

Reviewed by Sergio Villar Senin.

We don't need to apply any overflow handling if alignment value don't have a potential
risk of data loss, as it's the case of 'start' value.

This patch avoid computing the overflow in all the cases, since it adds an unneeded
overhead which affects performance.

New code improves performance around 3%-8%, depending on the grid tests.

No new tests, no new funcitonality.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::rowPositionForChild):
(WebCore::RenderGrid::columnPositionForChild):

7:10 AM Changeset in webkit [185873] by youenn.fablet@crf.canon.fr
  • 13 edits
    1 delete in trunk

MediaDevices.getUserMedia should migrate from callbacks to DOMPromise
https://bugs.webkit.org/show_bug.cgi?id=146200

Reviewed by Darin Adler.

Source/WebCore:

Introduced DOMPromiseWithCallback to resolve/reject promises while allowing promise clients to use a typed callback approach.
Migrated MediaDevices.getUserMedia from callbacks to DOMPromiseWithCallback.
Removed MediaDevices.getUserMedia custom binding.

Covered by existing tests.

  • CMakeLists.txt: Removing custom binding.
  • Modules/mediastream/MediaDevices.cpp:

(WebCore::MediaDevices::getUserMedia): Moving from callback to promise.

  • Modules/mediastream/MediaDevices.h: Ditto.
  • Modules/mediastream/MediaDevices.idl: Removing custom binding.
  • Modules/mediastream/NavigatorUserMedia.cpp:

(WebCore::NavigatorUserMedia::webkitGetUserMedia): Converting from promise callback to API callbacks.

  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::create): Moving from callback to promise.
(WebCore::UserMediaRequest::UserMediaRequest): Ditto.
(WebCore::UserMediaRequest::didCreateStream): Ditto.
(WebCore::UserMediaRequest::failedToCreateStreamWithConstraintsError): Ditto.
(WebCore::UserMediaRequest::failedToCreateStreamWithPermissionError): Ditto.

  • Modules/mediastream/UserMediaRequest.h: Ditto.
  • bindings/js/JSDOMPromise.h: Introducing DOMPromiseWithCallback and removing crypto specific header.

(WebCore::DOMPromiseWithCallback::DOMPromiseWithCallback):
(WebCore::Error>::resolve):
(WebCore::Error>::reject):

  • bindings/js/JSMediaDevicesCustom.cpp: Removed.
  • bindings/js/JSSubtleCryptoCustom.cpp: Updating headers.

LayoutTests:

  • fast/mediastream/MediaDevices-getUserMedia-expected.txt:
4:29 AM Changeset in webkit [185872] by youenn.fablet@crf.canon.fr
  • 8 edits in trunk

[Streams API] Implement ReadableStream js source "'cancel" callback
https://bugs.webkit.org/show_bug.cgi?id=146204

Reviewed by Darin Adler.

Source/WebCore:

Calling "cancel" JS function when web app is cancelling a JS readable stream.
Handling of promise returned value in case of async cancel.

Covered by rebased tests.

  • bindings/js/ReadableJSStream.cpp:

(WebCore::ReadableJSStream::invoke): Refactoring to pass cancel reason or controller to the JS function.
(WebCore::ReadableJSStream::doStart): Ditto.
(WebCore::startReadableStreamAsync): Renaming readableStream as protectedStream.
(WebCore::createPullResultFulfilledFunction): Ditto.
(WebCore::ReadableJSStream::doPull): Refactoring to pass cancel reason or controller to the JS function.
(WebCore::createCancelResultFulfilledFunction): Cancel promise fullfil callback.
(WebCore::createCancelResultRejectedFunction): Cancel promise reject callback.
(WebCore::ReadableJSStream::doCancel): Calling cancel JS callback and handling promise returned value.

  • bindings/js/ReadableJSStream.h: Refactoring to pass cancel reason or controller to the JS function.

LayoutTests:

  • streams/reference-implementation/bad-underlying-sources-expected.txt:
  • streams/reference-implementation/readable-stream-cancel-expected.txt:
  • streams/reference-implementation/readable-stream-expected.txt:
  • streams/reference-implementation/readable-stream-reader-expected.txt:
3:45 AM Changeset in webkit [185871] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

Remove build warnings in Tools/DumpRenderTree/TestNetscapePlugIn
https://bugs.webkit.org/show_bug.cgi?id=146007

Patch by Tanay C <tanay.c@samsung.com> on 2015-06-23
Reviewed by Darin Adler.

  • DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt:
  • DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp: Add attribute to functions.

(pluginLogWithWindowObject):
(pluginLogWithArguments):
(pluginLog):

  • DumpRenderTree/TestNetscapePlugIn/PluginTest.cpp: Add attribute to functions.

(PluginTest::executeScript):
(PluginTest::log):

2:34 AM Changeset in webkit [185870] by Gyuyoung Kim
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed, gardening.

Mark fast/forms/listbox-visible-size.html to failure and skip
fast/text/arabic-times-new-roman.html because it is for iOS.

  • platform/efl/TestExpectations:
2:03 AM Changeset in webkit [185869] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Build fix. A/B testing is broken when continuous builders report revisions out of order.

  • public/v2/app.js:

(App.AnalysisTaskController.Ember.Controller.extend.):

1:56 AM Changeset in webkit [185868] by peavo@outlook.com
  • 2 edits in trunk/Source/WebKit/win

[WinCairo] WebDownload::initWithRequest is not implemented.
https://bugs.webkit.org/show_bug.cgi?id=146203

Reviewed by Alex Christensen.

Implement method to start download from a IWebURLRequest object.

  • WebDownloadCurl.cpp:

(WebDownload::initWithRequest): Implemented.

12:10 AM Changeset in webkit [185867] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[EFL] Add libhyphen-dev as dependency after r185862
https://bugs.webkit.org/show_bug.cgi?id=146230

Reviewed by Gyuyoung Kim.

  • efl/install-dependencies:
12:00 AM Changeset in webkit [185866] by Gyuyoung Kim
  • 4 edits in trunk/Source/WebKit2

[EFL][CustomProtocol] Do not add duplicated custom scheme
https://bugs.webkit.org/show_bug.cgi?id=146199

Reviewed by Carlos Garcia Campos.

WebSoupCustomProtocolRequestManager::registerSchemeForCustomProtocol generates
a crash when duplicated scheme is registered on debug mode, or just registers it on release mode.
However application can register duplicate scheme by mistake or on purpose. Thus it would be good
if we don't register it instead of registering it or generating a crash when trying to regiseter
duplicated scheme.

EFL port want to allow user to change registered callback, thus EWK2ContextTest::ewk_context_url_scheme_register()
is modified to test it.

Test: ewk_context_url_scheme_register() in test_ewk2_context.cpp.

  • UIProcess/API/efl/ewk_context.h: Added a comment to replace registered callback.
  • UIProcess/API/efl/tests/test_ewk2_context.cpp:

(EWK2ContextTest::schemeRequestCallback1):
(EWK2ContextTest::schemeRequestCallback2):
(TEST_F):
(EWK2ContextTest::schemeRequestCallback): Deleted.

  • UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp:

(WebKit::WebSoupCustomProtocolRequestManager::registerSchemeForCustomProtocol):

Note: See TracTimeline for information about the timeline view.