WebKit-https.git
5 years ago[Streams API] Add support for chunks with customized sizes
youenn.fablet@crf.canon.fr [Sun, 28 Jun 2015 12:39:48 +0000 (12:39 +0000)]
[Streams API] Add support for chunks with customized sizes
https://bugs.webkit.org/show_bug.cgi?id=146312

Reviewed by Darin Adler.

Source/WebCore:

Covered by rebased tests.

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

LayoutTests:

* streams/reference-implementation/bad-strategies-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186044 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Streams API]Remove ReadableStreamController.close custom binding
youenn.fablet@crf.canon.fr [Sun, 28 Jun 2015 12:16:15 +0000 (12:16 +0000)]
[Streams API]Remove ReadableStreamController.close custom binding
https://bugs.webkit.org/show_bug.cgi?id=146380

Reviewed by Darin Adler.

No change in behavior.

* Modules/streams/ReadableStreamController.h:
(WebCore::ReadableStreamController::close): Calling ReadableJSStream close method.
* Modules/streams/ReadableStreamController.idl: Removed Custom.
* bindings/js/JSReadableStreamControllerCustom.cpp:
(WebCore::JSReadableStreamController::close): Deleted.
* bindings/js/ReadableJSStream.cpp:
(WebCore::ReadableJSStream::close): Moved custom binding code here.
* bindings/js/ReadableJSStream.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186043 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoWeb Inspector: Wrong border color of console messages when filters are enabled
nvasilyev@apple.com [Sun, 28 Jun 2015 07:43:13 +0000 (07:43 +0000)]
Web Inspector: Wrong border color of console messages when filters are enabled
https://bugs.webkit.org/show_bug.cgi?id=146392

Reviewed by Timothy Hatcher.

