WebKit-https.git
2 years agoSupport CSS Shapes Level 1 without a prefix
dino@apple.com [Thu, 20 Oct 2016 19:09:30 +0000 (19:09 +0000)]
Support CSS Shapes Level 1 without a prefix
https://bugs.webkit.org/show_bug.cgi?id=163709
<rdar://problem/28859369>

Reviewed by Myles Maxfield.

Source/WebCore:

Support the unprefixed form of CSS Shapes, now that
it is in CR.

We have a few failing tests:

- Some image-based shaping failures, now skipped.
  https://bugs.webkit.org/show_bug.cgi?id=163706

- Some false negatives, where my understanding
  of the CSS OM seems to suggest that the W3C tests
  are incorrect.
  https://bugs.webkit.org/show_bug.cgi?id=163708

Tests: imported/w3c/csswg-test/css-shapes-1

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSPropertyNames.in:
* css/CSSValueKeywords.in:
* css/parser/CSSParser.cpp:
(WebCore::isSimpleLengthPropertyID):
(WebCore::CSSParser::parseValue):
* css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::parseSingleValue):
* page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

Source/WebInspectorUI:

Replace -webkit-shape-outside with shape-outside.

* UserInterface/Models/CSSKeywordCompletions.js:

LayoutTests:

Unskip all but a couple of tests.

* TestExpectations:

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

2 years ago[CSS Parser] Fix region, column and page break parsing
hyatt@apple.com [Thu, 20 Oct 2016 18:35:56 +0000 (18:35 +0000)]
[CSS Parser] Fix region, column and page break parsing
https://bugs.webkit.org/show_bug.cgi?id=163743

Reviewed by Simon Fraser.

* css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
Add the missing values for break support.

* css/parser/CSSPropertyParser.cpp:
(WebCore::isLegacyBreakProperty):
(WebCore::CSSPropertyParser::parseValueStart):
Add a special case for handling legacy break properties. Blink treats them like
shorthands, but we can't do that without breaking the old parser, so for now
we add a special case.

(WebCore::mapFromPageBreakBetween):
(WebCore::mapFromColumnBreakBetween):
(WebCore::mapFromRegionBreakBetween):
Updated to have the AvoidXXX values (where XXX is Column/Page/Region).

(WebCore::CSSPropertyParser::parseShorthand):
Remove the consumeLegacyBreak from the shorthand function, since we can't treat
the legacy break properties as shorthands yet.

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

2 years ago[JSC] disallow references to `await` in AsyncFunction formal parameters
caitp@igalia.com [Thu, 20 Oct 2016 18:30:59 +0000 (18:30 +0000)]
[JSC] disallow references to `await` in AsyncFunction formal parameters
https://bugs.webkit.org/show_bug.cgi?id=163694

Reviewed by Saam Barati.

JSTests:

* stress/async-await-syntax.js:

Source/JavaScriptCore:

* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseAssignmentExpression):

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

2 years agoAdd convenience function that combines WTF::visit(...) with WTF::makeVisitor(...)
weinig@apple.com [Thu, 20 Oct 2016 18:27:28 +0000 (18:27 +0000)]
Add convenience function that combines WTF::visit(...) with WTF::makeVisitor(...)
https://bugs.webkit.org/show_bug.cgi?id=163713

Reviewed by Dan Bernstein.

Source/WebCore:

Switch uses of WTF::visit to use WTF::switchOn.

* dom/MessageEvent.cpp:
(WebCore::MessageEvent::source):
* dom/Node.cpp:
(WebCore::nodeSetPreTransformedFromNodeOrStringVector):
(WebCore::Node::convertNodesOrStringsIntoNode):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::add):
* html/track/TrackEvent.cpp:
(WebCore::TrackEvent::TrackEvent):
* testing/TypeConversions.h:
(WebCore::TypeConversions::typeConversionsDictionaryUnionType):

Source/WTF:

- Add WTF::switchOn which merges WTF::visit with WTF::makeVisitor in the following
  way:
        WTF::visit(WTF::makeVisitor(...), variant)

* wtf/Variant.h:
(WTF::switchOn):

Tools:

* TestWebKitAPI/Tests/WTF/Variant.cpp:
Add test for WTF::switchOn()

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

2 years ago[JSC] Move InterceptsGetOwnPropertySlotByIndexEvenWhenLengthIsNotZero to out of line...
utatane.tea@gmail.com [Thu, 20 Oct 2016 18:02:31 +0000 (18:02 +0000)]
[JSC] Move InterceptsGetOwnPropertySlotByIndexEvenWhenLengthIsNotZero to out of line type info flags
https://bugs.webkit.org/show_bug.cgi?id=163716

Reviewed by Saam Barati.

We found that all the accesses to the InterceptsGetOwnPropertySlotByIndexEvenWhenLengthIsNotZero flag is
done through the Structure. There is no user that accesses this flag in the cell inlined member. And JIT
code does not access it directly. That means that we can move this flag from inlined flags to out of line
flags. This patch moves it to the out of line flags. And make one bit empty in inlined flags. Later this
new empty flag will be used by megamorphic DOMJIT implementation.

* runtime/JSTypeInfo.h:
(JSC::TypeInfo::hasStaticPropertyTable):
(JSC::TypeInfo::interceptsGetOwnPropertySlotByIndexEvenWhenLengthIsNotZero):

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

2 years agoInvalid assertion in arguments elimination
keith_miller@apple.com [Thu, 20 Oct 2016 17:40:19 +0000 (17:40 +0000)]
Invalid assertion in arguments elimination
https://bugs.webkit.org/show_bug.cgi?id=163740
<rdar://problem/27911462>

Reviewed by Michael Saboff.

JSTests:

* stress/direct-arguments-osr-entry.js: Added.
(foo.):
(foo):

Source/JavaScriptCore:

The DFGFTL's arguments elimination phase incorrectly asserted that a GetFromArguments' first
child would always be a CreateDirectArguments.  While we only create the
op_get_from_arguments bytecode pointing to a create_direct_arguments, its possible for a
number of reasons that a DFG GetFromArguments may not point to a CreateDirectArguments. For
example, if we are OSR entering in some function with direct arguments the
CreateDirectArguments node might become ExtractOSREntryLocals.

* dfg/DFGArgumentsEliminationPhase.cpp:

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

2 years ago[CSS Parser] Fix font family parsing and add CSS region property parsing
hyatt@apple.com [Thu, 20 Oct 2016 17:25:01 +0000 (17:25 +0000)]
[CSS Parser] Fix font family parsing and add CSS region property parsing
https://bugs.webkit.org/show_bug.cgi?id=163741

Reviewed by Zalan Bujtas.

* css/parser/CSSParser.cpp:
(WebCore::isKeywordPropertyID):
(WebCore::parseKeywordValue):
(WebCore::CSSParser::parseValue):
Modify the old CSSParser to have its own keyword check, since keywords were
incorrectly added to the new parser when this check was consolidated. Column
and region breaks are considered keyword properties by the old parser, but
not by the new parser, since the new parser special cases them and maps them
into the generic break property.

* css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):
Update for regions to make sure all the region properties are there. Remove the
column and region break properties, since they're not supposed to be here in the
new parser.

* css/parser/CSSPropertyParser.cpp:
(WebCore::consumeFamilyName):
Fix font parsing to make font family values so that fonts work.

(WebCore::consumeFlowProperty):
Add a function for handling -webkit-flow-from and -webkit-flow-into.

(WebCore::CSSPropertyParser::parseSingleValue):
Add support for the region properties.

(WebCore::mapFromRegionBreakBetween):
(WebCore::mapFromColumnRegionOrPageBreakInside):
(WebCore::mapFromLegacyBreakProperty):
(WebCore::CSSPropertyParser::consumeLegacyBreakProperty):
(WebCore::mapFromColumnOrPageBreakInside): Deleted.
Update to handle the region break properties in the same way that column break
properties are handled.

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

2 years agoCRASH in WebCore::MediaSource::seekToTime + 185
jer.noble@apple.com [Thu, 20 Oct 2016 16:53:00 +0000 (16:53 +0000)]
CRASH in WebCore::MediaSource::seekToTime + 185
https://bugs.webkit.org/show_bug.cgi?id=163652

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/media-source/media-source-seek-detach-crash.html

Add isClosed() checks (which are effectively m_private null-checks) everywhere m_private is
dereferenced. The one place where m_private is cleared without setting the state to closed
is stop(), so make stop() set the state to closed as well (without firing any events).

* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::seekToTime):
(WebCore::MediaSource::completeSeek):
(WebCore::MediaSource::monitorSourceBuffers):
(WebCore::MediaSource::streamEndedWithError):
(WebCore::MediaSource::stop):

LayoutTests:

* media/media-source/content/test-48kHz.m4a: Added.
* media/media-source/content/test-48khz-manifest.json: Added.
* media/media-source/media-source-seek-detach-crash-expected.txt: Added.
* media/media-source/media-source-seek-detach-crash.html: Added.

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

2 years agoDrop StyleResolver and SelectorQueryCache when entering PageCache.
akling@apple.com [Thu, 20 Oct 2016 16:38:50 +0000 (16:38 +0000)]
Drop StyleResolver and SelectorQueryCache when entering PageCache.
<https://webkit.org/b/154238>

Reviewed by Antti Koivisto.

Source/WebCore:

Stop keeping these around for cached pages to save lots of memory.
We can easily rebuild them if a cached navigation occurs, and this
way we also don't need to worry about invalidating style for cached
pages in all the right places.

Restoring a cached page will now lead to a forced style recalc.
We don't try to defer this (beyond a zero-timer) since it's going
to happen anyway, and it's nicer to front-load the cost rather than
stuttering on the first user content interaction.

* dom/Document.cpp:
(WebCore::Document::setPageCacheState):
* history/CachedPage.cpp:
(WebCore::CachedPage::restore):
(WebCore::CachedPage::clear):
* history/CachedPage.h:
(WebCore::CachedPage::markForVisitedLinkStyleRecalc): Deleted.
(WebCore::CachedPage::markForFullStyleRecalc): Deleted.
* history/PageCache.cpp:
(WebCore::PageCache::markPagesForVisitedLinkStyleRecalc): Deleted.
(WebCore::PageCache::markPagesForFullStyleRecalc): Deleted.
* history/PageCache.h:
* page/Frame.cpp:
(WebCore::Frame::setPageAndTextZoomFactors):
* page/Page.cpp:
(WebCore::Page::setViewScaleFactor):
(WebCore::Page::setDeviceScaleFactor):
(WebCore::Page::setPagination):
(WebCore::Page::setPaginationLineGridEnabled):
(WebCore::Page::setVisitedLinkStore):

LayoutTests:

Progression in compositing/iframes/page-cache-layer-tree.html, when navigating back,
the two iframes' dimensions correctly exclude the horizontal scrollbar's height since
it's not present after a style recalc.

* compositing/iframes/page-cache-layer-tree-expected.txt:

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

2 years ago[GTK] Build fix after r207616
clopez@igalia.com [Thu, 20 Oct 2016 15:57:25 +0000 (15:57 +0000)]
[GTK] Build fix after r207616
https://bugs.webkit.org/show_bug.cgi?id=163333

Reviewed by Carlos Garcia Campos.

EGL_PLATFORM_X11_KHR and EGL_PLATFORM_WAYLAND_KHR are not defined
on the EGL headers shipped by Mesa 10.3 (shipped by Debian 8)

* platform/graphics/wayland/PlatformDisplayWayland.cpp:
(WebCore::PlatformDisplayWayland::initialize):
* platform/graphics/x11/PlatformDisplayX11.cpp:
(WebCore::PlatformDisplayX11::initializeEGLDisplay):

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

2 years ago[JSC] throw TypeError when constructing dynamically created JSGeneratorFunction
caitp@igalia.com [Thu, 20 Oct 2016 15:00:43 +0000 (15:00 +0000)]
[JSC] throw TypeError when constructing dynamically created JSGeneratorFunction
https://bugs.webkit.org/show_bug.cgi?id=163714

Reviewed by Mark Lam.

JSTests:

Add missing test coverage that dynamically created
JSGeneratorFunctions can not be constructed.

* stress/generator-function-constructor.js:
(shouldThrow):

Source/JavaScriptCore:

According to CreateDynamicFunction() (https://tc39.github.io/ecma262/#sec-createdynamicfunction),
non-normal functions are not constructors. Previously, dynamically created functions would always
be constructible, and so it was possible to evaluate `new  (function*() {}.constructor())`,
and have it return an Iterator object.

This change selects a dynamically created function's ConstructAbility based on its parse mode instead.

* runtime/CodeCache.cpp:
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):

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

2 years ago[CMake] CMake does not support the dep files for implicit dependency
commit-queue@webkit.org [Thu, 20 Oct 2016 14:34:24 +0000 (14:34 +0000)]
[CMake] CMake does not support the dep files for implicit dependency
https://bugs.webkit.org/show_bug.cgi?id=161433

Patch by Fujii Hironori <Hironori.Fujii@sony.com> on 2016-10-20
Reviewed by Brent Fulgham.

Created a Perl script to generate all IDL bindings for CMake.
This script can regenerate outdated bindings by based on the
supplemental dependency and dep files created by
'--write-dependencies' switch of generate-bindings.pl.

add_custom_target is used to invoke the script instead of
add_custom_command because Ninja deletes all output files before
executing the command in case of add_custom_command.

USES_TERMINAL option of add_custom_target has two effects:
1) Not buffering output of the command
2) Invoking the command in the special Ninja pool which inhibits parallel build
One needs to use CMake 3.2 or later to enable this feature.

.:

* Source/cmake/WebKitMacros.cmake (GENERATE_BINDINGS): Included
ProcessorCount.  Added a new argument 'target'.  Use
add_custom_target instead of add_custom_command.  Invoke the new
script.

Source/WebCore:

* CMakeLists.txt: Specified target names for
GENERATE_BINDINGS. Added dependency for the targets.
* bindings/scripts/generate-bindings-all.pl: Added.

Tools:

* DumpRenderTree/CMakeLists.txt: Specified a target name for
GENERATE_BINDINGS. Added dependency for the target.
* WebKitTestRunner/CMakeLists.txt: Ditto.

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

2 years agoPrefer eglGetPlatformDisplay to eglGetDisplay
commit-queue@webkit.org [Thu, 20 Oct 2016 13:18:09 +0000 (13:18 +0000)]
Prefer eglGetPlatformDisplay to eglGetDisplay
https://bugs.webkit.org/show_bug.cgi?id=163333

Patch by Adam Jackson <ajax@redhat.com> on 2016-10-20
Reviewed by Carlos Garcia Campos.

eglGetDisplay forces the implementation to guess what kind of void* it's been handed. Different implementations
do different things, in particular glvnd and Mesa behave differently. Fortunately there exists API to tell EGL
what kind of display it is, so let's use it.

* platform/graphics/wayland/PlatformDisplayWayland.cpp:
(WebCore::PlatformDisplayWayland::initialize):
* platform/graphics/x11/PlatformDisplayX11.cpp:
(WebCore::PlatformDisplayX11::initializeEGLDisplay):

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

2 years ago[GTK] Avoid including egl.h headers in internal headers
carlosgc@webkit.org [Thu, 20 Oct 2016 12:37:53 +0000 (12:37 +0000)]
[GTK] Avoid including egl.h headers in internal headers
https://bugs.webkit.org/show_bug.cgi?id=163722

Reviewed by Žan Doberšek.

egl.h includes eglplatform.h that decides the native types for the platform at compile time. However, we support
to build with X11 and Wayland at the same time and decide what to use at runtime. Currently GLContext.h includes
eglplatform.h after wayland-egl.h if Wayland is enabled. That means that the wayland native types are used by
default from all cpp files including GLContext.h. It currently works in X11 because we cast the value anyway and
for example EGLNativeWindowType is a pointer in Wayland that can be casted to unsigned long in X11 to represent
the X Window. This is very fragile in any case, we should avoid adding egl headers in our headers and only
include it in cpp files. But we also need to ensure we don't use X11 and Wayland in the same cpp file.

* PlatformGTK.cmake:
* platform/graphics/GLContext.cpp:
(WebCore::GLContext::createContextForWindow):
* platform/graphics/GLContext.h:
* platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::createWindowContext):
(WebCore::GLContextEGL::createContext):
(WebCore::GLContextEGL::~GLContextEGL):
* platform/graphics/egl/GLContextEGL.h:
* platform/graphics/egl/GLContextEGLWayland.cpp: Added.
(WebCore::GLContextEGL::GLContextEGL):
(WebCore::GLContextEGL::createWindowSurfaceWayland):
(WebCore::GLContextEGL::createWaylandContext):
(WebCore::GLContextEGL::destroyWaylandWindow):
* platform/graphics/egl/GLContextEGLX11.cpp: Added.
(WebCore::GLContextEGL::GLContextEGL):
(WebCore::GLContextEGL::createWindowSurfaceX11):
(WebCore::GLContextEGL::createPixmapContext):
* platform/graphics/glx/GLContextGLX.cpp:
(WebCore::GLContextGLX::createWindowContext):
(WebCore::GLContextGLX::createContext):
(WebCore::GLContextGLX::GLContextGLX):
* platform/graphics/glx/GLContextGLX.h:
* platform/graphics/wayland/PlatformDisplayWayland.cpp:
* platform/graphics/x11/PlatformDisplayX11.cpp:

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

2 years ago[GTK] Avoid strstr() when checking (E)GL extensions
carlosgc@webkit.org [Thu, 20 Oct 2016 12:36:06 +0000 (12:36 +0000)]
[GTK] Avoid strstr() when checking (E)GL extensions
https://bugs.webkit.org/show_bug.cgi?id=161958

Reviewed by Žan Doberšek.

Source/WebCore:

Add static method GLContext::isExtensionSupported() to properly search extenstions in the given extension
list, and use it instead of strstr().

* platform/graphics/GLContext.cpp:
(WebCore::GLContext::isExtensionSupported):
* platform/graphics/GLContext.h:
* platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::createSurfacelessContext):
* platform/graphics/glx/GLContextGLX.cpp:
(WebCore::hasSGISwapControlExtension):

Source/WebKit2:

Use GLContext::isExtensionSupported() instead of strstr().

* UIProcess/gtk/WaylandCompositor.cpp:
(WebKit::WaylandCompositor::initializeEGL):

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

2 years ago[GTK] Cannot build GTK+ with CUPS 2.* versions
rego@igalia.com [Thu, 20 Oct 2016 10:11:02 +0000 (10:11 +0000)]
[GTK] Cannot build GTK+ with CUPS 2.* versions
https://bugs.webkit.org/show_bug.cgi?id=163591

Reviewed by Michael Catanzaro.

GTK+ is wrongly checking about the available CUPS version,
so if you have CUPS 2.* the configure step fails.

This has been already fixed upstream and included in 2.30 series:
https://git.gnome.org/browse/gtk+/commit/?id=631f6b536485829a0bd00532f5826ad302b4951b

Added patch on JHBuild so we can now build GTK+ with CUPS 2.*.

* gtk/jhbuild.modules: Applied patch and avoid using "configure" script directly
as the patch modifies "configure.ac".
* gtk/patches/configure-fix-detecting-CUPS-2.x.patch: Added.

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

2 years ago[Win][Direct2D] Implement ImageBufferData::getData.
pvollan@apple.com [Thu, 20 Oct 2016 09:03:29 +0000 (09:03 +0000)]
[Win][Direct2D] Implement ImageBufferData::getData.
https://bugs.webkit.org/show_bug.cgi?id=163668

Reviewed by Brent Fulgham.

Render data to a bitmap in system memory, which data can be read from.

* platform/graphics/win/ImageBufferDataDirect2D.cpp:
(WebCore::ImageBufferData::getData):
* platform/graphics/win/ImageBufferDirect2D.cpp:
(WebCore::ImageBuffer::ImageBuffer):

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

2 years agoWrong use of EGL_DEPTH_SIZE
carlosgc@webkit.org [Thu, 20 Oct 2016 08:33:44 +0000 (08:33 +0000)]
Wrong use of EGL_DEPTH_SIZE
https://bugs.webkit.org/show_bug.cgi?id=155536

Reviewed by Michael Catanzaro.

Source/WebCore:

What happens here is that the driver doesn't implement EGL_DEPTH_SIZE and the default value, which is 0, is
returned. Then XCreatePixmap fails because 0 is not a valid depth. The thing is that even if EGL_DEPTH_SIZE or
EGL_BUFFER_SIZE returned a valid depth, it still might not be supported by the default screen and XCreatePixmap
can fail. What we need to ensure is that the depth we pass is compatible with the X display, not only with the
EGL config, to avoid failures when creating the pixmap. So, we can use EGL_NATIVE_VISUAL_ID instead, and
then ask X for the visual info for that id. If it isn't found then we just return before creating the pixmap,
but if the visual is found then we can be sure that the depth of the visual will not make the pixmap creation
fail. However, with the driver I'm using it doesn't matter how we create the pixmap that eglCreatePixmapSurface
always fails, again with X errors that are fatal by default. Since the driver is not free, I assume it doesn't
support eglCreatePixmapSurface or it's just buggy, so the only option we have here is trap the x errors and
ignore them. It turns out that the X errors are not fatal in this case, because eglCreatePixmapSurface ends up
returning a surface, and since these are offscreen contexts, it doesn't really matter if they contain an
invalid pixmap, because we never do swap buffer on them, so just ignoring the X errors fixes the crashes and
makes everythig work. This patch adds a helper class XErrorTrapper that allows to trap XErrors and decide what
to do with them (ignore, warn or crash) or even not consider a particular set of errors as errors.