* UserInterface/Views/LogContentView.css:
(.console-error-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
(.console-warning-level:not(.filtered-out, .filtered-out-by-search) + .console-item):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186042 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[JetStream] Raise the percentile of mandreel-latency and splay-latency
fpizlo@apple.com [Sun, 28 Jun 2015 03:47:00 +0000 (03:47 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186041 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agofast/canvas/webgl/tex-*.html flakily timeout on Mavericks Debug WK1
ddkilzer@apple.com [Sun, 28 Jun 2015 03:29:41 +0000 (03:29 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186040 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoREGRESSION (r186038): accessibility/aria-roledescription.html fails on Windows
ddkilzer@apple.com [Sun, 28 Jun 2015 03:29:33 +0000 (03:29 +0000)]
REGRESSION (r186038): accessibility/aria-roledescription.html fails on Windows

* platform/win/TestExpectations: Mark as failing on Windows:
- accessibility/aria-roledescription.html

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186039 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAX: implement @aria-roledescription
cfleizach@apple.com [Sat, 27 Jun 2015 23:02:03 +0000 (23:02 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186038 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoMake converting JSString to StringView idiomatically safe
darin@apple.com [Sat, 27 Jun 2015 22:53:12 +0000 (22:53 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186037 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago Fix the build.
darin@apple.com [Sat, 27 Jun 2015 22:52:22 +0000 (22:52 +0000)]
    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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186036 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoCrash in WebCore::ResourceError::cfError() after provisional load failed
ddkilzer@apple.com [Sat, 27 Jun 2015 21:38:57 +0000 (21:38 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186035 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoREGRESSION (r186001): fast/text/han-generic-font-families.html always fails on Yosemite
mmaxfield@apple.com [Sat, 27 Jun 2015 21:37:41 +0000 (21:37 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186034 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agobuild-requests should use conform to JSON API format
rniwa@webkit.org [Sat, 27 Jun 2015 21:31:13 +0000 (21:31 +0000)]
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 $_GET['id']. 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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186033 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Mac] Only flag a video element as eligible for auto-play to AppleTV one time
eric.carlson@apple.com [Sat, 27 Jun 2015 21:11:18 +0000 (21:11 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186032 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoREGRESSION (r186029): fast/text/justify-ideograph-{complex,simple,vertical}.html...
ddkilzer@apple.com [Sat, 27 Jun 2015 17:59:49 +0000 (17:59 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186031 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAdd missing image results for platform/mac/platform/mac/fast/text/vertical-surrogate...
ddkilzer@apple.com [Sat, 27 Jun 2015 17:04:45 +0000 (17:04 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186030 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRebaseline El Capitan results for fast/text/justify-ideograph-{complex,simple,vertica...
ddkilzer@apple.com [Sat, 27 Jun 2015 17:04:39 +0000 (17:04 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186029 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoDocument more slow fast/canvas/webgl tests on Mavericks Debug WK1
ddkilzer@apple.com [Sat, 27 Jun 2015 17:00:34 +0000 (17:00 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186028 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoREGRESSION (r186001): fast/text/han-generic-font-families.html always fails on Yosemite
ddkilzer@apple.com [Sat, 27 Jun 2015 15:54:09 +0000 (15:54 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186027 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoediting/undo/remove-css-property-and-remove-style.html is flaky on Debug WK2
ddkilzer@apple.com [Sat, 27 Jun 2015 15:54:03 +0000 (15:54 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186026 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoMake NetworkCache::traverse faster
antti@apple.com [Sat, 27 Jun 2015 08:52:58 +0000 (08:52 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186025 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Streams API] Implement ReadableStreamController.desiredSize property
youenn.fablet@crf.canon.fr [Sat, 27 Jun 2015 08:04:19 +0000 (08:04 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186024 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[GTK][SOUP] Implement WebCore::PublicSuffix for soup and enable PUBLIC_SUFFIX_LIST...
carlosgc@webkit.org [Sat, 27 Jun 2015 07:45:31 +0000 (07:45 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186023 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[SOUP] NetworkCache: Make NetworkProcess::clearDiskCache actually clear the the resou...
carlosgc@webkit.org [Sat, 27 Jun 2015 07:42:36 +0000 (07:42 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186022 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[iOS] AppleGothic has been superseded by Apple SD Gothic Neo
mmaxfield@apple.com [Sat, 27 Jun 2015 02:04:12 +0000 (02:04 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186021 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoSupporting getStartDate and added tests
commit-queue@webkit.org [Sat, 27 Jun 2015 01:43:17 +0000 (01:43 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186020 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRubber-stamped by Tim Horton.
bdakin@apple.com [Fri, 26 Jun 2015 23:50:25 +0000 (23:50 +0000)]
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:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186019 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoWebPage::getPositionInformation() should not copy an image that is larger than the
bdakin@apple.com [Fri, 26 Jun 2015 23:48:17 +0000 (23:48 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186018 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRe-instating the #import and assertion removed in r186014.
mark.lam@apple.com [Fri, 26 Jun 2015 23:46:10 +0000 (23:46 +0000)]
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>.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186017 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Mac] Muted videos should not automatically play to AppleTV
eric.carlson@apple.com [Fri, 26 Jun 2015 23:33:21 +0000 (23:33 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186016 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoNo audio on animated page with the attached fixed layout epub
dino@apple.com [Fri, 26 Jun 2015 22:55:17 +0000 (22:55 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186015 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoGardeining: remove an assertion and a #import to green the bot.
mark.lam@apple.com [Fri, 26 Jun 2015 22:47:56 +0000 (22:47 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186014 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[WinCairo] Enable WEB_TIMING.
peavo@outlook.com [Fri, 26 Jun 2015 22:28:41 +0000 (22:28 +0000)]
[WinCairo] Enable WEB_TIMING.
https://bugs.webkit.org/show_bug.cgi?id=146357

Reviewed by Brent Fulgham.

* win/tools/vsprops/FeatureDefinesCairo.props:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186013 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRolling out r184660
dbates@webkit.org [Fri, 26 Jun 2015 22:18:55 +0000 (22:18 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186012 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRolling out r185881
dbates@webkit.org [Fri, 26 Jun 2015 22:18:49 +0000 (22:18 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186011 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoScriptMessageHandlerDelegate::didPostMessage() should reuse its JSContext instance.
mark.lam@apple.com [Fri, 26 Jun 2015 22:14:44 +0000 (22:14 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186010 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoNo audio on animated page with the attached fixed layout epub
dino@apple.com [Fri, 26 Jun 2015 21:33:05 +0000 (21:33 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186009 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAdd support for image previews
bdakin@apple.com [Fri, 26 Jun 2015 21:24:03 +0000 (21:24 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186008 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoGet rid of ScrollbarThemeClient now that it's unused
andersca@apple.com [Fri, 26 Jun 2015 20:42:38 +0000 (20:42 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186007 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoNetwork process hangs fetching disk cache entries
antti@apple.com [Fri, 26 Jun 2015 19:21:02 +0000 (19:21 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186006 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoPrevent new loads while in PageCache (or being added to PageCache)
cdumez@apple.com [Fri, 26 Jun 2015 18:26:19 +0000 (18:26 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186005 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoWinLauncher fails to download files.
peavo@outlook.com [Fri, 26 Jun 2015 18:23:18 +0000 (18:23 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186004 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[OS X] Change the layer tiling threshold from 2000 to 2048 pixels
simon.fraser@apple.com [Fri, 26 Jun 2015 18:17:40 +0000 (18:17 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186003 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoWireless Playback Target-related #import should be a #include
mrajca@apple.com [Fri, 26 Jun 2015 17:42:53 +0000 (17:42 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186002 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Cocoa] Sans-serif generic font family should map to PingFang
mmaxfield@apple.com [Fri, 26 Jun 2015 17:27:32 +0000 (17:27 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186001 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Curl] Compile errors; ResourceResponseBase::resourceLoadTiming() has changed return...
peavo@outlook.com [Fri, 26 Jun 2015 17:09:57 +0000 (17:09 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@186000 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Win] Implement WebViewGroup to support WebView::addxxxToGroup().
commit-queue@webkit.org [Fri, 26 Jun 2015 16:45:55 +0000 (16:45 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185999 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoRemove ARMv7Assembler.cpp
ossy@webkit.org [Fri, 26 Jun 2015 16:42:14 +0000 (16:42 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185998 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoiOS speech synthesizer should expose names
cfleizach@apple.com [Fri, 26 Jun 2015 15:17:06 +0000 (15:17 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185997 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoFix the !ENABLE(ES6_ARROWFUNCTION_SYNTAX) build after r185989
ossy@webkit.org [Fri, 26 Jun 2015 13:24:02 +0000 (13:24 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185996 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[EFL] Remove unnecessary overriden methods from ScrollBarEfl
ossy@webkit.org [Fri, 26 Jun 2015 13:05:10 +0000 (13:05 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185995 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoConvert some of WebCore/dom over to range-for loops
ossy@webkit.org [Fri, 26 Jun 2015 13:01:32 +0000 (13:01 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185994 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed buildfix after r185971, disable WEB_TIMING.
ossy@webkit.org [Fri, 26 Jun 2015 11:37:47 +0000 (11:37 +0000)]
Unreviewed buildfix after r185971, disable WEB_TIMING.

* win/tools/vsprops/FeatureDefinesCairo.props:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185993 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[EFL] Bump libseccomp version to 2.2.1
ossy@webkit.org [Fri, 26 Jun 2015 11:05:33 +0000 (11:05 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185992 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoREGRESSION (r185971): js/dom/global-constructors-attributes.html fails on Windows
ddkilzer@apple.com [Fri, 26 Jun 2015 07:10:08 +0000 (07:10 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185990 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoSource/JavaScriptCore:
commit-queue@webkit.org [Fri, 26 Jun 2015 06:49:20 +0000 (06:49 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185989 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed build fix.
lforschler@apple.com [Fri, 26 Jun 2015 06:42:39 +0000 (06:42 +0000)]
Unreviewed build fix.

* platform/audio/VectorMath.cpp:
(WebCore::VectorMath::vsmul):
(WebCore::VectorMath::vadd):
(WebCore::VectorMath::vmul):
(WebCore::VectorMath::zvmul):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185988 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoVersioning.
bshafiei@apple.com [Fri, 26 Jun 2015 06:01:22 +0000 (06:01 +0000)]
Versioning.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185985 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoBuild fix.
slewis@apple.com [Fri, 26 Jun 2015 05:30:37 +0000 (05:30 +0000)]
Build fix.

Unreviewed.

* platform/audio/DirectConvolver.cpp:
(WebCore::DirectConvolver::process):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185983 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Win] Need implementation of layoutTestController.setBackingScaleFactor
bfulgham@apple.com [Fri, 26 Jun 2015 03:55:42 +0000 (03:55 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185982 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[ES6] Support rest element in destructuring assignments
utatane.tea@gmail.com [Fri, 26 Jun 2015 03:13:25 +0000 (03:13 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185981 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoWeb Inspector: Wrong timeline selected after switching from Rendering Frames to Timelines
mattbaker@apple.com [Fri, 26 Jun 2015 02:49:53 +0000 (02:49 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185980 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed, attempt to fix the iOS build after r185968.
joepeck@webkit.org [Fri, 26 Jun 2015 02:13:26 +0000 (02:13 +0000)]
Unreviewed, attempt to fix the iOS build after r185968.

* WebCoreSupport/WebInspectorClientIOS.mm:
(WebInspectorFrontendClient::startWindowDrag):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185979 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoWeb Inspector: Add Support for OS X Full Screen Mode
joepeck@webkit.org [Fri, 26 Jun 2015 01:45:58 +0000 (01:45 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185978 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[EFL] Make send / receive messages to communicate the Web and UI Processes using...
commit-queue@webkit.org [Fri, 26 Jun 2015 01:34:42 +0000 (01:34 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185977 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAX: improve list heuristics (presentational use versus actual lists)
cfleizach@apple.com [Fri, 26 Jun 2015 01:15:29 +0000 (01:15 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185976 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed build fix after r185964.
bfulgham@apple.com [Fri, 26 Jun 2015 01:09:51 +0000 (01:09 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185975 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoBug 146300 AX: AccessibilityObject focus events that don't cause a selection
commit-queue@webkit.org [Fri, 26 Jun 2015 01:00:21 +0000 (01:00 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185974 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Content Extensions] Add a way to match a domain but not subdomains
achristensen@apple.com [Fri, 26 Jun 2015 00:57:25 +0000 (00:57 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185973 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[iOS WK2] Swiping back just after scrolling can cause some tiles to disappear
simon.fraser@apple.com [Fri, 26 Jun 2015 00:29:58 +0000 (00:29 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185972 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[WIN] Enable WEB_TIMING API
bfulgham@apple.com [Thu, 25 Jun 2015 23:47:29 +0000 (23:47 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185971 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoCleanup ENABLE_CSS3_CONDITIONAL_RULES codes.
ljaehun.lim@samsung.com [Thu, 25 Jun 2015 23:38:59 +0000 (23:38 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185970 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoInline media controls disappear when returning a video to inline
dino@apple.com [Thu, 25 Jun 2015 23:13:21 +0000 (23:13 +0000)]
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 :(

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185969 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Mac] Web Inspector: Window dragging on toolbar should behave more like native window...
joepeck@webkit.org [Thu, 25 Jun 2015 23:09:51 +0000 (23:09 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185968 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[iOS] When using the back swipe gesture in Safari, the previous webpage will flash...
timothy_horton@apple.com [Thu, 25 Jun 2015 23:09:16 +0000 (23:09 +0000)]
[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".

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185967 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoViewport units are wrong when scaled in 2-up mode, cause content to hop around on...
timothy_horton@apple.com [Thu, 25 Jun 2015 22:40:11 +0000 (22:40 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185966 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Mac] AirPlay menu button still doesn't always show on page load
eric.carlson@apple.com [Thu, 25 Jun 2015 22:11:29 +0000 (22:11 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185965 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoStop using ScrollbarThemeClient and just use Scrollbar directly
andersca@apple.com [Thu, 25 Jun 2015 22:03:25 +0000 (22:03 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185964 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoMediaSession: fall back to "content" kind when an unsupported media session kind...
mrajca@apple.com [Thu, 25 Jun 2015 21:44:13 +0000 (21:44 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185963 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Mac] Crash in WebCore::MediaPlayer::canPlayToWirelessPlaybackTarget
eric.carlson@apple.com [Thu, 25 Jun 2015 21:00:25 +0000 (21:00 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185962 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[WK2][iOS] Drop WebKitNetworkCacheTemporarilyDisabledForTesting NSUserDefaults
cdumez@apple.com [Thu, 25 Jun 2015 20:57:55 +0000 (20:57 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185961 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed, rolling out r185956.
commit-queue@webkit.org [Thu, 25 Jun 2015 20:53:22 +0000 (20:53 +0000)]
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

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185960 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoMinor fix to idx bounds check after 185954
msaboff@apple.com [Thu, 25 Jun 2015 20:48:20 +0000 (20:48 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185959 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Win] Update MediaPlayerPrivateAVFoundationCF::supportsType
bfulgham@apple.com [Thu, 25 Jun 2015 19:37:43 +0000 (19:37 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185958 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoAddress Sanitizer does not play well with memcpy in JSC::MachineThreads::tryCopyOther...
commit-queue@webkit.org [Thu, 25 Jun 2015 19:22:22 +0000 (19:22 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185957 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoEnabling MEDIA_STREAM
bfulgham@apple.com [Thu, 25 Jun 2015 18:39:15 +0000 (18:39 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185956 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoDo not send touch events to the slider's thumb when it does not have a renderer.
zalan@apple.com [Thu, 25 Jun 2015 17:42:00 +0000 (17:42 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185955 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoREGRESSION (r181889): basspro.com hangs on load under JSC::ErrorInstance::finishCreat...
msaboff@apple.com [Thu, 25 Jun 2015 17:35:12 +0000 (17:35 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185954 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[Streams API] Implement HighWaterMark
youenn.fablet@crf.canon.fr [Thu, 25 Jun 2015 12:37:53 +0000 (12:37 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185953 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoCrash in ViewGestureController::didRestoreScrollPosition() running WKWebView.LoadAlte...
timothy_horton@apple.com [Thu, 25 Jun 2015 07:55:23 +0000 (07:55 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185952 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoTry to fix the iOS EWS build.
timothy_horton@apple.com [Thu, 25 Jun 2015 07:54:50 +0000 (07:54 +0000)]
Try to fix the iOS EWS build.

* platform/spi/cocoa/SecuritySPI.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185951 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[GTK] Add initial WebKitWebsiteDataManager API for process configuration options
carlosgc@webkit.org [Thu, 25 Jun 2015 07:51:32 +0000 (07:51 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185950 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[GTK] Do not use legacy data store options in WebKit2 GTK+ API
carlosgc@webkit.org [Thu, 25 Jun 2015 07:15:56 +0000 (07:15 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185949 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years ago[GTK] Empty gtk-font-name setting causes WebProcess crash rendering pages
carlosgc@webkit.org [Thu, 25 Jun 2015 07:13:46 +0000 (07:13 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185948 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed gardening, test rebaseline on Windows after r185934.
cdumez@apple.com [Thu, 25 Jun 2015 05:32:26 +0000 (05:32 +0000)]
Unreviewed gardening, test rebaseline on Windows after r185934.

* platform/win/fast/css/apple-system-colors-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185947 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed, EFL build fix after r185940.
cdumez@apple.com [Thu, 25 Jun 2015 05:20:38 +0000 (05:20 +0000)]
Unreviewed, EFL build fix after r185940.

Members were initialized in wrong order.

* Modules/mediastream/MediaDeviceInfo.cpp:
(WebCore::MediaDeviceInfo::MediaDeviceInfo):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185946 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed, Build fix after r185940.
cdumez@apple.com [Thu, 25 Jun 2015 05:11:39 +0000 (05:11 +0000)]
Unreviewed, Build fix after r185940.

Move implementation inside WebCore namespace.

* Modules/mediastream/MediaDeviceInfo.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185945 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed, speculative GTK build fix after 185940.
cdumez@apple.com [Thu, 25 Jun 2015 05:02:58 +0000 (05:02 +0000)]
Unreviewed, speculative GTK build fix after 185940.

Add new cpp file to CMakeLists.txt.

* CMakeLists.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185944 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoUnreviewed, speculative build fix after r185942.
cdumez@apple.com [Thu, 25 Jun 2015 04:49:42 +0000 (04:49 +0000)]
Unreviewed, speculative build fix after r185942.

Add missing include for StrongInlines.h.

* runtime/ArrayPrototype.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185943 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoOptimize Array.join and Array.reverse for high speed array types
darin@apple.com [Thu, 25 Jun 2015 04:32:24 +0000 (04:32 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185942 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoDFG::SpeculativeJIT shouldn't use filter==Contradiction when it meant isClear
fpizlo@apple.com [Thu, 25 Jun 2015 04:06:08 +0000 (04:06 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185941 268f45cc-cd09-0410-ab3c-d52691b4dbfc