* PlatformEfl.cmake: Add new file to compilation.
* PlatformGTK.cmake: Ditto.
* platform/graphics/egl/GLContextEGL.cpp:
(WebCore::GLContextEGL::createPixmapContext): Use EGL_NATIVE_VISUAL_ID instead of EGL_DEPTH_SIZE to figure out
the depth to be passed to XCreatePixmap. Also use the XErrorTrapper class to ignore all BadDrawable errors
produced by eglCreatePixmapSurface() and only show a warning about all other X errors.
* platform/graphics/x11/XErrorTrapper.cpp: Added.
(WebCore::xErrorTrappersMap):
(WebCore::XErrorTrapper::XErrorTrapper):
(WebCore::XErrorTrapper::~XErrorTrapper):
(WebCore::XErrorTrapper::errorCode):
(WebCore::XErrorTrapper::errorEvent):
* platform/graphics/x11/XErrorTrapper.h: Added.
(WebCore::XErrorTrapper::XErrorTrapper):

Source/WebKit2:

Use XErrorTrapper class instead of the custom XErrorHandler.

* PluginProcess/unix/PluginProcessMainUnix.cpp:
(WebKit::PluginProcessMainUnix):

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

2 years ago[GTK] Bump glib to 2.50.1
rego@igalia.com [Thu, 20 Oct 2016 08:30:13 +0000 (08:30 +0000)]
[GTK] Bump glib to 2.50.1
https://bugs.webkit.org/show_bug.cgi?id=163689

Reviewed by Michael Catanzaro.

This is need in order to fix GTK+ build with CUPS 2.* (bug #163591).

* gtk/jhbuild.modules: Bump glib version. Pass --disable-libmount to build properly.
Also we don't need the patches anymore.
* gtk/patches/gdate-suppress-string-format-literal-warning.patch: Removed.
* gtk/patches/glib-warning-fix.patch: Removed.

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

2 years agoWebRTC: The MediaStreamTrackEvent init dictionary needs a required track member
nael.ouedraogo@crf.canon.fr [Thu, 20 Oct 2016 07:26:55 +0000 (07:26 +0000)]
WebRTC: The MediaStreamTrackEvent init dictionary needs a required track member
https://bugs.webkit.org/show_bug.cgi?id=146232

Update MediaStreamTrackEvent IDL as per specification.

Source/WebCore:

Reviewed by Darin Adler.

No additional test required, rebase existings tests.

* Modules/mediastream/MediaStreamTrackEvent.idl:

LayoutTests:

No additional test required, rebase existings tests.

Reviewed by Darin Adler.

* fast/mediastream/MediaStreamTrackEvent-constructor-expected.txt:
* fast/mediastream/MediaStreamTrackEvent-constructor.html: Remove
useless tests.

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

2 years ago[Modern Media Controls] Media Controller: mute support
commit-queue@webkit.org [Thu, 20 Oct 2016 06:43:59 +0000 (06:43 +0000)]
[Modern Media Controls] Media Controller: mute support
https://bugs.webkit.org/show_bug.cgi?id=163677
<rdar://problem/28851582>

Patch by Antoine Quint <graouts@apple.com> on 2016-10-19
Reviewed by Dean Jackson.

Source/WebCore:

We introduce the MuteSupport class which brings support for muting the media
by clicking on the mute button in the media controls and correctly reflecting
the media's muted state should the media be muted via the media API.

Tests: media/modern-media-controls/mute-support/mute-support-button-click.html
       media/modern-media-controls/mute-support/mute-support-media-api.html
       media/modern-media-controls/mute-support/mute-support-muted.html

* Modules/modern-media-controls/media/media-controller.js:
(MediaController):
* Modules/modern-media-controls/media/mute-support.js: Copied from Source/WebCore/Modules/modern-media-controls/media/media-controller.js.
(MuteSupport.prototype.get control):
(MuteSupport.prototype.get mediaEvents):
(MuteSupport.prototype.buttonWasClicked):
(MuteSupport.prototype.syncControl):
(MuteSupport):
* WebCore.xcodeproj/project.pbxproj:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::mediaControlsScript):

LayoutTests:

New tests for the MuteSupport class and adding the new resource to other MediaController tests.

* media/modern-media-controls/media-controller/media-controller-constructor.html:
* media/modern-media-controls/media-controller/media-controller-resize.html:
* media/modern-media-controls/mute-support/mute-support-button-click-expected.txt: Added.
* media/modern-media-controls/mute-support/mute-support-button-click.html: Added.
* media/modern-media-controls/mute-support/mute-support-media-api-expected.txt: Added.
* media/modern-media-controls/mute-support/mute-support-media-api.html: Added.
* media/modern-media-controls/mute-support/mute-support-muted-expected.txt: Added.
* media/modern-media-controls/mute-support/mute-support-muted.html: Added.
* media/modern-media-controls/start-support/start-support-audio.html:
* media/modern-media-controls/start-support/start-support-autoplay.html:
* media/modern-media-controls/start-support/start-support-click-to-start.html:
* media/modern-media-controls/start-support/start-support-error.html:
* media/modern-media-controls/start-support/start-support-fullscreen.html:
* media/modern-media-controls/start-support/start-support-manual-play.html:
* media/modern-media-controls/start-support/start-support-no-source.html:

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

2 years ago[SOUP] Add NetworkSession implementation and switch to use it
carlosgc@webkit.org [Thu, 20 Oct 2016 06:42:24 +0000 (06:42 +0000)]
[SOUP] Add NetworkSession implementation and switch to use it
https://bugs.webkit.org/show_bug.cgi?id=163597

Reviewed by Alex Christensen.

Basically move the ResourceHandle implementation to the network process, but modernized, cleaned up, and adapted
to the NetworkSession model.

* CMakeLists.txt: Add new files to compilation.
* NetworkProcess/Downloads/Download.cpp:
(WebKit::Download::Download): Use the same code for all ports using NetworkSession and add missing
initialization of m_sessionID.
* NetworkProcess/Downloads/Download.h:
(WebKit::Download::Download): Define PlatformDownloadTaskRef on every platform to make the constructor common to
all ports using NetworkSession.
* NetworkProcess/Downloads/soup/DownloadSoup.cpp:
(WebKit::Download::cancelNetworkLoad):
(WebKit::Download::platformDidFinish):
* NetworkProcess/NetworkDataTask.h:
(WebKit::NetworkDataTask::pendingDownloadID): Make const.
(WebKit::NetworkDataTask::pendingDownload): Ditto.
(WebKit::NetworkDataTask::pendingDownloadLocation): Ditto.
(WebKit::NetworkDataTask::isDownload): Helper to check if the task is a download.
* NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::didReceiveResponseNetworkSession): Use NetworkDataTask::isDownload().
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::NetworkProcess): NetworkSession::setCustomProtocolManager() is Cocoa only.
* NetworkProcess/NetworkSession.h:
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSession::networkStorageSession): Make const.
* NetworkProcess/soup/NetworkDataTaskSoup.cpp: Added.
(WebKit::NetworkDataTask::NetworkDataTask):
(WebKit::NetworkDataTask::~NetworkDataTask):
(WebKit::NetworkDataTask::scheduleFailure):
(WebKit::NetworkDataTask::failureTimerFired):
(WebKit::NetworkDataTask::suggestedFilename):
(WebKit::NetworkDataTask::setSuggestedFilename):
(WebKit::NetworkDataTask::setPendingDownloadLocation):
(WebKit::NetworkDataTask::allowsSpecificHTTPSCertificateForHost):
(WebKit::NetworkDataTask::createRequest):
(WebKit::NetworkDataTask::clearRequest):
(WebKit::NetworkDataTask::resume):
(WebKit::NetworkDataTask::suspend):
(WebKit::NetworkDataTask::cancel):
(WebKit::NetworkDataTask::invalidateAndCancel):
(WebKit::NetworkDataTask::state):
(WebKit::NetworkDataTask::timeoutFired):
(WebKit::NetworkDataTask::startTimeout):
(WebKit::NetworkDataTask::stopTimeout):
(WebKit::NetworkDataTask::sendRequestCallback):
(WebKit::NetworkDataTask::didSendRequest):
(WebKit::NetworkDataTask::didReceiveResponse):
(WebKit::NetworkDataTask::tlsErrorsChangedCallback):
(WebKit::NetworkDataTask::tlsErrorsChanged):
(WebKit::NetworkDataTask::applyAuthenticationToRequest):
(WebKit::NetworkDataTask::authenticateCallback):
(WebKit::isAuthenticationFailureStatusCode):
(WebKit::NetworkDataTask::authenticate):
(WebKit::NetworkDataTask::continueAuthenticate):
(WebKit::NetworkDataTask::skipInputStreamForRedirectionCallback):
(WebKit::NetworkDataTask::skipInputStreamForRedirection):
(WebKit::NetworkDataTask::didFinishSkipInputStreamForRedirection):
(WebKit::shouldRedirectAsGET):
(WebKit::NetworkDataTask::shouldStartHTTPRedirection):
(WebKit::NetworkDataTask::continueHTTPRedirection):
(WebKit::NetworkDataTask::readCallback):
(WebKit::NetworkDataTask::read):
(WebKit::NetworkDataTask::didRead):
(WebKit::NetworkDataTask::didFinishRead):
(WebKit::NetworkDataTask::requestNextPartCallback):
(WebKit::NetworkDataTask::requestNextPart):
(WebKit::NetworkDataTask::didRequestNextPart):
(WebKit::NetworkDataTask::didFinishRequestNextPart):
(WebKit::NetworkDataTask::gotHeadersCallback):
(WebKit::NetworkDataTask::didGetHeaders):
(WebKit::NetworkDataTask::wroteBodyDataCallback):
(WebKit::NetworkDataTask::didWriteBodyData):
(WebKit::NetworkDataTask::download):
(WebKit::NetworkDataTask::writeDownloadCallback):
(WebKit::NetworkDataTask::writeDownload):
(WebKit::NetworkDataTask::didWriteDownload):
(WebKit::NetworkDataTask::didFinishDownload):
(WebKit::NetworkDataTask::didFailDownload):
(WebKit::NetworkDataTask::cleanDownloadFiles):
(WebKit::NetworkDataTask::didFail):
(WebKit::NetworkDataTask::networkEventCallback):
(WebKit::NetworkDataTask::networkEvent):
(WebKit::NetworkDataTask::startingCallback):
(WebKit::NetworkDataTask::requestStartedCallback):
(WebKit::NetworkDataTask::didStartRequest):
(WebKit::NetworkDataTask::restartedCallback):
(WebKit::NetworkDataTask::didRestart):
* NetworkProcess/soup/NetworkSessionSoup.cpp:
(WebKit::NetworkSession::create):
(WebKit::NetworkSession::defaultSession):
(WebKit::NetworkSession::networkStorageSession):
(WebKit::NetworkSession::NetworkSession):
(WebKit::NetworkSession::~NetworkSession):
(WebKit::NetworkSession::soupSession):
(WebKit::NetworkSession::invalidateAndCancel):
(WebKit::NetworkSession::clearCredentials):
* NetworkProcess/soup/RemoteNetworkingContextSoup.cpp:
(WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): Add implementation matching
WebFrameNetworkingContext::ensurePrivateBrowsingSession().
(WebKit::RemoteNetworkingContext::storageSession): Do not always return the default session if the given one is
in the global map.
* PlatformEfl.cmake: Ad new files to compilation.
* PlatformGTK.cmake: Ditto.
* WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:
(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): Also create a NetworkSession.
* config.h: Enable NetworkSession unconditionally for Soup based ports.

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

2 years agoRevert r207151
achristensen@apple.com [Thu, 20 Oct 2016 06:05:26 +0000 (06:05 +0000)]
Revert r207151
https://bugs.webkit.org/show_bug.cgi?id=163675

Reviewed by Brent Fulgham.

.:

* Source/cmake/OptionsAppleWin.cmake:

Source/WebCore:

This code is still useful for comparison with Windows.  I'll remove it again soon.

No new tests.  No change in behavior.

* WebCore.xcodeproj/project.pbxproj:
* WebCorePrefix.h:
* loader/DocumentLoader.h:
* loader/EmptyClients.h:
* loader/FrameLoaderClient.h:
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
* loader/ResourceLoader.h:
* loader/SubresourceLoader.h:
* loader/cf/ResourceLoaderCFNet.cpp:
* loader/cocoa/SubresourceLoaderCocoa.mm:
(WebCore::SubresourceLoader::willCacheResponse):
* loader/mac/DocumentLoaderMac.cpp:
* loader/mac/ResourceLoaderMac.mm:
(WebCore::ResourceLoader::willCacheResponse):
* page/mac/PageMac.mm:
(WebCore::Page::platformInitialize):
(WebCore::Page::addSchedulePair):
(WebCore::Page::removeSchedulePair):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::WebCoreNSURLAuthenticationChallengeClient::create):
(WebCore::WebCoreNSURLAuthenticationChallengeClient::WebCoreNSURLAuthenticationChallengeClient):
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForResponseToAuthenticationChallenge):
* platform/mac/WebCoreSystemInterface.h:
* platform/network/NetworkStorageSession.h:
* platform/network/ProtectionSpace.h:
* platform/network/ProtectionSpaceBase.cpp:
* platform/network/ResourceHandle.cpp:
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleClient.cpp:
* platform/network/ResourceHandleClient.h:
* platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
* platform/network/ResourceRequestBase.cpp:
* platform/network/cf/AuthenticationCF.cpp:
(WebCore::AuthenticationChallenge::AuthenticationChallenge):
(WebCore::AuthenticationChallenge::setAuthenticationClient): Deleted.
(WebCore::AuthenticationChallenge::authenticationClient): Deleted.
(WebCore::AuthenticationChallenge::platformCompare): Deleted.
(WebCore::createCF): Deleted.
(WebCore::core): Deleted.
* platform/network/cf/AuthenticationCF.h:
* platform/network/cf/AuthenticationChallenge.h:
* platform/network/cf/CookieJarCFNet.cpp:
* platform/network/cf/CredentialStorageCFNet.cpp:
(WebCore::CredentialStorage::getFromPersistentStorage):
(WebCore::CredentialStorage::saveToPersistentStorage):
* platform/network/cf/LoaderRunLoopCF.cpp:
* platform/network/cf/LoaderRunLoopCF.h:
* platform/network/cf/NetworkStorageSessionCFNet.cpp:
(WebCore::NetworkStorageSession::cookieStorage):
* platform/network/cf/ProtectionSpaceCFNet.cpp:
* platform/network/cf/ProtectionSpaceCFNet.h:
* platform/network/cf/ResourceError.h:
* platform/network/cf/ResourceErrorCF.cpp:
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::shouldSniffConnectionProperty):
(WebCore::ResourceHandle::createCFURLConnection):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
(WebCore::ResourceHandle::tryHandlePasswordBasedAuthentication):
(WebCore::ResourceHandle::receivedCredential):
(WebCore::ResourceHandle::schedule):
(WebCore::ResourceHandle::unschedule):
* platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp:
* platform/network/cf/ResourceHandleCFURLConnectionDelegate.h:
* platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::setupRequest):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::canRespondToProtectionSpace):
* platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h:
* platform/network/cf/ResourceRequest.h:
(WebCore::ResourceRequest::encodingRequiresPlatformData):
* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction):
(WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction):
(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
(WebCore::ResourceRequest::doUpdateResourceRequest):
(WebCore::ResourceRequest::setStorageSession):
* platform/network/cf/ResourceRequestCFNet.h:
* platform/network/cf/ResourceResponse.h:
* platform/network/cf/ResourceResponseCFNet.cpp:
(WebCore::ResourceResponse::cfURLResponse):
* platform/network/cf/SynchronousLoaderClientCFNet.cpp:
* platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::setupRequest):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::setupConnectionScheduling):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willCacheResponse):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::canRespondToProtectionSpace):
* platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h:
* platform/network/cocoa/CredentialCocoa.h:
* platform/network/cocoa/CredentialCocoa.mm:
(WebCore::Credential::Credential):
(WebCore::Credential::cfCredential):
* platform/network/cocoa/ProtectionSpaceCocoa.h:
* platform/network/cocoa/ProtectionSpaceCocoa.mm:
(WebCore::ProtectionSpace::ProtectionSpace):
(WebCore::ProtectionSpace::cfSpace):
* platform/network/cocoa/ResourceRequestCocoa.mm:
(WebCore::ResourceRequest::nsURLRequest):
* platform/network/cocoa/ResourceResponseCocoa.mm:
(WebCore::ResourceResponse::platformCertificateInfo):
(WebCore::ResourceResponse::nsURLResponse):
(WebCore::ResourceResponse::ResourceResponse):
* platform/network/ios/QuickLook.h:
* platform/network/ios/QuickLook.mm:
(-[WebQuickLookHandleAsDelegate initWithConnectionDelegate:]):
(-[WebQuickLookHandleAsDelegate connection:didReceiveDataArray:]):
(-[WebQuickLookHandleAsDelegate connection:didReceiveData:lengthReceived:]):
(-[WebQuickLookHandleAsDelegate connectionDidFinishLoading:]):
(-[WebQuickLookHandleAsDelegate connection:didFailWithError:]):
(-[WebQuickLookHandleAsDelegate detachHandle]):
(WebCore::QuickLookHandle::create):
(WebCore::QuickLookHandle::cfResponse):
* platform/network/mac/AuthenticationMac.mm:
(-[WebCoreAuthenticationClientAsChallengeSender setCFChallenge:]):
(-[WebCoreAuthenticationClientAsChallengeSender cfChallenge]):
(WebCore::core):
(WebCore::mac):
* platform/network/mac/CookieJarMac.mm:
(WebCore::setCookiesFromDOM):
(WebCore::addCookie):
(WebCore::cookieStorage):
* platform/network/mac/CredentialStorageMac.mm:
* platform/network/mac/FormDataStreamMac.h:
* platform/network/mac/FormDataStreamMac.mm:
* platform/network/mac/ResourceErrorMac.mm:
(NSErrorFromCFError):
(WebCore::ResourceError::ResourceError):
(WebCore::ResourceError::nsError):
(WebCore::ResourceError::operator NSError *):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::getConnectionTimingData):
* platform/network/mac/ResourceRequestMac.mm: Added.
(WebCore::ResourceRequest::ResourceRequest):
(WebCore::ResourceRequest::updateNSURLRequest):
* platform/network/mac/SynchronousLoaderClient.mm:
* platform/network/mac/WebCoreResourceHandleAsDelegate.h:
* platform/network/mac/WebCoreResourceHandleAsDelegate.mm:
* platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h:
* platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
* platform/network/mac/WebCoreURLResponse.mm:
* platform/win/TemporaryLinkStubs.cpp:
* testing/js/WebCoreTestSupportPrefix.h:

Source/WebKit:

* WebCoreSupport/WebResourceLoadScheduler.cpp:
(WebResourceLoadScheduler::scheduleLoad):

Source/WebKit/mac:

* Misc/WebDownload.mm:
(-[WebDownload _initWithLoadingCFURLConnection:request:response:delegate:proxy:]):
* Misc/WebDownloadInternal.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::convertMainResourceLoadToDownload):
* WebView/WebPreferences.mm:
(+[WebPreferences _setCurrentNetworkLoaderSessionCookieAcceptPolicy:]):
* WebView/WebView.mm:
(-[WebView scheduleInRunLoop:forMode:]):
(-[WebView unscheduleFromRunLoop:forMode:]):

Source/WebKit/win:

* DefaultDownloadDelegate.h:
* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::savePlatformDataToCachedFrame):
* WebCoreSupport/WebFrameNetworkingContext.cpp:
(WebFrameNetworkingContext::ensurePrivateBrowsingSession):
* WebCoreSupport/WebFrameNetworkingContext.h:
* WebCoreSupport/WebPlatformStrategies.cpp:
* WebDownload.h:
* WebError.cpp:
(WebError::localizedDescription):
(WebError::sslPeerCertificate):
* WebError.h:
* WebMutableURLRequest.cpp:
(WebMutableURLRequest::mutableCopy):
* WebURLAuthenticationChallenge.cpp:
(WebURLAuthenticationChallenge::initWithProtectionSpace):
(WebURLAuthenticationChallenge::initWithAuthenticationChallenge):
* WebURLResponse.cpp:
(WebURLResponse::sslPeerCertificate):
* WebURLResponse.h:
* WebView.cpp:
(WebView::setCacheModel):
(WebView::canHandleRequest):
(WebView::notifyPreferencesChanged):
(updateSharedSettingsFromPreferencesIfNeeded):

Source/WebKit2:

* NetworkProcess/Downloads/Download.h:
* NetworkProcess/Downloads/mac/DownloadMac.mm:
* NetworkProcess/NetworkLoad.h:
* NetworkProcess/mac/NetworkLoadMac.mm:
(WebKit::NetworkLoad::willCacheResponseAsync):
* Shared/Authentication/cocoa/AuthenticationManagerCocoa.mm:
(WebKit::AuthenticationManager::receivedCredential):
(WebKit::AuthenticationManager::receivedRequestToContinueWithoutCredential):
(WebKit::AuthenticationManager::receivedCancellation):
(WebKit::AuthenticationManager::receivedRequestToPerformDefaultHandling):
(WebKit::AuthenticationManager::receivedChallengeRejection):
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
* Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
(IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
* WebKit2.xcodeproj/project.pbxproj:

Source/WTF:

* wtf/Platform.h:
* wtf/SchedulePair.h:
* wtf/SchedulePairMac.mm:

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

2 years agoREGRESSION (r206025): All YouTube videos play with black bars on all four sides
jer.noble@apple.com [Thu, 20 Oct 2016 03:10:12 +0000 (03:10 +0000)]
REGRESSION (r206025): All YouTube videos play with black bars on all four sides
https://bugs.webkit.org/show_bug.cgi?id=163308

Reviewed by Darin Adler.

Source/WebCore:

Test: media/media-source/media-source-resize.html

After r206025, we do not fire resize events when the size change notification happens equal-
to-or-before the current time, which can happen at the very beginning of a stream. Take care
of this case by checking that the target time isn't actually in the past inside of
sizeWillChangeAtTime(), and also always skip the boundary time observer when there was no
previous size (such as after a flush due to a seek).

* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::sizeWillChangeAtTime):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setNaturalSize):
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::flushAndEnqueueNonDisplayingSamples):
(WebCore::SourceBufferPrivateAVFObjC::enqueueSample):

LayoutTests:

* media/media-source/media-source-resize-expected.txt: Added.
* media/media-source/media-source-resize.html: Added.

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

2 years agoAX: [Mac] Mark element AXAPI should comform to specs
n_wang@apple.com [Thu, 20 Oct 2016 02:33:19 +0000 (02:33 +0000)]
AX: [Mac] Mark element AXAPI should comform to specs
https://bugs.webkit.org/show_bug.cgi?id=163707

Reviewed by Chris Fleizach.

Source/WebCore:

Created a new role for mark elements on Mac and exposed the role
description.

Changes are covered in modified test expectaions.

* English.lproj/Localizable.strings:
* accessibility/AccessibilityObject.h:
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
* accessibility/mac/AccessibilityObjectMac.mm:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(createAccessibilityRoleMap):
(-[WebAccessibilityObjectWrapper roleDescription]):
* platform/LocalizedStrings.cpp:
(WebCore::AXMarkText):
* platform/LocalizedStrings.h:

LayoutTests:

Added the modified roles-computedRoleString-expected.txt in mac platform so
that the exposed mark element won't affect other platform.

* platform/mac/accessibility/roles-computedRoleString-expected.txt: Added.
* platform/mac/accessibility/roles-exposed-expected.txt:

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

2 years agoRe-enable URLParser for non-Safari Cocoa apps after r207321
commit-queue@webkit.org [Thu, 20 Oct 2016 00:47:39 +0000 (00:47 +0000)]
Re-enable URLParser for non-Safari Cocoa apps after r207321
https://bugs.webkit.org/show_bug.cgi?id=163690

Patch by Alex Christensen <achristensen@webkit.org> on 2016-10-19
Reviewed by Darin Adler.

Source/WebCore:

I disabled the URLParser for non-Safari applications in r207305
to give me time to make URLParser more compatible, which I did in r207321

Updated some API tests which will be investigated in
https://bugs.webkit.org/show_bug.cgi?id=163127

* platform/URLParser.cpp:
(WebCore::URLParser::setEnabled):
(WebCore::URLParser::enabled):
* testing/js/WebCoreTestSupport.cpp:
(WebCoreTestSupport::setURLParserEnabled): Deleted.
* testing/js/WebCoreTestSupport.h:

Tools:

* DumpRenderTree/mac/DumpRenderTree.mm:
(DumpRenderTreeMain):
* TestWebKitAPI/Tests/WebKit2Cocoa/LoadInvalidURLRequest.mm:
(-[LoadInvalidURLNavigationActionDelegate webView:didFailProvisionalNavigation:withError:]):
* TestWebKitAPI/Tests/mac/LoadInvalidURLRequest.mm:
(TestWebKitAPI::TEST):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::TestController):

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

2 years agoCSS font-variation-settings does not handle uppercase axis names in variable fonts
mmaxfield@apple.com [Thu, 20 Oct 2016 00:39:09 +0000 (00:39 +0000)]
CSS font-variation-settings does not handle uppercase axis names in variable fonts
https://bugs.webkit.org/show_bug.cgi?id=163546

Reviewed by Dean Jackson.

Source/WebCore:

Remove the extra toASCIILower() call.

Test: fast/text/variations/case-axis-names.html

* css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseFontVariationTag):

LayoutTests:

* fast/text/variations/case-axis-names-expected.html: Added.
* fast/text/variations/case-axis-names.html: Added.

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

2 years agoRemove m_redirectURLs from HistoryItem
andersca@apple.com [Thu, 20 Oct 2016 00:31:56 +0000 (00:31 +0000)]
Remove m_redirectURLs from HistoryItem
https://bugs.webkit.org/show_bug.cgi?id=163704

Reviewed by Dan Bernstein.

* history/HistoryItem.cpp:
(WebCore::HistoryItem::HistoryItem):
(WebCore::HistoryItem::reset):
* history/HistoryItem.h:

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

2 years ago[WK2] Expose suggested filename via WKBundleHitTestResult API
cdumez@apple.com [Wed, 19 Oct 2016 23:55:30 +0000 (23:55 +0000)]
[WK2] Expose suggested filename via WKBundleHitTestResult API
https://bugs.webkit.org/show_bug.cgi?id=163693
<rdar://problem/28840734>

Reviewed by Anders Carlsson.

Expose suggested filename via WKBundleHitTestResult API. The implementation
currently relies on the 'download' attribute on anchor / area elements
that we recently started supporting.

* WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
(WKBundleHitTestResultCopyLinkSuggestedFilename):
* WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
* WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
(WebKit::InjectedBundleHitTestResult::create):
(WebKit::InjectedBundleHitTestResult::mediaType):
(WebKit::InjectedBundleHitTestResult::linkSuggestedFilename):
(WebKit::InjectedBundleHitTestResult::imageRect):
* WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:

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

2 years agoAdd a plain space instead of &nbsp; between text nodes
joone.hur@intel.com [Wed, 19 Oct 2016 23:49:43 +0000 (23:49 +0000)]
Add a plain space instead of &nbsp; between text nodes
https://bugs.webkit.org/show_bug.cgi?id=123163

Reviewed by Ryosuke Niwa.

When we rebalance white spaces, &nbsp; can be added as space
under some conditions. This patch adds a condition that the next
sibling text node should not exist.

Source/WebCore:

No new tests, updated existing test.

* editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring):
* editing/htmlediting.cpp:
(WebCore::stringWithRebalancedWhitespace):
* editing/htmlediting.h:

LayoutTests:

* accessibility/mac/find-and-replace-match-capitalization-expected.txt:
* accessibility/mac/find-and-replace-match-capitalization.html:
* accessibility/mac/select-text/select-text-135575-expected.txt:
* accessibility/mac/select-text/select-text-7-expected.txt:
* accessibility/mac/select-text/select-text-8-expected.txt:
* accessibility/mac/select-text/select-text-9-expected.txt:
* editing/mac/spelling/autocorrection-blockquote-crash-expected.txt:
* editing/pasteboard/paste-text-003-expected.txt:
* platform/gtk/editing/execCommand/paste-1-expected.txt:
* platform/gtk/editing/pasteboard/paste-2-expected.txt:
* platform/gtk/editing/pasteboard/unrendered-br-expected.txt:
* platform/mac/editing/execCommand/paste-1-expected.txt:
* platform/mac/editing/pasteboard/paste-2-expected.txt:
* platform/mac/editing/pasteboard/unrendered-br-expected.txt:

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

2 years agoREGRESSION (r207480): 3 Dromaeo tests failing
fpizlo@apple.com [Wed, 19 Oct 2016 23:37:20 +0000 (23:37 +0000)]
REGRESSION (r207480): 3 Dromaeo tests failing
https://bugs.webkit.org/show_bug.cgi?id=163633

Reviewed by Mark Lam.

It's a ParkingLot bug: if we timeout and get unparked at the same time, then the unparking
thread will clear our address eventually - but not immediately. This causes a nasty
assertion failure. The tricky thing is that when we detect this, we need to wait until that
unparking thread does the deed. Otherwise, they will still do it at some later time.

Alternatively, we could use some kind of versioning to detect this - increment the version
when you park, so that unparking threads will know if they are time travelers. That seems
more yucky.

I don't think it matters too much what we do here, so long as it's simple and correct, since
this requires a race that is rare enough that it didn't happen once in my testing, and I was
pretty thorough. For example, it didn't happen once in 15 runs of JetStream. The race is
rare because it requires the timeout to happen right as someone else is unparking. Since
it's so rare, its probably OK that the unparked thread waits just a tiny moment until the
unparking thread is done.

* wtf/ParkingLot.cpp:
(WTF::ParkingLot::parkConditionallyImpl):
(WTF::ParkingLot::unparkOneImpl):

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

2 years agocreate_hash_table: allow empty tables
jfbastien@apple.com [Wed, 19 Oct 2016 23:34:45 +0000 (23:34 +0000)]
create_hash_table: allow empty tables

The Windows build was broken by because I added empty tables and Windows insists that empty tables are horrible. Put in dummy entries in that case.

create_hash_table: allow empty tables
https://bugs.webkit.org/show_bug.cgi?id=163701

Reviewed by Keith Miller.

* create_hash_table:

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

2 years agoAdd support for sequences and dictionaries in unions
weinig@apple.com [Wed, 19 Oct 2016 23:31:14 +0000 (23:31 +0000)]
Add support for sequences and dictionaries in unions
https://bugs.webkit.org/show_bug.cgi?id=163695

Reviewed by Chris Dumez.

Source/WebCore:

Tests:
 - Updated js/dom/webidl-type-mapping.html

* bindings/generic/IDLTypes.h:
Add additional helper predicates and fix formatting.

* bindings/js/JSDOMBinding.h:
Export hasIteratorMethod for use in testing.

* bindings/js/JSDOMConvert.h:
- Change return type of Converter<IDLDictionary<T>> to T, from Optional<T>.
- Add support for unions conversion step 12 (parts 1-3).

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateDefaultValue):
Support complex default value computations for unions using the convert infrastructure.

(GenerateParametersCheck):
(GenerateConstructorDefinition):
Remove incorrect .value() calls now that Converter<IDLDictionary<T>> returns T.

* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
* bindings/scripts/test/JS/JSTestObj.cpp:
Update bindings test results.

* testing/TypeConversions.h:
(WebCore::TypeConversions::setTypeConversionsDictionary):
(WebCore::TypeConversions::typeConversionsDictionaryLongValue):
(WebCore::TypeConversions::typeConversionsDictionaryStringValue):
(WebCore::TypeConversions::typeConversionsDictionarySequenceValue):
(WebCore::TypeConversions::typeConversionsDictionaryUnionType):
* testing/TypeConversions.idl:
Add some complex types to allow testing IDL conversions from tests.

LayoutTests:

* js/dom/webidl-type-mapping-expected.txt:
* js/dom/webidl-type-mapping.html:
Add tests for more complex conversions.

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

2 years agoMarking platform/mac-wk2/plugins/muted-state.html as failing.
ryanhaddad@apple.com [Wed, 19 Oct 2016 23:01:22 +0000 (23:01 +0000)]
Marking platform/mac-wk2/plugins/muted-state.html as failing.
https://bugs.webkit.org/show_bug.cgi?id=163702

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

2 years agoImport W3C CSS Shapes tests
dino@apple.com [Wed, 19 Oct 2016 22:28:02 +0000 (22:28 +0000)]
Import W3C CSS Shapes tests
https://bugs.webkit.org/show_bug.cgi?id=163697

Rubberstamped by Anders Carlsson.

LayoutTests/imported/w3c:

They are marked as skipped for the moment, since we don't yet
support the unprefixed form.

* csswg-test/css-shapes-1/shape-outside-invalid-001.html: Added.
* csswg-test/css-shapes-1/shape-outside-invalid-circle-000.html: Added.
* csswg-test/css-shapes-1/shape-outside-invalid-circle-001.html: Added.
* csswg-test/css-shapes-1/shape-outside-invalid-circle-002.html: Added.
* csswg-test/css-shapes-1/shape-outside-invalid-circle-003.html: Added.
* csswg-test/css-shapes-1/shape-outside-invalid-ellipse-001.html: Added.
* csswg-test/css-shapes-1/shape-outside-invalid-ellipse-002.html: Added.
* csswg-test/css-shapes-1/shape-outside-invalid-ellipse-003.html: Added.
* csswg-test/css-shapes-1/shape-outside-invalid-ellipse-004.html: Added.
* csswg-test/css-shapes-1/shape-outside-invalid-ellipse-005.html: Added.
* csswg-test/css-shapes-1/shape-outside-invalid-ellipse-006.html: Added.
* csswg-test/css-shapes-1/shape-outside-invalid-inset-001.html: Added.
* csswg-test/css-shapes-1/shape-outside-invalid-inset-002.html: Added.
* csswg-test/css-shapes-1/shape-outside-invalid-inset-003.html: Added.
* csswg-test/css-shapes-1/shape-outside-invalid-inset-004.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-box/shape-outside-box-002-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-box/shape-outside-box-002.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-box/shape-outside-box-003-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-box/shape-outside-box-003.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-box/shape-outside-box-004-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-box/shape-outside-box-004.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-box/shape-outside-box-006-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-box/shape-outside-box-006.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-box/shape-outside-box-007-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-box/shape-outside-box-007.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-box/shape-outside-box-008-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-box/shape-outside-box-008.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-box/w3c-import.log: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-linear-gradient-001-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-linear-gradient-001.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-linear-gradient-002-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-linear-gradient-002.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-linear-gradient-003-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-linear-gradient-003.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-linear-gradient-004-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-linear-gradient-004.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-radial-gradient-001.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-radial-gradient-002.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-radial-gradient-003.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/gradients/shape-outside-radial-gradient-004.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/gradients/w3c-import.log: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-000-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-000.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-001-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-001.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-002-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-002.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-003-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-003.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-004-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-004.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-005-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-005.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-006-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-006.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-007-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-007.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-008-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-008.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-009-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-009.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-010-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-010.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-011-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-011.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-012-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-012.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-013-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-013.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-014-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-014.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-015-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-015.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-016-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-016.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-017-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-017.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-018-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-018.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-019-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-019.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-020-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-020.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-021-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-021.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-022-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-022.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-023-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-023.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-024-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-024.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-025-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/shape-image-025.html: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/support/animated.gif: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle-20.png: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle-20.svg: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle-50.png: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle-50.svg: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle-70.png: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle-70.svg: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle.jpg: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle.png: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/support/left-half-rectangle.svg: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/support/right-half-rectangle-20.png: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/support/right-half-rectangle-50.png: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/support/right-half-rectangle-70.png: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/support/right-half-rectangle-70.svg: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/support/right-half-rectangle.gif: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/support/right-half-rectangle.jpg: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/support/right-half-rectangle.png: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/support/right-half-rectangle.svg: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/support/w3c-import.log: Added.
* csswg-test/css-shapes-1/shape-outside/shape-image/w3c-import.log: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-013-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-013.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-014-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-014.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-015-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-015.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-016-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-016.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-017-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-017.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-018-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-018.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-019-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-019.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-020-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-020.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-021-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-021.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-022-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-022.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-024-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-024.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-025-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-025.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-026-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-026.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-027-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-027.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-028-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-028.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-029-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-029.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-030-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-030.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-031-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/shape-outside-circle-031.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/circle/w3c-import.log: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-013-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-013.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-014-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-014.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-015-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-015.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-016-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-016.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-017-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-017.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-018-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-018.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-019-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-019.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-020-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-020.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-021-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-021.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-022-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-022.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-023-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-023.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-024-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-024.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-025-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-025.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-030-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-030.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-031-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-031.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/ellipse/w3c-import.log: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-010-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-010.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-011-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-011.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-012-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-012.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-013-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-013.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-014-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-014.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-015-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/shape-outside-inset-015.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/inset/w3c-import.log: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-007-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-007.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-008-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-008.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-009-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-009.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-010-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-010.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-011-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-011.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-012-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-012.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-013-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-013.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-014-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-014.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-015-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-015.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-016-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-016.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-017-expected.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/shape-outside-polygon-017.html: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/polygon/w3c-import.log: Added.
* csswg-test/css-shapes-1/shape-outside/supported-shapes/support/rounded-rectangle.js: Added.
(ellipseXIntercept):
(scanConvertRoundedRectangleOutside):
(genLeftRoundedRectFloatShapeOutsideRefTest):
(getRoundedRectLeftEdge):
(genRightRoundedRectFloatShapeOutsideRefTest):
* csswg-test/css-shapes-1/shape-outside/supported-shapes/support/subpixel-utils.js: Added.
(isEnabled):
(return.snapToLayoutUnit):
(return.ceilSnapToLayoutUnit):
(SubPixelLayout):
* csswg-test/css-shapes-1/shape-outside/supported-shapes/support/test-utils.js: Added.
(verifyTextPoints):
* csswg-test/css-shapes-1/shape-outside/supported-shapes/support/w3c-import.log: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-image-threshold-000.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-image-threshold-001.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-image-threshold-002.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-image-threshold-003.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-margin-000.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-margin-001.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-margin-002.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-margin-003.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-margin-004.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-margin-005.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-box-000.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-000.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-001.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-002.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-003.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-004.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-005.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-006.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-007.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-008.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-009.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-010.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-circle-011.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-computed-shape-000.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-computed-shape-001.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-000.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-001.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-002.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-003.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-004.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-005.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-006.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-007.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-008.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-009.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-010.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-ellipse-011.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-000.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-001.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-002.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-003.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-004.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-005.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-006.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-007.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-008.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-inset-009.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-000.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-001.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-002.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-003.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-004.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-005.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-polygon-006.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-arguments-000.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-arguments-001.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-box-pair-000.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-inherit-000.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-initial-000.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-none-000.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/shape-outside-shape-notation-000.html: Added.
* csswg-test/css-shapes-1/shape-outside/values/support/parsing-utils.js: Added.
(testComputedStyle):
(testShapeMarginComputedStyle):
(testShapeThresholdComputedStyle):
(buildPositionTests):
(buildRadiiTests):
(buildInsetTests):
(buildCalcTests):
(unique):
(setUnit):
(convertToPx):
(roundResultStr):
(insetRound):
(serializedInsetRound):
(generateInsetRoundCases):
* csswg-test/css-shapes-1/shape-outside/values/support/w3c-import.log: Added.
* csswg-test/css-shapes-1/shape-outside/values/w3c-import.log: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-001-expected.html: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-001.html: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-002-expected.html: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-002.html: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-003-expected.html: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-003.html: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-004-expected.html: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-004.html: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-005-expected.html: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-005.html: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-006-expected.html: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-006.html: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-007-expected.html: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-007.html: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-008-expected.html: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-008.html: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-010.html: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-011.html: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-012.html: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-013.html: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-014.html: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-015.html: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-016.html: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-017.html: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-018.html: Added.
* csswg-test/css-shapes-1/spec-examples/shape-outside-019.html: Added.
* csswg-test/css-shapes-1/spec-examples/support/circle-no-shadow.png: Added.
* csswg-test/css-shapes-1/spec-examples/support/circle-shadow.png: Added.
* csswg-test/css-shapes-1/spec-examples/support/rounded-triangle.svg: Added.
* csswg-test/css-shapes-1/spec-examples/support/spec-example-utils.js: Added.
(runTest):
(approxShapeTest):
* csswg-test/css-shapes-1/spec-examples/support/w3c-import.log: Added.
* csswg-test/css-shapes-1/spec-examples/w3c-import.log: Added.
* csswg-test/css-shapes-1/support/1x1-green.png: Added.
* csswg-test/css-shapes-1/support/1x1-lime.png: Added.
* csswg-test/css-shapes-1/support/1x1-maroon.png: Added.
* csswg-test/css-shapes-1/support/1x1-navy.png: Added.
* csswg-test/css-shapes-1/support/1x1-red.png: Added.
* csswg-test/css-shapes-1/support/1x1-white.png: Added.
* csswg-test/css-shapes-1/support/60x60-gg-rr.png: Added.
* csswg-test/css-shapes-1/support/60x60-green.png: Added.
* csswg-test/css-shapes-1/support/60x60-red.png: Added.
* csswg-test/css-shapes-1/support/README: Added.
* csswg-test/css-shapes-1/support/a-green.css: Added.
(.a):
* csswg-test/css-shapes-1/support/b-green.css: Added.
(.b):
* csswg-test/css-shapes-1/support/c-red.css: Added.
(.c):
* csswg-test/css-shapes-1/support/cat.png: Added.
* csswg-test/css-shapes-1/support/pattern-grg-rgr-grg.png: Added.
* csswg-test/css-shapes-1/support/pattern-grg-rrg-rgg.png: Added.
* csswg-test/css-shapes-1/support/pattern-rgr-grg-rgr.png: Added.
* csswg-test/css-shapes-1/support/pattern-tr.png: Added.
* csswg-test/css-shapes-1/support/square-purple.png: Added.
* csswg-test/css-shapes-1/support/square-teal.png: Added.
* csswg-test/css-shapes-1/support/square-white.png: Added.
* csswg-test/css-shapes-1/support/swatch-blue.png: Added.
* csswg-test/css-shapes-1/support/swatch-green.png: Added.
* csswg-test/css-shapes-1/support/swatch-lime.png: Added.
* csswg-test/css-shapes-1/support/swatch-orange.png: Added.
* csswg-test/css-shapes-1/support/swatch-red.png: Added.
* csswg-test/css-shapes-1/support/swatch-white.png: Added.
* csswg-test/css-shapes-1/support/swatch-yellow.png: Added.
* csswg-test/css-shapes-1/support/test-bl.png: Added.
* csswg-test/css-shapes-1/support/test-br.png: Added.
* csswg-test/css-shapes-1/support/test-outer.png: Added.
* csswg-test/css-shapes-1/support/test-tl.png: Added.
* csswg-test/css-shapes-1/support/test-tr.png: Added.
* csswg-test/css-shapes-1/support/w3c-import.log: Added.
* csswg-test/css-shapes-1/test-plan/index.html: Added.
* csswg-test/css-shapes-1/test-plan/w3c-import.log: Added.
* csswg-test/css-shapes-1/w3c-import.log: Added.

LayoutTests:

* TestExpectations: Mark as skipped while we unprefix.

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

2 years agoJavaScript WebAssembly API: baby steps
jfbastien@apple.com [Wed, 19 Oct 2016 22:11:11 +0000 (22:11 +0000)]
JavaScript WebAssembly API: baby steps

 - Expand WebAssembly constructors into their own files. This requires a lot of
   boilerplate, as well as adding the .lut.h files. All of the
   JSWebAssembly*.{h,cpp}, as well as Constructor and Prototype files, are
   currently the same between the 4 specified WebAssembly constructors. It'll be
   easy to implement individual functions on constructed objects as per the
   spec, and have each of these files diverge. The error constructors are also
   similar, except that their instance derives from ErrorInstance.
 - Use constructor macro when initializing the global object.
 - Dramatically improve testing of the WebAssembly API by checking for
   properties specified in the spec [*].
 - Clean up assert.js' exception testing.
 - Fix a copy-paste bug in wasm.json: floating-point const return values were
   swapped.

[*] https://github.com/WebAssembly/design/blob/master/JS.md

Implement more of the JavaScript WebAssembly API
https://bugs.webkit.org/show_bug.cgi?id=163571

Reviewed by Keith Miller.

JSTests:

* wasm/assert.js:
(export.const.isUndef): add this useful helper
(export.const.throws): fold other throw checks into this one, and check message as well
* wasm/js-api/test_basic_api.js:
(const.checkOwnPropertyDescriptor): check own property descriptor follows the spec
* wasm/self-test/test_BuilderJSON.js:
(const.assertOpThrows): use new assert API
(CheckedOpcodeArgumentsTooMany): ditto
(CheckedOpcodeArgumentsNotEnough): ditto
(CallInvalid): ditto
(I32ConstInvalid): ditto
(F32ConstInvalid): ditto (and this caugth the JSON copy-paste bug)
(F64ConstInvalid): ditto
* wasm/self-test/test_LowLevelBinary_varint.js: use new assert API
* wasm/self-test/test_LowLevelBinary_varuint.js: use new assert API
* wasm/utilities.js: add "global" object, used in basic API test (to access global.WebAssembly).
* wasm/wasm.json: fix copy-paste

Source/JavaScriptCore:

* CMakeLists.txt: add .lut.h generation
* DerivedSources.make: ditto
* JavaScriptCore.xcodeproj/project.pbxproj: add .lut.h generation and all the new files
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init): use macro to list all constructors
* wasm/WebAssemblyObject.cpp: unboilerplate, all constructors into their own files
* wasm/WebAssemblyObject.h: ditto
* wasm/js/JSWebAssemblyCompileError.cpp: Added.
(JSC::JSWebAssemblyCompileError::create):
(JSC::JSWebAssemblyCompileError::createStructure):
(JSC::JSWebAssemblyCompileError::JSWebAssemblyCompileError):
(JSC::JSWebAssemblyCompileError::finishCreation):
(JSC::JSWebAssemblyCompileError::destroy):
(JSC::JSWebAssemblyCompileError::visitChildren):
* wasm/js/JSWebAssemblyCompileError.h: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
* wasm/js/JSWebAssemblyInstance.cpp: Added.
(JSC::JSWebAssemblyInstance::create):
(JSC::JSWebAssemblyInstance::createStructure):
(JSC::JSWebAssemblyInstance::JSWebAssemblyInstance):
(JSC::JSWebAssemblyInstance::finishCreation):
(JSC::JSWebAssemblyInstance::destroy):
(JSC::JSWebAssemblyInstance::visitChildren):
* wasm/js/JSWebAssemblyInstance.h: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
* wasm/js/JSWebAssemblyMemory.cpp: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
(JSC::JSWebAssemblyMemory::create):
(JSC::JSWebAssemblyMemory::createStructure):
(JSC::JSWebAssemblyMemory::JSWebAssemblyMemory):
(JSC::JSWebAssemblyMemory::finishCreation):
(JSC::JSWebAssemblyMemory::destroy):
(JSC::JSWebAssemblyMemory::visitChildren):
* wasm/js/JSWebAssemblyMemory.h: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
* wasm/js/JSWebAssemblyModule.cpp: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
(JSC::JSWebAssemblyModule::create):
(JSC::JSWebAssemblyModule::createStructure):
(JSC::JSWebAssemblyModule::JSWebAssemblyModule):
(JSC::JSWebAssemblyModule::finishCreation):
(JSC::JSWebAssemblyModule::destroy):
(JSC::JSWebAssemblyModule::visitChildren):
* wasm/js/JSWebAssemblyModule.h: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
* wasm/js/JSWebAssemblyRuntimeError.cpp: Added.
(JSC::JSWebAssemblyRuntimeError::create):
(JSC::JSWebAssemblyRuntimeError::createStructure):
(JSC::JSWebAssemblyRuntimeError::JSWebAssemblyRuntimeError):
(JSC::JSWebAssemblyRuntimeError::finishCreation):
(JSC::JSWebAssemblyRuntimeError::destroy):
(JSC::JSWebAssemblyRuntimeError::visitChildren):
* wasm/js/JSWebAssemblyRuntimeError.h: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
* wasm/js/JSWebAssemblyTable.cpp: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
(JSC::JSWebAssemblyTable::create):
(JSC::JSWebAssemblyTable::createStructure):
(JSC::JSWebAssemblyTable::JSWebAssemblyTable):
(JSC::JSWebAssemblyTable::finishCreation):
(JSC::JSWebAssemblyTable::destroy):
(JSC::JSWebAssemblyTable::visitChildren):
* wasm/js/JSWebAssemblyTable.h: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
* wasm/js/WebAssemblyCompileErrorConstructor.cpp: Added.
(JSC::constructJSWebAssemblyCompileError):
(JSC::callJSWebAssemblyCompileError):
(JSC::WebAssemblyCompileErrorConstructor::create):
(JSC::WebAssemblyCompileErrorConstructor::createStructure):
(JSC::WebAssemblyCompileErrorConstructor::finishCreation):
(JSC::WebAssemblyCompileErrorConstructor::WebAssemblyCompileErrorConstructor):
(JSC::WebAssemblyCompileErrorConstructor::getConstructData):
(JSC::WebAssemblyCompileErrorConstructor::getCallData):
(JSC::WebAssemblyCompileErrorConstructor::visitChildren):
* wasm/js/WebAssemblyCompileErrorConstructor.h: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
(JSC::WebAssemblyCompileErrorConstructor::CompileErrorStructure):
* wasm/js/WebAssemblyCompileErrorPrototype.cpp: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
(JSC::WebAssemblyCompileErrorPrototype::create):
(JSC::WebAssemblyCompileErrorPrototype::createStructure):
(JSC::WebAssemblyCompileErrorPrototype::finishCreation):
(JSC::WebAssemblyCompileErrorPrototype::WebAssemblyCompileErrorPrototype):
* wasm/js/WebAssemblyCompileErrorPrototype.h: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
* wasm/js/WebAssemblyInstanceConstructor.cpp: Added.
(JSC::constructJSWebAssemblyInstance):
(JSC::callJSWebAssemblyInstance):
(JSC::WebAssemblyInstanceConstructor::create):
(JSC::WebAssemblyInstanceConstructor::createStructure):
(JSC::WebAssemblyInstanceConstructor::finishCreation):
(JSC::WebAssemblyInstanceConstructor::WebAssemblyInstanceConstructor):
(JSC::WebAssemblyInstanceConstructor::getConstructData):
(JSC::WebAssemblyInstanceConstructor::getCallData):
(JSC::WebAssemblyInstanceConstructor::visitChildren):
* wasm/js/WebAssemblyInstanceConstructor.h: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
(JSC::WebAssemblyInstanceConstructor::InstanceStructure):
* wasm/js/WebAssemblyInstancePrototype.cpp: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
(JSC::WebAssemblyInstancePrototype::create):
(JSC::WebAssemblyInstancePrototype::createStructure):
(JSC::WebAssemblyInstancePrototype::finishCreation):
(JSC::WebAssemblyInstancePrototype::WebAssemblyInstancePrototype):
* wasm/js/WebAssemblyInstancePrototype.h: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
* wasm/js/WebAssemblyMemoryConstructor.cpp: Added.
(JSC::constructJSWebAssemblyMemory):
(JSC::callJSWebAssemblyMemory):
(JSC::WebAssemblyMemoryConstructor::create):
(JSC::WebAssemblyMemoryConstructor::createStructure):
(JSC::WebAssemblyMemoryConstructor::finishCreation):
(JSC::WebAssemblyMemoryConstructor::WebAssemblyMemoryConstructor):
(JSC::WebAssemblyMemoryConstructor::getConstructData):
(JSC::WebAssemblyMemoryConstructor::getCallData):
(JSC::WebAssemblyMemoryConstructor::visitChildren):
* wasm/js/WebAssemblyMemoryConstructor.h: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
(JSC::WebAssemblyMemoryConstructor::MemoryStructure):
* wasm/js/WebAssemblyMemoryPrototype.cpp: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
(JSC::WebAssemblyMemoryPrototype::create):
(JSC::WebAssemblyMemoryPrototype::createStructure):
(JSC::WebAssemblyMemoryPrototype::finishCreation):
(JSC::WebAssemblyMemoryPrototype::WebAssemblyMemoryPrototype):
* wasm/js/WebAssemblyMemoryPrototype.h: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
* wasm/js/WebAssemblyModuleConstructor.cpp: Added.
(JSC::constructJSWebAssemblyModule):
(JSC::callJSWebAssemblyModule):
(JSC::WebAssemblyModuleConstructor::create):
(JSC::WebAssemblyModuleConstructor::createStructure):
(JSC::WebAssemblyModuleConstructor::finishCreation):
(JSC::WebAssemblyModuleConstructor::WebAssemblyModuleConstructor):
(JSC::WebAssemblyModuleConstructor::getConstructData):
(JSC::WebAssemblyModuleConstructor::getCallData):
(JSC::WebAssemblyModuleConstructor::visitChildren):
* wasm/js/WebAssemblyModuleConstructor.h: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
(JSC::WebAssemblyModuleConstructor::ModuleStructure):
* wasm/js/WebAssemblyModulePrototype.cpp: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
(JSC::WebAssemblyModulePrototype::create):
(JSC::WebAssemblyModulePrototype::createStructure):
(JSC::WebAssemblyModulePrototype::finishCreation):
(JSC::WebAssemblyModulePrototype::WebAssemblyModulePrototype):
* wasm/js/WebAssemblyModulePrototype.h: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
* wasm/js/WebAssemblyRuntimeErrorConstructor.cpp: Added.
(JSC::constructJSWebAssemblyRuntimeError):
(JSC::callJSWebAssemblyRuntimeError):
(JSC::WebAssemblyRuntimeErrorConstructor::create):
(JSC::WebAssemblyRuntimeErrorConstructor::createStructure):
(JSC::WebAssemblyRuntimeErrorConstructor::finishCreation):
(JSC::WebAssemblyRuntimeErrorConstructor::WebAssemblyRuntimeErrorConstructor):
(JSC::WebAssemblyRuntimeErrorConstructor::getConstructData):
(JSC::WebAssemblyRuntimeErrorConstructor::getCallData):
(JSC::WebAssemblyRuntimeErrorConstructor::visitChildren):
* wasm/js/WebAssemblyRuntimeErrorConstructor.h: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
(JSC::WebAssemblyRuntimeErrorConstructor::RuntimeErrorStructure):
* wasm/js/WebAssemblyRuntimeErrorPrototype.cpp: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
(JSC::WebAssemblyRuntimeErrorPrototype::create):
(JSC::WebAssemblyRuntimeErrorPrototype::createStructure):
(JSC::WebAssemblyRuntimeErrorPrototype::finishCreation):
(JSC::WebAssemblyRuntimeErrorPrototype::WebAssemblyRuntimeErrorPrototype):
* wasm/js/WebAssemblyRuntimeErrorPrototype.h: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
* wasm/js/WebAssemblyTableConstructor.cpp: Added.
(JSC::constructJSWebAssemblyTable):
(JSC::callJSWebAssemblyTable):
(JSC::WebAssemblyTableConstructor::create):
(JSC::WebAssemblyTableConstructor::createStructure):
(JSC::WebAssemblyTableConstructor::finishCreation):
(JSC::WebAssemblyTableConstructor::WebAssemblyTableConstructor):
(JSC::WebAssemblyTableConstructor::getConstructData):
(JSC::WebAssemblyTableConstructor::getCallData):
(JSC::WebAssemblyTableConstructor::visitChildren):
* wasm/js/WebAssemblyTableConstructor.h: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
(JSC::WebAssemblyTableConstructor::TableStructure):
* wasm/js/WebAssemblyTablePrototype.cpp: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.
(JSC::WebAssemblyTablePrototype::create):
(JSC::WebAssemblyTablePrototype::createStructure):
(JSC::WebAssemblyTablePrototype::finishCreation):
(JSC::WebAssemblyTablePrototype::WebAssemblyTablePrototype):
* wasm/js/WebAssemblyTablePrototype.h: Copied from Source/JavaScriptCore/wasm/WebAssemblyObject.h.

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

2 years agoAnnotate more DOM and HTML IDLs with CEReactions
rniwa@webkit.org [Wed, 19 Oct 2016 22:06:47 +0000 (22:06 +0000)]
Annotate more DOM and HTML IDLs with CEReactions
https://bugs.webkit.org/show_bug.cgi?id=163653

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaselined the tests now that more test cases are passing.

* web-platform-tests/custom-elements/attribute-changed-callback-expected.txt:
* web-platform-tests/custom-elements/reactions/DOMStringMap-expected.txt:
* web-platform-tests/custom-elements/reactions/Document-expected.txt:
* web-platform-tests/custom-elements/reactions/Element-expected.txt:
* web-platform-tests/custom-elements/reactions/ElementContentEditable-expected.txt:
* web-platform-tests/custom-elements/reactions/HTMLElement-expected.txt:
* web-platform-tests/custom-elements/reactions/Selection-expected.txt:

Source/WebCore:

Added CEReactions to more IDL files.

Test: fast/custom-elements/reactions-for-webkit-extensions.html

* bindings/js/JSDOMStringMapCustom.cpp:
(WebCore::JSDOMStringMap::deleteProperty): Instantiate CustomElementReactionStack, which is equivalent to
adding CEReactions in IDL.
(WebCore::JSDOMStringMap::putDelegate): Ditto.
* dom/Document.idl:
* dom/Element.idl:
* html/HTMLElement.idl:
* page/DOMSelection.idl:

LayoutTests:

Added a regression test to make sure webkitdropzone IDL attribute on HTMLElement
honors CEReactions semantics using the web-platform-tests' infrastructure I added.

* fast/custom-elements/reactions-for-webkit-extensions-expected.txt: Added.
* fast/custom-elements/reactions-for-webkit-extensions.html: Added.

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

2 years agoImport encoding web-platform-tests
commit-queue@webkit.org [Wed, 19 Oct 2016 21:34:07 +0000 (21:34 +0000)]
Import encoding web-platform-tests
https://bugs.webkit.org/show_bug.cgi?id=163684

Patch by Alex Christensen <achristensen@webkit.org> on 2016-10-19
Reviewed by Chris Dumez.

* web-platform-tests/encoding: Added.
* web-platform-tests/encoding/OWNERS: Added.
* web-platform-tests/encoding/api-basics-expected.txt: Added.
* web-platform-tests/encoding/api-basics.html: Added.
* web-platform-tests/encoding/api-invalid-label-expected.txt: Added.
* web-platform-tests/encoding/api-invalid-label.html: Added.
* web-platform-tests/encoding/api-replacement-encodings-expected.txt: Added.
* web-platform-tests/encoding/api-replacement-encodings.html: Added.
* web-platform-tests/encoding/api-surrogates-utf8-expected.txt: Added.
* web-platform-tests/encoding/api-surrogates-utf8.html: Added.
* web-platform-tests/encoding/big5-encoder-expected.txt: Added.
* web-platform-tests/encoding/big5-encoder.html: Added.
* web-platform-tests/encoding/gb18030-encoder-expected.txt: Added.
* web-platform-tests/encoding/gb18030-encoder.html: Added.
* web-platform-tests/encoding/gbk-encoder-expected.txt: Added.
* web-platform-tests/encoding/gbk-encoder.html: Added.
* web-platform-tests/encoding/idlharness-expected.txt: Added.
* web-platform-tests/encoding/idlharness.html: Added.
* web-platform-tests/encoding/iso-2022-jp-decoder-expected.txt: Added.
* web-platform-tests/encoding/iso-2022-jp-decoder.html: Added.
* web-platform-tests/encoding/iso-2022-jp-encoder-expected.txt: Added.
* web-platform-tests/encoding/iso-2022-jp-encoder.html: Added.
* web-platform-tests/encoding/resources: Added.
* web-platform-tests/encoding/resources/encodings.js: Added.
* web-platform-tests/encoding/resources/single-byte-raw.py: Added.
(main):
* web-platform-tests/encoding/resources/text-plain-charset.py: Added.
(main):
* web-platform-tests/encoding/single-byte-decoder-expected.txt: Added.
* web-platform-tests/encoding/single-byte-decoder.html: Added.
* web-platform-tests/encoding/textdecoder-byte-order-marks-expected.txt: Added.
* web-platform-tests/encoding/textdecoder-byte-order-marks.html: Added.
* web-platform-tests/encoding/textdecoder-fatal-expected.txt: Added.
* web-platform-tests/encoding/textdecoder-fatal-single-byte-expected.txt: Added.
* web-platform-tests/encoding/textdecoder-fatal-single-byte.html: Added.
* web-platform-tests/encoding/textdecoder-fatal-streaming-expected.txt: Added.
* web-platform-tests/encoding/textdecoder-fatal-streaming.html: Added.
* web-platform-tests/encoding/textdecoder-fatal.html: Added.
* web-platform-tests/encoding/textdecoder-ignorebom-expected.txt: Added.
* web-platform-tests/encoding/textdecoder-ignorebom.html: Added.
* web-platform-tests/encoding/textdecoder-labels-expected.txt: Added.
* web-platform-tests/encoding/textdecoder-labels.html: Added.
* web-platform-tests/encoding/textdecoder-streaming-expected.txt: Added.
* web-platform-tests/encoding/textdecoder-streaming.html: Added.
* web-platform-tests/encoding/textdecoder-utf16-surrogates-expected.txt: Added.
* web-platform-tests/encoding/textdecoder-utf16-surrogates.html: Added.
* web-platform-tests/encoding/textencoder-constructor-non-utf-expected.txt: Added.
* web-platform-tests/encoding/textencoder-constructor-non-utf.html: Added.
* web-platform-tests/encoding/textencoder-utf16-surrogates-expected.txt: Added.
* web-platform-tests/encoding/textencoder-utf16-surrogates.html: Added.

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

2 years ago[JSC] forbid "use strict" directive in generator functions with non-simple parameters
caitp@igalia.com [Wed, 19 Oct 2016 21:27:51 +0000 (21:27 +0000)]
[JSC] forbid "use strict" directive in generator functions with non-simple parameters
https://bugs.webkit.org/show_bug.cgi?id=163683

Reviewed by Geoffrey Garen.

JSTests:

Update various generator*-non-simple-param.js tests to be passing.

* test262.yaml:

Source/JavaScriptCore:

Because generator functions and async functions both have an implicit
inner function whose arguments are inherited from its parent, "use strict"
directives within these functions did not yield a SyntaxError.

Now, the correct syntax error is reported, fixing several test262 failures
for generators and async functions.

* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseFunctionInfo):

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

2 years agoUnreviewed, rolling out r207557.
ryanhaddad@apple.com [Wed, 19 Oct 2016 21:14:04 +0000 (21:14 +0000)]
Unreviewed, rolling out r207557.

This change caused animations/font-variations tests to time
out on pre-Sierra Macs.

Reverted changeset:

"[macOS] [iOS] Disable variation fonts on macOS El Capitan and
iOS 9"
https://bugs.webkit.org/show_bug.cgi?id=163374
http://trac.webkit.org/changeset/207557

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

2 years ago[CSS Parser] Support -webkit-border-fit
hyatt@apple.com [Wed, 19 Oct 2016 20:45:08 +0000 (20:45 +0000)]
[CSS Parser] Support -webkit-border-fit
https://bugs.webkit.org/show_bug.cgi?id=163687

Reviewed by Zalan Bujtas.

Add support for -webkit-border-fit to isValidKeywordPropertyAndValue.

* css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):

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

2 years agoBaseline JIT should use AutomaticThread
fpizlo@apple.com [Wed, 19 Oct 2016 20:37:20 +0000 (20:37 +0000)]
Baseline JIT should use AutomaticThread
https://bugs.webkit.org/show_bug.cgi?id=163686

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Change the JITWorklist to use AutomaticThread, so that the Baseline JIT's concurrent
compiler thread shuts down automatically after inactivity.

With this change, all of JSC's threads shut down automatically. If you run splay for a few
seconds (which fires up all threads - compiler and GC) and then go to sleep for a second,
you'll see that the only threads left are the main thread and the bmalloc thread.

* jit/JITWorklist.cpp:
(JSC::JITWorklist::Thread::Thread):
(JSC::JITWorklist::JITWorklist):
(JSC::JITWorklist::completeAllForVM):
(JSC::JITWorklist::poll):
(JSC::JITWorklist::compileLater):
(JSC::JITWorklist::compileNow):
(JSC::JITWorklist::finalizePlans):
(JSC::JITWorklist::runThread): Deleted.
* jit/JITWorklist.h:

Source/WTF:

Added a AutomaticThreadCondition::wait() method, so that if you really want to use one
common condition for your thread and something else, you can do it. This trivially works
if you only use notifyAll(), and behaves as you'd expect for notifyOne() (i.e. it's
dangerous, since you don't know who will wake up).

The Baseline JIT used the one-true-Condition idiom because it used notifyAll() in an
optimal way: there are just two threads talking to each other, so it wakes up at most one
thread and that thread is exactly the one you want woken up. Adding wait() means that I did
not have to change that code.

* wtf/AutomaticThread.cpp:
(WTF::AutomaticThreadCondition::wait):
* wtf/AutomaticThread.h:

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

2 years ago[CSS Parser] class and id parsing need to be case-insensitive in HTML quirks mode
hyatt@apple.com [Wed, 19 Oct 2016 20:34:14 +0000 (20:34 +0000)]
[CSS Parser] class and id parsing need to be case-insensitive in HTML quirks mode
https://bugs.webkit.org/show_bug.cgi?id=163685

Reviewed by Zalan Bujtas.

Class and ID parsing should be case-insensitive in quirks mode. Apply the same hack
that the old parser did and lowercase the class and ids in place.

* css/parser/CSSSelectorParser.cpp:
(WebCore::CSSSelectorParser::consumeId):
(WebCore::CSSSelectorParser::consumeClass):

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

2 years agoAX: crash: com.apple.WebCore: WebCore::AccessibilityObject::findMatchingObjects ...
n_wang@apple.com [Wed, 19 Oct 2016 20:33:23 +0000 (20:33 +0000)]
AX: crash: com.apple.WebCore: WebCore::AccessibilityObject::findMatchingObjects + 600
https://bugs.webkit.org/show_bug.cgi?id=163682

Reviewed by Chris Fleizach.

Source/WebCore:

There's a null pointer crash when we ask for startObject->parentObjectUnignored() in
AccessibilityObject::findMatchingObject. Added a null check for the startObject to fix that.

Test: accessibility/mac/search-predicate-crash.html

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::findMatchingObjects):

LayoutTests:

* accessibility/mac/search-predicate-crash-expected.txt: Added.
* accessibility/mac/search-predicate-crash.html: Added.

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

2 years agoCrash in ASCIICaseInsensitiveHash::hash() when a response has a null MIME type
aestes@apple.com [Wed, 19 Oct 2016 20:30:27 +0000 (20:30 +0000)]
Crash in ASCIICaseInsensitiveHash::hash() when a response has a null MIME type
https://bugs.webkit.org/show_bug.cgi?id=163476
<rdar://problem/26941395>

Reviewed by Andreas Kling.

Source/WebKit2:

When custom content providers are registered and a response has a null MIME type, WebPage
will pass a null String to HashSet::contains(). This results in a null pointer dereference,
since the String hash functions do not support null Strings and unconditionally dereference
their StringImpls. Fixed by checking that Strings are non-null before calling
HashSet::contains() on m_mimeTypesWithCustomContentProviders.

New API test: WebKit2.LoadDataWithNilMIMEType.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::shouldUseCustomContentProviderForResponse): Checked if mimeType is null
before calling m_mimeTypesWithCustomContentProviders.contains().
(WebKit::WebPage::canShowMIMEType): Ditto.
* WebProcess/WebPage/WebPage.h: Made private the declaration of canPluginHandleResponse().

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/LoadDataWithNilMIMEType.mm: Added.
(TEST): Added an API test that passes a nil MIMEType to
-[WKWebView loadData:MIMEType:characterEncodingName:baseURL:].

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

2 years agoMove HTML Interactive Form Validation behind an experimental flag
cdumez@apple.com [Wed, 19 Oct 2016 20:29:02 +0000 (20:29 +0000)]
Move HTML Interactive Form Validation behind an experimental flag
https://bugs.webkit.org/show_bug.cgi?id=163673

Reviewed by Daniel Bates.

Source/WebKit/mac:

Re-disable HTML Interactive Form Validation by default on Mac WK1.

* WebView/WebViewData.mm:
(-[WebViewPrivate init]):

Source/WebKit2:

Move HTML Interactive Form Validation behind an experimental feature flag
and disable by default until by have a better UI.

* Shared/WebPreferencesDefinitions.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

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

2 years agoModify testrunner to mute audio during tests
jer.noble@apple.com [Wed, 19 Oct 2016 20:10:40 +0000 (20:10 +0000)]
Modify testrunner to mute audio during tests
https://bugs.webkit.org/show_bug.cgi?id=162582

Reviewed by Alexey Proskuryakov.

* DumpRenderTree/mac/DumpRenderTree.mm:
(createWebViewAndOffscreenWindow):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):

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

2 years agoBug 163670: Refine assertions in WebCore::ImageData constructors
ddkilzer@apple.com [Wed, 19 Oct 2016 19:52:38 +0000 (19:52 +0000)]
Bug 163670: Refine assertions in WebCore::ImageData constructors
<https://webkit.org/b/163670>
<rdar://problem/27497338>

Reviewed by Brent Fulgham.

No new tests because there is no change in nominal behavior.

* html/ImageData.cpp:
(WebCore::ImageData::ImageData(const IntSize&)): Change to use
ASSERT() since the worst-case scenario here is a nullptr deref.
Switch to IntSize::area() to compute the area.
(WebCore::ImageData::ImageData(const IntSize&, Ref<Uint8ClampedArray>&&)):
Add ASSERT() identical to the previous constructor, and change
ASSERT_WITH_SECURITY_IMPLICATION() to only fire when m_data is
not nullptr and the length check fails.  Switch to
IntSize::area() to compute the area.

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

2 years agocheck-webkit-style: fix false-positive warnings about using #pragma once header guard
commit-queue@webkit.org [Wed, 19 Oct 2016 19:50:40 +0000 (19:50 +0000)]
check-webkit-style: fix false-positive warnings about using #pragma once header guard
https://bugs.webkit.org/show_bug.cgi?id=163575

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-10-19
Reviewed by Brady Eidson.

There were some false positive warnings about header guards
for ObjC headers that don't need guards. This changes the
style checker to no longer warn if there is no #pragma once.
It only warns if there are #ifndef that should be #pragma once.

* Scripts/webkitpy/style/checkers/cpp.py:
(check_for_header_guard):
Change when we output an error.

* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_build_header_guard):
Update tests.

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

2 years agohttps://bugs.webkit.org/show_bug.cgi?id=163292
commit-queue@webkit.org [Wed, 19 Oct 2016 19:45:49 +0000 (19:45 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=163292

Patch by Damian Kaleta <dkaleta@apple.com> on 2016-10-19
Reviewed by Brady Eidson.

Added ability to display context menu asynchronously.

* Shared/API/APIObject.h: Added ContextMenuListener.
* Shared/API/c/WKBase.h: Added WKContextMenuListenerRef struct.
* UIProcess/API/APIContextMenuClient.h:
(API::ContextMenuClient::getContextMenuFromProposedMenuAsync): New method that allows showing context menu asynchronously.
* UIProcess/API/C/WKAPICast.h: Added a new mapping for WebContextMenuListenerProxy.
* UIProcess/API/C/WKContextMenuListener.cpp: Added. New class that allow a client to return results asynchronously.
(WKContextMenuListenerGetTypeID):
(WKContextMenuListenerUseContextMenuItems):
* UIProcess/API/C/WKContextMenuListener.h: Added.
* UIProcess/API/C/WKPage.cpp: Added WKPageContextMenuClientV4.
(WKPageSetPageContextMenuClient):
* UIProcess/API/C/WKPageContextMenuClient.h:
* UIProcess/WebContextMenuListenerProxy.cpp: Copied from Source/WebKit2/UIProcess/mac/WebContextMenuProxyMac.h.
(WebKit::WebContextMenuListenerProxy::WebContextMenuListenerProxy):
(WebKit::WebContextMenuListenerProxy::~WebContextMenuListenerProxy):
(WebKit::WebContextMenuListenerProxy::useContextMenuItems): Passes items to m_contextMenuMac.
(WebKit::WebContextMenuListenerProxy::invalidate):
* UIProcess/WebContextMenuListenerProxy.h: Copied from Source/WebKit2/UIProcess/mac/WebContextMenuProxyMac.h.
(WebKit::WebContextMenuListenerProxy::create):
* UIProcess/mac/WebContextMenuProxyMac.h:
* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::showContextMenuWithItems): Shows context menu.
(WebKit::WebContextMenuProxyMac::showContextMenu): Extracted some logic to showContextMenuWithItems().
* WebKit2.xcodeproj/project.pbxproj:

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

2 years ago[macOS] [iOS] Disable variation fonts on macOS El Capitan and iOS 9
mmaxfield@apple.com [Wed, 19 Oct 2016 19:40:49 +0000 (19:40 +0000)]
[macOS] [iOS] Disable variation fonts on macOS El Capitan and iOS 9
https://bugs.webkit.org/show_bug.cgi?id=163374

Reviewed by Darin Adler.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Because of platform lack of support for variations in in-memory fonts,
this feature should be disabled on the affected OSes.

No tests because there is no behavior change (on the relevant platforms).

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Tools:

* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

LayoutTests:

Moving animations/font-variation-settings* tests to animations/font-variations
in order to make them easier to mark as failing.

Mark the relevant tests as failing on El Capitan and iOS 9.

* animations/font-variations/font-variation-settings-expected.html: Renamed from LayoutTests/animations/font-variation-settings-expected.html.
* animations/font-variations/font-variation-settings-order-expected.html: Renamed from LayoutTests/animations/font-variation-settings-order-expected.html.
* animations/font-variations/font-variation-settings-order.html: Renamed from LayoutTests/animations/font-variation-settings-order.html.
* animations/font-variations/font-variation-settings-unlike-expected.html: Renamed from LayoutTests/animations/font-variation-settings-unlike-expected.html.
* animations/font-variations/font-variation-settings-unlike.html: Renamed from LayoutTests/animations/font-variation-settings-unlike.html.
* animations/font-variations/font-variation-settings.html: Renamed from LayoutTests/animations/font-variation-settings.html.
* platform/gtk/TestExpectations:
* platform/ios-simulator/TestExpectations:
* platform/mac/TestExpectations:

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

2 years ago[CSS Parser] Fix background-position parsing
hyatt@apple.com [Wed, 19 Oct 2016 19:19:27 +0000 (19:19 +0000)]
[CSS Parser] Fix background-position parsing
https://bugs.webkit.org/show_bug.cgi?id=163681

Reviewed by Dean Jackson.

The new parser has a more efficient parsed representation of background positions. When
background-position is "center" or when no length unit is specified for a dimension,
then rather than creating a pair, the new parser makes a singleton primitive value.

Patch the StyleBuilder code to handle this case, resolving center to (left,50%) or
(top,50%) as appropriate and also handling top/left without any associated length.

* css/CSSToStyleMap.cpp:
(WebCore::CSSToStyleMap::mapFillXPosition):
(WebCore::CSSToStyleMap::mapFillYPosition):

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

2 years agoWebView needs to initialize the visualViewportEnabled Setting from WebKit preferences
simon.fraser@apple.com [Wed, 19 Oct 2016 19:07:28 +0000 (19:07 +0000)]
WebView needs to initialize the visualViewportEnabled Setting from WebKit preferences
https://bugs.webkit.org/show_bug.cgi?id=163680

Reviewed by Dean Jackson.

Add code to set the Setting from WebKit prefs. This code is a mess and needs to be autogenerated.

* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

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

2 years ago[Modern Media Controls] Media Controller: click-to-start support
commit-queue@webkit.org [Wed, 19 Oct 2016 19:04:35 +0000 (19:04 +0000)]
[Modern Media Controls] Media Controller: click-to-start support
https://bugs.webkit.org/show_bug.cgi?id=163659
<rdar://problem/28845656>

Patch by Antoine Quint <graouts@apple.com> on 2016-10-19
Reviewed by Dean Jackson.

Source/WebCore:

We introduce the MediaControllerSupport class which will allow a number of media controller
features to be implemented by subclasses each devoted to implementing a specific subset of
media controller features. With this bug, we add the correct behavior for click-to-start,
only showing the start button under the right circumstances.

A MediaController object indicates which media control to attach click event listeners to
through the `control` property, and a list of media events it should register on the media
element through the `mediaEvents` property. Then, as the user interacts with the specified
control and the media, the Button delegation method `buttonWasClicked()` and the `syncControl()`
methods are called to allow for the media state to be correctly set and represented in the
media controls. Custom event handling for the specified events can also be achieved by
subclassing the `handleEvent()` method.

Tests: media/modern-media-controls/start-support/start-support-audio.html
       media/modern-media-controls/start-support/start-support-autoplay.html
       media/modern-media-controls/start-support/start-support-click-to-start.html
       media/modern-media-controls/start-support/start-support-error.html
       media/modern-media-controls/start-support/start-support-fullscreen.html
       media/modern-media-controls/start-support/start-support-manual-play.html
       media/modern-media-controls/start-support/start-support-no-source.html

* Modules/modern-media-controls/media/media-controller-support.js: Added.
(MediaControllerSupport):
(MediaControllerSupport.prototype.get control):
(MediaControllerSupport.prototype.get mediaEvents):
(MediaControllerSupport.prototype.buttonWasClicked):
(MediaControllerSupport.prototype.handleEvent):
(MediaControllerSupport.prototype.syncControl):
* Modules/modern-media-controls/media/media-controller.js:
(MediaController):
(MediaController.prototype.buttonWasClicked): Deleted.
* Modules/modern-media-controls/media/start-support.js: Added.
(StartSupport.prototype.get control):
(StartSupport.prototype.get mediaEvents):
(StartSupport.prototype.buttonWasClicked):
(StartSupport.prototype.handleEvent):
(StartSupport.prototype.syncControl):
(StartSupport.prototype._shouldShowStartButton):
(StartSupport):

LayoutTests:

New test coverage for the StartSupport class.

* media/modern-media-controls/media-controller/media-controller-constructor.html:
* media/modern-media-controls/media-controller/media-controller-resize.html:
* media/modern-media-controls/start-support/start-support-audio-expected.txt: Added.
* media/modern-media-controls/start-support/start-support-audio.html: Added.
* media/modern-media-controls/start-support/start-support-autoplay-expected.txt: Added.
* media/modern-media-controls/start-support/start-support-autoplay.html: Added.
* media/modern-media-controls/start-support/start-support-click-to-start-expected.txt: Renamed from LayoutTests/media/modern-media-controls/media-controller/media-controller-click-to-start-expected.txt.
* media/modern-media-controls/start-support/start-support-click-to-start.html: Renamed from LayoutTests/media/modern-media-controls/media-controller/media-controller-click-to-start.html.
* media/modern-media-controls/start-support/start-support-error-expected.txt: Added.
* media/modern-media-controls/start-support/start-support-error.html: Added.
* media/modern-media-controls/start-support/start-support-fullscreen-expected.txt: Added.
* media/modern-media-controls/start-support/start-support-fullscreen.html: Added.
* media/modern-media-controls/start-support/start-support-manual-play-expected.txt: Added.
* media/modern-media-controls/start-support/start-support-manual-play.html: Added.
* media/modern-media-controls/start-support/start-support-no-source-expected.txt: Added.
* media/modern-media-controls/start-support/start-support-no-source.html: Added.
* platform/ios-simulator/TestExpectations:

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

2 years agoWeb Inspector: AXI: expose computed tree node and heading level
commit-queue@webkit.org [Wed, 19 Oct 2016 18:59:23 +0000 (18:59 +0000)]
Web Inspector: AXI: expose computed tree node and heading level
https://bugs.webkit.org/show_bug.cgi?id=130825
<rdar://problem/16442349>

Patch by Aaron Chu <aaron_chu@apple.com> on 2016-10-19
Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

Exposing two new accessibility properties: Heading Level and Hierarchical Level.

* inspector/protocol/DOM.json:

Source/WebCore:

Exposing two new accessibility properties: Heading Level and Hierarchical Level.

Updated Test: LayoutTest/inspector/dom/getAccessibilityPropertiesForNode.html

* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

Source/WebInspectorUI:

Updating the Web Accessibility Inspector to display Heading Level and Hierarchical Level.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Models/DOMNode.js:
(WebInspector.DOMNode.prototype.accessibilityProperties.accessibilityPropertiesCallback):
(WebInspector.DOMNode.prototype.accessibilityProperties):
* UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
(WebInspector.DOMNodeDetailsSidebarPanel):
(WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility.accessibilityPropertiesCallback):
(WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility):

LayoutTests:

Included logging of the two newly exposed accessibility properties:
Heading Level and Hierarchical Level.

* inspector/dom/getAccessibilityPropertiesForNode-expected.txt:
* inspector/dom/getAccessibilityPropertiesForNode.html:

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

2 years agoWebRTC: Implement MediaEndpointPeerConnection::stop()
adam.bergkvist@ericsson.com [Wed, 19 Oct 2016 18:56:43 +0000 (18:56 +0000)]
WebRTC: Implement MediaEndpointPeerConnection::stop()
https://bugs.webkit.org/show_bug.cgi?id=163660

Reviewed by Philippe Normand.

Make MediaEndpointPeerConnection::stop() stop its MediaEndpoint.

Testing: This fix deals with cleanup and tearing down resources down in the platform layer
and is not covered by automated tests. It is however observable in the manual test added
in [1] where the remote videos should stop when the connections are closed.

[1] http://webkit.org/b/163327

* Modules/mediastream/MediaEndpointPeerConnection.cpp:
(WebCore::MediaEndpointPeerConnection::stop):

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

2 years ago[CSS Parser] Fix -webkit-mask-box-image parsing
hyatt@apple.com [Wed, 19 Oct 2016 18:42:43 +0000 (18:42 +0000)]
[CSS Parser] Fix -webkit-mask-box-image parsing
https://bugs.webkit.org/show_bug.cgi?id=163676

Reviewed by Dean Jackson.

-webkit-mask-box-image is not a shorthand in our current code, so treat it the same as the legacy
-webkit-border-image.

* css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::CSSPropertyParser::parseShorthand):

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

2 years ago[GTK][EFL] Build fix after r207543.
clopez@igalia.com [Wed, 19 Oct 2016 18:25:36 +0000 (18:25 +0000)]
[GTK][EFL] Build fix after r207543.
https://bugs.webkit.org/show_bug.cgi?id=163671

Unreviewed.

Fix typo on the filename of the included header:
Mac filesystem is case insensitive, but Linux filesystems are case sensitive.

* css/parser/CSSPropertyParser.cpp:

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

2 years agoUse anonymous table row for new child at RenderTableRow::addChild() if available.
zalan@apple.com [Wed, 19 Oct 2016 18:15:08 +0000 (18:15 +0000)]
Use anonymous table row for new child at RenderTableRow::addChild() if available.
https://bugs.webkit.org/show_bug.cgi?id=163651
<rdar://problem/28705022>

Reviewed by David Hyatt.

Source/WebCore:

We should try to prevent the continuation siblings from getting separated and inserted into
wrapper renderers. It makes finding these continuation siblings difficult.
This patch adds a checks for anonymous table rows so that we could find a closer common ancestor of
beforeChild/new child.

Test: fast/table/crash-when-table-has-continuation-and-content-inserted.html

* rendering/RenderObject.cpp:
(WebCore::RenderObject::showRenderObject): Add continuation information.
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::addChild):

LayoutTests:

* fast/table/crash-when-table-has-continuation-and-content-inserted-expected.txt: Added.
* fast/table/crash-when-table-has-continuation-and-content-inserted.html: Added.

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

2 years agoCleanup WebCore/workers
commit-queue@webkit.org [Wed, 19 Oct 2016 18:09:50 +0000 (18:09 +0000)]
Cleanup WebCore/workers
https://bugs.webkit.org/show_bug.cgi?id=163635

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-10-19
Reviewed by Chris Dumez.

* workers/*:
Cleanup like pragma once, nullptr, remove stale includes, declarations.

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

2 years agoDFG worklist should use AutomaticThread
fpizlo@apple.com [Wed, 19 Oct 2016 17:47:30 +0000 (17:47 +0000)]
DFG worklist should use AutomaticThread
https://bugs.webkit.org/show_bug.cgi?id=163615

Reviewed by Mark Lam.

Source/JavaScriptCore:

AutomaticThread is a new feature in WTF that allows you to easily create worker threads that
shut down automatically. This changes DFG::Worklist to use AutomaticThread, so that its
threads shut down automatically, too. This has the potential to save a lot of memory.

This required some improvements to AutomaticThread: Worklist likes to be able to keep state
around for the whole lifetime of a thread, and so it likes knowing when threads are born and
when they die. I added virtual methods for that. Also, Worklist uses notifyOne() so I added
that, too.

This looks to be perf-neutral.

* dfg/DFGThreadData.cpp:
(JSC::DFG::ThreadData::ThreadData):
* dfg/DFGThreadData.h:
* dfg/DFGWorklist.cpp:
(JSC::DFG::Worklist::ThreadBody::ThreadBody):
(JSC::DFG::Worklist::Worklist):
(JSC::DFG::Worklist::~Worklist):
(JSC::DFG::Worklist::finishCreation):
(JSC::DFG::Worklist::isActiveForVM):
(JSC::DFG::Worklist::enqueue):
(JSC::DFG::Worklist::compilationState):
(JSC::DFG::Worklist::waitUntilAllPlansForVMAreReady):
(JSC::DFG::Worklist::removeAllReadyPlansForVM):
(JSC::DFG::Worklist::completeAllReadyPlansForVM):
(JSC::DFG::Worklist::rememberCodeBlocks):
(JSC::DFG::Worklist::visitWeakReferences):
(JSC::DFG::Worklist::removeDeadPlans):
(JSC::DFG::Worklist::removeNonCompilingPlansForVM):
(JSC::DFG::Worklist::queueLength):
(JSC::DFG::Worklist::dump):
(JSC::DFG::Worklist::runThread): Deleted.
(JSC::DFG::Worklist::threadFunction): Deleted.
* dfg/DFGWorklist.h:

Source/WTF:

This adds new functionality to AutomaticThread to support DFG::Worklist:

- AutomaticThread::threadDidStart/threadWillStop virtual methods called at the start and end
  of a thread's lifetime. This allows Worklist to tie some resources to the life of the
  thread, and also means that now those resources will naturally free up when the Worklist is
  not in use.

- AutomaticThreadCondition::notifyOne(). This required changes to Condition::notifyOne(). We
  need to know if the Condition woke up anyone. If it didn't, then we need to launch one of
  our threads.

* wtf/AutomaticThread.cpp:
(WTF::AutomaticThreadCondition::notifyOne):
(WTF::AutomaticThread::ThreadScope::ThreadScope):
(WTF::AutomaticThread::ThreadScope::~ThreadScope):
(WTF::AutomaticThread::start):
(WTF::AutomaticThread::threadDidStart):
(WTF::AutomaticThread::threadWillStop):
* wtf/AutomaticThread.h:
* wtf/Condition.h:
(WTF::ConditionBase::notifyOne):

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

2 years agoMouseEvent's coordinates should be 0 for simulated clicks
cdumez@apple.com [Wed, 19 Oct 2016 17:46:42 +0000 (17:46 +0000)]
MouseEvent's coordinates should be 0 for simulated clicks
https://bugs.webkit.org/show_bug.cgi?id=163648

Reviewed by Darin Adler.

Source/WebCore:

MouseEvent's coordinates should be 0 / 0 for simulated clicks triggered
by JavaScript (i.e. via element.click()). This behavior matches Chrome
and Firefox.

WebKit was computing actual coordinates for the element which was
expensive, especially because computing  screenX / screenY required
a synchronous IPC with the UI process.

Test: fast/events/element-click-no-coords.html

* dom/Element.cpp:
(WebCore::Element::dispatchSimulatedClick):
* dom/SimulatedClick.cpp:
(WebCore::simulateMouseEvent):
(WebCore::simulateClick):
* dom/SimulatedClick.h:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::click):

LayoutTests:

Add layout test coverage. I verified that this test is passing in
Firefox and Chrome as well.

* fast/events/element-click-no-coords-expected.txt: Added.
* fast/events/element-click-no-coords.html: Added.

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

2 years ago[CSS Parser] Fix transform parsing
hyatt@apple.com [Wed, 19 Oct 2016 17:40:27 +0000 (17:40 +0000)]
[CSS Parser] Fix transform parsing
https://bugs.webkit.org/show_bug.cgi?id=163671

Reviewed by Dean Jackson.

The new parser turned function names into CSSValueIDs and made CSSFunctionValue store them. This
meant it could be used to handle transform values, with the function name representing the
transform operation efficiently as a CSSValueID.

The old parser, however, creates WebKitCSSTransformValues. This value does not exist in the new
parser. Rather than forcing the old and new parser over to CSSFunctionValues, I opted to
just make the new parser build WebkitCSSTransformValues too.

The main reason I did this is that WebkitCSSTransformValue is actually exposed to the Web via
IDL. To be safe, I am not eliminating it (even though Blink has).

* css/parser/CSSPropertyParser.cpp:
(WebCore::consumeTranslate3d):
(WebCore::consumeNumbers):
(WebCore::consumePerspective):
(WebCore::transformOperationForCSSValueID):
(WebCore::consumeTransformValue):

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

2 years ago[Xcode] JavaScriptCore fails to build when CLANG_WARN_DOCUMENTATION_COMMENTS is enabled
mitz@apple.com [Wed, 19 Oct 2016 17:18:27 +0000 (17:18 +0000)]
[Xcode] JavaScriptCore fails to build when CLANG_WARN_DOCUMENTATION_COMMENTS is enabled
https://bugs.webkit.org/show_bug.cgi?id=163642

Reviewed by Darin Adler.

* API/JSClassRef.cpp: Removed a bad headerdoc comment inside an implementation file.
* API/JSContext.h: Changed @methodgroup to @functiongroup, because the compiler requires the
  former to be followed by a method (and we have a property), but not the latter. Changed
  a couple of instances of “method” to “@method”. Removed empty @param entries.
* API/JSContextRefInternal.h: Named a parameter referenced in a @param entry.
* API/JSContextRefPrivate.h: Ditto.
* API/JSManagedValue.h: Removed empty @param entries.
* API/JSObjectRef.h: Corrected parameter name in @param entry.
* API/JSTypedArray.h: Ditto.
* API/JSValue.h: Removed empty @param entries, changed @methodgroup to @functiongroup, and
  changed @method to @property where appropriate. Removed empty @param entries.
* API/JSValueRef.h: Named a parameter referenced in a @param entry.
* API/JSWeakObjectMapRefPrivate.h: Ditto.
* Configurations/Base.xcconfig: Enabled CLANG_WARN_DOCUMENTATION_COMMENTS. Made the compiler
  treat the icu headers as system headers, to stop it from emitting warnings about headers
  we don’t want to change.
* Configurations/ToolExecutable.xcconfig: Made the compiler treat the icu headers as system
  headers.

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

2 years agoMove XPath from ExceptionCode to Exception
darin@apple.com [Wed, 19 Oct 2016 16:57:31 +0000 (16:57 +0000)]
Move XPath from ExceptionCode to Exception
https://bugs.webkit.org/show_bug.cgi?id=163656

Reviewed by Chris Dumez.

Source/WebCore:

* dom/Document.cpp:
(WebCore::Document::createExpression): Use ExceptionOr.
(WebCore::Document::createNSResolver): Return Ref.
(WebCore::Document::evaluate): Use ExceptionOr.
* dom/Document.h: Updated for above changes.
* dom/Document.idl: Use non-legacy exceptions for the functions above.

* inspector/InspectorNodeFinder.cpp:
(WebCore::InspectorNodeFinder::searchUsingXPath): Call XPath functions
with new interface.

* xml/DOMParser.cpp:
(WebCore::DOMParser::DOMParser): Marked inline.
(WebCore::DOMParser::create): Moved here from header.
(WebCore::DOMParser::parseFromString): Use ExceptionOr.
* xml/DOMParser.h: Updated for above changes.
* xml/DOMParser.idl: Use non-legacy exception.

* xml/XPathEvaluator.cpp:
(WebCore::XPathEvaluator::createExpression): Use ExceptionOr.
(WebCore::XPathEvaluator::evaluate): Ditto.
* xml/XPathEvaluator.h: Updated for above changes.
* xml/XPathEvaluator.idl: Use non-legacy exceptions.

* xml/XPathExpression.cpp:
(WebCore::XPathExpression::createExpression): Use ExceptionOr.
(WebCore::XPathExpression::evaluate): Ditto.
* xml/XPathExpression.h: Updated for above changes.
* xml/XPathExpression.idl: Use non-legacy exceptions.

* xml/XPathGrammar.y: Added include of XPathStep.h.

* xml/XPathParser.cpp:
(WebCore::XPath::Parser::Parser): Initialize three scalar data members
in the class definition rather than here.
(WebCore::XPath::Parser::parseStatement): Use ExceptionOr.
* xml/XPathParser.h: Updated for above changes.

* xml/XPathResult.cpp:
(WebCore::XPathResult::XPathResult): Use a reference rather than a
pointer for the document. Alao initialize two scalar data members
in the class definition rather than here.
(WebCore::XPathResult::convertTo): Use ExceptionOr.
(WebCore::XPathResult::numberValue): Ditto.
(WebCore::XPathResult::stringValue): Ditto.
(WebCore::XPathResult::booleanValue): Ditto.
(WebCore::XPathResult::singleNodeValue): Ditto.
(WebCore::XPathResult::snapshotLength): Ditto.
(WebCore::XPathResult::iterateNext): Ditto.
(WebCore::XPathResult::snapshotItem): Ditto.
* xml/XPathResult.h: Updated for the changes above.
* xml/XPathResult.idl: Use non-legacy exceptions.

Source/WebKit/mac:

* DOM/DOMDocument.mm:
(wrap): Added. Helper function for wrapping a resolver.
(-[DOMDocument createExpression:resolver:]): Use raiseOnDOMError.
(-[DOMDocument evaluate:contextNode:resolver:type:inResult:]): Ditto.
* DOM/DOMXPathExpression.mm:
(-[DOMXPathExpression evaluate:type:inResult:]): Ditto.
* DOM/DOMXPathResult.mm:
(-[DOMXPathResult numberValue]): Ditto.
(-[DOMXPathResult stringValue]): Ditto.
(-[DOMXPathResult booleanValue]): Ditto.
(-[DOMXPathResult singleNodeValue]): Ditto.
(-[DOMXPathResult snapshotLength]): Ditto.
(-[DOMXPathResult iterateNext]): Ditto.
(-[DOMXPathResult snapshotItem:]): Ditto.

Source/WebKit2:

* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.cpp:
(webkit_dom_document_create_expression): Use ExceptionOr.
(webkit_dom_document_evaluate): Ditto.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathExpression.cpp:
(webkit_dom_xpath_expression_evaluate): Ditto.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMXPathResult.cpp:
(webkit_dom_xpath_result_iterate_next): Ditto.
(webkit_dom_xpath_result_snapshot_item): Ditto.
(webkit_dom_xpath_result_get_number_value): Ditto.
(webkit_dom_xpath_result_get_string_value): Ditto.
(webkit_dom_xpath_result_get_boolean_value): Ditto.
(webkit_dom_xpath_result_get_single_node_value): Ditto.
(webkit_dom_xpath_result_get_snapshot_length): Ditto.

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

2 years agoAX: [Mac] Meter element should use AXValueDescription to descrbe the status of the...
n_wang@apple.com [Wed, 19 Oct 2016 16:48:41 +0000 (16:48 +0000)]
AX: [Mac] Meter element should use AXValueDescription to descrbe the status of the value
https://bugs.webkit.org/show_bug.cgi?id=163610

Reviewed by Chris Fleizach.

Source/WebCore:

Exposed the goodness of the meter value in AXValueDescription.

Test: accessibility/mac/meter-gauge-value-description.html

* English.lproj/Localizable.strings:
* accessibility/AccessibilityProgressIndicator.cpp:
(WebCore::AccessibilityProgressIndicator::gaugeRegionValueDescription):
* accessibility/AccessibilityProgressIndicator.h:
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper valueDescriptionForMeter]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
* platform/LocalizedStrings.cpp:
(WebCore::AXMeterGaugeRegionOptimumText):
(WebCore::AXMeterGaugeRegionSuboptimalText):
(WebCore::AXMeterGaugeRegionLessGoodText):
* platform/LocalizedStrings.h:

LayoutTests:

* accessibility/mac/meter-gauge-value-description-expected.txt: Added.
* accessibility/mac/meter-gauge-value-description.html: Added.

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

2 years ago[CSS Parser] Fix named color parsing
hyatt@apple.com [Wed, 19 Oct 2016 16:38:42 +0000 (16:38 +0000)]
[CSS Parser] Fix named color parsing
https://bugs.webkit.org/show_bug.cgi?id=163662

Reviewed by Zalan Bujtas.

Named color parsing in the old parser for extended colors relied on constructing a Color with the
name and doing a lookup that way.

The new parser allows the back end to hold a primitive identifier value for extended colors.

StyleColor contains a helper function for looking up the correct color.

This patch switches both the old and the new parsers over to the new StyleColor function.

Also remove some asserts from the CSSSelectorList, since the new parser allows it to be empty and
detects parsing failure that way.

* css/CSSSelectorList.cpp:
(WebCore::CSSSelectorList::CSSSelectorList):
(WebCore::CSSSelectorList::operator=):
* css/StyleColor.cpp:
(WebCore::StyleColor::isColorKeyword):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::colorFromPrimitiveValue):
(WebCore::colorForCSSValue): Deleted.

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

2 years agoMarking WPT html/webappapis/animation-frames/callback-* tests as flaky on mac-wk1.
ryanhaddad@apple.com [Wed, 19 Oct 2016 16:33:03 +0000 (16:33 +0000)]
Marking WPT html/webappapis/animation-frames/callback-* tests as flaky on mac-wk1.
https://bugs.webkit.org/show_bug.cgi?id=163361

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

2 years agoRemove SecurityOrigin::taintsCanvas
commit-queue@webkit.org [Wed, 19 Oct 2016 15:10:07 +0000 (15:10 +0000)]
Remove SecurityOrigin::taintsCanvas
https://bugs.webkit.org/show_bug.cgi?id=163594

Patch by Youenn Fablet <youenn@apple.com> on 2016-10-19
Reviewed by Darin Adler.

No change of behavior.

* html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::wouldTaintOrigin):
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canReceiveDragData):
(WebCore::SecurityOrigin::taintsCanvas): Deleted.
* page/SecurityOrigin.h:

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

2 years ago[CSS Parser] Fix compound selector parsing.
hyatt@apple.com [Wed, 19 Oct 2016 15:07:19 +0000 (15:07 +0000)]
[CSS Parser] Fix compound selector parsing.
https://bugs.webkit.org/show_bug.cgi?id=163649

Reviewed by Darin Adler.

The new CSS parser is failing to handle compound selectors. The code has an assumption that the
first value in the RelationType enum is SubSelector. This patch changes the enum to have the same
name used in Blink, RelationType, and to make the ordering be exactly the same.

* css/CSSSelector.h:
(WebCore::CSSSelector::relation):
(WebCore::CSSSelector::setRelation):
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::matchRecursively):
(WebCore::canMatchHoverOrActiveInQuirksMode):
(WebCore::SelectorChecker::determineLinkMatchType):
* css/SelectorFilter.cpp:
(WebCore::SelectorFilter::collectIdentifierHashes):
* css/parser/CSSParserValues.cpp:
(WebCore::CSSParserSelector::insertTagHistory):
(WebCore::CSSParserSelector::appendTagHistory):
* css/parser/CSSParserValues.h:
(WebCore::CSSParserSelector::setRelation):
* css/parser/CSSSelectorParser.cpp:
(WebCore::CSSSelectorParser::consumeComplexSelector):
(WebCore::CSSSelectorParser::consumeCombinator):
* css/parser/CSSSelectorParser.h:
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::fragmentRelationForSelectorRelation):
(WebCore::SelectorCompiler::constructFragmentsInternal):

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

2 years agoWeb Inspector: Debugger buttons positioned incorrectly, align-content default value...
jfernandez@igalia.com [Wed, 19 Oct 2016 13:42:43 +0000 (13:42 +0000)]
Web Inspector: Debugger buttons positioned incorrectly, align-content default value is unexpected
https://bugs.webkit.org/show_bug.cgi?id=163572

Reviewed by Sergio Villar Senin.

Source/WebCore:

We only allow the new CSS Box Alignment syntax when the Grid Layout
feature is enabled. Due to flexbox backward compatibility we have
implemented a different code path for the style initial/default values
assignment. However, we have incorrectly resolved both align-content
and justify-content to 'flex-start' when grid layout is disabled.

This patch changes the approach, so we set 'normal' (the value specified
by the new syntax) for both properties, but using the values defined in
the old syntax (Flexbox specification) at computed style resolution.

Since 'stretch' is the default value for the align-content property, this
issue implies that any flexbox line with an undefined height will be
laid out incorrectly, if not explicitly set via CSS, because flex items
can't use the available height, even though they use 'stretch' for their
'align-self' properties.

Test: css3/flexbox/flexbox-lines-must-be-stretched-by-default.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForContentPositionAndDistributionWithOverflowAlignment):
(WebCore::ComputedStyleExtractor::propertyValue):
* rendering/style/RenderStyle.h:
(WebCore::RenderStyle::initialContentAlignment):

LayoutTests:

Modified test cases for initial values.
Added regression test for the align-content issue.

* css3/flexbox/flexbox-lines-must-be-stretched-by-default-expected.txt: Added.
* css3/flexbox/flexbox-lines-must-be-stretched-by-default.html: Added.
* fast/css/ensure-flexbox-compatibility-with-initial-values-expected.txt:

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

2 years ago[GTK] [L10n] Updated Hungarian translation
mcatanzaro@igalia.com [Wed, 19 Oct 2016 11:39:34 +0000 (11:39 +0000)]
[GTK] [L10n] Updated Hungarian translation
https://bugs.webkit.org/show_bug.cgi?id=163650

Patch by Gabor Kelemen <kelemeng@ubuntu.com> on 2016-10-19
Rubber-stamped by Michael Catanzaro.

* hu.po:

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

2 years ago[GTK] REGRESSION(r207396) Build broken with Clang.
clopez@igalia.com [Wed, 19 Oct 2016 10:42:17 +0000 (10:42 +0000)]
[GTK] REGRESSION(r207396) Build broken with Clang.
https://bugs.webkit.org/show_bug.cgi?id=163599

Suggested and reviewed by Darin Adler.

* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::getStringValue):

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

2 years agoUnreviewed ARM buildfix after r207475.
ossy@webkit.org [Wed, 19 Oct 2016 09:20:14 +0000 (09:20 +0000)]
Unreviewed ARM buildfix after r207475.

* assembler/ARMAssembler.h:
(JSC::ARMAssembler::relinkJumpToNop):

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

2 years agoWebRTC: [GTK] Update jhbuild environment for OpenWebRTC
philn@webkit.org [Wed, 19 Oct 2016 08:18:24 +0000 (08:18 +0000)]
WebRTC: [GTK] Update jhbuild environment for OpenWebRTC
https://bugs.webkit.org/show_bug.cgi?id=163330

Reviewed by Michael Catanzaro.

Bring back the openwebrtc JHBuild moduleset in the time being. It
should be removed after the bump to GStreamer 1.10 is complete and
the libnice patches have been upstreamed. The GStreamer git
snapshots used in this patch are the ones configured in Ericsson's
GStreamer Cerbero fork.

* gtk/openwebrtc.modules: Added.
* gtk/patches/libnice-0001-TURN-allow-REALM-to-be-empty.patch: Added.
* gtk/patches/libnice-0001-agent-Remove-unnecessary-NULL-check.patch: Added.
* gtk/patches/libnice-0001-nicesrc-spin-the-agent-mainloop-in-a-separate-thread.patch: Added.
* gtk/patches/libnice-0002-Do-not-update-a-remote-candidate-s-type.patch: Added.
* gtk/patches/libnice-0002-TURN-handle-437-Allocation-Mismatch-responses.patch: Added.
* gtk/patches/libnice-0003-Do-not-compare-scope-for-IPv6-address-when-scope-is-.patch: Added.
* gtk/patches/libnice-0004-Removing-no-op-assignment.patch: Added.

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

2 years agoNetworkSession: updatedRequest parameter of NetworkProcess::findPendingDownloadLocati...
carlosgc@webkit.org [Wed, 19 Oct 2016 07:59:27 +0000 (07:59 +0000)]
NetworkSession: updatedRequest parameter of NetworkProcess::findPendingDownloadLocation is unused since r206988
https://bugs.webkit.org/show_bug.cgi?id=163588

Reviewed by Alex Christensen.

The parameter was used only for the DownloadProxy::DidStart message that is no longer sent from
findPendingDownloadLocation since r206988.

* NetworkProcess/NetworkDataTask.h:
(WebKit::NetworkDataTask::currentRequest): Removed since it's unused now.
* NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::convertTaskToDownload): Update the m_currentRequest and pass it to DidStart message.
(WebKit::NetworkLoad::didReceiveResponseNetworkSession):
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::findPendingDownloadLocation):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: Remove currentRequest() implementation.

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

2 years agoUnreviewed. Fix GTK+ build after r207522.
carlosgc@webkit.org [Wed, 19 Oct 2016 07:46:46 +0000 (07:46 +0000)]
Unreviewed. Fix GTK+ build after r207522.

* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp:
(webkit_dom_dom_window_webkit_message_handlers_post_message): Use new exceptions.

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

2 years ago2016-10-19 Darin Adler <darin@apple.com>
darin@apple.com [Wed, 19 Oct 2016 07:42:56 +0000 (07:42 +0000)]
2016-10-19  Darin Adler  <darin@apple.com>

Try to fix build on some compilers.

* page/PerformanceUserTiming.cpp: Add back class name; needed by some compiler versions.

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

2 years agoUnreviewed. Fix the build after r207522.
carlosgc@webkit.org [Wed, 19 Oct 2016 07:40:28 +0000 (07:40 +0000)]
Unreviewed. Fix the build after r207522.

* page/PerformanceUserTiming.cpp: Include PerformanceTiming.h.

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

2 years agoUnreviewed. Fix GTK+ build after r207497.
carlosgc@webkit.org [Wed, 19 Oct 2016 07:24:04 +0000 (07:24 +0000)]
Unreviewed. Fix GTK+ build after r207497.

* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElement.cpp:
(webkit_dom_html_select_element_add): Update implementation since add() now takes a Variant.

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

2 years agoUnreviewed. Fix the build after r207519.
carlosgc@webkit.org [Wed, 19 Oct 2016 07:20:32 +0000 (07:20 +0000)]
Unreviewed. Fix the build after r207519.

The build error is:
IDL ATTRIBUTE CHECKER ERROR: Unknown IDL attribute [PassContext] is found at TestRunner.idl.

Because PassContext was removed from IDLAttributes.txt in rr207519, but it's implemented by
CodeGeneratorTestRunner.pm and used by TestRunner.idl.

* bindings/scripts/IDLAttributes.txt: Bring back PassContext.

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

2 years agoUnreviewed. Fix the build with GCC 4.9 after r207463.
carlosgc@webkit.org [Wed, 19 Oct 2016 07:15:31 +0000 (07:15 +0000)]
Unreviewed. Fix the build with GCC 4.9 after r207463.

Add constructors to MediaConstraintsData.

* Modules/mediastream/MediaConstraintsImpl.h:
(WebCore::MediaConstraintsData::MediaConstraintsData):

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

2 years agoSource/WebCore:
jer.noble@apple.com [Wed, 19 Oct 2016 07:07:26 +0000 (07:07 +0000)]
Source/WebCore:
[Mac][MSE] Movies with a 'mehd' box have a zero-duration
https://bugs.webkit.org/show_bug.cgi?id=163641

Reviewed by Darin Adler.

Test: media/media-source/media-source-init-segment-duration.html

The canonical (ISO/IEC 14496-12:2012) way to signal the duration of a fragmented media file is to add a
'mehd' box to the 'mvex' container box specifying the duration of the fragment. Support this through the
AVAsset -overallDurationHint property.

* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset):
* platform/spi/mac/AVFoundationSPI.h:

LayoutTests:
[Mac][MSE] Movies with a 'mvex' box have a zero-duration
https://bugs.webkit.org/show_bug.cgi?id=163641

Reviewed by Darin Adler.

* media/media-source/content/test-fragmented-manifest.json:
* media/media-source/content/test-fragmented.mp4:
* platform/mac/TestExpectations:

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

2 years agoMove many miscellaneous classes from ExceptionCode to Exception
darin@apple.com [Wed, 19 Oct 2016 07:00:10 +0000 (07:00 +0000)]
Move many miscellaneous classes from ExceptionCode to Exception
https://bugs.webkit.org/show_bug.cgi?id=163645

Reviewed by Ryosuke Niwa.

Source/WebCore:

* bindings/js/JSCryptoCustom.cpp:
(WebCore::JSCrypto::getRandomValues): Use propagateException.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::handlePostMessage): Ditto.
(WebCore::JSDOMWindow::setTimeout): Use toJSNumber.
(WebCore::JSDOMWindow::setInterval): Ditto.
* bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::nameGetter): Use propagateException.
(WebCore::JSStorage::deleteProperty): Ditto.
(WebCore::JSStorage::getOwnPropertyNames): Ditto.
(WebCore::JSStorage::putDelegate): Ditto.

* loader/appcache/DOMApplicationCache.cpp:
(WebCore::DOMApplicationCache::update): Use ExceptionOr.
(WebCore::DOMApplicationCache::swapCache): Ditto.
* loader/appcache/DOMApplicationCache.h: Update for above changes.
* loader/appcache/DOMApplicationCache.idl: Use non-legacy exceptions.

* page/Crypto.cpp:
(WebCore::Crypto::getRandomValues): Use ExceptionOr.
(WebCore::Crypto::webkitSubtle): Ditto.
* page/Crypto.h: Updated for above changes.
* page/Crypto.idl: Use non-legacy exceptions.

* page/DOMWindow.cpp:
(WebCore::DOMWindow::DOMWindow): Initialize many data members in
the class definition instead of here.
(WebCore::DOMWindow::page): Use nullptr.
(WebCore::DOMWindow::screen): Ditto.
(WebCore::DOMWindow::crypto): Ditto.
(WebCore::DOMWindow::locationbar): Ditto.
(WebCore::DOMWindow::menubar): Ditto.
(WebCore::DOMWindow::personalbar): Ditto.
(WebCore::DOMWindow::scrollbars): Ditto.
(WebCore::DOMWindow::statusbar): Ditto.
(WebCore::DOMWindow::toolbar): Ditto.
(WebCore::DOMWindow::applicationCache): Ditto.
(WebCore::DOMWindow::sessionStorage): Use ExceptionOr.
(WebCore::DOMWindow::localStorage): Ditto.
(WebCore::DOMWindow::postMessage): Ditto.
(WebCore::DOMWindow::frameElement): Use nullptr.
(WebCore::DOMWindow::self): Ditto.
(WebCore::DOMWindow::opener): Ditto.
(WebCore::DOMWindow::parent): Ditto.
(WebCore::DOMWindow::top): Ditto.
(WebCore::DOMWindow::getComputedStyle): Use Ref.
(WebCore::DOMWindow::setTimeout): Use ExceptionOr.
(WebCore::DOMWindow::setInterval): Ditto.
(WebCore::didAddStorageEventListener): Use a reference instead of a
pointer, and ignore return value instead of using IGNORE_EXCEPTION.
(WebCore::DOMWindow::addEventListener): Pass reference to function above.
(WebCore::DOMWindow::dispatchEvent): Use enum class version of PageStatus.
* page/DOMWindow.h: Updated for changes above. Also changed indentatation.
* page/DOMWindow.idl: Use non-legacy exceptions.

* page/EventSource.cpp:
(WebCore::EventSource::create): Use ExceptionOr.
* page/EventSource.h: Updated for change above.
* page/EventSource.idl: Use non-legacy exception.

* page/Location.cpp:
(WebCore::Location::setProtocol): Use ExceptionOr.
* page/Location.h: Updated for change above.
* page/Location.idl: Use non-legacy exception.

* page/Performance.cpp:
(WebCore::Performance::Performance): Remove unnecessary initialization of
smart pointer to null, and moved initialization of m_resourceTimingBufferSize
to the header.
(WebCore::Performance::navigation): Made non-const and return a reference.
(WebCore::Performance::timing): Ditto.
(WebCore::Performance::addResourceTiming): Change LoadTiming argument to use
a const& instead of passing in a copy.
(WebCore::Performance::webkitMark): Use ExceptionOr and make_unique.
(WebCore::Performance::webkitClearMarks): Ditto.
(WebCore::Performance::webkitMeasure): Ditto.
(WebCore::Performance::webkitClearMeasures): Ditto.
(WebCore::Performance::reduceTimeResolution): Use std::floor.
* page/Performance.h: Updated for above changes. Removed unneeded includes.
Made more things private. Removed unneeded reference counting of UserTiming.
* page/Performance.idl: Use non-legacy exceptions.

* page/PerformanceUserTiming.cpp:
(WebCore::restrictedMarkFunction): Removed unneeded class name.
(WebCore::UserTiming::UserTiming): Take a reference instead of a pointer.
(WebCore::UserTiming::mark): Use ExceptionOr.
(WebCore::UserTiming::findExistingMarkStartTime): Ditto.
(WebCore::UserTiming::measure): Ditto.
(WebCore::getEntrySequenceByName): Simplified code using HashMap::get.
* page/PerformanceUserTiming.h: Updated for above changes. Removed reference
counting since this is a single-owner object.

* page/UserMessageHandler.cpp:
(WebCore::UserMessageHandler::postMessage): Use ExceptionOr.
* page/UserMessageHandler.h: Updated for above change.
* page/UserMessageHandler.idl: Use non-legacy exception.

* storage/Storage.cpp:
(WebCore::Storage::length): Use ExceptionOr.
(WebCore::Storage::key): Ditto.
(WebCore::Storage::getItem): Ditto.
(WebCore::Storage::setItem): Ditto.
(WebCore::Storage::removeItem): Ditto.
(WebCore::Storage::clear): Ditto.
(WebCore::Storage::contains): Ditto.
* storage/Storage.h: Updated for above change.
* storage/Storage.idl: Use non-legacy exceptions.

* storage/StorageEventDispatcher.cpp:
(WebCore::StorageEventDispatcher::dispatchSessionStorageEventsToFrames):
Updated for ExceptionOr.
(WebCore::StorageEventDispatcher::dispatchLocalStorageEventsToFrames): Ditto.

Source/WebKit/win:

* DOMCoreClasses.cpp:
(DOMDocument::getComputedStyle): Use ptr instead of get since the return
value is now Ref instead of RefPtr.

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

2 years agoMove internal testing classes from ExceptionCode to Exception
darin@apple.com [Wed, 19 Oct 2016 05:25:06 +0000 (05:25 +0000)]
Move internal testing classes from ExceptionCode to Exception
https://bugs.webkit.org/show_bug.cgi?id=163553

Reviewed by Ryosuke Niwa.

* bindings/js/JSDOMBinding.h: Added toJSArray. Also exported a function that
is now needed in the testing library.
* bindings/scripts/CodeGeneratorJS.pm:
(NativeToJSValue): Added code to handle the jsArray case with an exception.

* css/parser/CSSPropertyParser.cpp: Fix #if to make code compile when
CSS_SCROLL_SNAP is not enabled.

* dom/Element.cpp:
(WebCore::Element::createShadowRoot): Changed return type to a raw pointer.
There is no reason it needs to be a RefPtr.
* dom/Element.h: Updated for above change.

* svg/SVGPathStringBuilder.h: Exported class and made more public so it can
be used in test code.

* svg/SVGPathUtilities.cpp:
(WebCore::pathIteratorForBuildingString): Deleted. Needed only for test code,
so moved into there.
(WebCore::buildStringFromPath): Deleted. Ditto.
* svg/SVGPathUtilities.h: Removed buildStringFromPath.

* testing/InternalSettings.cpp: Simplified the guard macro and used the all
capitals style that our style guide prescribes for non-function-like macros.
(WebCore::InternalSettings::create): Moved here, no longer inline Use m_page.
(WebCore::InternalSettings::resetToConsistentState): Updated since settings
returns a reference.
(WebCore::InternalSettings::settings): Changed to return a reference and
assert that m_page is not null; functions all check m_page for null first.
(WebCore::InternalSettings::setTouchEventEmulationEnabled): Updated to use
ExceptionOr, do an m_page check, and use settings that returns a reference.
(WebCore::InternalSettings::setStandardFontFamily): Ditto.
(WebCore::InternalSettings::setSerifFontFamily): Ditto.
(WebCore::InternalSettings::setSansSerifFontFamily): Ditto.
(WebCore::InternalSettings::setFixedFontFamily): Ditto.
(WebCore::InternalSettings::setCursiveFontFamily): Ditto.
(WebCore::InternalSettings::setFantasyFontFamily): Ditto.
(WebCore::InternalSettings::setPictographFontFamily): Ditto.
(WebCore::InternalSettings::setTextAutosizingEnabled): Ditto.
(WebCore::InternalSettings::setTextAutosizingWindowSizeOverride): Ditto.
(WebCore::InternalSettings::setMediaTypeOverride): Ditto.
(WebCore::InternalSettings::setCanStartMedia): Ditto.
(WebCore::InternalSettings::setAllowsAirPlayForMediaPlayback): Ditto.
(WebCore::InternalSettings::setEditingBehavior): Ditto.
(WebCore::InternalSettings::setShouldDisplayTrackKind): Ditto.
(WebCore::InternalSettings::shouldDisplayTrackKind): Ditto.
(WebCore::InternalSettings::setStorageBlockingPolicy): Ditto.
(WebCore::InternalSettings::setPreferMIMETypeForImages): Ditto.
(WebCore::InternalSettings::setImagesEnabled): Ditto.
(WebCore::InternalSettings::setPDFImageCachingPolicy): Ditto.
(WebCore::InternalSettings::setMinimumTimerInterval): Ditto.
(WebCore::InternalSettings::setDefaultVideoPosterURL): Ditto.
(WebCore::InternalSettings::setForcePendingWebGLPolicy): Ditto.
(WebCore::InternalSettings::setTimeWithoutMouseMovementBeforeHidingControls): Ditto.
(WebCore::InternalSettings::setUseLegacyBackgroundSizeShorthandBehavior): Ditto.
(WebCore::InternalSettings::setAutoscrollForDragAndDropEnabled): Ditto.
(WebCore::InternalSettings::setFontFallbackPrefersPictographs): Ditto.
(WebCore::InternalSettings::setWebFontsAlwaysFallBack): Ditto.
(WebCore::InternalSettings::setQuickTimePluginReplacementEnabled): Ditto.
(WebCore::InternalSettings::setYouTubeFlashPluginReplacementEnabled): Ditto.
(WebCore::InternalSettings::setBackgroundShouldExtendBeyondPage): Ditto.
(WebCore::InternalSettings::setShouldConvertPositionStyleOnCopy): Ditto.
(WebCore::InternalSettings::setScrollingTreeIncludesFrames): Ditto.
(WebCore::InternalSettings::setAllowsInlineMediaPlayback): Ditto.
(WebCore::InternalSettings::setAllowsInlineMediaPlaybackAfterFullscreen): Ditto.
(WebCore::InternalSettings::setInlineMediaPlaybackRequiresPlaysInlineAttribute): Ditto.
(WebCore::InternalSettings::setIndexedDBWorkersEnabled): Ditto.
(WebCore::InternalSettings::userInterfaceDirectionPolicy): Ditto.
(WebCore::InternalSettings::setUserInterfaceDirectionPolicy): Ditto.
(WebCore::InternalSettings::systemLayoutDirection): Ditto.
(WebCore::InternalSettings::setSystemLayoutDirection): Ditto.
(WebCore::InternalSettings::variationFontsEnabled): Ditto.
(WebCore::InternalSettings::setVariationFontsEnabled): Ditto.
(WebCore::InternalSettings::forcedPrefersReducedMotionValue): Ditto.
(WebCore::InternalSettings::setForcedPrefersReducedMotionValue): Ditto.
* testing/InternalSettings.h: Updated for above changes. Also moved Backup to make
it private instead of public.
* testing/InternalSettings.idl: Use non-legacy execption. Also removed unneeded
exception for setIndexedDBWorkersEnabled.

* testing/Internals.cpp: Marked InspectorStubFrontend final and made everything private.
(WebCore::Internals::setCanShowModalDialogOverride): Use ExceptionOr.
(WebCore::Internals::lastSpatialNavigationCandidateCount): Ditto.
(WebCore::Internals::animationsAreSuspended): Ditto.
(WebCore::Internals::suspendAnimations): Ditto.
(WebCore::Internals::resumeAnimations): Ditto.
(WebCore::Internals::pauseAnimationAtTimeOnElement): Ditto.
(WebCore::Internals::pauseAnimationAtTimeOnPseudoElement): Ditto.
(WebCore::Internals::pauseTransitionAtTimeOnElement): Ditto.
(WebCore::Internals::pauseTransitionAtTimeOnPseudoElement): Ditto.
(WebCore::Internals::elementRenderTreeAsText): Ditto.
(WebCore::Internals::ensureShadowRoot): Ditto.
(WebCore::Internals::createShadowRoot): Ditto.
(WebCore::Internals::shadowRootType): Ditto.
(WebCore::Internals::isTimerThrottled): Ditto.
(WebCore::Internals::formControlStateOfPreviousHistoryItem): Ditto.
(WebCore::Internals::setFormControlStateOfPreviousHistoryItem): Ditto.
(WebCore::Internals::absoluteCaretBounds): Ditto.
(WebCore::Internals::inspectorHighlightRects): Ditto.
(WebCore::Internals::inspectorHighlightObject): Ditto.
(WebCore::Internals::markerCountForNode): Ditto.
(WebCore::Internals::markerAt): Ditto.
(WebCore::Internals::markerRangeForNode): Ditto.
(WebCore::Internals::markerDescriptionForNode): Ditto.
(WebCore::Internals::dumpMarkerRects): Ditto.
(WebCore::Internals::setMarkedTextMatchesAreHighlighted): Ditto.
(WebCore::Internals::setScrollViewPosition): Ditto.
(WebCore::Internals::setViewBaseBackgroundColor): Ditto.
(WebCore::Internals::setPagination): Ditto.
(WebCore::Internals::setPaginationLineGridEnabled): Ditto.
(WebCore::Internals::configurationForViewport): Ditto.
(WebCore::Internals::wasLastChangeUserEdit): Ditto.
(WebCore::Internals::scrollElementToRect): Ditto.
(WebCore::Internals::autofillFieldName): Ditto.
(WebCore::Internals::paintControlTints): Ditto.
(WebCore::Internals::rangeForDictionaryLookupAtLocation): Ditto.
(WebCore::Internals::setDelegatesScrolling): Ditto.
(WebCore::Internals::lastSpellCheckRequestSequence): Ditto.
(WebCore::Internals::lastSpellCheckProcessedSequence): Ditto.
(WebCore::Internals::wheelEventHandlerCount): Ditto.
(WebCore::Internals::touchEventHandlerCount): Ditto.
(WebCore::Internals::nodesFromRect): Ditto.
(WebCore::Internals::setBatteryStatus): Ditto.
(WebCore::Internals::setDeviceProximity): Ditto.
(WebCore::Internals::hasSpellingMarker): Ditto.
(WebCore::Internals::hasAutocorrectedMarker): Ditto.
(WebCore::Internals::handleAcceptedCandidate): Ditto.
(WebCore::Internals::isOverwriteModeEnabled): Ditto.
(WebCore::Internals::toggleOverwriteModeEnabled): Ditto.
(WebCore::Internals::countMatchesForText): Ditto.
(WebCore::Internals::countFindMatches): Ditto.
(WebCore::Internals::setInspectorIsUnderTest): Ditto.
(WebCore::Internals::hasGrammarMarker): Ditto.
(WebCore::Internals::numberOfScrollableAreas): Ditto.
(WebCore::Internals::isPageBoxVisible): Ditto.
(WebCore::Internals::layerTreeAsText): Ditto.
(WebCore::Internals::repaintRectsAsText): Ditto.
(WebCore::Internals::scrollingStateTreeAsText): Ditto.
(WebCore::Internals::mainThreadScrollingReasons): Ditto.
(WebCore::Internals::nonFastScrollableRects): Ditto.
(WebCore::Internals::setElementUsesDisplayListDrawing): Ditto.
(WebCore::Internals::setElementTracksDisplayListReplay): Ditto.
(WebCore::Internals::displayListForElement): Ditto.
(WebCore::Internals::replayDisplayListForElement): Ditto.
(WebCore::Internals::garbageCollectDocumentResources): Ditto.
(WebCore::Internals::insertAuthorCSS): Ditto.
(WebCore::Internals::insertUserCSS): Ditto.
(WebCore::Internals::pageProperty): Ditto.
(WebCore::Internals::pageSizeAndMarginsInPixels): Ditto.
(WebCore::Internals::setPageScaleFactor): Ditto.
(WebCore::Internals::setPageZoomFactor): Ditto.
(WebCore::Internals::setTextZoomFactor): Ditto.
(WebCore::Internals::setUseFixedLayout): Ditto.
(WebCore::Internals::setFixedLayoutSize): Ditto.
(WebCore::Internals::setViewExposedRect): Ditto.
(WebCore::Internals::setHeaderHeight): Ditto.
(WebCore::Internals::setFooterHeight): Ditto.
(WebCore::Internals::setTopContentInset): Ditto.
(WebCore::Internals::setApplicationCacheOriginQuota): Ditto.
(WebCore::Internals::startTrackingRepaints): Ditto.
(WebCore::Internals::stopTrackingRepaints): Ditto.
(WebCore::Internals::startTrackingLayerFlushes): Ditto.
(WebCore::Internals::layerFlushCount): Ditto.
(WebCore::Internals::startTrackingStyleRecalcs): Ditto.
(WebCore::Internals::styleRecalcCount): Ditto.
(WebCore::Internals::startTrackingCompositingUpdates): Ditto.
(WebCore::Internals::compositingUpdateCount): Ditto.
(WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks): Ditto.
(WebCore::Internals::getCurrentCursorInfo): Ditto.
(WebCore::Internals::mediaElementHasCharacteristic): Ditto.
(WebCore::Internals::captionsStyleSheetOverride): Ditto.
(WebCore::Internals::setCaptionsStyleSheetOverride): Ditto.
(WebCore::Internals::setPrimaryAudioTrackLanguageOverride): Ditto.
(WebCore::Internals::setCaptionDisplayMode): Ditto.
(WebCore::Internals::selectionBounds): Ditto.
(WebCore::Internals::isVibrating): Ditto.
(WebCore::Internals::isPluginUnavailabilityIndicatorObscured): Ditto.
(WebCore::Internals::beginMediaSessionInterruption): Ditto.
(WebCore::Internals::setMediaSessionRestrictions): Ditto.
(WebCore::Internals::postRemoteControlCommand): Ditto.
(WebCore::Internals::setMockMediaPlaybackTargetPickerState): Ditto.
(WebCore::Internals::installMockPageOverlay): Ditto.
(WebCore::Internals::pageOverlayLayerTreeAsText): Ditto.
(WebCore::Internals::scrollSnapOffsets): Ditto.
(WebCore::Internals::pathStringWithShrinkWrappedRects): Moved the code that builds
the path string in here for now since it's only used for this testing.
(WebCore::Internals::resourceLoadStatisticsForOrigin): Take a const String&.

* testing/Internals.h: Updated for above changes.
* testing/Internals.idl: Use non-legacy exceptions.

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

2 years agoImport the latest custom elements tests from W3C
rniwa@webkit.org [Wed, 19 Oct 2016 05:03:11 +0000 (05:03 +0000)]
Import the latest custom elements tests from W3C
https://bugs.webkit.org/show_bug.cgi?id=163640

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

Import more custom elements tests from web-platform-tests as of fbe5ac0fd8eecac67d1562032eeba5bd7ec2b735.
Most of these tests are written and fixed by me.

* web-platform-tests/custom-elements/htmlconstructor/newtarget-expected.txt:
* web-platform-tests/custom-elements/htmlconstructor/newtarget.html:
* web-platform-tests/custom-elements/reactions/DOMStringMap-expected.txt: Added.
* web-platform-tests/custom-elements/reactions/DOMStringMap.html: Added.
* web-platform-tests/custom-elements/reactions/Document-expected.txt:
* web-platform-tests/custom-elements/reactions/Document.html:
* web-platform-tests/custom-elements/reactions/Element-expected.txt:
* web-platform-tests/custom-elements/reactions/Element.html:
* web-platform-tests/custom-elements/reactions/ElementContentEditable-expected.txt: Added.
* web-platform-tests/custom-elements/reactions/ElementContentEditable.html: Added.
* web-platform-tests/custom-elements/reactions/HTMLElement-expected.txt: Added.
* web-platform-tests/custom-elements/reactions/HTMLElement.html: Added.
* web-platform-tests/custom-elements/reactions/NamedNodeMap-expected.txt:
* web-platform-tests/custom-elements/reactions/NamedNodeMap.html:
* web-platform-tests/custom-elements/reactions/Range-expected.txt:
* web-platform-tests/custom-elements/reactions/Range.html:
* web-platform-tests/custom-elements/reactions/Selection-expected.txt: Added.
* web-platform-tests/custom-elements/reactions/Selection.html: Added.
* web-platform-tests/custom-elements/reactions/resources/reactions.js:
* web-platform-tests/custom-elements/reactions/w3c-import.log:
* web-platform-tests/custom-elements/resources/custom-elements-helpers.js:

LayoutTests:

Removed the test re-imported via web-platform-tests in r206838.

* fast/custom-elements/lifecycle-callback-timing-expected.txt: Removed.
* fast/custom-elements/lifecycle-callback-timing.html: Removed.

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

2 years ago[Web IDL] Drop webkit-specific extended attributes that are no longer useful
cdumez@apple.com [Wed, 19 Oct 2016 04:46:39 +0000 (04:46 +0000)]
[Web IDL] Drop webkit-specific extended attributes that are no longer useful
https://bugs.webkit.org/show_bug.cgi?id=163643

Reviewed by Ryosuke Niwa.

Source/WebCore:

Drop webkit-specific IDL extended attributes that are no longer useful:
- [CustomReturn]: I believe this used to be for ObjC bindings. It has
  no impact in JS bindings.
- [Deletable]: It only had an impact on static attributes and was only
  used on HTMLAllCollection.all, which is not static. I updated the
  bindings generator to so that static attributes are now configurable
  by default (unless marked as [Unforgeable], as per Web IDL [1]. This
  causes Notification.permission (This only static attribute we have)
  to become deletable. This behavior is consistent with the specification
  and with Chrome. I added test coverage for this.
- [ImplementationNamespace]: Implemented but unused.
- [PassContext]: Not implemented and unused.
- [TypedArray=*]: Not implemented and unused.

[1] https://heycam.github.io/webidl/#es-attributes

Test: fast/notifications/notification-permisssion-deletable.html

* bindings/scripts/CodeGeneratorJS.pm:
(GetNamespaceForInterface):
(GenerateImplementation):
* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/test/JS/JSTestInterface.cpp:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
* dom/Node.idl:
* html/HTMLDocument.idl:

LayoutTests:

Add layout test to check that Notification.permission is now deletable.

* fast/notifications/notification-permisssion-deletable-expected.txt: Added.
* fast/notifications/notification-permisssion-deletable.html: Added.

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

2 years agoInvoking Object.prototype.__proto__ accessors directly should throw a TypeError.
mark.lam@apple.com [Wed, 19 Oct 2016 03:52:29 +0000 (03:52 +0000)]
Invoking Object.prototype.__proto__ accessors directly should throw a TypeError.
https://bugs.webkit.org/show_bug.cgi?id=154377
<rdar://problem/27330808>

Reviewed by Filip Pizlo and Saam Barati.

JSTests:

* stress/object-prototype-proto-accessors-should-throw-on-undefined-this.js: Added.

Source/JavaScriptCore:

In a scenario where we cache the __proto__ accessors in global variables, and
later explicitly invoke those accessors as functions, the spec for Function Calls
(see https://tc39.github.io/ecma262/#sec-function-calls) states that the function
ref value is of type Reference, and base of ref is an Environment Record.  Then,
it follows that the thisValue should be set to refEnv.WithBaseObject()
(see section 4.b.ii of 12.3.4.1 at
https://tc39.github.io/ecma262/#sec-function-calls-runtime-semantics-evaluation).

refEnv in this case is the environment record that the cached accessors were
found in i.e. the global object.  The WithBaseObject() of the global object is
undefined (see details about WithBaseObject at
https://tc39.github.io/ecma262/#sec-environment-records).

Hence, the __proto__ accessors should see a thisValue of undefined, and throw
TypeErrors.  See https://tc39.github.io/ecma262/#sec-get-object.prototype.__proto__,
https://tc39.github.io/ecma262/#sec-set-object.prototype.__proto__,
https://tc39.github.io/ecma262/#sec-toobject, and
https://tc39.github.io/ecma262/#sec-requireobjectcoercible.

In JSC's implementation, the callee needs to do a ToThis operation on the
incoming "this" argument in order to get the specified thisValue.  The
implementations of the __proto__ accessors were not doing this correctly.  This
has now been fixed.

* runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncProtoGetter):
(JSC::globalFuncProtoSetter):

LayoutTests:

* http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto-expected.txt:
* http/tests/security/xss-DENIED-method-with-iframe-proto-expected.txt:
* http/tests/security/xss-DENIED-non-shadowable-propterty-with-iframe-proto-expected.txt:
* http/tests/security/xss-DENIED-regular-propterty-with-iframe-proto-expected.txt:
* http/tests/security/xss-DENIED-regular-propterty-with-iframe-proto.html:
* js/dom/activation-proto-expected.txt:
* js/dom/script-tests/activation-proto.js:
* js/object-literal-shorthand-construction-expected.txt:
* js/script-tests/object-literal-shorthand-construction.js:
* js/script-tests/sloppy-getter-setter-global-object.js:
* js/sloppy-getter-setter-global-object-expected.txt:

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

2 years agoReplace std::experimental::variant with WTF::Variant (or similar)
commit-queue@webkit.org [Wed, 19 Oct 2016 02:43:44 +0000 (02:43 +0000)]
Replace std::experimental::variant with WTF::Variant (or similar)
https://bugs.webkit.org/show_bug.cgi?id=163626

Patch by Sam Weinig <sam@webkit.org> on 2016-10-18
Reviewed by Chris Dumez.

Rename std::experimental::variant, Variant. Move helpers get/holds_alternative/etc.
into the WTF namespace.

Source/JavaScriptCore:

* domjit/DOMJITReg.h:
(JSC::DOMJIT::Reg::gpr):
(JSC::DOMJIT::Reg::fpr):
(JSC::DOMJIT::Reg::jsValueRegs):

Source/WebCore:

* Modules/fetch/FetchBody.h:
(WebCore::FetchBody::isBlob):
(WebCore::FetchBody::isFormData):
(WebCore::FetchBody::isArrayBuffer):
(WebCore::FetchBody::isArrayBufferView):
(WebCore::FetchBody::isURLSearchParams):
(WebCore::FetchBody::isText):
(WebCore::FetchBody::blobBody):
(WebCore::FetchBody::formDataBody):
(WebCore::FetchBody::arrayBufferBody):
(WebCore::FetchBody::arrayBufferViewBody):
(WebCore::FetchBody::textBody):
(WebCore::FetchBody::urlSearchParamsBody):
* bindings/generic/IDLTypes.h:
* dom/ExceptionOr.h:
(WebCore::ExceptionOr<ReturnType>::hasException):
(WebCore::ExceptionOr<ReturnType>::releaseException):
(WebCore::ExceptionOr<ReturnType>::releaseReturnValue):
* dom/MessageEvent.cpp:
(WebCore::MessageEvent::source):
* dom/MessageEvent.h:
* dom/Node.cpp:
(WebCore::nodeSetPreTransformedFromNodeOrStringVector):
(WebCore::Node::convertNodesOrStringsIntoNode):
* dom/Node.h:
* html/HTMLOptionsCollection.h:
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::add):
* html/HTMLSelectElement.h:
* html/track/TrackEvent.cpp:
(WebCore::TrackEvent::TrackEvent):
* html/track/TrackEvent.h:

Source/WebKit/mac:

* DOM/DOMHTMLSelectElement.mm:
(-[DOMHTMLSelectElement add:before:]):

Source/WTF:

* wtf/Forward.h:
* wtf/Variant.h:

Tools:

* TestWebKitAPI/Tests/WTF/Variant.cpp:
(TestWebKitAPI::TEST):

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

2 years agoUnreviewed, rebaseline bindings tests after Sam's r207505.
cdumez@apple.com [Wed, 19 Oct 2016 02:33:49 +0000 (02:33 +0000)]
Unreviewed, rebaseline bindings tests after Sam's r207505.

* bindings/scripts/test/JS/JSTestCallback.cpp:
(WebCore::JSTestCallback::callbackWithSerializedScriptValueParam):
* bindings/scripts/test/JS/JSTestCallbackFunction.cpp:
(WebCore::JSTestCallbackFunction::callbackWithSerializedScriptValueParam):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionSerializedValueCaller):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::jsTestSerializedScriptValueInterfaceValueGetter):
(WebCore::jsTestSerializedScriptValueInterfaceReadonlyValueGetter):
(WebCore::jsTestSerializedScriptValueInterfaceCachedValueGetter):
(WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValueGetter):
(WebCore::setJSTestSerializedScriptValueInterfaceValueFunction):
(WebCore::setJSTestSerializedScriptValueInterfaceCachedValueFunction):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::jsTestTypedefsImmutableSerializedScriptValueGetter):
(WebCore::setJSTestTypedefsImmutableSerializedScriptValueFunction):

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

2 years ago[Web IDL] Kill support for [LegacyConstructorTemplate=Event] / [LegacyInitializedByEv...
cdumez@apple.com [Wed, 19 Oct 2016 02:26:50 +0000 (02:26 +0000)]
[Web IDL] Kill support for [LegacyConstructorTemplate=Event] / [LegacyInitializedByEventConstructor]
https://bugs.webkit.org/show_bug.cgi?id=163630

Reviewed by Darin Adler.

Source/WebCore:

Kill support for [LegacyConstructorTemplate=Event] / [LegacyInitializedByEventConstructor] in our
IDL now that all our events use proper constructors instead.

* bindings/scripts/CodeGenerator.pm:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateConstructorDefinition):
(GenerateConstructorHelperMethods):
(IsConstructable):
* bindings/scripts/IDLAttributes.txt:
* dom/Event.h:
(WebCore::Event::create):
* dom/Event.idl:
* dom/UIEvent.h:
(WebCore::UIEvent::create):
* dom/UIEvent.idl:

LayoutTests:

Update / rebaseline existing tests to reflect minor behavior changes.

* fast/events/constructors/event-constructors-expected.txt:
* fast/events/constructors/event-constructors.html:
* fast/events/constructors/ui-event-constructor-expected.txt:

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

2 years agoChanging details.open should cause a toggle event to be fired asynchronously
cdumez@apple.com [Wed, 19 Oct 2016 02:03:07 +0000 (02:03 +0000)]
Changing details.open should cause a toggle event to be fired asynchronously
https://bugs.webkit.org/show_bug.cgi?id=163568

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

* web-platform-tests/html/dom/interfaces-expected.txt:
Rebaseline W3C test now that more checks are passing.

* web-platform-tests/html/semantics/interactive-elements/the-details-element/toggleEvent-expected.txt: Added.
* web-platform-tests/html/semantics/interactive-elements/the-details-element/toggleEvent.html: Added.
* web-platform-tests/html/semantics/interactive-elements/the-details-element/w3c-import.log:
Import test coverage for the toggle event.

Source/WebCore:

Changing details.open should cause a toggle event to be fired asynchronously:
- https://html.spec.whatwg.org/#details-notification-task-steps

Firefox and Chrome implement this, we don't.

Test: imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-details-element/toggleEvent.html

* dom/EventNames.h:
* dom/GlobalEventHandlers.idl:
* html/HTMLAttributeNames.in:
* html/HTMLDetailsElement.cpp:
(WebCore::detailToggleEventSender):
(WebCore::HTMLDetailsElement::~HTMLDetailsElement):
(WebCore::HTMLDetailsElement::dispatchPendingEvent):
(WebCore::HTMLDetailsElement::parseAttribute):
* html/HTMLDetailsElement.h:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::createEventHandlerNameMap):

LayoutTests:

Rebaseline existing test now that a new ontoggle attribute is exposed.

* js/dom/dom-static-property-for-in-iteration-expected.txt:

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

2 years ago[CSS Parser] Enable basic parser testing.
hyatt@apple.com [Wed, 19 Oct 2016 01:06:45 +0000 (01:06 +0000)]
[CSS Parser] Enable basic parser testing.
https://bugs.webkit.org/show_bug.cgi?id=163639

Reviewed by Dean Jackson.

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::matchRecursively):
Remove the ASSERT_NOT_REACHED on the new shadow selectors. We need to implement this
eventually, but it's better to not assert on that for now.

* css/parser/CSSParserValues.cpp:
(WebCore::CSSParserSelector::isHostPseudoSelector):
Make sure to check that we're a pseudoclass selector first, since otherwise we'll assert.

* css/parser/CSSParserValues.h:
(WebCore::CSSParserSelector::needsImplicitShadowCombinatorForMatching):
Make sure to check that we're a pseudoelement selector first, since otherwise we'll assert.

* css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::addExpandedPropertyForValue):
copyRef is needed here, since a singleton value is being propagated to all the expanded shorthand properties.

(WebCore::parseSingleShadow):
(WebCore::CSSPropertyParser::consumeFont):
Remove the font properties that aren't part of our shorthand. We will need to revisit this eventually as it seems
some of the font properties should be reset as part of this shorthand but aren't.

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

2 years agoAdd a MiniBrowser menu item to apply page scale in WK1 and WK2
simon.fraser@apple.com [Wed, 19 Oct 2016 01:03:23 +0000 (01:03 +0000)]
Add a MiniBrowser menu item to apply page scale in WK1 and WK2
https://bugs.webkit.org/show_bug.cgi?id=163627

Reviewed by Dean Jackson.

Source/WebKit/mac:

Add an explanatory comment about viewScaleFactor not really being viewScaleFactor.

* WebView/WebViewPrivate.h:

Source/WebKit2:

New SPI to set and retrieve page scale.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setPageScale:withOrigin:]):
(-[WKWebView _pageScale]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:

Tools:

Rename setScale: to setViewScale: and add setPageScale:, hooking it up for WK1 (via exisiting SPI)
and WK2 (via new SPI).

* MiniBrowser/mac/BrowserWindowController.h:
* MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController pageScaleForMenuItemTag:]):
(-[BrowserWindowController setPageScale:]):
(-[BrowserWindowController setViewScale:]):
(-[BrowserWindowController setScale:]): Deleted.
* MiniBrowser/mac/MainMenu.xib:
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController setPageScale:]):
(-[WK1BrowserWindowController setViewScale:]):
(areEssentiallyEqual):
(-[WK1BrowserWindowController validateMenuItem:]):
(-[WK1BrowserWindowController setScale:]): Deleted.
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController setPageScale:]):
(-[WK2BrowserWindowController viewScaleForMenuItemTag:]):
(-[WK2BrowserWindowController setViewScale:]):
(areEssentiallyEqual):
(-[WK2BrowserWindowController validateMenuItem:]):
(viewScaleForMenuItemTag): Deleted.
(-[WK2BrowserWindowController setScale:]): Deleted.

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

2 years agoUpdate the comment for HTML Imports as there is now a proposal to use ES6 Modules...
rniwa@webkit.org [Wed, 19 Oct 2016 00:51:13 +0000 (00:51 +0000)]
Update the comment for HTML Imports as there is now a proposal to use ES6 Modules for this.
Also replace the contact by me since I'm most familiar with this feature.

* features.json:

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

2 years agoUpdate the status of shadow DOM API to "Done" with a comment saying we're still fixin...
rniwa@webkit.org [Wed, 19 Oct 2016 00:39:53 +0000 (00:39 +0000)]
Update the status of shadow DOM API to "Done" with a comment saying we're still fixing bugs.

Also update my contact information since I'm no longer on Twitter.

* features.json:

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

2 years agoProvide better form validation messages
cdumez@apple.com [Wed, 19 Oct 2016 00:27:59 +0000 (00:27 +0000)]
Provide better form validation messages
https://bugs.webkit.org/show_bug.cgi?id=163584

Reviewed by Darin Adler.

Source/WebCore:

Provide better form validation messages that match more closely the ones
from Chrome and Firefox.

No new tests, updated existing tests.

* English.lproj/Localizable.strings:
* platform/LocalizedStrings.cpp:
(WebCore::validationMessageValueMissingText):
(WebCore::validationMessageValueMissingForCheckboxText):
(WebCore::validationMessageValueMissingForFileText):
(WebCore::validationMessageValueMissingForMultipleFileText):
(WebCore::validationMessageValueMissingForRadioText):
(WebCore::validationMessageValueMissingForSelectText):
(WebCore::validationMessageTypeMismatchText):
(WebCore::validationMessageTypeMismatchForEmailText):
(WebCore::validationMessageTypeMismatchForMultipleEmailText):
(WebCore::validationMessageTypeMismatchForURLText):
(WebCore::validationMessagePatternMismatchText):
(WebCore::validationMessageTooShortText):
(WebCore::validationMessageTooLongText):
(WebCore::validationMessageRangeUnderflowText):
(WebCore::validationMessageRangeOverflowText):
(WebCore::validationMessageStepMismatchText):
(WebCore::validationMessageBadInputForNumberText):

LayoutTests:

Update existing tests now that form validation messages differ.

* fast/forms/number/number-validation-message-expected.txt:
* fast/forms/number/number-validation-message.html:
* fast/forms/validationMessage-expected.txt:
* platform/mac/fast/forms/validation-message-appearance-expected.txt:

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

2 years agoAdd an beforeunload alert to the WebKitLegacy MiniBrowser
andersca@apple.com [Wed, 19 Oct 2016 00:21:50 +0000 (00:21 +0000)]
Add an beforeunload alert to the WebKitLegacy MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=163634

Reviewed by Sam Weinig.

* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController webView:runBeforeUnloadConfirmPanelWithMessage:initiatedByFrame:]):

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

2 years agoFix GTK build.
hyatt@apple.com [Wed, 19 Oct 2016 00:20:53 +0000 (00:20 +0000)]
Fix GTK build.

* css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::parseSingleValue):

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

2 years agoMarking http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic...
ryanhaddad@apple.com [Wed, 19 Oct 2016 00:12:13 +0000 (00:12 +0000)]
Marking http/tests/security/contentSecurityPolicy/upgrade-insecure-requests/basic-upgrade-cors.https.html as flaky on Sierra.
https://bugs.webkit.org/show_bug.cgi?id=163453

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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