WebKit-https.git
3 years agoAdd support for HTMLIframeElement.allowFullscreen attribute
cdumez@apple.com [Fri, 9 Sep 2016 01:53:51 +0000 (01:53 +0000)]
Add support for HTMLIframeElement.allowFullscreen attribute
https://bugs.webkit.org/show_bug.cgi?id=161757

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Rebaseline W3C test now that more checks are passing.

* web-platform-tests/html/dom/reflection-embedded-expected.txt:

Source/WebCore:

Add support for HTMLIframeElement.allowFullscreen attribute:
- https://html.spec.whatwg.org/#dom-iframe-allowfullscreen

Firefox and Chrome already support it, unprefixed.

Note that the HTMLIframeElement.allowFullscreen attribute reflects the
allowfullscreen content attribute which we already support.

Test: fullscreen/full-screen-iframe-allowFullscreen.html

* html/HTMLIFrameElement.idl:

LayoutTests:

Add layout test coverage.

* fullscreen/full-screen-iframe-allowFullscreen-expected.txt: Added.
* fullscreen/full-screen-iframe-allowFullscreen.html: Added.

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

3 years agoframe.longDesc / iframe.longDesc should reflect as a URL
cdumez@apple.com [Fri, 9 Sep 2016 01:43:25 +0000 (01:43 +0000)]
frame.longDesc / iframe.longDesc should reflect as a URL
https://bugs.webkit.org/show_bug.cgi?id=161764

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Rebaseline several W3C tests now that more checks are passing.

* web-platform-tests/html/dom/reflection-embedded-expected.txt:
* web-platform-tests/html/dom/reflection-obsolete-expected.txt:

Source/WebCore:

frame.longDesc / iframe.longDesc should reflect as a URL:
- https://html.spec.whatwg.org/#dom-iframe-longdesc
- https://html.spec.whatwg.org/#dom-frame-longdesc

They already do in Chrome and Firefox.

No new tests, rebaselined existing tests.

* html/HTMLFrameElement.idl:
* html/HTMLIFrameElement.idl:

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

3 years agoURLParser: Handle \ in paths of special URLs according to spec
achristensen@apple.com [Fri, 9 Sep 2016 01:32:18 +0000 (01:32 +0000)]
URLParser: Handle \ in paths of special URLs according to spec
https://bugs.webkit.org/show_bug.cgi?id=161781

Reviewed by Tim Horton.

Source/WebCore:

Covered by new API tests.

* platform/URLParser.cpp:
(WebCore::bufferView):
(WebCore::URLParser::copyURLPartsUntil):
(WebCore::URLParser::parse):
* platform/URLParser.h:

Tools:

* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):

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

3 years agoHeap::isMarked() shouldn't pay the price of concurrent lazy flipping
fpizlo@apple.com [Fri, 9 Sep 2016 01:22:05 +0000 (01:22 +0000)]
Heap::isMarked() shouldn't pay the price of concurrent lazy flipping
https://bugs.webkit.org/show_bug.cgi?id=161760

Reviewed by Mark Lam.
Source/JavaScriptCore:

To fix a race condition in marking, I made Heap::isMarked() and Heap::isLive() atomic by
using flipIfNecessaryConcurrently() instead of flipIfNecessary().

This introduces three unnecessary overheads:

- isLive() is not called by marking, so that change was not necessary.

- isMarked() gets calls many times outside of marking, so it shouldn't always do the
  concurrent thing. This adds isMarkedConcurrently() for use in marking, and reverts
  isMarked().

- isMarked() and isMarkedConcurrently() don't actually have to do the lazy flip. They can
  return false if the flip is necessary.

I added a bunch of debug assertions to make sure that isLive() and isMarked() are not called
during marking.

If we needed to, we could remove most of the calls to isMarkedConcurrently(). As a kind of
optimization, CodeBlock does an initial fixpoint iteration during marking, and so all of the
code called from CodeBlock's fixpoint iterator needs to use isMarkedConcurrently(). But we
could probably arrange for CodeBlock only do fixpoint iterating during the weak reference
thing.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::visitWeakly):
(JSC::CodeBlock::shouldJettisonDueToOldAge):
(JSC::shouldMarkTransition):
(JSC::CodeBlock::propagateTransitions):
(JSC::CodeBlock::determineLiveness):
* bytecode/PolymorphicAccess.cpp:
(JSC::AccessCase::propagateTransitions):
* heap/Heap.h:
* heap/HeapInlines.h:
(JSC::Heap::isLive):
(JSC::Heap::isMarked):
(JSC::Heap::isMarkedConcurrently):
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::flipIfNecessarySlow):
(JSC::MarkedBlock::flipIfNecessaryConcurrentlySlow):
(JSC::MarkedBlock::needsFlip):
* heap/MarkedBlock.h:
(JSC::MarkedBlock::needsFlip):
(JSC::MarkedBlock::flipIfNecessary):
(JSC::MarkedBlock::flipIfNecessaryConcurrently):
* heap/SlotVisitor.cpp:
(JSC::SlotVisitor::appendToMarkStack):
(JSC::SlotVisitor::markAuxiliary):
(JSC::SlotVisitor::visitChildren):
* runtime/Structure.cpp:
(JSC::Structure::isCheapDuringGC):
(JSC::Structure::markIfCheap):

Source/WTF:

* wtf/MainThread.cpp:
(WTF::isMainThreadOrGCThread):
(WTF::mayBeGCThread):
* wtf/MainThread.h:

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

3 years agoMove the BitmapImage platform dependent code to a new file named NativeImage[CG|Cairo...
commit-queue@webkit.org [Fri, 9 Sep 2016 01:06:47 +0000 (01:06 +0000)]
Move the BitmapImage platform dependent code to a new file named NativeImage[CG|Cairo].cpp
https://bugs.webkit.org/show_bug.cgi?id=158684

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-09-08
Reviewed by Simon Fraser.

Source/WebCore:

This is a refactoring patch. It moves the BitmapImage platform dependent
code from BitmapImage to NativeImage[CG|Cairo].cpp. The new APIs are
responsible of drawing a NativeImagePtr and answering some metadata queries.

No new tests -- Code refactoring, no behavior change.

* PlatformAppleWin.cmake:
* PlatformEfl.cmake:
* PlatformGTK.cmake:
* PlatformMac.cmake:
* PlatformWinCairo.cmake:
* WebCore.xcodeproj/project.pbxproj:
* loader/cache/MemoryCache.h:
* loader/icon/IconDatabaseBase.h:
* page/mac/TextIndicatorWindow.mm:
(-[WebTextIndicatorView initWithFrame:textIndicator:margin:offset:]):
(createContentCrossfadeAnimation):
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::BitmapImage):
(WebCore::BitmapImage::destroyDecodedData):
(WebCore::BitmapImage::destroyDecodedDataIfNecessary):
(WebCore::BitmapImage::dataChanged):
(WebCore::BitmapImage::ensureFrameAtIndexIsCached):
(WebCore::BitmapImage::frameImageAtIndex):
(WebCore::BitmapImage::nativeImage):
(WebCore::BitmapImage::nativeImageForCurrentFrame):
(WebCore::BitmapImage::nativeImageOfSize):
(WebCore::BitmapImage::framesNativeImages):
(WebCore::BitmapImage::frameIsCompleteAtIndex):
(WebCore::BitmapImage::frameDurationAtIndex):
(WebCore::BitmapImage::frameHasAlphaAtIndex):
(WebCore::BitmapImage::frameOrientationAtIndex):
(WebCore::BitmapImage::singlePixelSolidColor):
(WebCore::BitmapImage::draw):
(WebCore::BitmapImage::drawPattern):
(WebCore::BitmapImage::canAnimate):
(WebCore::BitmapImage::clearTimer):
(WebCore::BitmapImage::startTimer):
(WebCore::BitmapImage::stopAnimation):
(WebCore::BitmapImage::resetAnimation):
(WebCore::BitmapImage::hasSingleSecurityOrigin): Deleted.
(WebCore::BitmapImage::filenameExtension): Deleted.
(WebCore::BitmapImage::ensureFrameIsCached): Deleted.
* platform/graphics/BitmapImage.h:
(WebCore::FrameData::FrameData):
m_hasAlpha can be initialized with false because it is accessed only in
BitmapImage::frameHasAlphaAtIndex() and it is guarded by m_haveMetadata.
Both m_haveMetadata and m_hasAlpha are set in BitmapImage constructor
and in BitmapImage::cacheFrame().

(WebCore::FrameData::~FrameData):
(WebCore::FrameData::clear):
* platform/graphics/Icon.h:
* platform/graphics/Image.h:
(WebCore::Image::nativeImage):
(WebCore::Image::nativeImageOfSize):
(WebCore::Image::framesNativeImages):
(WebCore::Image::orientationForCurrentFrame): Deleted.
(WebCore::Image::getCGImageRef): Deleted.
(WebCore::Image::getFirstCGImageRefOfSize): Deleted.
(WebCore::Image::getCGImageArray): Deleted.
* platform/graphics/ImageSource.cpp:
(WebCore::ImageSource::calculateMaximumSubsamplingLevel):
(WebCore::ImageSource::size):
(WebCore::ImageSource::sizeRespectingOrientation):
* platform/graphics/ImageSource.h:
* platform/graphics/MediaPlayer.h:
* platform/graphics/NativeImage.h: Added.
* platform/graphics/NativeImagePtr.h: Removed.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updatePausedImage):
* platform/graphics/cairo/BitmapImageCairo.cpp: Removed.
* platform/graphics/cairo/NativeImageCairo.cpp: Added.
(WebCore::nativeImageSize):
(WebCore::nativeImageHasAlpha):
(WebCore::nativeImageSinglePixelSolidColor):
(WebCore::subsamplingScale):
(WebCore::drawNativeImage):
(WebCore::clearNativeImageSubImages):
* platform/graphics/cg/BitmapImageCG.cpp: Removed.
* platform/graphics/cg/ImageDecoderCG.cpp:
(WebCore::ImageDecoder::size):
* platform/graphics/cg/ImageDecoderCG.h:
* platform/graphics/cg/NativeImageCG.cpp: Added.
(WebCore::nativeImageSize):
(WebCore::nativeImageHasAlpha):
(WebCore::nativeImageSinglePixelSolidColor):
(WebCore::subsamplingScale):
(WebCore::drawNativeImage):
(WebCore::clearNativeImageSubImages):
* platform/graphics/cg/PatternCG.cpp:
(WebCore::Pattern::createPlatformPattern):
* platform/graphics/cocoa/TextTrackRepresentationCocoa.mm:
(TextTrackRepresentationCocoa::update):
* platform/graphics/mac/ImageMac.mm:
(WebCore::BitmapImage::getTIFFRepresentation):
* platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:
(WebCore::MockRealtimeVideoSourceMac::updatePlatformLayer):
(WebCore::MockRealtimeVideoSourceMac::updateSampleBuffer):
* platform/win/DragImageCGWin.cpp:
(WebCore::createDragImageFromImage):

Source/WebKit/mac:

* DOM/DOM.mm:
(-[DOMNode getPreviewSnapshotImage:andRects:]):
* Misc/WebCache.mm:
(+[WebCache imageForURL:]):
Replace BitmapImage::getCGImageRef() with BitmapImage::nativeImage().

Source/WebKit2:

* UIProcess/API/C/cg/WKIconDatabaseCG.cpp:
(WKIconDatabaseTryGetCGImageForURL):
(WKIconDatabaseTryCopyCGImageArrayForURL):
It was the only place in the code which uses BitmapImage::getCGImageArray().
Call BitmapImage::framesNativeImages() instead and form the returned
Vector<NativeImagePtr> build the CFArrayRef.

* UIProcess/WebIconDatabase.h:
Include "NativeImage.h" instead of "NativeImagePtr.h".

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _presentationSnapshotForPreviewItemController:]):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::isAlmostSolidColor):
Call BitmapImage::getCGImageRef() instead of calling BitmapImage::nativeImage().

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

3 years agoUpdate the content-animation.plan file to run css-accelerated-animation.html
simon.fraser@apple.com [Fri, 9 Sep 2016 00:55:43 +0000 (00:55 +0000)]
Update the content-animation.plan file to run css-accelerated-animation.html
and pull SVN revision r205680.

* Scripts/webkitpy/benchmark_runner/data/plans/content-animation.plan:

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

3 years agoAdd a content-animation test with accelerated CSS animations
simon.fraser@apple.com [Fri, 9 Sep 2016 00:51:06 +0000 (00:51 +0000)]
Add a content-animation test with accelerated CSS animations
https://bugs.webkit.org/show_bug.cgi?id=161776

Reviewed by Dean Jackson.

PerformanceTests:

Add a test that measures the frame rate of accelerated CSS animations.

This is like css-animation.html (which animates 'left' and 'top') but animates
transforms instead. In order to get animation in X and Y we make two nested elements
and set transformX() on one, and transformY() on the other.

* Animation/css-accelerated-animation.html: Added.

Tools:

* Scripts/webkitpy/benchmark_runner/data/patches/ContentAnimation.patch:

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

3 years agoURLParser: Parsing empty URLs with a base URL should return the base URL
achristensen@apple.com [Fri, 9 Sep 2016 00:46:17 +0000 (00:46 +0000)]
URLParser: Parsing empty URLs with a base URL should return the base URL
https://bugs.webkit.org/show_bug.cgi?id=161777

Reviewed by Tim Horton.

Source/WebCore:

Covered by an API test and progress towards passing all web platform tests when using URLParser.

* platform/URLParser.cpp:
(WebCore::URLParser::parse):

Tools:

* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):

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

3 years agoURLParser failures should preserve the original input string
achristensen@apple.com [Fri, 9 Sep 2016 00:43:50 +0000 (00:43 +0000)]
URLParser failures should preserve the original input string
https://bugs.webkit.org/show_bug.cgi?id=161769

Reviewed by Tim Horton.

Source/WebCore:

No new tests, but covered by updates to API tests.
This also represents many newly passing web platform tests when using URLParser.

* platform/URLParser.cpp:
(WebCore::URLParser::failure):
(WebCore::URLParser::parse):
* platform/URLParser.h:

Tools:

* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::shouldFail):

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

3 years agoURLParser should parse URLs with a user but no password
achristensen@apple.com [Fri, 9 Sep 2016 00:05:36 +0000 (00:05 +0000)]
URLParser should parse URLs with a user but no password
https://bugs.webkit.org/show_bug.cgi?id=161773

Reviewed by Brady Eidson.

Source/WebCore:

Covered by new API tests.

* platform/URLParser.cpp:
(WebCore::URLParser::parseAuthority):

Tools:

* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):

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

3 years agoWeb Inspector: TimelineDataGridNode should refresh when graph column is resized
mattbaker@apple.com [Thu, 8 Sep 2016 23:21:27 +0000 (23:21 +0000)]
Web Inspector: TimelineDataGridNode should refresh when graph column is resized
https://bugs.webkit.org/show_bug.cgi?id=161765
<rdar://problem/28215674>

Reviewed by Brian Burg.

* UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid.prototype.resizerDragging):
Call `DataGridNode.didResizeColumn` for all visible nodes in the columns
to the left and right of the column resizer.

* UserInterface/Views/DataGridNode.js:
(WebInspector.DataGridNode.prototype.didResizeColumn):
Add protected base class method for subclasses to override.

* UserInterface/Views/TimelineDataGridNode.js:
(WebInspector.TimelineDataGridNode.prototype.didResizeColumn):
Refresh the node's graph when the "graph" column is resized.
Renamed `left/rightCellIndex` -> `left/rightColumnIndex`.

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

3 years agoWe should inline operationConvertJSValueToBoolean into JIT code
sbarati@apple.com [Thu, 8 Sep 2016 23:19:38 +0000 (23:19 +0000)]
We should inline operationConvertJSValueToBoolean into JIT code
https://bugs.webkit.org/show_bug.cgi?id=161729

Reviewed by Filip Pizlo.

JSTests:

* stress/value-to-boolean.js: Added.
(assert):
(test1):
(test2):
(test3):

Source/JavaScriptCore:

This patch introduces an AssemblyHelpers emitter function
that replaces operationConvertJSValueToBoolean. This operation
was showing up when I was doing performance analysis for the
speedometer benchmark. I saw that it was spending about 1% of
its time in this function. Hopefully this patch can help us speedup
up speedometer by a little bit.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitBranch):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitBranch):
* jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::emitConvertValueToBoolean):
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::emitAllocateDestructibleObject): Deleted.
* jit/JIT.cpp:
(JSC::JIT::privateCompileSlowCases):
* jit/JIT.h:
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_jfalse):
(JSC::JIT::emit_op_jtrue):
(JSC::JIT::emitSlow_op_jfalse): Deleted.
(JSC::JIT::emitSlow_op_jtrue): Deleted.
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_jfalse):
(JSC::JIT::emit_op_jtrue):
(JSC::JIT::emitSlow_op_jfalse): Deleted.
(JSC::JIT::emitSlow_op_jtrue): Deleted.
* jit/JITOperations.cpp:
* jit/JITOperations.h:

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

3 years agoWeb Inspector: Add a button to navigation bar to toggle Control Flow Profiler
nvasilyev@apple.com [Thu, 8 Sep 2016 23:13:57 +0000 (23:13 +0000)]
Web Inspector: Add a button to navigation bar to toggle Control Flow Profiler
https://bugs.webkit.org/show_bug.cgi?id=160973
<rdar://problem/27912606>

Reviewed by Brian Burg.

* Localizations/en.lproj/localizedStrings.js:
Add "Fade unexecuted code" and "Do not fade unexecuted code".

* UserInterface/Base/Main.js:
(WebInspector.loaded):
Add a setting to remember whether Code Coverage Profiler is on or off between Web Inspector reloads.

* UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype.shown):
(WebInspector.SourceCodeTextEditor.prototype.canShowTypeAnnotations):
(WebInspector.SourceCodeTextEditor.prototype.canShowCoverageHints):
(WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
(WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
(WebInspector.SourceCodeTextEditor.prototype.toggleUnexecutedCodeHighlights):
(WebInspector.SourceCodeTextEditor.prototype.prettyPrint):
(WebInspector.SourceCodeTextEditor.prototype._proceedPopulateWithContent):
(WebInspector.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState):
(WebInspector.SourceCodeTextEditor.prototype.set _basicBlockAnnotatorEnabled):
(WebInspector.SourceCodeTextEditor.prototype._enableScrollEventsForTypeTokenAnnotator):
(WebInspector.SourceCodeTextEditor.prototype._enableScrollEventsForControlFlowAnnotator):
(WebInspector.SourceCodeTextEditor.prototype._disableScrollEventsForControlFlowAnnotator):
(WebInspector.SourceCodeTextEditor.prototype._createTypeTokenScrollEventHandler):
(WebInspector.SourceCodeTextEditor.prototype._createControlFlowScrollEventHandler):
(WebInspector.SourceCodeTextEditor.prototype.canBeFormatted): Deleted.
(WebInspector.SourceCodeTextEditor.prototype.dialogWasDismissed): Deleted.
(WebInspector.SourceCodeTextEditor.prototype.showPopoverForTypes): Deleted.
(WebInspector.SourceCodeTextEditor.prototype._addBreakpointWithEditorLineInfo): Deleted.
(WebInspector.SourceCodeTextEditor.prototype._removeBreakpointWithEditorLineInfo): Deleted.
(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedMarkedExpression): Deleted.
(WebInspector.SourceCodeTextEditor.prototype._dismissEditingController): Deleted.
(WebInspector.SourceCodeTextEditor.prototype.editingControllerDidStartEditing): Deleted.
(WebInspector.SourceCodeTextEditor.prototype.editingControllerDidFinishEditing): Deleted.
(WebInspector.SourceCodeTextEditor.prototype._getAssociatedScript): Deleted.
(WebInspector.SourceCodeTextEditor.prototype._createTypeTokenAnnotator): Deleted.
Make Code Coverage profiler independent from Type Profiler.

* UserInterface/Views/TextContentView.js:
(WebInspector.TextContentView):
(WebInspector.TextContentView.prototype.get navigationItems):
(WebInspector.TextContentView.prototype.get textEditor): Deleted.
* UserInterface/Views/TextEditor.js:
(WebInspector.TextEditor.prototype.get hasModified):
(WebInspector.TextEditor.prototype.canShowCoverageHints):
* UserInterface/Views/TextResourceContentView.js:
(WebInspector.TextResourceContentView):
(WebInspector.TextResourceContentView.prototype.get navigationItems):
(WebInspector.TextResourceContentView.prototype._contentDidPopulate):
(WebInspector.TextResourceContentView.prototype._toggleTypeAnnotations):
(WebInspector.TextResourceContentView.prototype._toggleUnexecutedCodeHighlights):
(WebInspector.TextResourceContentView.prototype._enableControlFlowProfilerSettingChanged):
(WebInspector.TextResourceContentView.prototype._contentWillPopulate): Deleted.
* UserInterface/Views/ScriptContentView.js:
(WebInspector.ScriptContentView):
(WebInspector.ScriptContentView.prototype.get navigationItems):
(WebInspector.ScriptContentView.prototype._contentDidPopulate):
(WebInspector.ScriptContentView.prototype._toggleTypeAnnotations):
(WebInspector.ScriptContentView.prototype._toggleUnexecutedCodeHighlights):
(WebInspector.ScriptContentView.prototype._enableControlFlowProfilerSettingChanged):
(WebInspector.ScriptContentView.prototype._contentWillPopulate): Deleted.
Add the [C] icon right next to the [T] (Type Profiler) icon.

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

3 years agoRemove pass expectation for fast/text/emoji-num-glyphs.html after r205657.
ryanhaddad@apple.com [Thu, 8 Sep 2016 23:07:44 +0000 (23:07 +0000)]
Remove pass expectation for fast/text/emoji-num-glyphs.html after r205657.

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

3 years ago[CMake] Build failure with GCC 6 (fatal error: stdlib.h: No such file or directory)
clopez@igalia.com [Thu, 8 Sep 2016 22:54:51 +0000 (22:54 +0000)]
[CMake] Build failure with GCC 6 (fatal error: stdlib.h: No such file or directory)
https://bugs.webkit.org/show_bug.cgi?id=161697

Reviewed by Michael Catanzaro.

Get the list of system includes from GCC and add it to the CMake
list of implicit includes. This way, CMake will filter any of this
directories from the list of includes when calling the compiler.

This avoids an issue with GCC 6 that causes build failures when
including the default include path as a system include (-isystem).

* Source/cmake/OptionsCommon.cmake:

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

3 years agoFix URLs after r205669.
achristensen@apple.com [Thu, 8 Sep 2016 22:33:36 +0000 (22:33 +0000)]
Fix URLs after r205669.
https://bugs.webkit.org/show_bug.cgi?id=161731

* platform/URLParser.cpp:
(WebCore::URLParser::enabled):
I accidentally committed enabling the URLParser by default.  Not ready yet.

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

3 years agoAlign proto getter / setter behavior with other browsers
cdumez@apple.com [Thu, 8 Sep 2016 22:30:26 +0000 (22:30 +0000)]
Align proto getter / setter behavior with other browsers
https://bugs.webkit.org/show_bug.cgi?id=161455

Reviewed by Saam Barati.

Source/JavaScriptCore:

Drop allowsAccessFrom from the methodTable and delegate cross-origin
checking to the DOM bindings for [[SetPrototypeOf]] / [[GetPrototypeOf]].
This is more consistent with other operations (e.g. [[GetOwnProperty]]).

* jsc.cpp:
* runtime/JSGlobalObject.cpp:
* runtime/JSGlobalObject.h:
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncProtoGetter):
(JSC::globalFuncProtoSetter):
(JSC::globalFuncBuiltinLog): Deleted.
* runtime/JSGlobalObjectFunctions.h:
* runtime/JSObject.cpp:
(JSC::JSObject::setPrototypeWithCycleCheck):
Remove check added in r197648. This check was added to match
the latest EcmaScript spec:
- https://tc39.github.io/ecma262/#sec-ordinarysetprototypeof (step 8)
This check allowed for [[Prototype]] chain cycles if the prototype
chain includes objects that do not use the ordinary object definitions
for [[GetPrototypeOf]] and [[SetPrototypeOf]].
The issue is that the rest of our code base does not properly handle
such cycles and we can end up in infinite loops. This became obvious
because this patch updates Window / Location so that they no longer
use the default [[GetPrototypeOf]] / [[SetPrototypeOf]]. If I do not
remove this check, I get an infinite loop in
Structure::anyObjectInChainMayInterceptIndexedAccesses(), which is
called from JSObject::setPrototypeDirect(), when running the following
layout test:
- html/browsers/history/the-location-interface/allow_prototype_cycle_through_location.sub.html
I filed https://bugs.webkit.org/show_bug.cgi?id=161534 to track this
issue.

* runtime/JSObject.h:
(JSC::JSObject::getArrayLength): Deleted.
* runtime/JSProxy.cpp:
(JSC::JSProxy::setPrototype):
(JSC::JSProxy::getPrototype):
* runtime/JSProxy.h:
* runtime/ObjectConstructor.cpp:
(JSC::objectConstructorGetPrototypeOf):
(JSC::objectConstructorSetPrototypeOf):
(JSC::objectConstructorGetOwnPropertyDescriptor): Deleted.
(JSC::objectConstructorGetOwnPropertyDescriptors): Deleted.
* runtime/ObjectConstructor.h:
* runtime/ReflectObject.cpp:
(JSC::reflectObjectGetPrototypeOf):
(JSC::reflectObjectSetPrototypeOf):

Source/WebCore:

Align cross-origin __proto__ getter / setter behavior with other
browsers and the specification:

[[SetPrototypeOf]] should throw a TypeError:
- https://html.spec.whatwg.org/#windowproxy-setprototypeof
- https://html.spec.whatwg.org/#location-setprototypeof
- https://tc39.github.io/ecma262/#sec-object.setprototypeof (step 5)

[[GetPrototypeOf]] should return null cross-origin:
- https://html.spec.whatwg.org/#windowproxy-getprototypeof
- https://html.spec.whatwg.org/#location-getprototypeof

Test: js/dom/setPrototypeOf-location-window.html

* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::JSDOMWindowBase): Deleted.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setPrototype):
(WebCore::JSDOMWindow::getPrototype):
(WebCore::JSDOMWindow::preventExtensions):
* bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::setPrototype):
(WebCore::JSLocation::getPrototype):
* bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::JSWorkerGlobalScopeBase::supportsRichSourceInfo): Deleted.
* bindings/js/JSWorkerGlobalScopeBase.h:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
* bindings/scripts/IDLAttributes.txt:
* page/DOMWindow.idl:
* page/Location.idl:

LayoutTests:

Add layout test coverage and update a few existing test to reflect
behavior change.

* fast/dom/Window/script-tests/window-custom-prototype.js: Removed.
* fast/dom/Window/window-custom-prototype-crash-expected.txt:
* fast/dom/Window/window-custom-prototype-expected.txt: Removed.
* fast/dom/Window/window-custom-prototype.html: Removed.
* http/tests/security/cross-frame-access-object-getPrototypeOf-expected.txt:
* http/tests/security/cross-frame-access-object-getPrototypeOf.html:
* http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt:
* http/tests/security/cross-frame-access-object-setPrototypeOf.html:
* http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto-expected.txt:
* http/tests/security/xss-DENIED-htmlelelment-with-iframe-proto.html:
* http/tests/security/xss-DENIED-method-with-iframe-proto-expected.txt:
* http/tests/security/xss-DENIED-method-with-iframe-proto.html:
* http/tests/security/xss-DENIED-non-shadowable-propterty-with-iframe-proto-expected.txt:
* http/tests/security/xss-DENIED-non-shadowable-propterty-with-iframe-proto.html:
* 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/setPrototypeOf-location-window-expected.txt: Added.
* js/dom/setPrototypeOf-location-window.html: Added.

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

3 years agoURLParser should parse ports after IPv4 and IPv6 hosts
achristensen@apple.com [Thu, 8 Sep 2016 22:28:48 +0000 (22:28 +0000)]
URLParser should parse ports after IPv4 and IPv6 hosts
https://bugs.webkit.org/show_bug.cgi?id=161731

Reviewed by Brady Eidson.

Source/WebCore:

Covered by new API tests.

* platform/URLParser.cpp:
(WebCore::URLParser::parsePort):
(WebCore::URLParser::parseHost):

Tools:

* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):

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

3 years agoURLParser should correctly handle \ in path
achristensen@apple.com [Thu, 8 Sep 2016 22:16:49 +0000 (22:16 +0000)]
URLParser should correctly handle \ in path
https://bugs.webkit.org/show_bug.cgi?id=161762

Reviewed by Brady Eidson.

Source/WebCore:

Covered by new API tests.

* platform/URLParser.cpp:
(WebCore::isSpecialScheme):
(WebCore::bufferView):
(WebCore::URLParser::parse):
Treat \ as / in the path of special URLs as described in the spec and tested in web platform tests.
Also a slight performance improvement using StringViews instead of copied Strings.

Tools:

* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):

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

3 years agoURLParser should handle URLs with empty authority
achristensen@apple.com [Thu, 8 Sep 2016 22:15:07 +0000 (22:15 +0000)]
URLParser should handle URLs with empty authority
https://bugs.webkit.org/show_bug.cgi?id=161711

Reviewed by Brady Eidson.

Source/WebCore:

Covered by new API tests.

* platform/URLParser.cpp:
(WebCore::URLParser::parse):
(WebCore::URLParser::parseAuthority):

Tools:

* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):

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

3 years agoRemove CopiedSpace and use MarkedSpace instead
fpizlo@apple.com [Thu, 8 Sep 2016 22:12:05 +0000 (22:12 +0000)]
Remove CopiedSpace and use MarkedSpace instead
https://bugs.webkit.org/show_bug.cgi?id=159658

Reviewed by Keith Miller.

This removes the final client of CopiedSpace, the overrides array of DirectArguments. That
is a simple change.

Then this stubs out some remaining internal debugging code that referenced CopiedSpace in
JSDollarVM and HeapVerifier. I filed FIXMEs to restore that debugging functionality.

The rest of this patch is deleting CopiedSpace.

* API/JSObjectRef.cpp:
* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGOperations.cpp:
* heap/ConservativeRoots.cpp:
(JSC::ConservativeRoots::genericAddPointer):
* heap/CopiedAllocator.h: Removed.
* heap/CopiedBlock.cpp: Removed.
* heap/CopiedBlock.h: Removed.
* heap/CopiedBlockInlines.h: Removed.
* heap/CopiedSpace.cpp: Removed.
* heap/CopiedSpace.h: Removed.
* heap/CopiedSpaceInlines.h: Removed.
* heap/CopyBarrier.h: Removed.
* heap/CopyToken.h: Removed.
* heap/CopyVisitor.cpp: Removed.
* heap/CopyVisitor.h: Removed.
* heap/CopyVisitorInlines.h: Removed.
* heap/CopyWorkList.h: Removed.
* heap/Heap.cpp:
(JSC::Heap::Heap):
(JSC::Heap::isPagedOut):
(JSC::Heap::updateObjectCounts):
(JSC::Heap::size):
(JSC::Heap::capacity):
(JSC::Heap::collectImpl):
(JSC::Heap::stopAllocation):
(JSC::Heap::updateAllocationLimits):
(JSC::Heap::copyBackingStores): Deleted.
(JSC::Heap::threadBytesCopied): Deleted.
* heap/Heap.h:
(JSC::Heap::objectSpace):
(JSC::Heap::allocatorForAuxiliaryData):
(JSC::Heap::storageSpace): Deleted.
(JSC::Heap::storageAllocator): Deleted.
* heap/HeapCellInlines.h:
* heap/HeapInlines.h:
(JSC::Heap::tryAllocateStorage): Deleted.
(JSC::Heap::tryReallocateStorage): Deleted.
* heap/HeapVerifier.cpp:
(JSC::HeapVerifier::verifyButterflyIsInStorageSpace):
(JSC::HeapVerifier::reportObject):
(JSC::getButterflyDetails): Deleted.
* heap/SlotVisitor.cpp:
(JSC::SlotVisitor::copyLater): Deleted.
* heap/SlotVisitor.h:
* jit/AssemblyHelpers.h:
* jit/JITOpcodes.cpp:
* jsc.cpp:
* runtime/ArrayConstructor.cpp:
* runtime/ArrayPrototype.cpp:
* runtime/Butterfly.h:
* runtime/ButterflyInlines.h:
(JSC::Butterfly::createUninitializedDuringCollection): Deleted.
* runtime/ClassInfo.h:
* runtime/DirectArguments.cpp:
(JSC::DirectArguments::visitChildren):
(JSC::DirectArguments::overrideThings):
(JSC::DirectArguments::copyBackingStore): Deleted.
* runtime/DirectArguments.h:
* runtime/JSArray.cpp:
* runtime/JSCell.cpp:
(JSC::JSCell::copyBackingStore): Deleted.
* runtime/JSCell.h:
* runtime/JSLexicalEnvironment.h:
* runtime/JSObject.cpp:
* runtime/JSTypedArrays.cpp:
* runtime/LiteralParser.cpp:
* runtime/ObjectConstructor.cpp:
* runtime/RegExpObject.cpp:
* runtime/StringPrototype.cpp:
* runtime/WeakMapData.cpp:
* tools/JSDollarVMPrototype.cpp:
(JSC::JSDollarVMPrototype::isInStorageSpace):

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

3 years agoHTMLImageElement.hspace / vspace attributes should be unsigned
cdumez@apple.com [Thu, 8 Sep 2016 22:02:39 +0000 (22:02 +0000)]
HTMLImageElement.hspace / vspace attributes should be unsigned
https://bugs.webkit.org/show_bug.cgi?id=161754

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Rebaseline W3C test now that more checks are passing.

* web-platform-tests/html/dom/reflection-embedded-expected.txt:

Source/WebCore:

HTMLImageElement.hspace / vspace attributes should be unsigned:
- https://html.spec.whatwg.org/#HTMLImageElement-partial

Firefox agrees with the specification, however, those were signed in
webKit.

No new tests, rebaselined existing test.

* html/HTMLImageElement.idl:

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

3 years agoREGRESSION (r205569?): 32-bit JSC test timeout: stress/rest-parameter-many-arguments...
mark.lam@apple.com [Thu, 8 Sep 2016 22:00:52 +0000 (22:00 +0000)]
REGRESSION (r205569?): 32-bit JSC test timeout: stress/rest-parameter-many-arguments.js.dfg-maximal-flush-validate-no-cjit
https://bugs.webkit.org/show_bug.cgi?id=161756

Reviewed by Saam Barati.

It looks like the 32-bit JSC bot is just too slow at running this test with the
dfg-maximal-flush-validate-no-cjit configuration.  We'll try excluding that
configuration.

* stress/rest-parameter-many-arguments.js:

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

3 years agoUpdate parseHTMLNonNegativeInteger() to return an unsigned value
cdumez@apple.com [Thu, 8 Sep 2016 21:31:54 +0000 (21:31 +0000)]
Update parseHTMLNonNegativeInteger() to return an unsigned value
https://bugs.webkit.org/show_bug.cgi?id=161759

Reviewed by Alex Christensen.

Update parseHTMLNonNegativeInteger() to return an unsigned value instead
of a signed one as the value can never be negative.

* html/HTMLElement.cpp:
(WebCore::HTMLElement::parseBorderWidthAttribute):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::width):
(WebCore::HTMLImageElement::height):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::maxLengthAttributeChanged):
(WebCore::HTMLInputElement::minLengthAttributeChanged):
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::maxLengthAttributeChanged):
(WebCore::HTMLTextAreaElement::minLengthAttributeChanged):
* html/ImageInputType.cpp:
(WebCore::ImageInputType::height):
(WebCore::ImageInputType::width):
* html/parser/HTMLParserIdioms.cpp:
(WebCore::parseHTMLNonNegativeInteger):
(WebCore::parseHTTPRefreshInternal):
* html/parser/HTMLParserIdioms.h:

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

3 years agoDelete older WebAssembly tests
commit-queue@webkit.org [Thu, 8 Sep 2016 21:30:17 +0000 (21:30 +0000)]
Delete older WebAssembly tests
https://bugs.webkit.org/show_bug.cgi?id=161758

Patch by JF Bastien <jfbastien@apple.com> on 2016-09-08
Reviewed by Filip Pizlo.

They're not running, rely on the older polyfill prototype, and the older code was deleted in: https://trac.webkit.org/changeset/204180

* stress/wasm-arithmetic-float32.js: Removed.
* stress/wasm-arithmetic-float64.js: Removed.
* stress/wasm-arithmetic-int32.js: Removed.
* stress/wasm-calls.js: Removed.
* stress/wasm-comma.js: Removed.
* stress/wasm-control-flow.js: Removed.
* stress/wasm-globals.js: Removed.
* stress/wasm-linear-memory.js: Removed.
* stress/wasm-locals.js: Removed.
* stress/wasm-relational.js: Removed.
* stress/wasm-type-conversion.js: Removed.
* stress/wasm/arithmetic-float32.wasm: Removed.
* stress/wasm/arithmetic-float64.wasm: Removed.
* stress/wasm/arithmetic-int32.wasm: Removed.
* stress/wasm/calls.wasm: Removed.
* stress/wasm/comma.wasm: Removed.
* stress/wasm/control-flow.wasm: Removed.
* stress/wasm/globals.wasm: Removed.
* stress/wasm/linear-memory.wasm: Removed.
* stress/wasm/locals.wasm: Removed.
* stress/wasm/relational.wasm: Removed.
* stress/wasm/type-conversion.wasm: Removed.

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

3 years agoGet rid of the color profile from ImageFrame and ImageDecoder
commit-queue@webkit.org [Thu, 8 Sep 2016 21:16:38 +0000 (21:16 +0000)]
Get rid of the color profile from ImageFrame and ImageDecoder
https://bugs.webkit.org/show_bug.cgi?id=159699

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-09-08
Reviewed by Simon Fraser.

The color profile is set but it is never used.

* platform/image-decoders/ImageDecoder.cpp:
(WebCore::ImageFrame::setColorProfile): Deleted.
* platform/image-decoders/ImageDecoder.h:
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageReader::decode):
(WebCore::JPEGImageDecoder::outputScanlines):
(WebCore::readColorProfile): Deleted.
* platform/image-decoders/jpeg/JPEGImageDecoder.h:
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::headerAvailable):
(WebCore::PNGImageDecoder::rowAvailable):
(WebCore::readColorProfile): Deleted.

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

3 years ago[CSS Parser] Add support for new CSS selector parsing
hyatt@apple.com [Thu, 8 Sep 2016 21:09:04 +0000 (21:09 +0000)]
[CSS Parser] Add support for new CSS selector parsing
https://bugs.webkit.org/show_bug.cgi?id=161749

Reviewed by Dean Jackson.

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* contentextensions/ContentExtensionParser.cpp:
(WebCore::ContentExtensions::isValidSelector):
* css/CSSDefaultStyleSheets.cpp:
(WebCore::parseUASheet):
* css/CSSFontFaceSet.cpp:
(WebCore::CSSFontFaceSet::matchingFaces):
* css/CSSGrammar.y.in:
* css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText):
* css/CSSSelector.h:
* css/DOMCSSNamespace.cpp:
(WebCore::DOMCSSNamespace::supports):
* css/FontFace.cpp:
(WebCore::FontFace::parseString):
(WebCore::FontFace::setVariant):
* css/MediaList.cpp:
(WebCore::MediaQuerySet::internalParse):
(WebCore::MediaQuerySet::parse):
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::matchRecursively):
* css/SelectorFilter.cpp:
(WebCore::SelectorFilter::collectIdentifierHashes):
* css/SelectorPseudoClassAndCompatibilityElementMap.in:
* css/SelectorPseudoTypeMap.h:
* css/SourceSizeList.cpp:
(WebCore::parseSizesAttribute):
* css/StyleProperties.cpp:
(WebCore::MutableStyleProperties::MutableStyleProperties):
* css/StyleProperties.h:
* css/StyleRuleImport.cpp:
(WebCore::StyleRuleImport::setCSSStyleSheet):
* css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::StyleSheetContents):
(WebCore::StyleSheetContents::parserAddNamespace):
(WebCore::StyleSheetContents::namespaceURIFromPrefix):
(WebCore::StyleSheetContents::determineNamespace): Deleted.
* css/StyleSheetContents.h:
* css/WebKitCSSMatrix.cpp:
(WebCore::WebKitCSSMatrix::setMatrixValue):
* css/makeSelectorPseudoClassAndCompatibilityElementMap.py:
* css/parser/CSSParser.cpp:
(WebCore::strictCSSParserContext):
(WebCore::CSSParserContext::CSSParserContext):
(WebCore::CSSParser::parseColor):
(WebCore::CSSParser::shouldAcceptUnitLessValues):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseColumnWidth):
(WebCore::CSSParser::parseColumnCount):
(WebCore::CSSParser::parseFontWeight):
(WebCore::CSSParser::parseColorParameters):
(WebCore::CSSParser::parseHSLParameters):
(WebCore::CSSParser::parseShadow):
(WebCore::CSSParser::parseBorderImageSlice):
(WebCore::CSSParser::parseBorderImageQuad):
(WebCore::CSSParser::parseDeprecatedLinearGradient):
(WebCore::CSSParser::parseLinearGradient):
(WebCore::CSSParser::parseTransformValue):
(WebCore::CSSParser::parseBuiltinFilterArguments):
(WebCore::CSSParser::determineNameInNamespace):
* css/parser/CSSParser.h:
(WebCore::CSSParser::inStrictMode):
(WebCore::CSSParser::inQuirksMode):
* css/parser/CSSParserMode.h:
(WebCore::isQuirksModeBehavior):
(WebCore::isUASheetBehavior):
(WebCore::isUnitLessLengthParsingEnabledForMode):
(WebCore::isCSSViewportParsingEnabledForMode):
(WebCore::strictToCSSParserMode):
(WebCore::isStrictParserMode):
* css/parser/CSSParserValues.cpp:
(WebCore::CSSParserSelector::parsePseudoElementSelectorFromStringView):
(WebCore::CSSParserSelector::parsePseudoClassSelectorFromStringView):
(WebCore::CSSParserSelector::setSelectorList):
(WebCore::CSSParserSelector::appendTagHistory):
(WebCore::CSSParserSelector::releaseTagHistory):
(WebCore::CSSParserSelector::isHostPseudoSelector):
* css/parser/CSSParserValues.h:
(WebCore::CSSParserSelector::match):
(WebCore::CSSParserSelector::pseudoElementType):
(WebCore::CSSParserSelector::selectorList):
(WebCore::CSSParserSelector::needsImplicitShadowCombinatorForMatching):
* css/parser/CSSPropertyParser.h:
(WebCore::CSSPropertyParser::inQuirksMode):
* css/parser/CSSSelectorParser.cpp: Added.
(WebCore::CSSSelectorParser::parseSelector):
(WebCore::CSSSelectorParser::CSSSelectorParser):
(WebCore::CSSSelectorParser::consumeComplexSelectorList):
(WebCore::CSSSelectorParser::consumeCompoundSelectorList):
(WebCore::CSSSelectorParser::consumeComplexSelector):
(WebCore::CSSSelectorParser::consumeCompoundSelector):
(WebCore::CSSSelectorParser::consumeSimpleSelector):
(WebCore::CSSSelectorParser::consumeName):
(WebCore::CSSSelectorParser::consumeId):
(WebCore::CSSSelectorParser::consumeClass):
(WebCore::CSSSelectorParser::consumeAttribute):
(WebCore::CSSSelectorParser::consumePseudo):
(WebCore::CSSSelectorParser::consumeCombinator):
(WebCore::CSSSelectorParser::consumeAttributeMatch):
(WebCore::CSSSelectorParser::consumeAttributeFlags):
(WebCore::CSSSelectorParser::consumeANPlusB):
(WebCore::CSSSelectorParser::defaultNamespace):
(WebCore::CSSSelectorParser::determineNamespace):
(WebCore::CSSSelectorParser::prependTypeSelectorIfNeeded):
(WebCore::CSSSelectorParser::addSimpleSelectorToCompound):
(WebCore::CSSSelectorParser::splitCompoundAtImplicitShadowCrossingCombinator):
* css/parser/CSSSelectorParser.h: Added.
(WebCore::CSSSelectorParser::DisallowPseudoElementsScope::DisallowPseudoElementsScope):
(WebCore::CSSSelectorParser::DisallowPseudoElementsScope::~DisallowPseudoElementsScope):
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::fragmentRelationForSelectorRelation):
* dom/StyledElement.cpp:
(WebCore::StyledElement::rebuildPresentationAttributeStyle):
* svg/SVGFontFaceElement.cpp:
(WebCore::SVGFontFaceElement::SVGFontFaceElement):

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

3 years agoDon't run transitions to or from undefined Lengths
simon.fraser@apple.com [Thu, 8 Sep 2016 20:54:24 +0000 (20:54 +0000)]
Don't run transitions to or from undefined Lengths
https://bugs.webkit.org/show_bug.cgi?id=161750
rdar://problem/28170460

Reviewed by Zalan Bujtas.

Source/WebCore:

For properties like max-height whose default value is 'none', we would erroneously
attempt to run transitions/animations, and then assert when one of the endpoints
was undefined.

So don't attempt to blend such Length values, just as do when they are auto.

Fixes some transitions on apple.com and developer.apple.com.

Test: transitions/transition-to-from-undefined.html

* page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimation::blendProperties):
* platform/Length.cpp:
(WebCore::blend):

LayoutTests:

* transitions/transition-to-from-undefined-expected.txt: Added.
* transitions/transition-to-from-undefined.html: Added.

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

3 years agoHeap version should be 32-bit
fpizlo@apple.com [Thu, 8 Sep 2016 20:35:55 +0000 (20:35 +0000)]
Heap version should be 32-bit
https://bugs.webkit.org/show_bug.cgi?id=161751

Reviewed by Mark Lam.

32-bit devices are probably getting hurt by the 64-bit version number. The reason why I made
it 64-bit initially is so that I wouldn't have to worry about wrap-around. But wrap-around is
easy to handle.

* heap/CellContainer.h:
* heap/CellContainerInlines.h:
(JSC::CellContainer::flipIfNecessary):
* heap/ConservativeRoots.cpp:
(JSC::ConservativeRoots::genericAddPointer):
(JSC::ConservativeRoots::genericAddSpan):
* heap/ConservativeRoots.h:
* heap/Heap.h:
* heap/HeapInlines.h:
(JSC::Heap::testAndSetMarked):
* heap/HeapUtil.h:
(JSC::HeapUtil::findGCObjectPointersForMarking):
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::MarkedBlock):
* heap/MarkedBlock.h:
(JSC::MarkedBlock::flipIfNecessary):
(JSC::MarkedBlock::flipIfNecessaryConcurrently):
(JSC::MarkedBlock::Handle::flipIfNecessary):
(JSC::MarkedBlock::Handle::flipIfNecessaryConcurrently):
* heap/MarkedSpace.cpp:
(JSC::MarkedSpace::flip):
* heap/MarkedSpace.h:
(JSC::MarkedSpace::version):
* heap/SlotVisitor.cpp:
(JSC::SlotVisitor::SlotVisitor):
* heap/SlotVisitor.h:

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

3 years agoSupport new emoji group candidates
mmaxfield@apple.com [Thu, 8 Sep 2016 20:09:20 +0000 (20:09 +0000)]
Support new emoji group candidates
https://bugs.webkit.org/show_bug.cgi?id=161664
<rdar://problem/24802695>
<rdar://problem/27666433>

Reviewed by Simon Fraser.

Source/WebCore:

Support more emoji group candidates. This includes joining groups into a single glyph, as
well as atomic deletions of the entire group when the backspace key is pressed.

Tests: editing/deleting/delete-emoji.html:
       fast/text/emoji-num-glyphs.html:

* platform/text/CharacterProperties.h:
(WebCore::isEmojiGroupCandidate):

Source/WTF:

Update breaking rules.

* wtf/text/TextBreakIterator.cpp:
(WTF::cursorMovementIterator):

LayoutTests:

Add tests.

* platform/ios-simulator/editing/deleting/delete-emoji-expected.txt:
* platform/mac-yosemite/editing/deleting/delete-emoji-expected.txt:
* platform/mac/editing/deleting/delete-emoji-expected.txt:
* editing/deleting/delete-emoji.html:
* fast/text/emoji-num-glyphs-expected.txt:
* fast/text/emoji-num-glyphs.html:

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

3 years agoAdd support for a ternary sub32 emitter for ARM64 and 32-bit ARM.
mark.lam@apple.com [Thu, 8 Sep 2016 20:05:28 +0000 (20:05 +0000)]
Add support for a ternary sub32 emitter for ARM64 and 32-bit ARM.
https://bugs.webkit.org/show_bug.cgi?id=161724

Reviewed by Filip Pizlo.

ARM architectures support ternary sub instructions.  We should make use of them
in emitAllocateWithNonNullAllocator().

* assembler/MacroAssemblerARM.h:
(JSC::MacroAssemblerARM::sub32):
* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::sub32):
* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::sub32):
* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::sub32):
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::sub32):
* b3/air/AirOpcode.opcodes:
* b3/testb3.cpp:
(JSC::B3::testTernarySubInstructionSelection):
(JSC::B3::run):
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::emitAllocateWithNonNullAllocator):

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

3 years agoHTMLImageElement.width / height attributes should be unsigned
cdumez@apple.com [Thu, 8 Sep 2016 19:46:10 +0000 (19:46 +0000)]
HTMLImageElement.width / height attributes should be unsigned
https://bugs.webkit.org/show_bug.cgi?id=161730

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Rebaseline W3C test now that more checks are passing.

* web-platform-tests/html/dom/reflection-embedded-expected.txt:

Source/WebCore:

HTMLImageElement.width / height attributes should be unsigned as per
the HTML specification:
- https://html.spec.whatwg.org/#htmlimageelement

However, they are signed in WebKit. Firefox agrees with the
specification.

No new tests, rebaselined existing test.

* bindings/js/JSImageConstructor.cpp:
(WebCore::JSImageConstructor::construct):
(WebCore::createImageConstructor): Deleted.
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::createForJSConstructor):
(WebCore::HTMLImageElement::width):
(WebCore::HTMLImageElement::height):
(WebCore::HTMLImageElement::setHeight):
(WebCore::HTMLImageElement::setWidth):
* html/HTMLImageElement.h:
* html/HTMLImageElement.idl:
* html/ImageDocument.cpp:
(WebCore::ImageDocument::restoreImageSize):

LayoutTests:

Update existing test to reflect behavior change.

* js/dom/custom-constructors-expected.txt:
* js/dom/script-tests/custom-constructors.js:

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

3 years agoMove JSMap/JSSet over to Auxiliary MarkedSpace
fpizlo@apple.com [Thu, 8 Sep 2016 18:59:02 +0000 (18:59 +0000)]
Move JSMap/JSSet over to Auxiliary MarkedSpace
https://bugs.webkit.org/show_bug.cgi?id=161744

Reviewed by Saam Barati.
Source/JavaScriptCore:

This moves the buffer out of CopiedSpace and into Auxiliary MarkedSpace.

Also removes MapData.h/MapDataInlines.h since they are not used anywhere, but they still
speak of CopiedSpace.

This is a purely mechanical change.

* JavaScriptCore.xcodeproj/project.pbxproj:
* heap/CopyToken.h:
* runtime/HashMapImpl.cpp:
(JSC::HashMapImpl<HashMapBucket>::visitChildren):
(JSC::HashMapImpl<HashMapBucket>::copyBackingStore): Deleted.
* runtime/HashMapImpl.h:
(JSC::HashMapBuffer::create):
* runtime/JSMapIterator.cpp:
* runtime/JSMapIterator.h:
* runtime/JSSetIterator.cpp:
* runtime/JSSetIterator.h:
* runtime/MapBase.cpp:
* runtime/MapData.h: Removed.
* runtime/MapDataInlines.h: Removed.
* runtime/MapPrototype.cpp:
* runtime/SetConstructor.cpp:
* runtime/SetPrototype.cpp:
* runtime/VM.cpp:

Source/WebCore:

No new tests because no change in behavior.

* bindings/js/SerializedScriptValue.cpp:

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

3 years agoUnreviewed, rolling out r205652.
commit-queue@webkit.org [Thu, 8 Sep 2016 18:48:15 +0000 (18:48 +0000)]
Unreviewed, rolling out r205652.
https://bugs.webkit.org/show_bug.cgi?id=161748

Crashing under ASan (Requested by yusukesuzuki on #webkit).

Reverted changeset:

"ScriptRunner should be driven by PendingScript rather than
ScriptElement"
https://bugs.webkit.org/show_bug.cgi?id=161726
http://trac.webkit.org/changeset/205652

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

3 years agoScriptRunner should be driven by PendingScript rather than ScriptElement
utatane.tea@gmail.com [Thu, 8 Sep 2016 17:49:43 +0000 (17:49 +0000)]
ScriptRunner should be driven by PendingScript rather than ScriptElement
https://bugs.webkit.org/show_bug.cgi?id=161726

Reviewed by Ryosuke Niwa.

Source/WebCore:

ScriptRunner is driven by ScriptElement::notifyFinished. While ScriptRunner is driven by this,
HTMLScriptRunner does not use it. Instead, HTMLScriptRunner uses PendingScriptClient. As a result,
ScriptElement::notifyFinished is used only when the script is annotated with "defer" or "async"
while all the external script will load the LoadableScript. It is confusing.
This patch removes ScriptElement::notifyFinished and use PendingScript's observability
in ScriptRunner instead.

This patch also fixes the behavior about ignore-destructive-writes counter[1]. When dispatching
the load and error events, this ignore-destructive-writes counter should not be incremeneted by
this execution. The added tests ensure this behavior.

[1]: https://html.spec.whatwg.org/multipage/scripting.html#execute-the-script-block

* dom/ScriptElement.cpp: Drop LoadableScriptClient interface.
(WebCore::ScriptElement::prepareScript): Do not use addClient. ScriptRunner use PendingScript::{setClient,clearClient} instead.
(WebCore::ScriptElement::executeScriptForScriptRunner): IgnoreDestructiveWriteCountIncrementer will be done in ScriptElement::executeScript.
So no need to do it here, that's duplicated.
(WebCore::ScriptElement::~ScriptElement): Deleted. ScriptElement does not use addClient/removeClient.
(WebCore::ScriptElement::stopLoadRequest): Deleted.
(WebCore::ScriptElement::executeScriptForHTMLScriptRunner): Deleted. executeScriptForHTMLScriptRunner and executeScriptForScriptRunner are
merged into executeScriptForRunner.
(WebCore::ScriptElement::notifyFinished): Deleted.
* dom/ScriptElement.h:
(WebCore::ScriptElement::~ScriptElement):
(WebCore::ScriptElement::willExecuteInOrder): Used in ScriptRunner to determine whether the script is async or defer.
(WebCore::ScriptElement::willExecuteWhenDocumentFinishedParsing): Deleted.
* dom/ScriptRunner.cpp:
(WebCore::ScriptRunner::~ScriptRunner): HashSet's iterator will return `const PendingScript&`.
Another option is using HashSet<RefPtr<PendingScript>>. Here, we use a little bit weired const_cast.
(WebCore::ScriptRunner::queueScriptForExecution): Use PendingScript::setClient to wait loading.
(WebCore::ScriptRunner::notifyFinished): Notify the script ready here.
(WebCore::ScriptRunner::timerFired): Use executeScriptForScriptRunner.
(WebCore::ScriptRunner::notifyScriptReady): Deleted.
* dom/ScriptRunner.h:
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent): Use executeScriptForScriptRunner.

LayoutTests:

* js/dom/document-write-in-error-event-expected.txt: Added.
* js/dom/document-write-in-error-event.html: Added.
* js/dom/document-write-in-load-event-expected.txt: Added.
* js/dom/document-write-in-load-event.html: Added.
* js/dom/script-tests/dummy.js: Added.

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

3 years agoWeb Inspector: Debugger sidebar should include a warning message breakpoints are...
commit-queue@webkit.org [Thu, 8 Sep 2016 17:37:53 +0000 (17:37 +0000)]
Web Inspector: Debugger sidebar should include a warning message breakpoints are disabled
https://bugs.webkit.org/show_bug.cgi?id=156719
<rdar://problem/25787932>

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-09-08
Reviewed by Brian Burg.

* Localizations/en.lproj/localizedStrings.js:
New strings for breakpoints disabled warning banner.

* UserInterface/Views/DebuggerSidebarPanel.css:
(.sidebar > .panel.navigation.debugger .warning-banner):
(.sidebar > .panel.navigation.debugger .warning-banner > a):
Generalize the class name to "warning-banner".

* UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel):
(WebInspector.DebuggerSidebarPanel.prototype._breakpointsEnabledDidChange):
(WebInspector.DebuggerSidebarPanel.prototype._timelineCapturingWillStart):
(WebInspector.DebuggerSidebarPanel.prototype._timelineCapturingStopped):
(WebInspector.DebuggerSidebarPanel.prototype._updateBreakpointsDisabledBanner):
Show / hide a breakpoints disabled warning banner as needed.
Only one banner shows at a time, so either the timing warning
or the generic breakpoints disabled banner will show.

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

3 years agoRe-land r205580 after r205649 fixed the test failures
achristensen@apple.com [Thu, 8 Sep 2016 17:23:30 +0000 (17:23 +0000)]
Re-land r205580 after r205649 fixed the test failures
https://bugs.webkit.org/show_bug.cgi?id=161668

Re-landing changesets:

"Punycode encode non-ascii hosts in URLParser"
https://bugs.webkit.org/show_bug.cgi?id=161655
http://trac.webkit.org/changeset/205521

"Fix query-only and fragment-only relative URLs when using
URLParser"
https://bugs.webkit.org/show_bug.cgi?id=161657
http://trac.webkit.org/changeset/205526

"URLParser should parse / as a relative URL"
https://bugs.webkit.org/show_bug.cgi?id=161667
http://trac.webkit.org/changeset/205532

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

3 years agoAdd range check in URLParser's serializeIPv6
achristensen@apple.com [Thu, 8 Sep 2016 17:19:25 +0000 (17:19 +0000)]
Add range check in URLParser's serializeIPv6
https://bugs.webkit.org/show_bug.cgi?id=161743

Reviewed by David Kilzer.

No new tests, but this fixes API tests in some release builds after
the patch from https://bugs.webkit.org/show_bug.cgi?id=161668 is recommitted.

* platform/URLParser.cpp:
(WebCore::serializeIPv6):
Don't go out of bounds.  Don't assume that the memory immediately after the end of the array will be empty.

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

3 years agoTyped arrays should use MarkedSpace instead of CopiedSpace
fpizlo@apple.com [Thu, 8 Sep 2016 16:47:34 +0000 (16:47 +0000)]
Typed arrays should use MarkedSpace instead of CopiedSpace
https://bugs.webkit.org/show_bug.cgi?id=161100

Reviewed by Geoffrey Garen.

This moves typed array backing stores out of CopiedSpace and into Auxiliary MarkedSpace.

This is a purely mechanical change since Auxiliary MarkedSpace already knows how to do
everything that typed arrays want.

* dfg/DFGOperations.cpp:
(JSC::DFG::newTypedArrayWithSize):
* dfg/DFGOperations.h:
(JSC::DFG::operationNewTypedArrayWithSizeForType):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileNewTypedArray):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
(JSC::DFG::SpeculativeJIT::emitAllocateBasicStorage): Deleted.
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray):
(JSC::FTL::DFG::LowerDFGToB3::initializeArrayElements):
(JSC::FTL::DFG::LowerDFGToB3::splatWords):
(JSC::FTL::DFG::LowerDFGToB3::allocateBasicStorageAndGetEnd): Deleted.
(JSC::FTL::DFG::LowerDFGToB3::allocateBasicStorage): Deleted.
* heap/CopyToken.h:
* heap/SlotVisitor.cpp:
(JSC::SlotVisitor::markAuxiliary):
* jit/JITOperations.h:
* runtime/JSArrayBufferView.cpp:
(JSC::JSArrayBufferView::ConstructionContext::ConstructionContext):
(JSC::JSArrayBufferView::JSArrayBufferView):
* runtime/JSArrayBufferView.h:
* runtime/JSGenericTypedArrayView.h:
* runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::createWithFastVector):
(JSC::JSGenericTypedArrayView<Adaptor>::visitChildren):
(JSC::JSGenericTypedArrayView<Adaptor>::slowDownAndWasteMemory):
(JSC::JSGenericTypedArrayView<Adaptor>::copyBackingStore): Deleted.

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

3 years agoExpose Apple Pencil input to testing system
dino@apple.com [Thu, 8 Sep 2016 10:28:02 +0000 (10:28 +0000)]
Expose Apple Pencil input to testing system
https://bugs.webkit.org/show_bug.cgi?id=161670
<rdar://problem/28183327>

I fixed the internal builds, now try to fix the public builds.

* WebKitTestRunner/ios/IOKitSPI.h: Add new enum values.

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

3 years ago[Win64] Compile fixes.
pvollan@apple.com [Thu, 8 Sep 2016 09:09:59 +0000 (09:09 +0000)]
[Win64] Compile fixes.
https://bugs.webkit.org/show_bug.cgi?id=161682

Reviewed by Brent Fulgham.

* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
* jit/JITCall.cpp:
(JSC::JIT::compileOpCall):
* runtime/ArrayConventions.cpp:
(JSC::clearArrayMemset):

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

3 years ago[Win] Exception fuzz tests fail
pvollan@apple.com [Thu, 8 Sep 2016 07:45:27 +0000 (07:45 +0000)]
[Win] Exception fuzz tests fail
https://bugs.webkit.org/show_bug.cgi?id=140928

Reviewed by Mark Lam.

JSTests:

Unskip tests.

* exceptionFuzz.yaml:

Source/JavaScriptCore:

Flush stdout when throwing the exception to make sure the output comes before output in the exception handler.
The tests depend on the output to stdout being written in the correct order.

* runtime/ExceptionFuzz.cpp:
(JSC::doExceptionFuzzing):

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

3 years agoMove webkit2gtk.pc.in, webkit2gtk-web-extension.pc.in files under Source/WebKit2...
zandobersek@gmail.com [Thu, 8 Sep 2016 07:36:27 +0000 (07:36 +0000)]
Move webkit2gtk.pc.in, webkit2gtk-web-extension.pc.in files under Source/WebKit2/gtk/
https://bugs.webkit.org/show_bug.cgi?id=161703

Reviewed by Carlos Garcia Campos.

Move the pkg-config input files that are specific to the GTK+ port
under the Source/WebKit2/gtk/ directory. Build rules are updated
accordingly.

* PlatformGTK.cmake:
* gtk/webkit2gtk-web-extension.pc.in: Renamed from Source/WebKit2/webkit2gtk-web-extension.pc.in.
* gtk/webkit2gtk.pc.in: Renamed from Source/WebKit2/webkit2gtk.pc.in.

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

3 years ago[Mac] Address some clang static analyzer warnings in WebKit
joepeck@webkit.org [Thu, 8 Sep 2016 07:18:48 +0000 (07:18 +0000)]
[Mac] Address some clang static analyzer warnings in WebKit
https://bugs.webkit.org/show_bug.cgi?id=161597

Reviewed by Darin Adler.

Source/WebKit/mac:

* Misc/WebIconDatabase.h:
Remove unused instance variable. It has not been used since r16005 (2006)!

* Misc/WebSharingServicePickerController.mm:
(-[WebSharingServicePickerController sharingServicePicker:sharingServicesForItems:mask:proposedSharingServices:]):
Address array leak.

* WebCoreSupport/WebSelectionServiceController.mm:
(WebSelectionServiceController::hasRelevantSelectionServices):
Address attachment and cell leak.

* WebView/WebFullScreenController.h:
* WebView/WebImmediateActionController.h:
Remove unused instance variables.

Source/WebKit2:

* UIProcess/Cocoa/WebVideoFullscreenManagerProxy.mm:
(-[WKLayerHostView makeBackingLayer]):
* UIProcess/mac/WKSharingServicePickerDelegate.mm:
(-[WKSharingServicePickerDelegate sharingServicePicker:sharingServicesForItems:mask:proposedSharingServices:]):
* WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
(-[WKDOMRange rangeByExpandingToWordBoundaryByCharacters:inDirection:]):
Address leaks caught by the static analyzer.

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

3 years ago[GTK] Remove stale WebSoupRequestManager headers
zandobersek@gmail.com [Thu, 8 Sep 2016 06:49:16 +0000 (06:49 +0000)]
[GTK] Remove stale WebSoupRequestManager headers
https://bugs.webkit.org/show_bug.cgi?id=161691

Reviewed by Sergio Villar Senin.

WebSoupRequestManager, WebSoupRequestManagerProxy and WebSoupRequestManagerClient
classes were used to implement custom URI scheme support for Soup. This API and
the implementations of these classes were removed in r174584, but curiously the
headers went unnoticed. This patch removes them, as well as the
WebSoupRequestManagerProxy forwarding declaration in WKAPICastSoup.h.

* UIProcess/API/C/soup/WKAPICastSoup.h:
* UIProcess/soup/WebSoupRequestManagerClient.h: Removed.
* UIProcess/soup/WebSoupRequestManagerProxy.h: Removed.
(WebKit::WebSoupRequestManagerProxy::registeredURISchemes): Deleted.
* WebProcess/soup/WebSoupRequestManager.h: Removed.

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

3 years agoExpose Apple Pencil input to testing system
dino@apple.com [Thu, 8 Sep 2016 06:02:15 +0000 (06:02 +0000)]
Expose Apple Pencil input to testing system
https://bugs.webkit.org/show_bug.cgi?id=161670
<rdar://problem/28183327>

Attempt to fix iOS 9 builds.

* WebKitTestRunner/ios/HIDEventGenerator.mm:
(-[HIDEventGenerator _createIOHIDEventType:]):

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

3 years agoRoll out r205580 and r205582.
achristensen@apple.com [Thu, 8 Sep 2016 05:59:38 +0000 (05:59 +0000)]
Roll out r205580 and r205582.
https://bugs.webkit.org/show_bug.cgi?id=161668

I need to figure out why this is failing on the bots before landing any more URLParser progress.

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

3 years agoUnreviewed, EFL build fix after r205581
utatane.tea@gmail.com [Thu, 8 Sep 2016 05:59:07 +0000 (05:59 +0000)]
Unreviewed, EFL build fix after r205581
https://bugs.webkit.org/show_bug.cgi?id=161674

* dom/LoadableClassicScript.cpp:
(WebCore::LoadableClassicScript::notifyFinished):

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

3 years agoFix API tests after r205580
achristensen@apple.com [Thu, 8 Sep 2016 04:10:41 +0000 (04:10 +0000)]
Fix API tests after r205580
https://bugs.webkit.org/show_bug.cgi?id=161668

No new tests, but this fixes API tests on bots.

* platform/URLParser.cpp:
(WebCore::domainToASCII):
This function seems to be appending characters to strings sometimes on some configurations.
This definitely needs further investigation, but this will fix the bots, and nothing else
will be affected because the URLParser is disabled by default.

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

3 years agoIntroduce abstract class LoadableScript for classic script and module graph
utatane.tea@gmail.com [Thu, 8 Sep 2016 01:49:49 +0000 (01:49 +0000)]
Introduce abstract class LoadableScript for classic script and module graph
https://bugs.webkit.org/show_bug.cgi?id=161674

Reviewed by Ryosuke Niwa.

To prepare for ScriptModuleGraph, we introduce the abstract class over the classic script
and the module script, LoadableScript.

No behavior change.

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* dom/LoadableClassicScript.cpp: Added. LoadableClassicScript is the derived class from the
LoadableScript. In the module patch, we will introduce LoadableScriptModuleGraph which is also
the derived class from the LoadableScript. It is used for the external classic script.
A CachedResourceHandle used here alone does not prevent the underlying CachedResource from purging its
data buffer. This LoadableClassicScript holds a client until this class is destroyed in order to
guarantee that the data buffer will not be purged.
(WebCore::LoadableClassicScript::create):
(WebCore::LoadableClassicScript::LoadableClassicScript):
(WebCore::LoadableClassicScript::~LoadableClassicScript):
(WebCore::LoadableClassicScript::isLoaded):
(WebCore::LoadableClassicScript::wasErrored): Beyond the boolean value, this can return the detail
of the error. This detailed information will be used to report it to the inspector in the ScriptElement.
(WebCore::LoadableClassicScript::wasCanceled):
(WebCore::LoadableClassicScript::notifyFinished): Nosniff and cross-origin loading errors are handled here,
instead of exposing CachedScript*.
(WebCore::LoadableClassicScript::execute): Execute the cached script by using the given ScriptElement.
* dom/LoadableClassicScript.h: Copied from Source/WebCore/dom/PendingScript.h.
(isType):
* dom/LoadableScript.cpp: Copied from Source/WebCore/dom/ScriptRunner.h. New wrapper for CachedScript
and ScriptModuleGraph. We introduce a new wrapper to handle the above 2 things in the same way.
We take the way to introduce a new wrapper instead of introducing a new interface that is inherited by
CachedScript and ScriptModuleGraph. This is because ScriptModuleGraph is ref-counted while CachedScript
is managed by CachedResourceHandle. While this patch does not contain ScriptModuleGraph part, this
should be added in the module patch and at that time, this should be managed by this LoadableScript's
subclass. And we introduce TypeCasts traits for LoadableScript to allow `is<>` and `downcast<>`.
(WebCore::LoadableScript::addClient):
(WebCore::LoadableScript::removeClient):
(WebCore::LoadableScript::notifyClientFinished):
* dom/LoadableScript.h: Copied from Source/WebCore/dom/ScriptRunner.h.
(WebCore::LoadableScript::~LoadableScript):
(WebCore::LoadableScript::isClassicScript):
(WebCore::LoadableScript::isModuleGraph):
* dom/LoadableScriptClient.h: Copied from Source/WebCore/dom/ScriptRunner.h.
(WebCore::LoadableScriptClient::~LoadableScriptClient):
* dom/PendingScript.cpp: Use LoadableScript instead of CachedScript.
(WebCore::PendingScript::create):
(WebCore::PendingScript::PendingScript):
(WebCore::PendingScript::~PendingScript):
(WebCore::PendingScript::loadableScript):
(WebCore::PendingScript::notifyFinished):
(WebCore::PendingScript::isLoaded):
(WebCore::PendingScript::wasErrored):
(WebCore::PendingScript::cachedScript): Deleted.
* dom/PendingScript.h:
* dom/ScriptElement.cpp:
(WebCore::ScriptElement::ScriptElement):
(WebCore::ScriptElement::handleSourceAttribute): Change sourceUrl to sourceURL to be consistent.
(WebCore::ScriptElement::prepareScript):
(WebCore::ScriptElement::requestClassicScript): requestScript is renamed to requestClassicScript.
(WebCore::ScriptElement::requestScriptWithCache): Extract the code requesting the
CachedScript from requestScript. This will also be used by the module fetcher.
(WebCore::ScriptElement::executeScript): Now inspector error reporting is also done in this function.
When an error occurs, LoadableScript::wasErrored() returns the error which may include the information
to report the error to the inspector. nosniff and cross-origin loading errors are now detected by the
LoadableClassicScript and reported through this wasErrored().
(WebCore::ScriptElement::stopLoadRequest):
(WebCore::ScriptElement::executeScriptAndDispatchEvent):
(WebCore::ScriptElement::executeScriptForScriptRunner): Move the code from ScriptRunner. This function
calls removeClient(*this) because ScriptRunner is driven by the ScriptElement's notification. Only when using
ScriptRunner, we call addClient(*this) for ScriptElement. This is tricky, we should refactor this in the separated
bug (https://bugs.webkit.org/show_bug.cgi?id=161726).
(WebCore::ScriptElement::executeScriptForHTMLScriptRunner): Move the code from HTMLScriptRunner.
(WebCore::ScriptElement::notifyFinished):
(WebCore::ScriptElement::requestScript): Deleted.
(WebCore::ScriptElement::execute): Deleted.
* dom/ScriptElement.h:
(WebCore::ScriptElement::loadableScript):
(WebCore::ScriptElement::cachedScript): Deleted.
* dom/ScriptRunner.cpp:
(WebCore::ScriptRunner::queueScriptForExecution):
(WebCore::ScriptRunner::timerFired): Use ScriptElement::executeScriptForScriptRunner.
* dom/ScriptRunner.h:
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
(WebCore::requestPendingScript):
(WebCore::HTMLScriptRunner::requestParsingBlockingScript):
(WebCore::HTMLScriptRunner::sourceFromPendingScript): Deleted.
* html/parser/HTMLScriptRunner.h: Use ScriptElement::executeScriptForHTMLScriptRunner.
* xml/parser/XMLDocumentParserLibxml2.cpp: Currently, we do nothing about XMLDocument in this patch.
We should support the module script, but before that, we should refactor this pending script handling.
(WebCore::XMLDocumentParser::endElementNs):

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

3 years agoUnreviewed, revert r205533.
achristensen@apple.com [Thu, 8 Sep 2016 01:34:19 +0000 (01:34 +0000)]
Unreviewed, revert r205533.
https://bugs.webkit.org/show_bug.cgi?id=161668

Re-landing changesets:

"Punycode encode non-ascii hosts in URLParser"
https://bugs.webkit.org/show_bug.cgi?id=161655
http://trac.webkit.org/changeset/205521

"Fix query-only and fragment-only relative URLs when using
URLParser"
https://bugs.webkit.org/show_bug.cgi?id=161657
http://trac.webkit.org/changeset/205526

"URLParser should parse / as a relative URL"
https://bugs.webkit.org/show_bug.cgi?id=161667
http://trac.webkit.org/changeset/205532

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

3 years agoEnable the <meter> element on iOS
simon.fraser@apple.com [Thu, 8 Sep 2016 01:26:08 +0000 (01:26 +0000)]
Enable the <meter> element on iOS
https://bugs.webkit.org/show_bug.cgi?id=161714
rdar://problem/8978410

Reviewed by Tim Horton.

Source/JavaScriptCore:

Define ENABLE_METER_ELEMENT unconditionally now.

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Define ENABLE_METER_ELEMENT unconditionally now.

Rendering falls back to html.css rendering, which makes <meter> looks similar between
macOS and iOS.

Tested by enabling existing tests.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

Define ENABLE_METER_ELEMENT unconditionally now.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Define ENABLE_METER_ELEMENT unconditionally now.

* Configurations/FeatureDefines.xcconfig:

Tools:

Define ENABLE_METER_ELEMENT unconditionally now.

* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

LayoutTests:

* platform/ios-simulator-wk1/TestExpectations:
* platform/ios-simulator/TestExpectations:
* platform/ios-simulator/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt:
* platform/ios-simulator/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.txt:
* platform/ios-simulator/fast/dom/HTMLMeterElement/meter-boundary-values-expected.txt:
* platform/ios-simulator/fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value-expected.txt: Added.
* platform/ios-simulator/fast/dom/HTMLMeterElement/meter-optimums-expected.txt:
* platform/ios-simulator/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.txt:
* platform/ios-simulator/fast/dom/HTMLMeterElement/meter-styles-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/form-control-infrastructure/form-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/the-label-element/labelable-elements-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/forms/the-meter-element/meter-expected.txt:
* platform/ios-simulator/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt:

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

3 years agoWeb Inspector: Show resource timing details in Network waterfall
commit-queue@webkit.org [Thu, 8 Sep 2016 01:04:48 +0000 (01:04 +0000)]
Web Inspector: Show resource timing details in Network waterfall
https://bugs.webkit.org/show_bug.cgi?id=160062

This patch adds a popover to network tab's and timeline tab's resource rows, when hovering
the recordbar. It shows times for the various parts of the resource load if they are available,
or it shows the reason for why not as text (e.g. cached resource, data URI).

Patch by Johan K. Jensen <johan_jensen@apple.com> on 2016-09-07
Reviewed by Matt Baker.

* Localizations/en.lproj/localizedStrings.js:
Added new strings.

* UserInterface/Main.html:
Include new files.

* UserInterface/Views/ComputedStyleDetailsPanel.js:
(WebInspector.ComputedStyleDetailsPanel.prototype.initialLayout):
Updated to use DataGrid property to hide header.

* UserInterface/Views/DataGrid.css:
(.data-grid.no-header > .header-wrapper):
(.data-grid.no-header > .header-wrapper > table.header): Deleted.
Hide the whole DataGrid header.

* UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid):
(WebInspector.DataGrid.prototype.get headerVisible):
(WebInspector.DataGrid.prototype.set headerVisible):
Add property to control header visibility, so grid clients aren't forced to manipulate internal grid styles.

* UserInterface/Views/NetworkGridContentView.js:
(WebInspector.NetworkGridContentView.prototype._processPendingRecords):
* UserInterface/Views/NetworkTimelineView.js:
(WebInspector.NetworkTimelineView.prototype._processPendingRecords):
* UserInterface/Views/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView.prototype._addResourceToDataGridIfNeeded):
Pass in new parameter for whether or not to show the popover for resources.

* UserInterface/Views/ResourceTimelineDataGridNode.css: Added.
(.resource-timing-popover-content .data-grid):
(.resource-timing-popover-content .data-grid .graph-column > .cell-content):
(.resource-timing-popover-content .data-grid td):
(.resource-timing-popover-content .data-grid td.graph-column):
(.resource-timing-popover-content .data-grid table.data):
(.resource-timing-popover-content .data-grid tr:nth-last-child(2)):
Add styling for the popover.

* UserInterface/Views/ResourceTimelineDataGridNode.js:
(WebInspector.ResourceTimelineDataGridNode):
(WebInspector.ResourceTimelineDataGridNode.prototype.didAddRecordBar):
(WebInspector.ResourceTimelineDataGridNode.prototype.didRemoveRecordBar):
(WebInspector.ResourceTimelineDataGridNode.prototype._mouseoverRecordBar):
Creates the popover for a RecordBar and shows detailed info about segments.

* UserInterface/Views/ResourceTimingPopoverDataGridNode.js: Added.
(WebInspector.ResourceTimingPopoverDataGridNode):
(WebInspector.ResourceTimingPopoverDataGridNode.prototype.get records):
(WebInspector.ResourceTimingPopoverDataGridNode.prototype.get data):
(WebInspector.ResourceTimingPopoverDataGridNode.prototype.get selectable):
(WebInspector.ResourceTimingPopoverDataGridNode.prototype.createCellContent):
DataGridNode for the popover.

* UserInterface/Views/TimelineDataGridNode.js:
(WebInspector.TimelineDataGridNode.prototype.refreshGraph.createBar):
(WebInspector.TimelineDataGridNode.prototype.refreshGraph):
(WebInspector.TimelineDataGridNode.prototype.didAddRecordBar):
(WebInspector.TimelineDataGridNode.prototype.didRemoveRecordBar):
(WebInspector.TimelineDataGridNode):
Added hooks for notifying subclasses.

* UserInterface/Views/TimelineRecordBar.js:
(WebInspector.TimelineRecordBar):
(WebInspector.TimelineRecordBar.fromElement):
Added symbol and static method to get the recordBar from a given element.

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

3 years agobitwise_cast: allow const destination type
commit-queue@webkit.org [Thu, 8 Sep 2016 00:40:17 +0000 (00:40 +0000)]
bitwise_cast: allow const destination type
https://bugs.webkit.org/show_bug.cgi?id=161719

Patch by JF Bastien <jfbastien@apple.com> on 2016-09-07
Reviewed by Saam Barati.

* wtf/StdLibExtras.h:
(WTF::bitwise_cast): allow `const To to = bitwise_cast<const To>(from);`

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

3 years ago[Mac] .tbd files for the shims end up installed when building with GENERATE_TEXT_BASE...
mitz@apple.com [Thu, 8 Sep 2016 00:38:03 +0000 (00:38 +0000)]
[Mac] .tbd files for the shims end up installed when building with GENERATE_TEXT_BASED_STUBS=YES
https://bugs.webkit.org/show_bug.cgi?id=161722

Reviewed by Anders Carlsson.

* Configurations/Shim.xcconfig: Don’t install the shims. The Copy Shims build phase in the
  WebKit target will copy them into place without bringing their .tbd files along.

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

3 years agoModernize Debugger to use nullptr
commit-queue@webkit.org [Thu, 8 Sep 2016 00:16:39 +0000 (00:16 +0000)]
Modernize Debugger to use nullptr
https://bugs.webkit.org/show_bug.cgi?id=161718

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-09-07
Reviewed by Mark Lam.

* debugger/Debugger.cpp:
(JSC::Debugger::Debugger):
(JSC::Debugger::~Debugger):
(JSC::Debugger::detach):
(JSC::Debugger::stepOutOfFunction):
(JSC::Debugger::updateCallFrameAndPauseIfNeeded):
* debugger/Debugger.h:

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

3 years ago[MediaStream] applyConstraints pt. 2 - advanced constraints
eric.carlson@apple.com [Thu, 8 Sep 2016 00:01:29 +0000 (00:01 +0000)]
[MediaStream] applyConstraints pt. 2 - advanced constraints
https://bugs.webkit.org/show_bug.cgi?id=161715
<rdar://problem/28195461>

Reviewed by Dean Jackson.

Source/WebCore:

Test: fast/mediastream/apply-constraints-advanced.html

* platform/mediastream/MediaConstraints.cpp:
(WebCore::MediaConstraint::create): Return Ref<>, not RefPtr<>.
(WebCore::MediaConstraint::copy): New
(WebCore::IntConstraint::copy): Ditto.
(WebCore::DoubleConstraint::copy): Ditto.
(WebCore::BooleanConstraint::copy): Ditto.
(WebCore::StringConstraint::copy): Ditto.
(WebCore::StringConstraint::fitnessDistance): New, compute the fitness distance between the
  constraint and the specified value.
(WebCore::StringConstraint::merge): New, merge value into constraint.
(WebCore::FlattenedConstraint::set): New, add or replace a constraint.
(WebCore::FlattenedConstraint::merge): New, merge or add a constraint.
* platform/mediastream/MediaConstraints.h:
(WebCore::MediaConstraint::fitnessDistance):
(WebCore::MediaConstraint::merge):
(WebCore::NumericConstraint::nearlyEqual):
(WebCore::FlattenedConstraint::isEmpty):
(WebCore::FlattenedConstraint::begin):
(WebCore::FlattenedConstraint::end):
(WebCore::MediaConstraint::~MediaConstraint): Deleted.
(WebCore::MediaConstraint::find): Deleted.
(WebCore::MediaConstraint::getIdeal): Deleted.

* platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::fitnessDistance): Return the fitness distance between the source
  capabilities and a constraint.
(WebCore::applyNumericConstraint): New, apply a numeric constraint.
(WebCore::RealtimeMediaSource::applyConstraint): Use applyNumericConstraint.
(WebCore::RealtimeMediaSource::selectSettings): New, implement the SelectSettings algorithm
(WebCore::RealtimeMediaSource::applyConstraints):
(WebCore::RealtimeMediaSource::supportsConstraint): Deleted.
(WebCore::value): Deleted.
* platform/mediastream/RealtimeMediaSource.h:

LayoutTests:

* fast/mediastream/apply-constraints-advanced-expected.txt: Added.
* fast/mediastream/apply-constraints-advanced.html: Added.

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

3 years agoRun spindumps on timeout on iOS 9 Simulator Release WK2 (Tests)
jbedard@apple.com [Thu, 8 Sep 2016 00:00:40 +0000 (00:00 +0000)]
Run spindumps on timeout on iOS 9 Simulator Release WK2 (Tests)
https://bugs.webkit.org/show_bug.cgi?id=161699

Reviewed by Alexey Proskuryakov.

This change does not have testing associated with it because the testing infrastructure does not exists, we cannot currently mock build-bot variables.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunWebKitTests): Enable sample on timeout for everything.
(RunWebKitTests.start): Disable sample on timeout for everything except iOS 9 WK2 release simulators.

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

3 years agoExpose Apple Pencil input to testing system
dino@apple.com [Wed, 7 Sep 2016 23:32:08 +0000 (23:32 +0000)]
Expose Apple Pencil input to testing system
https://bugs.webkit.org/show_bug.cgi?id=161670
<rdar://problem/28183327>

Reviewed by Simon Fraser.

Tools:

Add API to UIScriptController that allows a test to emulate
stylus input, such as from the Apple Pencil.

The code is only implemented for WebKitTestRunner.

There are also four new tests that ensure an Apple Pencil
operates similarly to a regular touch. The main difference
is that you can't have multiple touches when using an Apple Pencil.

* DumpRenderTree/ios/UIScriptControllerIOS.mm: New methods. Empty implementations.
(WTR::UIScriptController::stylusDownAtPoint):
(WTR::UIScriptController::stylusMoveToPoint):
(WTR::UIScriptController::stylusUpAtPoint):
(WTR::UIScriptController::stylusTapAtPoint):
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: New methods.
* TestRunnerShared/UIScriptContext/UIScriptController.cpp: Empty implementations.
(WTR::UIScriptController::stylusDownAtPoint):
(WTR::UIScriptController::stylusMoveToPoint):
(WTR::UIScriptController::stylusUpAtPoint):
(WTR::UIScriptController::stylusTapAtPoint):
* TestRunnerShared/UIScriptContext/UIScriptController.h:

* WebKitTestRunner/ios/HIDEventGenerator.h:
* WebKitTestRunner/ios/HIDEventGenerator.mm: New StylusEvent types. Add some properties
to SyntheticEventDigitizerInfo.
(-[HIDEventGenerator _createIOHIDEventType:]): Add support for StylusEvent types.
(-[HIDEventGenerator touchDownAtPoints:touchCount:]): Clear any old stylus info.
(-[HIDEventGenerator stylusDownAtPoint:azimuthAngle:altitudeAngle:pressure:]):
(-[HIDEventGenerator stylusMoveToPoint:azimuthAngle:altitudeAngle:pressure:]):
(-[HIDEventGenerator stylusUpAtPoint:]):
(-[HIDEventGenerator stylusDownAtPoint:azimuthAngle:altitudeAngle:pressure:completionBlock:]):
(-[HIDEventGenerator stylusMoveToPoint:azimuthAngle:altitudeAngle:pressure:completionBlock:]):
(-[HIDEventGenerator stylusUpAtPoint:completionBlock:]):
(-[HIDEventGenerator stylusTapAtPoint:azimuthAngle:altitudeAngle:pressure:completionBlock:]):
* WebKitTestRunner/ios/IOKitSPI.h: Add new include, and new SPI.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm: Calls into the HIDEventGenerator for the new API.
(WTR::UIScriptController::stylusDownAtPoint):
(WTR::UIScriptController::stylusMoveToPoint):
(WTR::UIScriptController::stylusUpAtPoint):
(WTR::UIScriptController::stylusTapAtPoint):

LayoutTests:

Four new tests that make sure Apple Pencil's register the correct
touch* style events.

* fast/events/touch/ios/pencil-down-gives-touchstart-expected.txt: Added.
* fast/events/touch/ios/pencil-down-gives-touchstart.html: Added.
* fast/events/touch/ios/pencil-move-gives-touchmove-expected.txt: Added.
* fast/events/touch/ios/pencil-move-gives-touchmove.html: Added.
* fast/events/touch/ios/pencil-tap-gives-touchstart-and-touchend-expected.txt: Added.
* fast/events/touch/ios/pencil-tap-gives-touchstart-and-touchend.html: Added.
* fast/events/touch/ios/pencil-up-gives-touchend-expected.txt: Added.
* fast/events/touch/ios/pencil-up-gives-touchend.html: Added.

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

3 years agoWeb Inspector: Remove always false case in Debugger
commit-queue@webkit.org [Wed, 7 Sep 2016 23:31:37 +0000 (23:31 +0000)]
Web Inspector: Remove always false case in Debugger
https://bugs.webkit.org/show_bug.cgi?id=161717

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-09-07
Reviewed by Brian Burg.

* debugger/Debugger.cpp:
(JSC::Debugger::didExecuteProgram):
We would have earlier returned a few statements ago if this case was true.
And we would have crashed in the previous statement if this case was true.

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

3 years agoUnreviewed, build fix after r205569
utatane.tea@gmail.com [Wed, 7 Sep 2016 22:36:05 +0000 (22:36 +0000)]
Unreviewed, build fix after r205569

Tweak CMakeLists.txt

* CMakeLists.txt:

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

3 years agoAdd CatchScope and force all exception checks to be via ThrowScope or CatchScope.
mark.lam@apple.com [Wed, 7 Sep 2016 22:10:50 +0000 (22:10 +0000)]
Add CatchScope and force all exception checks to be via ThrowScope or CatchScope.
https://bugs.webkit.org/show_bug.cgi?id=161498

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

This patch refactors the ThrowScope class, and introduces a base ExceptionScope
that ThrowScope extends.  A CatchScope which extends the ExceptionScope is also
introduced.

ENABLE(THROW_SCOPE_VERIFICATION) is now renamed to ENABLE(EXCEPTION_SCOPE_VERIFICATION)
which is a more suitable name now.

Note: exception scope verification is still disabled by default.  There are still
many places that need to be fixed up or re-expressed in a way that is friendly
to the verification.  I'll address those in subsequent patches.

After this patch, the code will statically enforce that:
1. all calls to throwException() go through a ThrowScope.
2. all calls to clearException() go through a CatchScope.
3. all exception checks go through an ExceptionScope in the form of a ThrowScope
   or CatchScope.

A Summary of how to use ExceptionScopes
=======================================
1. If a function can throw a JS exception, it should declare a ThrowScope at the
   top of the function (as early as possible).

2. If a function can clear JS exceptions, it should declare a CatchScope at the
   top of the function (as early as possible).

Declaring a ThrowScope in a function means that the function may throw an exception
that its caller will have to handle.  Declaring a CatchScope in a function means
that the function intends to clear pending exceptions before returning to its
caller.

For more details, see the notes below.

Everything you may want to know about ExceptionScopes
=====================================================
ExceptionScope verification works to simulate exception throws and detect cases
where exception checks are missing.  The notes below will cover:

    1. The VM::m_needExceptionCheck bit
    2. ThrowScopes and CatchScopes
    3. Verification of needed exception checks
    3. Checking Exceptions
    4. Simulating throws
    5. Using ThrowScope::release()
    6. Checking exceptions with ThrowScope::exception() / CatchScope::exception()
    7. Checking exceptions by checking callee results
    8. Debugging verification errors

1. The VM::m_needExceptionCheck bit

   The VM has a m_needExceptionCheck bit that indicates when an exception may be
   thrown.  You can think of the m_needExceptionCheck bit being set as a simulated
   throw.

2. ThrowScopes and CatchScopes

   Only ThrowScopes may throwException.  Only CatchScopes may catchException.

   Every throw site must declare a ThrowScope instance using DECLARE_THROW_SCOPE
   at the top of its function (as early as possible) e.g.

        void foo(...)
        {
            auto scope = DECLARE_THROW_SCOPE(vm);
            ...
            throwException(exec, scope, ...);
        }

   Note: by convention, every throw helper function must take a ThrowScope argument
   instead of instantiating its own ThrowScope.  This allows the throw to be
   attributed to the client code rather than the throw helper itself.

   Every catch site (i.e. a site that calls clearException()) must declare a
   CatchScope instance using DECLARE_CATCH_SCOPE at the top of its function.

   If a function can both throw or clear exceptions, then the ThrowScope should
   be declared first so that it can simulate a throw to the function's caller.

   Note: ThrowScope and CatchScope both extend ExceptionScope so that ThrowScopes
   can be aware if there's an enclosing CatchScope between it and the point where
   C++ code returns to JS code.  This is needed to determine if the ThrowScope
   should simulate a re-throw or not.  See (4) below for more details on returning
   to JS code.

3. Verification of needed exception checks

   a. On construction, each ThrowScope and CatchScope will verify that
      VM::m_needExceptionCheck is not set.

      This ensures that the caller of the current function has checked for exceptions
      where needed before doing more work which lead to calling the current function.

   b. On destruction, each ThrowScope and CatchScope will verify that
      VM::m_needExceptionCheck is not set. This verification will be skipped if
      the ThrowScope has been released (see (5) below).

      This ensures that the function that owns this exception scope is not missing
      any exception checks before returning.

   c. When throwing an exception, the ThrowScope will verify that VM::m_needExceptionCheck
      is not already set, unless it's been ask to rethrow the same Exception object.

4. Simulating throws

   Throws are simulated by setting the m_needExceptionCheck bit.

   The bit will only be set in the ThrowScope destructor except when the ThrowScope
   detects the caller is a LLInt or JIT function.  LLInt or JIT functions will always
   check for exceptions after a host C++ function returns to it.  However, they will
   not clear the m_needExceptionCheck bit.

   Hence, if the ThrowScope destructor detects the caller is a LLInt or JIT function,
   it will just skip the setting of the bit.

   Note: it is not needed nor correct to set the m_needExceptionCheck bit in the
   throwException methods.  This is because, in practice, we always return
   immediately after throwing an exception.  It doesn't make sense to set the bit in
   the throw just to have to clear it immediately after before we do verification in
   the ThrowScope destructor.

5. Using ThrowScope::release()

   Calling release() means that the scope is released from its obligation to
   verify the VM::m_needExceptionCheck bit on destruction.

   release() should only be used at the bottom of a function if:

   a. This function is going to let its caller check and handle the exception, e.g.

        void foo(...)
        {
            auto scope = DECLARE_THROW_SCOPE(vm);
            auto result = goo(); // may throw.

            ... // Code that will are not affected by a pending exceptions.

            scope.release(); // tell the ThrowScope that the caller will handle the exception.
            return result;
        }

   b. This function is going to do a tail call that may throw.

        void foo(...)
        {
            auto scope = DECLARE_THROW_SCOPE(vm);
            ...
            scope.release(); // tell the ThrowScope that the caller will handle the exception.
            return goo(); // may throw.
        }

      release() should not be used in code paths that branch. For example:

        void foo(...)
        {
            auto scope = DECLARE_THROW_SCOPE(vm);

            auto result = goo1(); // may throw.
            scope.release(); // WRONG !!! Don't do this.
            if (result)
                return;

            result = goo2(); // may throw.
            ...
            return result;
        }

    The above will result in a verification error in goo2()'s ThrowScope.  The
    proper way to fix this verification is to do either (6) or (7) below.

 6. Checking exceptions with ThrowScope::exception() / CatchScope::exception()

    ThrowScope/CatchScope::exception() returns the thrown Exception object if
    there is one pending.  Else, it returns nullptr.

    It also clears the m_needExceptionCheck bit thereby indicating that we've
    satisfied the needed exception check.  For example,

        void foo(...)
        {
            auto scope = DECLARE_THROW_SCOPE(vm);

            auto result = goo1(); // may throw.
            if (scope.exception())
                return;

            result = goo2(); // may throw.
            ...
            return result;
        }

    But sometimes, for optimization reasons, we may choose to test the result of
    the callee function instead doing a load of the VM exception value.  See (7)
    below.

 7. Checking exceptions by checking callee results

    This approach should only be applied when it makes a difference to performance.
    If we need to do this, we should add an ASSERT() that invokes the scope's
    exception() method to verify the result.  Since exception scope verification
    is only done on DEBUG builds, this ASSERT will satisfy the verification
    requirements without impacting performance.  For example,

        void foo(...)
        {
            auto scope = DECLARE_THROW_SCOPE(vm);

            bool failed = goo1(); // may throw.
            ASSERT(!!scope.exception() == failed)
            if (failed)
                return;

            result = goo2(); // may throw.
            ...
            return result;
        }

 8. Debugging verification errors

    a. When verification fails, you will see a message followed by an assertion
       failure.  For example:

    ERROR: Unchecked JS exception:
        This scope can throw a JS exception: setUpCall @ /Volumes/Data/ws6/OpenSource/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:1245
            (ExceptionScope::m_recursionDepth was ...)
        But the exception was unchecked as of this scope: varargsSetup @ /Volumes/Data/ws6/OpenSource/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:1398
            (ExceptionScope::m_recursionDepth was ...)
        [ backtrace here ]

       The message tells you that failure was detected at in varargsSetup() at
       LLIntSlowPaths.cpp line 1398, and that the missing exception check should
       have happened somewhere between the call to setUpCall() at LLIntSlowPaths.cpp
       line 1245 and it.

       If that is insufficient information, you can ...

    b. Dump simulated throws

       Re-run the test case with JSC_dumpSimulatedThrows=true.  You will also see
       back traces at each simulated throw.

    c. Narrowing down the source of a simulated throw

       Another technique for narrowing down the source of simulated throws is by
       further dividing a function to smaller regions by separating each region
       with additional local throw scopes.  For example,

        ... // Region 1
        { auto scope = DECLARE_THROW_SCOPE(vm); }
        ... // Region 2
        { auto scope = DECLARE_THROW_SCOPE(vm); }
        ... // Region 3

* API/APIUtils.h:
(handleExceptionIfNeeded):
* CMakeLists.txt:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bindings/ScriptFunctionCall.cpp:
(Deprecated::ScriptFunctionCall::call):
* bindings/ScriptValue.cpp:
(Deprecated::ScriptValue::toString):
* debugger/Debugger.cpp:
(JSC::Debugger::pauseIfNeeded):
* debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::evaluateWithScopeExtension):
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGOperations.cpp:
(JSC::DFG::operationPutByValInternal):
* inspector/InjectedScriptManager.cpp:
(Inspector::InjectedScriptManager::createInjectedScript):
* inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::reportAPIException):
* inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::evaluateWithScopeExtension):
(Inspector::JSInjectedScriptHost::getInternalProperties):
(Inspector::JSInjectedScriptHost::weakMapEntries):
(Inspector::JSInjectedScriptHost::weakSetEntries):
(Inspector::JSInjectedScriptHost::iteratorEntries):
* inspector/JSJavaScriptCallFrame.cpp:
(Inspector::JSJavaScriptCallFrame::evaluateWithScopeExtension):
* inspector/ScriptCallStackFactory.cpp:
(Inspector::extractSourceInformationFromException):
* interpreter/CachedCall.h:
(JSC::CachedCall::CachedCall):
* interpreter/CallFrame.h:
(JSC::ExecState::clearException): Deleted.
(JSC::ExecState::exception): Deleted.
(JSC::ExecState::hadException): Deleted.
(JSC::ExecState::lastException): Deleted.
(JSC::ExecState::clearLastException): Deleted.
* interpreter/Interpreter.cpp:
(JSC::eval):
(JSC::sizeOfVarargs):
(JSC::notifyDebuggerOfUnwinding):
(JSC::Interpreter::unwind):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):
(JSC::Interpreter::debug):
* interpreter/Interpreter.h:
(JSC::SuspendExceptionScope::SuspendExceptionScope):
* interpreter/ShadowChicken.cpp:
(JSC::ShadowChicken::functionsOnStack):
* jit/JITCode.cpp:
(JSC::JITCode::execute):
* jit/JITExceptions.cpp:
(JSC::genericUnwind):
* jit/JITOperations.cpp:
(JSC::getByVal):
* jsc.cpp:
(WTF::ImpureGetter::getOwnPropertySlot):
(GlobalObject::moduleLoaderResolve):
(GlobalObject::moduleLoaderFetch):
(functionCreateElement):
(functionRun):
(functionRunString):
(functionLoad):
(functionLoadString):
(functionReadFile):
(functionCheckSyntax):
(functionSetRandomSeed):
(functionLoadModule):
(functionCreateBuiltin):
(functionCheckModuleSyntax):
(functionGenerateHeapSnapshot):
(functionSamplingProfilerStackTraces):
(dumpException):
(checkUncaughtException):
(runWithScripts):
(runInteractive):
* llint/LLIntExceptions.cpp:
(JSC::LLInt::returnToThrow):
(JSC::LLInt::callToThrow):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* profiler/ProfilerBytecodeSequence.cpp:
(JSC::Profiler::BytecodeSequence::addSequenceProperties):
* profiler/ProfilerCompilation.cpp:
(JSC::Profiler::Compilation::toJS):
* profiler/ProfilerDatabase.cpp:
(JSC::Profiler::Database::toJS):
* profiler/ProfilerOSRExitSite.cpp:
(JSC::Profiler::OSRExitSite::toJS):
* profiler/ProfilerOriginStack.cpp:
(JSC::Profiler::OriginStack::toJS):
* runtime/ArrayPrototype.cpp:
(JSC::speciesConstructArray):
(JSC::shift):
(JSC::unshift):
(JSC::arrayProtoFuncToString):
(JSC::arrayProtoFuncToLocaleString):
(JSC::slowJoin):
(JSC::fastJoin):
(JSC::arrayProtoFuncJoin):
(JSC::arrayProtoFuncPop):
(JSC::arrayProtoFuncPush):
(JSC::arrayProtoFuncReverse):
(JSC::arrayProtoFuncShift):
(JSC::arrayProtoFuncSlice):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncUnShift):
(JSC::arrayProtoFuncIndexOf):
(JSC::arrayProtoFuncLastIndexOf):
(JSC::moveElements):
(JSC::concatAppendOne):
(JSC::arrayProtoPrivateFuncConcatMemcpy):
* runtime/BooleanConstructor.cpp:
(JSC::constructWithBooleanConstructor):
* runtime/CallData.cpp:
(JSC::call):
* runtime/CatchScope.cpp: Added.
(JSC::CatchScope::CatchScope):
(JSC::CatchScope::~CatchScope):
* runtime/CatchScope.h: Added.
(JSC::CatchScope::clearException):
(JSC::CatchScope::CatchScope):
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::opIn):
* runtime/CommonSlowPathsExceptions.cpp:
(JSC::CommonSlowPaths::interpreterThrowInCaller):
* runtime/Completion.cpp:
(JSC::evaluate):
(JSC::rejectPromise):
(JSC::loadAndEvaluateModule):
(JSC::loadModule):
* runtime/ConsoleObject.cpp:
(JSC::consoleProtoFuncAssert):
(JSC::consoleProtoFuncProfile):
(JSC::consoleProtoFuncProfileEnd):
(JSC::consoleProtoFuncTakeHeapSnapshot):
(JSC::consoleProtoFuncTime):
(JSC::consoleProtoFuncTimeEnd):
* runtime/DateConstructor.cpp:
(JSC::constructDate):
(JSC::dateParse):
* runtime/DatePrototype.cpp:
(JSC::dateProtoFuncToPrimitiveSymbol):
(JSC::dateProtoFuncToJSON):
* runtime/ErrorConstructor.cpp:
(JSC::Interpreter::constructWithErrorConstructor):
* runtime/ErrorInstance.cpp:
(JSC::ErrorInstance::sanitizedToString):
* runtime/ErrorPrototype.cpp:
(JSC::errorProtoFuncToString):
* runtime/ExceptionEventLocation.cpp: Added.
(WTF::printInternal):
* runtime/ExceptionEventLocation.h: Copied from Source/JavaScriptCore/runtime/ThrowScopeLocation.h.
(JSC::ExceptionEventLocation::ExceptionEventLocation):
(JSC::ThrowScopeLocation::ThrowScopeLocation): Deleted.
* runtime/ExceptionHelpers.h:
* runtime/ExceptionScope.cpp: Added.
(JSC::ExceptionScope::ExceptionScope):
(JSC::ExceptionScope::~ExceptionScope):
* runtime/ExceptionScope.h: Added.
(JSC::ExceptionScope::vm):
(JSC::ExceptionScope::recursionDepth):
(JSC::ExceptionScope::exception):
(JSC::ExceptionScope::ExceptionScope):
* runtime/FunctionConstructor.cpp:
(JSC::constructFunctionSkippingEvalEnabledCheck):
* runtime/FunctionPrototype.cpp:
(JSC::functionProtoFuncBind):
* runtime/GenericArgumentsInlines.h:
(JSC::GenericArguments<Type>::copyToArguments):
* runtime/GetterSetter.cpp:
(JSC::callGetter):
* runtime/InspectorInstrumentationObject.cpp:
(JSC::inspectorInstrumentationObjectLog):
* runtime/InternalFunction.cpp:
(JSC::InternalFunction::createSubclassStructure):
* runtime/IntlCollator.cpp:
(JSC::IntlCollator::initializeCollator):
(JSC::IntlCollator::createCollator):
(JSC::IntlCollator::resolvedOptions):
* runtime/IntlCollatorConstructor.cpp:
(JSC::constructIntlCollator):
(JSC::IntlCollatorConstructorFuncSupportedLocalesOf):
* runtime/IntlCollatorPrototype.cpp:
(JSC::IntlCollatorFuncCompare):
(JSC::IntlCollatorPrototypeGetterCompare):
* runtime/IntlDateTimeFormat.cpp:
(JSC::toDateTimeOptionsAnyDate):
(JSC::IntlDateTimeFormat::initializeDateTimeFormat):
(JSC::IntlDateTimeFormat::resolvedOptions):
(JSC::IntlDateTimeFormat::format):
* runtime/IntlDateTimeFormatConstructor.cpp:
(JSC::constructIntlDateTimeFormat):
(JSC::IntlDateTimeFormatConstructorFuncSupportedLocalesOf):
* runtime/IntlDateTimeFormatPrototype.cpp:
(JSC::IntlDateTimeFormatFuncFormatDateTime):
(JSC::IntlDateTimeFormatPrototypeGetterFormat):
* runtime/IntlNumberFormat.cpp:
(JSC::IntlNumberFormat::initializeNumberFormat):
(JSC::IntlNumberFormat::createNumberFormat):
(JSC::IntlNumberFormat::resolvedOptions):
* runtime/IntlNumberFormatConstructor.cpp:
(JSC::constructIntlNumberFormat):
(JSC::IntlNumberFormatConstructorFuncSupportedLocalesOf):
* runtime/IntlNumberFormatPrototype.cpp:
(JSC::IntlNumberFormatFuncFormatNumber):
(JSC::IntlNumberFormatPrototypeGetterFormat):
* runtime/IntlObject.cpp:
(JSC::intlBooleanOption):
(JSC::intlStringOption):
(JSC::intlNumberOption):
(JSC::canonicalizeLocaleList):
(JSC::supportedLocales):
* runtime/IntlObjectInlines.h:
(JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor):
* runtime/IteratorOperations.cpp:
(JSC::iteratorNext):
(JSC::iteratorStep):
(JSC::iteratorClose):
(JSC::iteratorForIterable):
* runtime/IteratorOperations.h:
(JSC::forEachInIterable):
* runtime/JSArray.cpp:
(JSC::JSArray::pop):
(JSC::JSArray::push):
(JSC::JSArray::copyToArguments):
* runtime/JSArrayBufferConstructor.cpp:
(JSC::constructArrayBuffer):
* runtime/JSArrayBufferPrototype.cpp:
(JSC::arrayBufferProtoFuncSlice):
* runtime/JSArrayInlines.h:
(JSC::getLength):
(JSC::toLength):
* runtime/JSBoundFunction.cpp:
(JSC::getBoundFunctionStructure):
(JSC::JSBoundFunction::create):
* runtime/JSCJSValue.cpp:
(JSC::JSValue::putToPrimitive):
(JSC::JSValue::putToPrimitiveByIndex):
(JSC::JSValue::toStringSlowCase):
* runtime/JSCJSValueInlines.h:
(JSC::toPreferredPrimitiveType):
(JSC::JSValue::getPropertySlot):
(JSC::JSValue::equalSlowCaseInline):
* runtime/JSDataViewPrototype.cpp:
(JSC::getData):
(JSC::setData):
* runtime/JSFunction.cpp:
(JSC::JSFunction::setFunctionName):
* runtime/JSGenericTypedArrayView.h:
(JSC::JSGenericTypedArrayView::setIndex):
* runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructGenericTypedArrayViewFromIterator):
(JSC::constructGenericTypedArrayViewWithArguments):
(JSC::constructGenericTypedArrayView):
* runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::speciesConstruct):
(JSC::genericTypedArrayViewProtoFuncCopyWithin):
(JSC::genericTypedArrayViewProtoFuncIncludes):
(JSC::genericTypedArrayViewProtoFuncIndexOf):
(JSC::genericTypedArrayViewProtoFuncJoin):
(JSC::genericTypedArrayViewProtoFuncLastIndexOf):
(JSC::genericTypedArrayViewProtoFuncSlice):
(JSC::genericTypedArrayViewPrivateFuncSubarrayCreate):
* runtime/JSGlobalObject.h:
(JSC::constructEmptyArray):
(JSC::constructArray):
(JSC::constructArrayNegativeIndexed):
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncEval):
* runtime/JSJob.cpp:
(JSC::JSJobMicrotask::run):
* runtime/JSModuleEnvironment.cpp:
(JSC::JSModuleEnvironment::getOwnPropertySlot):
* runtime/JSModuleLoader.cpp:
(JSC::JSModuleLoader::fetch):
* runtime/JSModuleNamespaceObject.cpp:
(JSC::JSModuleNamespaceObject::finishCreation):
(JSC::JSModuleNamespaceObject::getOwnPropertySlot):
* runtime/JSModuleRecord.cpp:
(JSC::JSModuleRecord::instantiateDeclarations):
* runtime/JSONObject.cpp:
(JSC::Stringifier::Stringifier):
(JSC::Stringifier::stringify):
(JSC::Stringifier::toJSON):
(JSC::Stringifier::appendStringifiedValue):
(JSC::Stringifier::Holder::appendNextProperty):
(JSC::Walker::walk):
(JSC::JSONProtoFuncParse):
* runtime/JSObject.cpp:
(JSC::ordinarySetSlow):
(JSC::JSObject::setPrototypeWithCycleCheck):
(JSC::callToPrimitiveFunction):
(JSC::JSObject::ordinaryToPrimitive):
(JSC::JSObject::defaultHasInstance):
(JSC::JSObject::getPropertyNames):
(JSC::JSObject::toNumber):
(JSC::JSObject::toString):
(JSC::JSObject::defineOwnNonIndexProperty):
(JSC::JSObject::getGenericPropertyNames):
(JSC::JSObject::getMethod):
* runtime/JSObjectInlines.h:
(JSC::createListFromArrayLike):
(JSC::JSObject::getPropertySlot):
(JSC::JSObject::getNonIndexPropertySlot):
* runtime/JSPromiseConstructor.cpp:
(JSC::constructPromise):
* runtime/JSPropertyNameEnumerator.h:
(JSC::propertyNameEnumerator):
* runtime/JSPropertyNameIterator.cpp:
(JSC::JSPropertyNameIterator::create):
* runtime/JSScope.cpp:
(JSC::isUnscopable):
(JSC::JSScope::resolve):
* runtime/JSString.cpp:
(JSC::JSString::equalSlowCase):
* runtime/JSStringJoiner.cpp:
(JSC::JSStringJoiner::join):
* runtime/LiteralParser.cpp:
(JSC::LiteralParser<CharType>::parse):
* runtime/MapConstructor.cpp:
(JSC::constructMap):
* runtime/MathObject.cpp:
(JSC::mathProtoFuncClz32):
(JSC::mathProtoFuncHypot):
(JSC::mathProtoFuncIMul):
* runtime/ModuleLoaderPrototype.cpp:
(JSC::moduleLoaderPrototypeParseModule):
(JSC::moduleLoaderPrototypeRequestedModules):
(JSC::moduleLoaderPrototypeModuleDeclarationInstantiation):
* runtime/NativeErrorConstructor.cpp:
(JSC::Interpreter::constructWithNativeErrorConstructor):
* runtime/NumberConstructor.cpp:
(JSC::constructWithNumberConstructor):
* runtime/ObjectConstructor.cpp:
(JSC::constructObject):
(JSC::objectConstructorGetPrototypeOf):
(JSC::objectConstructorSetPrototypeOf):
(JSC::objectConstructorGetOwnPropertyDescriptor):
(JSC::objectConstructorGetOwnPropertyDescriptors):
(JSC::objectConstructorGetOwnPropertyNames):
(JSC::objectConstructorGetOwnPropertySymbols):
(JSC::objectConstructorKeys):
(JSC::ownEnumerablePropertyKeys):
(JSC::toPropertyDescriptor):
(JSC::objectConstructorDefineProperty):
(JSC::defineProperties):
(JSC::objectConstructorSeal):
(JSC::objectConstructorFreeze):
(JSC::objectConstructorIsSealed):
(JSC::objectConstructorIsFrozen):
(JSC::objectConstructorIsExtensible):
(JSC::ownPropertyKeys):
* runtime/ObjectConstructor.h:
(JSC::constructObjectFromPropertyDescriptor):
* runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncHasOwnProperty):
(JSC::objectProtoFuncIsPrototypeOf):
(JSC::objectProtoFuncDefineGetter):
(JSC::objectProtoFuncDefineSetter):
(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):
(JSC::objectProtoFuncPropertyIsEnumerable):
(JSC::objectProtoFuncToLocaleString):
(JSC::objectProtoFuncToString):
* runtime/Operations.cpp:
(JSC::jsAddSlowCase):
* runtime/Options.h:
* runtime/PropertyDescriptor.cpp:
(JSC::PropertyDescriptor::slowGetterSetter):
* runtime/ProxyConstructor.cpp:
(JSC::makeRevocableProxy):
* runtime/ProxyObject.cpp:
(JSC::ProxyObject::toStringName):
(JSC::performProxyGet):
(JSC::ProxyObject::performGet):
(JSC::ProxyObject::performInternalMethodGetOwnProperty):
(JSC::ProxyObject::performHasProperty):
(JSC::ProxyObject::performPut):
(JSC::ProxyObject::putByIndexCommon):
(JSC::performProxyCall):
(JSC::performProxyConstruct):
(JSC::ProxyObject::performDelete):
(JSC::ProxyObject::performPreventExtensions):
(JSC::ProxyObject::performIsExtensible):
(JSC::ProxyObject::performDefineOwnProperty):
(JSC::ProxyObject::performGetOwnPropertyNames):
(JSC::ProxyObject::performSetPrototype):
(JSC::ProxyObject::performGetPrototype):
* runtime/ReflectObject.cpp:
(JSC::reflectObjectConstruct):
(JSC::reflectObjectDefineProperty):
(JSC::reflectObjectGet):
(JSC::reflectObjectGetOwnPropertyDescriptor):
(JSC::reflectObjectIsExtensible):
(JSC::reflectObjectPreventExtensions):
(JSC::reflectObjectSet):
(JSC::reflectObjectSetPrototypeOf):
* runtime/RegExpConstructor.cpp:
(JSC::toFlags):
(JSC::regExpCreate):
(JSC::constructRegExp):
* runtime/RegExpConstructor.h:
(JSC::isRegExp):
* runtime/RegExpObject.cpp:
(JSC::collectMatches):
(JSC::RegExpObject::matchGlobal):
* runtime/RegExpPrototype.cpp:
(JSC::regExpProtoFuncCompile):
(JSC::flagsString):
(JSC::regExpProtoFuncToString):
(JSC::regExpProtoGetterFlags):
(JSC::regExpProtoFuncSearchFast):
(JSC::regExpProtoFuncSplitFast):
* runtime/SetConstructor.cpp:
(JSC::constructSet):
* runtime/StringConstructor.cpp:
(JSC::stringFromCodePoint):
(JSC::constructWithStringConstructor):
* runtime/StringObject.cpp:
(JSC::StringObject::defineOwnProperty):
* runtime/StringPrototype.cpp:
(JSC::replaceUsingRegExpSearch):
(JSC::operationStringProtoFuncReplaceRegExpEmptyStr):
(JSC::replaceUsingStringSearch):
(JSC::replace):
(JSC::stringProtoFuncReplaceUsingRegExp):
(JSC::stringProtoFuncReplaceUsingStringSearch):
(JSC::stringProtoFuncCodePointAt):
(JSC::stringProtoFuncSlice):
(JSC::stringProtoFuncSplitFast):
(JSC::stringProtoFuncSubstr):
(JSC::stringProtoFuncSubstring):
(JSC::stringProtoFuncLocaleCompare):
(JSC::toLocaleCase):
(JSC::stringProtoFuncBig):
(JSC::stringProtoFuncSmall):
(JSC::stringProtoFuncBlink):
(JSC::stringProtoFuncBold):
(JSC::stringProtoFuncFixed):
(JSC::stringProtoFuncItalics):
(JSC::stringProtoFuncStrike):
(JSC::stringProtoFuncSub):
(JSC::stringProtoFuncSup):
(JSC::stringProtoFuncFontcolor):
(JSC::stringProtoFuncFontsize):
(JSC::stringProtoFuncAnchor):
(JSC::stringProtoFuncLink):
(JSC::trimString):
(JSC::stringProtoFuncStartsWith):
(JSC::stringProtoFuncEndsWith):
(JSC::stringIncludesImpl):
(JSC::stringProtoFuncIncludes):
(JSC::builtinStringIncludesInternal):
(JSC::stringProtoFuncNormalize):
* runtime/SymbolConstructor.cpp:
(JSC::symbolConstructorFor):
* runtime/TemplateRegistry.cpp:
(JSC::TemplateRegistry::getTemplateObject):
* runtime/ThrowScope.cpp:
(JSC::ThrowScope::ThrowScope):
(JSC::ThrowScope::~ThrowScope):
(JSC::ThrowScope::throwException):
(JSC::ThrowScope::simulateThrow):
(JSC::ThrowScope::printIfNeedCheck): Deleted.
(JSC::ThrowScope::verifyExceptionCheckNeedIsSatisfied): Deleted.
* runtime/ThrowScope.h:
(JSC::ThrowScope::release):
(JSC::ThrowScope::ThrowScope):
(JSC::ThrowScope::throwException):
(JSC::ThrowScope::vm): Deleted.
(JSC::ThrowScope::exception): Deleted.
* runtime/ThrowScopeLocation.h: Removed.
* runtime/VM.cpp:
(JSC::VM::verifyExceptionCheckNeedIsSatisfied):
* runtime/VM.h:
(JSC::VM::exception):
(JSC::VM::clearException):
(JSC::VM::setException): Deleted.
* runtime/WeakMapConstructor.cpp:
(JSC::constructWeakMap):
* runtime/WeakSetConstructor.cpp:
(JSC::constructWeakSet):
* tools/JSDollarVMPrototype.cpp:
(JSC::functionPrint):

Source/WebCore:

No new test because there is no behavior change in general except for 1 bug fix.
That bug is already caught by existing tests with the introduction of the CatchScope.

Fixes a bug in JSEventListener::handleEvent() where the exception thrown from
a failed attempt to get the handleEvent callback is not handled.

* ForwardingHeaders/runtime/CatchScope.h: Added.
* Modules/encryptedmedia/CDMSessionClearKey.cpp:
(WebCore::CDMSessionClearKey::update):
* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::putOrAdd):
* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):
* Modules/mediastream/SDPProcessor.cpp:
(WebCore::SDPProcessor::callScript):
* Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected):
(WebCore::QuickTimePluginReplacement::installReplacement):
* bindings/js/ArrayValue.cpp:
(WebCore::ArrayValue::get):
* bindings/js/Dictionary.cpp:
(WebCore::Dictionary::getOwnPropertiesAsStringHashMap):
* bindings/js/IDBBindingUtilities.cpp:
(WebCore::toJS):
* bindings/js/JSApplePaySessionCustom.cpp:
(WebCore::JSApplePaySession::completeShippingMethodSelection):
(WebCore::JSApplePaySession::completeShippingContactSelection):
(WebCore::JSApplePaySession::completePaymentMethodSelection):
* bindings/js/JSAudioTrackCustom.cpp:
(WebCore::JSAudioTrack::setKind):
(WebCore::JSAudioTrack::setLanguage):
* bindings/js/JSBlobCustom.cpp:
(WebCore::constructJSBlob):
* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
* bindings/js/JSCommandLineAPIHostCustom.cpp:
(WebCore::getJSListenerFunctions):
* bindings/js/JSCryptoAlgorithmDictionary.cpp:
(WebCore::JSCryptoAlgorithmDictionary::getAlgorithmIdentifier):
(WebCore::getHashAlgorithm):
(WebCore::createAesCbcParams):
(WebCore::createAesKeyGenParams):
(WebCore::createHmacParams):
(WebCore::createHmacKeyParams):
(WebCore::createRsaKeyGenParams):
(WebCore::createRsaOaepParams):
(WebCore::createRsaSsaParams):
* bindings/js/JSCryptoKeySerializationJWK.cpp:
(WebCore::getJSArrayFromJSON):
(WebCore::getStringFromJSON):
(WebCore::getBooleanFromJSON):
(WebCore::JSCryptoKeySerializationJWK::JSCryptoKeySerializationJWK):
(WebCore::JSCryptoKeySerializationJWK::reconcileUsages):
(WebCore::JSCryptoKeySerializationJWK::keyDataOctetSequence):
(WebCore::JSCryptoKeySerializationJWK::keyDataRSAComponents):
(WebCore::JSCryptoKeySerializationJWK::keyData):
(WebCore::buildJSONForRSAComponents):
(WebCore::addUsagesToJSON):
(WebCore::JSCryptoKeySerializationJWK::serialize):
* bindings/js/JSCustomElementInterface.cpp:
(WebCore::JSCustomElementInterface::constructElement):
(WebCore::constructCustomElementSynchronously):
(WebCore::JSCustomElementInterface::upgradeElement):
* bindings/js/JSCustomElementRegistryCustom.cpp:
(WebCore::getCustomElementCallback):
(WebCore::JSCustomElementRegistry::define):
(WebCore::whenDefinedPromise):
(WebCore::JSCustomElementRegistry::whenDefined):
* bindings/js/JSDOMBinding.cpp:
(WebCore::valueToUSVString):
(WebCore::reportException):
(WebCore::reportCurrentException):
(WebCore::setDOMException):
(WebCore::hasIteratorMethod):
(WebCore::toSmallerInt):
(WebCore::toSmallerUInt):
(WebCore::toInt32EnforceRange):
(WebCore::toUInt32EnforceRange):
(WebCore::toInt64EnforceRange):
(WebCore::toUInt64EnforceRange):
(WebCore::throwNotSupportedError):
(WebCore::throwInvalidStateError):
(WebCore::throwSecurityError):
* bindings/js/JSDOMBinding.h:
(WebCore::toJSSequence):
(WebCore::toJS):
(WebCore::jsFrozenArray):
(WebCore::NativeValueTraits<String>::nativeValue):
(WebCore::NativeValueTraits<unsigned>::nativeValue):
(WebCore::NativeValueTraits<float>::nativeValue):
(WebCore::NativeValueTraits<double>::nativeValue):
(WebCore::toNativeArray):
* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::makeThisTypeErrorForBuiltins):
(WebCore::makeGetterTypeErrorForBuiltins):
* bindings/js/JSDOMGlobalObjectTask.cpp:
* bindings/js/JSDOMIterator.h:
(WebCore::iteratorForEach):
* bindings/js/JSDOMPromise.cpp:
(WebCore::rejectPromiseWithExceptionIfAny):
* bindings/js/JSDOMPromise.h:
(WebCore::callPromiseFunction):
* bindings/js/JSDOMStringMapCustom.cpp:
(WebCore::JSDOMStringMap::putDelegate):
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowMicrotaskCallback::call):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::setLocation):
(WebCore::JSDOMWindow::open):
(WebCore::JSDOMWindow::showModalDialog):
(WebCore::handlePostMessage):
(WebCore::JSDOMWindow::setTimeout):
(WebCore::JSDOMWindow::setInterval):
* bindings/js/JSDataCueCustom.cpp:
(WebCore::constructJSDataCue):
* bindings/js/JSDeviceMotionEventCustom.cpp:
(WebCore::readAccelerationArgument):
(WebCore::readRotationRateArgument):
(WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
* bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::tryGetProperty):
(WebCore::JSDictionary::convertValue):
* bindings/js/JSDictionary.h:
(WebCore::JSDictionary::tryGetPropertyAndResult):
* bindings/js/JSDocumentCustom.cpp:
(WebCore::JSDocument::getCSSCanvasContext):
* bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::handleEvent):
* bindings/js/JSFileCustom.cpp:
(WebCore::constructJSFile):
* bindings/js/JSGeolocationCustom.cpp:
(WebCore::createPositionOptions):
(WebCore::JSGeolocation::getCurrentPosition):
(WebCore::JSGeolocation::watchPosition):
* bindings/js/JSHTMLAllCollectionCustom.cpp:
(WebCore::callHTMLAllCollection):
* bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::get3DContextAttributes):
(WebCore::JSHTMLCanvasElement::getContext):
(WebCore::JSHTMLCanvasElement::probablySupportsContext):
* bindings/js/JSHTMLElementCustom.cpp:
(WebCore::constructJSHTMLElement):
* bindings/js/JSHistoryCustom.cpp:
(WebCore::JSHistory::pushState):
(WebCore::JSHistory::replaceState):
* bindings/js/JSIDBDatabaseCustom.cpp:
(WebCore::JSIDBDatabase::createObjectStore):
* bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::initializeJSFunction):
* bindings/js/JSMainThreadExecState.h:
(WebCore::JSMainThreadExecState::linkAndEvaluateModule):
(WebCore::JSMainThreadExecState::~JSMainThreadExecState):
* bindings/js/JSMessageEventCustom.cpp:
(WebCore::handleInitMessageEvent):
* bindings/js/JSMessagePortCustom.cpp:
(WebCore::fillMessagePortArray):
* bindings/js/JSMessagePortCustom.h:
(WebCore::handlePostMessage):
* bindings/js/JSMockContentFilterSettingsCustom.cpp:
(WebCore::JSMockContentFilterSettings::setDecisionPoint):
(WebCore::toDecision):
(WebCore::JSMockContentFilterSettings::setDecision):
(WebCore::JSMockContentFilterSettings::setUnblockRequestDecision):
* bindings/js/JSNodeFilterCustom.cpp:
(WebCore::JSNodeFilter::acceptNode):
* bindings/js/JSNodeOrString.cpp:
(WebCore::toNodeOrStringVector):
* bindings/js/JSSQLTransactionCustom.cpp:
(WebCore::JSSQLTransaction::executeSql):
* bindings/js/JSSVGLengthCustom.cpp:
(WebCore::JSSVGLength::convertToSpecifiedUnits):
* bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::getOwnPropertyNames):
(WebCore::JSStorage::putDelegate):
* bindings/js/JSTextTrackCustom.cpp:
(WebCore::JSTextTrack::setLanguage):
* bindings/js/JSVideoTrackCustom.cpp:
(WebCore::JSVideoTrack::setKind):
(WebCore::JSVideoTrack::setLanguage):
* bindings/js/JSWebGL2RenderingContextCustom.cpp:
(WebCore::JSWebGL2RenderingContext::getIndexedParameter):
* bindings/js/JSWebGLRenderingContextBaseCustom.cpp:
(WebCore::getObjectParameter):
(WebCore::JSWebGLRenderingContextBase::getExtension):
(WebCore::JSWebGLRenderingContextBase::getFramebufferAttachmentParameter):
(WebCore::JSWebGLRenderingContextBase::getParameter):
(WebCore::JSWebGLRenderingContextBase::getProgramParameter):
(WebCore::JSWebGLRenderingContextBase::getShaderParameter):
(WebCore::toVector):
(WebCore::dataFunctionf):
(WebCore::dataFunctionMatrix):
* bindings/js/JSWebKitSubtleCryptoCustom.cpp:
(WebCore::createAlgorithmFromJSValue):
(WebCore::cryptoKeyFormatFromJSValue):
(WebCore::cryptoKeyUsagesFromJSValue):
(WebCore::JSWebKitSubtleCrypto::encrypt):
(WebCore::JSWebKitSubtleCrypto::decrypt):
(WebCore::JSWebKitSubtleCrypto::sign):
(WebCore::JSWebKitSubtleCrypto::verify):
(WebCore::JSWebKitSubtleCrypto::digest):
(WebCore::JSWebKitSubtleCrypto::generateKey):
(WebCore::importKey):
(WebCore::JSWebKitSubtleCrypto::importKey):
(WebCore::exportKey):
(WebCore::JSWebKitSubtleCrypto::exportKey):
(WebCore::JSWebKitSubtleCrypto::wrapKey):
(WebCore::JSWebKitSubtleCrypto::unwrapKey):
* bindings/js/JSWorkerCustom.cpp:
(WebCore::constructJSWorker):
* bindings/js/JSWorkerGlobalScopeCustom.cpp:
(WebCore::JSWorkerGlobalScope::importScripts):
(WebCore::JSWorkerGlobalScope::setTimeout):
(WebCore::JSWorkerGlobalScope::setInterval):
* bindings/js/ReadableStreamDefaultController.cpp:
(WebCore::ReadableStreamDefaultController::invoke):
(WebCore::ReadableStreamDefaultController::isControlledReadableStreamLocked):
* bindings/js/ReadableStreamDefaultController.h:
(WebCore::ReadableStreamDefaultController::enqueue):
* bindings/js/ScheduledAction.cpp:
(WebCore::ScheduledAction::create):
* bindings/js/ScriptGlobalObject.cpp:
(WebCore::ScriptGlobalObject::set):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneBase::shouldTerminate):
(WebCore::CloneDeserializer::deserialize):
(WebCore::SerializedScriptValue::create):
(WebCore::SerializedScriptValue::deserialize):
* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateDictionaryImplementationContent):
(GenerateImplementation):
(GenerateParametersCheck):
(GenerateImplementationFunctionCall):
(GenerateConstructorDefinition):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructorConstructor::construct):
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::jsTestEventTargetPrototypeFunctionItem):
* bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::setJSTestGlobalObjectRegularAttribute):
(WebCore::setJSTestGlobalObjectPublicAndPrivateAttribute):
(WebCore::setJSTestGlobalObjectPublicAndPrivateConditionalAttribute):
(WebCore::setJSTestGlobalObjectEnabledAtRuntimeAttribute):
(WebCore::jsTestGlobalObjectInstanceFunctionRegularOperation):
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation1):
(WebCore::jsTestGlobalObjectInstanceFunctionEnabledAtRuntimeOperation2):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::construct):
(WebCore::setJSTestInterfaceConstructorImplementsStaticAttr):
(WebCore::setJSTestInterfaceImplementsStr2):
(WebCore::setJSTestInterfaceImplementsStr3):
(WebCore::setJSTestInterfaceImplementsNode):
(WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr):
(WebCore::setJSTestInterfaceSupplementalStr2):
(WebCore::setJSTestInterfaceSupplementalStr3):
(WebCore::setJSTestInterfaceSupplementalNode):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
* bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::setJSTestJSBuiltinConstructorTestAttributeRWCustom):
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorNamedConstructor::construct):
* bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::setJSTestNodeName):
* bindings/scripts/test/JS/JSTestNondeterministic.cpp:
(WebCore::setJSTestNondeterministicNondeterministicWriteableAttr):
(WebCore::setJSTestNondeterministicNondeterministicExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicGetterExceptionAttr):
(WebCore::setJSTestNondeterministicNondeterministicSetterExceptionAttr):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::convertDictionary<TestObj::Dictionary>):
(WebCore::convertDictionary<TestObj::DictionaryThatShouldNotTolerateNull>):
(WebCore::convertDictionary<TestObj::DictionaryThatShouldTolerateNull>):
(WebCore::convertDictionary<AlternateDictionaryName>):
(WebCore::setJSTestObjConstructorStaticStringAttr):
(WebCore::setJSTestObjTestSubObjEnabledBySettingConstructor):
(WebCore::setJSTestObjEnumAttr):
(WebCore::setJSTestObjByteAttr):
(WebCore::setJSTestObjOctetAttr):
(WebCore::setJSTestObjShortAttr):
(WebCore::setJSTestObjClampedShortAttr):
(WebCore::setJSTestObjEnforceRangeShortAttr):
(WebCore::setJSTestObjUnsignedShortAttr):
(WebCore::setJSTestObjLongAttr):
(WebCore::setJSTestObjLongLongAttr):
(WebCore::setJSTestObjUnsignedLongLongAttr):
(WebCore::setJSTestObjStringAttr):
(WebCore::setJSTestObjUsvstringAttr):
(WebCore::setJSTestObjTestObjAttr):
(WebCore::setJSTestObjTestNullableObjAttr):
(WebCore::setJSTestObjLenientTestObjAttr):
(WebCore::setJSTestObjStringAttrTreatingNullAsEmptyString):
(WebCore::setJSTestObjUsvstringAttrTreatingNullAsEmptyString):
(WebCore::setJSTestObjImplementationEnumAttr):
(WebCore::setJSTestObjXMLObjAttr):
(WebCore::setJSTestObjCreate):
(WebCore::setJSTestObjReflectedStringAttr):
(WebCore::setJSTestObjReflectedUSVStringAttr):
(WebCore::setJSTestObjReflectedIntegralAttr):
(WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
(WebCore::setJSTestObjReflectedBooleanAttr):
(WebCore::setJSTestObjReflectedURLAttr):
(WebCore::setJSTestObjReflectedUSVURLAttr):
(WebCore::setJSTestObjReflectedCustomIntegralAttr):
(WebCore::setJSTestObjReflectedCustomBooleanAttr):
(WebCore::setJSTestObjReflectedCustomURLAttr):
(WebCore::setJSTestObjEnabledAtRuntimeAttribute):
(WebCore::setJSTestObjTypedArrayAttr):
(WebCore::setJSTestObjAttrWithGetterException):
(WebCore::setJSTestObjAttrWithGetterExceptionWithMessage):
(WebCore::setJSTestObjAttrWithSetterException):
(WebCore::setJSTestObjAttrWithSetterExceptionWithMessage):
(WebCore::setJSTestObjStringAttrWithGetterException):
(WebCore::setJSTestObjStringAttrWithSetterException):
(WebCore::setJSTestObjCustomAttr):
(WebCore::setJSTestObjOnfoo):
(WebCore::setJSTestObjOnwebkitfoo):
(WebCore::setJSTestObjWithScriptStateAttribute):
(WebCore::setJSTestObjWithCallWithAndSetterCallWithAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAttribute):
(WebCore::setJSTestObjWithScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::setJSTestObjConditionalAttr1):
(WebCore::setJSTestObjConditionalAttr2):
(WebCore::setJSTestObjConditionalAttr3):
(WebCore::setJSTestObjConditionalAttr4Constructor):
(WebCore::setJSTestObjConditionalAttr5Constructor):
(WebCore::setJSTestObjConditionalAttr6Constructor):
(WebCore::setJSTestObjAnyAttribute):
(WebCore::setJSTestObjMutablePoint):
(WebCore::setJSTestObjImmutablePoint):
(WebCore::setJSTestObjStrawberry):
(WebCore::setJSTestObjId):
(WebCore::setJSTestObjReplaceableAttribute):
(WebCore::setJSTestObjNullableLongSettableAttribute):
(WebCore::setJSTestObjNullableStringSettableAttribute):
(WebCore::setJSTestObjNullableUSVStringSettableAttribute):
(WebCore::setJSTestObjNullableStringValue):
(WebCore::setJSTestObjAttributeWithReservedEnumType):
(WebCore::setJSTestObjPutForwardsAttribute):
(WebCore::setJSTestObjPutForwardsNullableAttribute):
(WebCore::setJSTestObjStringifierAttribute):
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation1):
(WebCore::jsTestObjPrototypeFunctionEnabledAtRuntimeOperation2):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithArgTreatingNullAsEmptyString):
(WebCore::jsTestObjPrototypeFunctionMethodWithXPathNSResolverParameter):
(WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod):
(WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalEnumArgAndDefaultValue):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNullableUSVStringArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithUSVStringArgTreatingNullAsEmptyString):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionPrivateMethod):
(WebCore::jsTestObjPrototypeFunctionPublicAndPrivateMethod):
(WebCore::jsTestObjPrototypeFunctionAddEventListener):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArgAndDefaultValue):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringAndDefaultValue):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicStringAndDefaultValue):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNull):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicStringIsNull):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsEmptyString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUSVStringIsEmptyString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalAtomicStringIsEmptyString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalDoubleIsNaN):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalFloatIsNaN):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLong):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalLongLongIsZero):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLong):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalUnsignedLongLongIsZero):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequenceIsEmpty):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBoolean):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalBooleanIsFalse):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalXPathNSResolver):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackFunctionArg):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter2):
(WebCore::jsTestObjConstructorFunctionClassMethodWithOptional):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
(WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithEnforceRange):
(WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
(WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
(WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence):
(WebCore::jsTestObjPrototypeFunctionGetElementById):
(WebCore::jsTestObjPrototypeFunctionConvert3):
(WebCore::jsTestObjPrototypeFunctionConvert4):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
(WebCore::jsTestObjPrototypeFunctionAny):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithFloatArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseFunctionWithOptionalIntArgumentPromise):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction1Promise):
(WebCore::jsTestObjPrototypeFunctionConditionalOverload1):
(WebCore::jsTestObjPrototypeFunctionConditionalOverload2):
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload1):
(WebCore::jsTestObjPrototypeFunctionSingleConditionalOverload2):
(WebCore::jsTestObjPrototypeFunctionAttachShadowRoot):
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::constructJSTestOverloadedConstructors1):
(WebCore::constructJSTestOverloadedConstructors2):
(WebCore::constructJSTestOverloadedConstructors4):
(WebCore::constructJSTestOverloadedConstructors5):
* bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
(WebCore::constructJSTestOverloadedConstructorsWithSequence1):
(WebCore::constructJSTestOverloadedConstructorsWithSequence2):
* bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
(WebCore::jsTestOverrideBuiltinsPrototypeFunctionNamedItem):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::setJSTestSerializedScriptValueInterfaceValue):
(WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::construct):
(WebCore::setJSTestTypedefsUnsignedLongLongAttr):
(WebCore::setJSTestTypedefsImmutableSerializedScriptValue):
(WebCore::setJSTestTypedefsAttrWithGetterException):
(WebCore::setJSTestTypedefsAttrWithSetterException):
(WebCore::setJSTestTypedefsStringAttrWithGetterException):
(WebCore::setJSTestTypedefsStringAttrWithSetterException):
(WebCore::jsTestTypedefsPrototypeFunctionFunc):
(WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionNullableSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
(WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringSequenceFunction2):
(WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
* bridge/NP_jsobject.cpp:
(_NPN_InvokeDefault):
(_NPN_Invoke):
(_NPN_Evaluate):
(_NPN_GetProperty):
(_NPN_SetProperty):
(_NPN_RemoveProperty):
(_NPN_HasProperty):
(_NPN_HasMethod):
(_NPN_Enumerate):
(_NPN_Construct):
* bridge/c/c_instance.cpp:
(JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
* bridge/objc/WebScriptObject.mm:
(WebCore::addExceptionToConsole):
(-[WebScriptObject callWebScriptMethod:withArguments:]):
(-[WebScriptObject evaluateWebScript:]):
(-[WebScriptObject setValue:forKey:]):
(-[WebScriptObject valueForKey:]):
(-[WebScriptObject removeWebScriptKey:]):
(-[WebScriptObject hasWebScriptKey:]):
(-[WebScriptObject webScriptValueAtIndex:]):
(-[WebScriptObject setWebScriptValueAtIndex:value:]):
* contentextensions/ContentExtensionParser.cpp:
(WebCore::ContentExtensions::getDomainList):
(WebCore::ContentExtensions::getTypeFlags):
(WebCore::ContentExtensions::loadTrigger):
(WebCore::ContentExtensions::loadAction):
(WebCore::ContentExtensions::loadEncodedRules):
* html/HTMLMediaElement.cpp:
(WebCore::controllerJSValue):
(WebCore::HTMLMediaElement::updateCaptionContainer):
(WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript):
(WebCore::HTMLMediaElement::didAddUserAgentShadowRoot):
(WebCore::HTMLMediaElement::updateMediaControlsAfterPresentationModeChange):
(WebCore::HTMLMediaElement::getCurrentMediaControlsStatus):
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):

Source/WebKit/mac:

* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::evaluate):
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::invokeDefault):
(WebKit::NetscapePluginInstanceProxy::construct):
(WebKit::NetscapePluginInstanceProxy::getProperty):
(WebKit::NetscapePluginInstanceProxy::setProperty):
(WebKit::NetscapePluginInstanceProxy::removeProperty):
(WebKit::NetscapePluginInstanceProxy::hasProperty):
(WebKit::NetscapePluginInstanceProxy::hasMethod):
(WebKit::NetscapePluginInstanceProxy::enumerate):
* WebView/WebView.mm:
(aeDescFromJSValue):

Source/WebKit/win:

* Plugins/PluginPackage.cpp:
(WebCore::NPN_Evaluate):
(WebCore::NPN_Invoke):

Source/WebKit2:

* WebProcess/Plugins/Netscape/NPJSObject.cpp:
(WebKit::NPJSObject::hasMethod):
(WebKit::NPJSObject::hasProperty):
(WebKit::NPJSObject::getProperty):
(WebKit::NPJSObject::setProperty):
(WebKit::NPJSObject::removeProperty):
(WebKit::NPJSObject::construct):
(WebKit::NPJSObject::invoke):

Source/WTF:

* wtf/Platform.h:

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

3 years ago[INTL] some valid language tags cause errors in Intl constructors
commit-queue@webkit.org [Wed, 7 Sep 2016 22:01:39 +0000 (22:01 +0000)]
[INTL] some valid language tags cause errors in Intl constructors
https://bugs.webkit.org/show_bug.cgi?id=161672

Patch by Andy VanWagoner <thetalecrafter@gmail.com> on 2016-09-07
Reviewed by Mark Lam.

Source/JavaScriptCore:

Fix private use tag parsing to match spec, allowing single character parts.
https://www.rfc-editor.org/rfc/bcp/bcp47.txt

```
privateuse    = "x" 1*("-" (1*8alphanum))
```

* runtime/IntlObject.cpp:
(JSC::privateUseLangTag): Allow singleton parts in private use tag.

LayoutTests:

Add list of valid language tags that should not throw from test262.

* js/intl-collator-expected.txt:
* js/intl-datetimeformat-expected.txt:
* js/intl-numberformat-expected.txt:
* js/script-tests/intl-collator.js:
* js/script-tests/intl-datetimeformat.js:
* js/script-tests/intl-numberformat.js:

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

3 years ago[JSC] Remove a couple of useless forward declaration
commit-queue@webkit.org [Wed, 7 Sep 2016 21:17:27 +0000 (21:17 +0000)]
[JSC] Remove a couple of useless forward declaration
https://bugs.webkit.org/show_bug.cgi?id=161676

Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-09-07
Reviewed by Mark Lam.

JITMathICForwards.h should take care of declarating the Math ICs.

* bytecode/CodeBlock.h:
* jit/JITOperations.h:

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

3 years agoMake emitAllocateWithNonNullAllocator's sub32() disallow-scratch-friendly
fpizlo@apple.com [Wed, 7 Sep 2016 20:21:46 +0000 (20:21 +0000)]
Make emitAllocateWithNonNullAllocator's sub32() disallow-scratch-friendly
https://bugs.webkit.org/show_bug.cgi?id=161706

Reviewed by Geoffrey Garen.

You can't sub32(Addr, Reg) on not-x86 without using a scratch register. So, on those CPUs, we
have to do something different.

* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::emitAllocateWithNonNullAllocator):

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

3 years agoFix handling of negative radius in HTMLAreaElement's coords when in circle state
cdumez@apple.com [Wed, 7 Sep 2016 20:19:48 +0000 (20:19 +0000)]
Fix handling of negative radius in HTMLAreaElement's coords when in circle state
https://bugs.webkit.org/show_bug.cgi?id=161690

Reviewed by Daniel Bates.

LayoutTests/imported/w3c:

Rebaseline existing test now that one more check is passing.

* web-platform-tests/html/semantics/embedded-content/the-area-element/area-processing-expected.txt:

Source/WebCore:

Fix handling of negative radius in HTMLAreaElement's coords when in
circle state:
- https://html.spec.whatwg.org/#attr-area-shape-circle

The radius must be non-negative as per the specification. However, our
code fails to check.

Firefox and Chrome both reject negative radius.

No new tests, rebaselined existing test.

* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::getRegion):

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

3 years agoVersioning.
bshafiei@apple.com [Wed, 7 Sep 2016 20:19:31 +0000 (20:19 +0000)]
Versioning.

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

3 years agoAlign HTMLAreaElement shape parsing with the specification
cdumez@apple.com [Wed, 7 Sep 2016 19:47:14 +0000 (19:47 +0000)]
Align HTMLAreaElement shape parsing with the specification
https://bugs.webkit.org/show_bug.cgi?id=161698

Reviewed by Daniel Bates.

LayoutTests/imported/w3c:

Rebaseline W3C test now that more checks are passing. Chrome is also
passing all the checks in this test.

* web-platform-tests/html/semantics/embedded-content/the-area-element/area-shape-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-area-element/area-shape.html:
Incorporate https://github.com/w3c/web-platform-tests/pull/3659

Source/WebCore:

Align HTMLAreaElement shape parsing with the specification:
- https://html.spec.whatwg.org/#attr-area-shape

In particular, add support for circ / polygon non conforming shapes
and use rectangle as default state.

This also aligns our behavior with Chrome.

No new tests, rebaselined existing test.

* html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::parseAttribute):

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

3 years ago[GTK] Make inspection of Inspector conditional on DEVELOPER_MODE
annulen@yandex.ru [Wed, 7 Sep 2016 19:45:52 +0000 (19:45 +0000)]
[GTK] Make inspection of Inspector conditional on DEVELOPER_MODE
https://bugs.webkit.org/show_bug.cgi?id=161702

Reviewed by Michael Catanzaro.

* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):

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

3 years agoUpdate WebKitSystemInterface
dbates@webkit.org [Wed, 7 Sep 2016 19:28:01 +0000 (19:28 +0000)]
Update WebKitSystemInterface

Rubber-stamped by Dean Jackson.

Tools:

Copy WebKitSystemInterface for iOS 10 to the built products directory.

* Scripts/copy-webkitlibraries-to-product-directory:

WebKitLibraries:

Additionally, add WebKitSystemInterface for iOS 10.

* libWebKitSystemInterfaceElCapitan.a:
* libWebKitSystemInterfaceIOSDevice10.a: Added.
* libWebKitSystemInterfaceIOSDevice9.a:
* libWebKitSystemInterfaceIOSSimulator10.a: Added.
* libWebKitSystemInterfaceIOSSimulator9.a:
* libWebKitSystemInterfaceOSX10.12.a:
* libWebKitSystemInterfaceYosemite.a:

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

3 years ago[Cocoa] Update availability attributes per the macOS Sierra and iOS 10 GM seeds
mitz@apple.com [Wed, 7 Sep 2016 19:23:47 +0000 (19:23 +0000)]
[Cocoa] Update availability attributes per the macOS Sierra and iOS 10 GM seeds
https://bugs.webkit.org/show_bug.cgi?id=161704

Reviewed by Anders Carlsson.

* Shared/API/Cocoa/_WKHitTestResult.h:
* UIProcess/API/Cocoa/WKErrorPrivate.h:
* UIProcess/API/Cocoa/WKFrameInfoPrivate.h:
* UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h:
* UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
* UIProcess/API/Cocoa/WKOpenPanelParameters.h:
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:
* UIProcess/API/Cocoa/WKPreviewActionItem.h:
* UIProcess/API/Cocoa/WKPreviewActionItemIdentifiers.h:
* UIProcess/API/Cocoa/WKPreviewElementInfo.h:
* UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
* UIProcess/API/Cocoa/WKUIDelegate.h:
* UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
* UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:
* UIProcess/API/Cocoa/WKUserScriptPrivate.h:
* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebViewConfiguration.h:
* UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h:
* UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
* UIProcess/API/Cocoa/_WKActivatedElementInfo.h:
* UIProcess/API/Cocoa/_WKAutomationSession.h:
* UIProcess/API/Cocoa/_WKContextMenuElementInfo.h:
* UIProcess/API/Cocoa/_WKElementAction.h:
* UIProcess/API/Cocoa/_WKExperimentalFeature.h:
* UIProcess/API/Cocoa/_WKFormInputSession.h:
* UIProcess/API/Cocoa/_WKInputDelegate.h:
* UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
* UIProcess/API/Cocoa/_WKUserContentExtensionStore.h:
* UIProcess/API/Cocoa/_WKUserContentWorld.h:
* UIProcess/API/Cocoa/_WKUserInitiatedAction.h:
* UIProcess/API/Cocoa/_WKUserStyleSheet.h:
* UIProcess/API/Cocoa/_WKWebsiteDataSize.h:
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h:
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h:
* WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.h:

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

3 years agoUnreviewed CMake build fix after r205552
mcatanzaro@igalia.com [Wed, 7 Sep 2016 19:19:03 +0000 (19:19 +0000)]
Unreviewed CMake build fix after r205552

* CMakeLists.txt:

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

3 years agoFix WebCore build when building for device with iOS 10 beta SDK
dbates@webkit.org [Wed, 7 Sep 2016 19:08:50 +0000 (19:08 +0000)]
Fix WebCore build when building for device with iOS 10 beta SDK

Define SPI macro kIOReturnSuccess.

* platform/spi/cocoa/IOReturnSPI.h:

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

3 years ago[EFL] Switch to ENABLE_NETWORK_CACHE
mcatanzaro@igalia.com [Wed, 7 Sep 2016 18:13:08 +0000 (18:13 +0000)]
[EFL] Switch to ENABLE_NETWORK_CACHE
https://bugs.webkit.org/show_bug.cgi?id=152676

Reviewed by Alex Christensen.

.:

Build with -Wno-error=missing-field-initializers to avoid spurious build failures.

* Source/cmake/OptionsEfl.cmake:

Source/WebCore:

* PlatformEfl.cmake: Add GRefPtrSoup to build.
* platform/network/soup/SoupNetworkSession.cpp:
(WebCore::SoupNetworkSession::clearOldSoupCache): Renamed from clearCache.
(WebCore::SoupNetworkSession::setCache): Deleted.
(WebCore::SoupNetworkSession::cache): Deleted.
(WebCore::SoupNetworkSession::clearCache): Deleted.
* platform/network/soup/SoupNetworkSession.h:

Source/WebKit2:

Nowadays GTK+ always uses the network cache, and never the soup cache. Remove support for
using the soup cache, and switch the EFL port to use network cache.

* NetworkProcess/cache/NetworkCacheBlobStorage.cpp:
(WebKit::NetworkCache::BlobStorage::add): Check return value of link to placate
-Werror=unused-result on EFL builder
* NetworkProcess/efl/NetworkProcessMainEfl.cpp:
* NetworkProcess/soup/NetworkProcessSoup.cpp:
(WebKit::getCacheDiskFreeSize):
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
(WebKit::NetworkProcess::platformSetCacheModel):
(WebKit::NetworkProcess::clearDiskCache):
* PlatformEfl.cmake: Add files to build.
* UIProcess/API/efl/APIWebsiteDataStoreEfl.cpp:
(API::WebsiteDataStore::defaultNetworkCacheDirectory): Use a saner location.
* UIProcess/API/gtk/APIWebsiteDataStoreGtk.cpp:
(API::WebsiteDataStore::defaultNetworkCacheDirectory):
* UIProcess/API/gtk/WebKitPrivate.h:
* UIProcess/soup/WebProcessPoolSoup.cpp:
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
* WebProcess/efl/WebProcessMainEfl.cpp:
* config.h:

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

3 years agoWeb Inspector: clicking Computed Styles sidebar "Show All" checkbox doesn't trigger...
commit-queue@webkit.org [Wed, 7 Sep 2016 17:24:14 +0000 (17:24 +0000)]
Web Inspector: clicking Computed Styles sidebar "Show All" checkbox doesn't trigger relayout of Properties section
https://bugs.webkit.org/show_bug.cgi?id=161652

Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2016-09-07
Reviewed by Brian Burg.

* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties):
Fixed style issues from r205518 <webkit.org/b/161405>.

* UserInterface/Views/ComputedStyleDetailsPanel.js:
(WebInspector.ComputedStyleDetailsPanel.prototype.get regionFlow):
(WebInspector.ComputedStyleDetailsPanel.prototype.get contentFlow):
(WebInspector.ComputedStyleDetailsPanel.prototype.get containerRegions):
Added missing space between semicolon and curly-brace.

(WebInspector.ComputedStyleDetailsPanel.prototype._computedStyleShowAllCheckboxValueChanged):
Added updateLayout call to resize and repopulate the CodeMirror instance.

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

3 years agoDrop legacy canvas.probablySupportsContext()
cdumez@apple.com [Wed, 7 Sep 2016 17:21:44 +0000 (17:21 +0000)]
Drop legacy canvas.probablySupportsContext()
https://bugs.webkit.org/show_bug.cgi?id=161692

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Rebaseline W3C test now that one more check is passing.

* web-platform-tests/html/semantics/embedded-content/the-canvas-element/historical-expected.txt:

Source/WebCore:

Drop legacy canvas.probablySupportsContext() as it is no longer in the specification:
- https://html.spec.whatwg.org/#htmlcanvaselement

Firefox and Chrome do not support canvas.probablySupportsContext().

No new tests, rebaselined existing test.

* bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::probablySupportsContext): Deleted.
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):
(WebCore::HTMLCanvasElement::probablySupportsContext): Deleted.
* html/HTMLCanvasElement.h:
* html/HTMLCanvasElement.idl:

Source/WebInspectorUI:

* UserInterface/Models/NativeFunctionParameters.js:

LayoutTests:

Drop legacy layout test.

* fast/canvas/webgl/canvas-supports-context-expected.txt: Removed.
* fast/canvas/webgl/canvas-supports-context.html: Removed.

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

3 years ago[GTK] Layout test accessibility/media-emits-object-replacement.html fails
n_wang@apple.com [Wed, 7 Sep 2016 17:12:54 +0000 (17:12 +0000)]
[GTK] Layout test accessibility/media-emits-object-replacement.html fails
https://bugs.webkit.org/show_bug.cgi?id=161585
<rdar://problem/28157032>

Reviewed by Chris Fleizach.

Updated the test expectation.

* platform/gtk/accessibility/media-emits-object-replacement-expected.txt:

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

3 years agoAdd support for WASM Loops and Branches
keith_miller@apple.com [Wed, 7 Sep 2016 17:12:08 +0000 (17:12 +0000)]
Add support for WASM Loops and Branches
https://bugs.webkit.org/show_bug.cgi?id=161569

Reviewed by Benjamin Poulain.

This patch adds support for loops and branches to WASM. In order
to support loops, we needed to change the way the B3IRGenerator
tracked control information. Now, the control data holds three
pieces of information: The continuation block, the loop branch
target, and variables exiting the block. Whenever we branch to
some control point we first check if it is a loop by checking that
the loop branch target is non-null. If the branch is not targeting
a loop, we map the stack values to the associated B3 variables for
that stack slot.

Another interesting thing of note is that we now only allocate the
continuation basic block lazily. This is beneficial when the
continuation would just fall through to another block anyway. For
example, in code like: (block ... (block (add 1 2) end) end) the
continuation for the inner block just falls through to the outer
block's continuation so we don't need an extra block.

* B3CallingConventions.cpp:
(JSC::B3::jscCallingConvention): Deleted.
* B3CallingConventions.h:
(JSC::B3::CallingConvention::CallingConvention): Deleted.
(JSC::B3::CallingConvention::iterate): Deleted.
(JSC::B3::nextJSCOffset): Deleted.
* JavaScriptCore.xcodeproj/project.pbxproj:
* b3/B3Type.h:
* testWASM.cpp:
(runWASMTests):
* wasm/WASMB3IRGenerator.cpp:
(JSC::WASM::B3IRGenerator::LazyBlock::LazyBlock):
(JSC::WASM::B3IRGenerator::LazyBlock::operator bool):
(JSC::WASM::B3IRGenerator::LazyBlock::get):
(JSC::WASM::B3IRGenerator::LazyBlock::dump):
(JSC::WASM::B3IRGenerator::ControlData::ControlData):
(JSC::WASM::B3IRGenerator::ControlData::dump):
(JSC::WASM::B3IRGenerator::ControlData::targetBlockForBranch):
(JSC::WASM::B3IRGenerator::ControlData::isLoop):
(JSC::WASM::B3IRGenerator::addLocal):
(JSC::WASM::B3IRGenerator::addArguments):
(JSC::WASM::B3IRGenerator::setLocal):
(JSC::WASM::B3IRGenerator::addBlock):
(JSC::WASM::B3IRGenerator::addLoop):
(JSC::WASM::B3IRGenerator::endBlock):
(JSC::WASM::B3IRGenerator::addReturn):
(JSC::WASM::B3IRGenerator::addBranch):
(JSC::WASM::B3IRGenerator::initializeIncommingTypes):
(JSC::WASM::B3IRGenerator::unifyValuesWithBlock):
(JSC::WASM::B3IRGenerator::controlDataForLevel):
(JSC::WASM::B3IRGenerator::dumpGraphAndControlStack):
(JSC::WASM::parseAndCompile):
(JSC::WASM::B3IRGenerator::unifyValuesWithLevel): Deleted.
(JSC::WASM::B3IRGenerator::stackForControlLevel): Deleted.
(JSC::WASM::B3IRGenerator::blockForControlLevel): Deleted.
* wasm/WASMCallingConvention.cpp: Renamed from Source/JavaScriptCore/B3CallingConventions.cpp.
(JSC::WASM::jscCallingConvention):
* wasm/WASMCallingConvention.h: Renamed from Source/JavaScriptCore/B3CallingConventions.h.
(JSC::WASM::CallingConvention::CallingConvention):
(JSC::WASM::CallingConvention::iterate):
(JSC::WASM::nextJSCOffset):
* wasm/WASMFormat.h:
(JSC::WASM::toB3Type):
(JSC::WASM::isValueType):
* wasm/WASMFunctionParser.h:
(JSC::WASM::FunctionParser<Context>::parse):
(JSC::WASM::FunctionParser<Context>::parseExpression):
* wasm/WASMModuleParser.cpp:
(JSC::WASM::ModuleParser::parseFunctionTypes):
* wasm/WASMOps.h:

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

3 years agoRename ScrollBehavior to ScrollAlignment::Behavior
simon.fraser@apple.com [Wed, 7 Sep 2016 17:04:45 +0000 (17:04 +0000)]
Rename ScrollBehavior to ScrollAlignment::Behavior
https://bugs.webkit.org/show_bug.cgi?id=161677

Reviewed by Tim Horton.

Free up ScrollBehavior for future use with CSS OM View scrolling by renaming the
existing ScrollBehavior, which is about alignment when scrolling into view.

Renamed ScrollBehavior* to ScrollAlignment.*, and made ScrollBehavior an enum class
in the struct.

No behavior change.

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:
* editing/FrameSelection.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::getRectToExpose):
* rendering/RenderObject.h:
* rendering/RenderingAllInOne.cpp:
* rendering/ScrollAlignment.cpp: Renamed from Source/WebCore/rendering/ScrollBehavior.cpp.
* rendering/ScrollAlignment.h: Renamed from Source/WebCore/rendering/ScrollBehavior.h.
(WebCore::ScrollAlignment::getVisibleBehavior):
(WebCore::ScrollAlignment::getPartialBehavior):
(WebCore::ScrollAlignment::getHiddenBehavior):
* rendering/ScrollBehavior.h:
(WebCore::ScrollAlignment::getVisibleBehavior): Deleted.
(WebCore::ScrollAlignment::getPartialBehavior): Deleted.
(WebCore::ScrollAlignment::getHiddenBehavior): Deleted.

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

3 years agoAdd CSSAtRule id info for new parser
hyatt@apple.com [Wed, 7 Sep 2016 16:54:32 +0000 (16:54 +0000)]
Add CSSAtRule id info for new parser
https://bugs.webkit.org/show_bug.cgi?id=161695

Reviewed by Sam Weinig.

* WebCore.xcodeproj/project.pbxproj:
* css/parser/CSSAtRuleID.cpp: Added.
(WebCore::cssAtRuleID):
* css/parser/CSSAtRuleID.h: Added.

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

3 years ago[Streams API] Separate compile flag for ReadableStream and WritableStream
commit-queue@webkit.org [Wed, 7 Sep 2016 16:25:43 +0000 (16:25 +0000)]
[Streams API] Separate compile flag for ReadableStream and WritableStream
https://bugs.webkit.org/show_bug.cgi?id=161044

Patch by Youenn Fablet <youenn@apple.com> on 2016-09-07
Reviewed by Alex Christensen.

.:

Moving from STREAMS_API to READABLESTREAM_API and WRITABLESTREAM_API compilation flags.

* Source/cmake/OptionsWin.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmake/tools/vsprops/FeatureDefines.props:

Source/JavaScriptCore:

Moving from STREAMS_API to READABLE_STREAM_API and WRITABLE_STREAM_API compilation flags.
Updated builtin test to cover the case of @conditional taking ENABLE(XX) || ENABLE(YY) flag.

* Configurations/FeatureDefines.xcconfig:
* Scripts/tests/builtins/WebCore-GuardedInternalBuiltin-Separate.js:
* Scripts/tests/builtins/expected/WebCore-GuardedInternalBuiltin-Separate.js-result:
* Scripts/tests/builtins/expected/WebCoreJSBuiltins.h-result:

Source/WebCore:

Moving from STREAMS_API to READABLE_STREAM_API and WRITABLE_STREAM_API compilation flags.
No change of behavior.

* CMakeLists.txt: Triggering regeneration of builtin wrapper files based on individual builtin header file content change to cope with @conditional changes.
* Configurations/FeatureDefines.xcconfig:
* DerivedSources.cpp:
* DerivedSources.make: Triggering regeneration of builtin wrapper files based on file content change to cope with @conditional changes.
* Modules/fetch/FetchBody.cpp:
* Modules/fetch/FetchBody.h:
* Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::isDisturbed):
(WebCore::FetchBodyOwner::blobLoadingSucceeded):
(WebCore::FetchBodyOwner::blobLoadingFailed):
(WebCore::FetchBodyOwner::blobChunk):
* Modules/fetch/FetchBodyOwner.h:
* Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::BodyLoader::didSucceed):
(WebCore::FetchResponse::BodyLoader::didFail):
(WebCore::FetchResponse::BodyLoader::didReceiveData):
* Modules/fetch/FetchResponse.h:
* Modules/fetch/FetchResponse.idl:
* Modules/fetch/FetchResponse.js:
(initializeFetchResponse):
* Modules/fetch/FetchResponseSource.cpp:
* Modules/fetch/FetchResponseSource.h:
* Modules/streams/ByteLengthQueuingStrategy.idl:
* Modules/streams/ByteLengthQueuingStrategy.js:
* Modules/streams/CountQueuingStrategy.idl:
* Modules/streams/CountQueuingStrategy.js:
* Modules/streams/ReadableStream.idl:
* Modules/streams/ReadableStream.js:
* Modules/streams/ReadableStreamDefaultController.idl:
* Modules/streams/ReadableStreamDefaultController.js:
* Modules/streams/ReadableStreamDefaultReader.idl:
* Modules/streams/ReadableStreamDefaultReader.js:
* Modules/streams/ReadableStreamInternals.js:
* Modules/streams/ReadableStreamSource.h:
* Modules/streams/ReadableStreamSource.idl:
* Modules/streams/StreamInternals.js:
* Modules/streams/WritableStream.idl:
* Modules/streams/WritableStream.js:
* Modules/streams/WritableStreamInternals.js:
* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::addBuiltinGlobals):
* bindings/js/JSReadableStreamPrivateConstructors.cpp:
* bindings/js/JSReadableStreamPrivateConstructors.h:
* bindings/js/JSReadableStreamSourceCustom.cpp:
* bindings/js/ReadableStreamDefaultController.cpp:
* bindings/js/ReadableStreamDefaultController.h:
* testing/Internals.cpp:
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit/mac:

Moving from STREAMS_API to READABLE_STREAM_API and WRITABLE_STREAM_API compilation flags.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Moving from STREAMS_API to READABLE_STREAM_API and WRITABLE_STREAM_API compilation flags.

* Configurations/FeatureDefines.xcconfig:

Source/WTF:

* wtf/FeatureDefines.h:

Tools:

Moving from STREAMS_API to READABLE_STREAM_API and WRITABLE_STREAM_API compilation flags.

* Scripts/webkitperl/FeatureList.pm:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

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

3 years agoSkipping imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.html.
ryanhaddad@apple.com [Wed, 7 Sep 2016 16:18:23 +0000 (16:18 +0000)]
Skipping imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-redirect.html.
https://bugs.webkit.org/show_bug.cgi?id=161632

Unreviewed test gardening.

* TestExpectations:

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

3 years ago[GTK] Clarify frame callbacks behaviour in Wayland compositor
commit-queue@webkit.org [Wed, 7 Sep 2016 15:54:38 +0000 (15:54 +0000)]
[GTK] Clarify frame callbacks behaviour in Wayland compositor
https://bugs.webkit.org/show_bug.cgi?id=161683

Patch by Emanuele Aina <emanuele.aina@collabora.com> on 2016-09-07
Reviewed by Carlos Garcia Campos.

The way we fire frame callbacks in the nested Wayland compositor can
be puzzling to developers expecting Wayland semantics, but since we
have our own mechanism to handle synchronization we don't care much
about them. Add a comment to avoid surprised Wayland developers.

* UIProcess/gtk/WaylandCompositor.cpp:
(WebKit::WaylandCompositor::Surface::commit):

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

3 years ago[l10n] Updated Polish translation of WebKitGTK+ for 2.14
mcatanzaro@igalia.com [Wed, 7 Sep 2016 15:34:39 +0000 (15:34 +0000)]
[l10n] Updated Polish translation of WebKitGTK+ for 2.14
https://bugs.webkit.org/show_bug.cgi?id=161319

Patch by Piotr Drąg <piotrdrag@gmail.com> on 2016-09-07
Rubber-stamped by Michael Catanzaro.

* pl.po:

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

3 years agoURTBF after r205369, just for fun.
ossy@webkit.org [Wed, 7 Sep 2016 14:38:58 +0000 (14:38 +0000)]
URTBF after r205369, just for fun.

* PlatformMac.cmake: Added new files.

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

3 years ago[GTK] Crash of WebProcess on the last WebView disconnect
carlosgc@webkit.org [Wed, 7 Sep 2016 13:47:02 +0000 (13:47 +0000)]
[GTK] Crash of WebProcess on the last WebView disconnect
https://bugs.webkit.org/show_bug.cgi?id=161605

Reviewed by Michael Catanzaro.

Stop tracking X11 GL contexts to be cleanered on an exit handler. This was added to work around bugs on drivers,
and it's assuming that all GLContext not deleted when the exit handler is called are leaked, which is no longer
true, because PlatformDisplay now owns a GLContext and is deleted after exit handlers.

* platform/graphics/GLContext.cpp:
(WebCore::GLContext::GLContext):
(WebCore::GLContext::~GLContext):
(WebCore::activeContextList): Deleted.
(WebCore::GLContext::addActiveContext): Deleted.
(WebCore::GLContext::removeActiveContext): Deleted.
(WebCore::GLContext::cleanupActiveContextsAtExit): Deleted.

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

3 years ago[GTK] Remove unused GObject DOM unstable API
carlosgc@webkit.org [Wed, 7 Sep 2016 13:41:29 +0000 (13:41 +0000)]
[GTK] Remove unused GObject DOM unstable API
https://bugs.webkit.org/show_bug.cgi?id=161440

Reviewed by Philippe Normand.

Remove unstable GObject DOM API now that we no longer auto-generate the bindings.

* PlatformGTK.cmake:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimatable.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimatable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimationEffect.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimationEffect.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimationEffectPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimationTimeline.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimationTimeline.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAnimationTimelinePrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAttr.cpp:
(webkit_dom_attr_get_property):
(webkit_dom_attr_class_init):
(webkit_dom_attr_get_prefix): Deleted.
(webkit_dom_attr_get_local_name): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAttrUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAudioTrack.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAudioTrack.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAudioTrackList.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAudioTrackList.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAudioTrackListPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMAudioTrackPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBarProp.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBarProp.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBarPropPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBatteryManager.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBatteryManager.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBatteryManagerPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBlob.cpp:
(webkit_dom_blob_get_property):
(webkit_dom_blob_class_init):
(webkit_dom_blob_get_size):
(webkit_dom_blob_init): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMBlobUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRule.cpp:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCSSRuleUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterData.cpp:
(webkit_dom_character_data_get_property):
(webkit_dom_character_data_class_init):
(webkit_dom_character_data_get_length):
(webkit_dom_character_data_set_property): Deleted.
(webkit_dom_character_data_substring_data): Deleted.
(webkit_dom_character_data_append_data): Deleted.
(webkit_dom_character_data_insert_data): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCharacterDataUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMApplicationCache.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMApplicationCache.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMApplicationCachePrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMCSSNamespace.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMCSSNamespace.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMCSSNamespacePrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMMimeType.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMMimeType.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMMimeTypeArray.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMMimeTypeArray.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMMimeTypeArrayPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMMimeTypePrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMNamedFlowCollection.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMNamedFlowCollection.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMNamedFlowCollectionPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMPlugin.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMPlugin.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMPluginArray.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMPluginArray.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMPluginArrayPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMPluginPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMStringList.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMStringList.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMStringListPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMStringMap.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMStringMap.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMStringMapPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMTokenList.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindowSpeechSynthesis.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindowSpeechSynthesis.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDataCue.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDataCue.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDataCuePrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDatabase.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDatabase.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDatabasePrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentAnimation.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentAnimation.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentTimeline.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentTimeline.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentTimelinePrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentType.cpp:
(webkit_dom_document_type_get_name): Deleted.
(webkit_dom_document_type_get_entities): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentTypeUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEvent.cpp:
(webkit_dom_event_get_property):
(webkit_dom_event_class_init):
(webkit_dom_event_init): Deleted.
(webkit_dom_event_stop_propagation): Deleted.
(webkit_dom_event_get_bubbles): Deleted.
(webkit_dom_event_get_cancelable): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEventUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFile.cpp:
(webkit_dom_file_get_property):
(webkit_dom_file_class_init):
(webkit_dom_file_get_name):
(webkit_dom_file_init): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMFileUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGamepad.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGamepad.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGamepadList.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGamepadList.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGeolocation.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGeolocation.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMGeolocationPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElement.cpp:
(webkit_dom_html_anchor_element_set_property):
(webkit_dom_html_anchor_element_get_property):
(webkit_dom_html_anchor_element_class_init):
(webkit_dom_html_anchor_element_init): Deleted.
(webkit_dom_html_anchor_element_get_charset): Deleted.
(webkit_dom_html_anchor_element_set_charset): Deleted.
(webkit_dom_html_anchor_element_get_coords): Deleted.
(webkit_dom_html_anchor_element_set_coords): Deleted.
(webkit_dom_html_anchor_element_get_target): Deleted.
(webkit_dom_html_anchor_element_set_target): Deleted.
(webkit_dom_html_anchor_element_get_type_attr): Deleted.
(webkit_dom_html_anchor_element_set_type_attr): Deleted.
(webkit_dom_html_anchor_element_set_href): Deleted.
(webkit_dom_html_anchor_element_get_protocol): Deleted.
(webkit_dom_html_anchor_element_set_protocol): Deleted.
(webkit_dom_html_anchor_element_set_hash): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElement.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAnchorElementUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElement.cpp:
(webkit_dom_html_area_element_set_property):
(webkit_dom_html_area_element_get_property):
(webkit_dom_html_area_element_class_init):
(webkit_dom_html_area_element_init): Deleted.
(webkit_dom_html_area_element_get_alt): Deleted.
(webkit_dom_html_area_element_set_alt): Deleted.
(webkit_dom_html_area_element_get_coords): Deleted.
(webkit_dom_html_area_element_set_coords): Deleted.
(webkit_dom_html_area_element_get_hostname): Deleted.
(webkit_dom_html_area_element_set_hostname): Deleted.
(webkit_dom_html_area_element_get_port): Deleted.
(webkit_dom_html_area_element_set_port): Deleted.
(webkit_dom_html_area_element_get_pathname): Deleted.
(webkit_dom_html_area_element_get_hash): Deleted.
(webkit_dom_html_area_element_set_hash): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElement.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAreaElementUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAudioElement.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAudioElement.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLAudioElementPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElement.cpp:
(webkit_dom_html_button_element_set_property):
(webkit_dom_html_button_element_get_property):
(webkit_dom_html_button_element_class_init):
(webkit_dom_html_button_element_get_will_validate):
(webkit_dom_html_button_element_get_autofocus): Deleted.
(webkit_dom_html_button_element_set_autofocus): Deleted.
(webkit_dom_html_button_element_get_disabled): Deleted.
(webkit_dom_html_button_element_set_disabled): Deleted.
(webkit_dom_html_button_element_get_form): Deleted.
(webkit_dom_html_button_element_get_button_type): Deleted.
(webkit_dom_html_button_element_set_button_type): Deleted.
(webkit_dom_html_button_element_get_name): Deleted.
(webkit_dom_html_button_element_set_value): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLButtonElementUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDetailsElement.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDetailsElement.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLDetailsElementPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFieldSetElement.cpp:
(webkit_dom_html_field_set_element_get_property):
(webkit_dom_html_field_set_element_class_init):
(webkit_dom_html_field_set_element_get_form):
(webkit_dom_html_field_set_element_init): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFieldSetElementUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElement.cpp:
(webkit_dom_html_form_element_set_property):
(webkit_dom_html_form_element_get_property):
(webkit_dom_html_form_element_class_init):
(webkit_dom_html_form_element_get_length):
(webkit_dom_html_form_element_submit): Deleted.
(webkit_dom_html_form_element_reset): Deleted.
(webkit_dom_html_form_element_get_action): Deleted.
(webkit_dom_html_form_element_set_action): Deleted.
(webkit_dom_html_form_element_get_enctype): Deleted.
(webkit_dom_html_form_element_set_encoding): Deleted.
(webkit_dom_html_form_element_get_method): Deleted.
(webkit_dom_html_form_element_set_method): Deleted.
(webkit_dom_html_form_element_set_target): Deleted.
(webkit_dom_html_form_element_get_elements): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLFormElementUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHtmlElement.cpp:
(webkit_dom_html_html_element_set_property):
(webkit_dom_html_html_element_get_property):
(webkit_dom_html_html_element_class_init):
(webkit_dom_html_html_element_set_version):
(webkit_dom_html_html_element_get_version): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLHtmlElementUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLIFrameElement.cpp:
(webkit_dom_html_iframe_element_set_property):
(webkit_dom_html_iframe_element_get_property):
(webkit_dom_html_iframe_element_class_init):
(webkit_dom_html_iframe_element_init): Deleted.
(webkit_dom_html_iframe_element_set_src): Deleted.
(webkit_dom_html_iframe_element_get_width): Deleted.
(webkit_dom_html_iframe_element_set_width): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLIFrameElementUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElement.cpp:
(webkit_dom_html_image_element_set_property):
(webkit_dom_html_image_element_get_property):
(webkit_dom_html_image_element_class_init):
(webkit_dom_html_image_element_set_long_desc): Deleted.
(webkit_dom_html_image_element_get_src): Deleted.
(webkit_dom_html_image_element_set_src): Deleted.
(webkit_dom_html_image_element_get_natural_height): Deleted.
(webkit_dom_html_image_element_get_natural_width): Deleted.
(webkit_dom_html_image_element_get_x): Deleted.
(webkit_dom_html_image_element_get_y): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLImageElementUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp:
(webkit_dom_html_input_element_set_property):
(webkit_dom_html_input_element_get_property):
(webkit_dom_html_input_element_class_init):
(webkit_dom_html_input_element_set_capture_type):
(webkit_dom_html_input_element_init): Deleted.
(webkit_dom_html_input_element_select): Deleted.
(webkit_dom_html_input_element_get_accept): Deleted.
(webkit_dom_html_input_element_set_accept): Deleted.
(webkit_dom_html_input_element_get_alt): Deleted.
(webkit_dom_html_input_element_set_alt): Deleted.
(webkit_dom_html_input_element_get_default_checked): Deleted.
(webkit_dom_html_input_element_set_default_checked): Deleted.
(webkit_dom_html_input_element_get_checked): Deleted.
(webkit_dom_html_input_element_set_checked): Deleted.
(webkit_dom_html_input_element_get_disabled): Deleted.
(webkit_dom_html_input_element_get_files): Deleted.
(webkit_dom_html_input_element_set_files): Deleted.
(webkit_dom_html_input_element_set_height): Deleted.
(webkit_dom_html_input_element_get_indeterminate): Deleted.
(webkit_dom_html_input_element_get_max_length): Deleted.
(webkit_dom_html_input_element_set_max_length): Deleted.
(webkit_dom_html_input_element_get_name): Deleted.
(webkit_dom_html_input_element_set_name): Deleted.
(webkit_dom_html_input_element_get_size): Deleted.
(webkit_dom_html_input_element_set_size): Deleted.
(webkit_dom_html_input_element_get_src): Deleted.
(webkit_dom_html_input_element_set_input_type): Deleted.
(webkit_dom_html_input_element_get_default_value): Deleted.
(webkit_dom_html_input_element_set_default_value): Deleted.
(webkit_dom_html_input_element_set_value): Deleted.
(webkit_dom_html_input_element_get_width): Deleted.
(webkit_dom_html_input_element_set_width): Deleted.
(webkit_dom_html_input_element_get_will_validate): Deleted.
(webkit_dom_html_input_element_get_align): Deleted.
(webkit_dom_html_input_element_set_align): Deleted.
(webkit_dom_html_input_element_get_use_map): Deleted.
(webkit_dom_html_input_element_set_use_map): Deleted.
(webkit_dom_html_input_element_get_capture_type): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElementUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLKeygenElement.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLKeygenElement.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLKeygenElementPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLabelElement.cpp:
(webkit_dom_html_label_element_get_property):
(webkit_dom_html_label_element_class_init):
(webkit_dom_html_label_element_init): Deleted.
(webkit_dom_html_label_element_get_form): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLabelElementUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.cpp:
(webkit_dom_html_link_element_set_property):
(webkit_dom_html_link_element_get_property):
(webkit_dom_html_link_element_class_init):
(webkit_dom_html_link_element_get_disabled): Deleted.
(webkit_dom_html_link_element_set_disabled): Deleted.
(webkit_dom_html_link_element_get_charset): Deleted.
(webkit_dom_html_link_element_set_charset): Deleted.
(webkit_dom_html_link_element_get_href): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElementUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMarqueeElement.cpp:
(webkit_dom_html_marquee_element_class_init):
(webkit_dom_html_marquee_element_stop):
(webkit_dom_html_marquee_element_init): Deleted.
(webkit_dom_html_marquee_element_start): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMarqueeElementUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMediaElement.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMediaElement.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLMediaElementPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElement.cpp:
(webkit_dom_html_o_list_element_set_property):
(webkit_dom_html_o_list_element_get_property):
(webkit_dom_html_o_list_element_class_init):
(webkit_dom_html_o_list_element_init): Deleted.
(webkit_dom_html_o_list_element_get_compact): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOListElementUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElement.cpp:
(webkit_dom_html_object_element_get_property):
(webkit_dom_html_object_element_class_init):
(webkit_dom_html_object_element_set_property): Deleted.
(webkit_dom_html_object_element_get_form): Deleted.
(webkit_dom_html_object_element_get_code): Deleted.
(webkit_dom_html_object_element_set_code): Deleted.
(webkit_dom_html_object_element_get_align): Deleted.
(webkit_dom_html_object_element_set_align): Deleted.
(webkit_dom_html_object_element_get_archive): Deleted.
(webkit_dom_html_object_element_set_archive): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLObjectElementUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionsCollection.cpp:
(webkit_dom_html_options_collection_get_selected_index): Deleted.
(webkit_dom_html_options_collection_set_selected_index): Deleted.
(webkit_dom_html_options_collection_get_length): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLOptionsCollectionUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLPrivate.cpp:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElement.cpp:
(webkit_dom_html_script_element_set_property):
(webkit_dom_html_script_element_get_property):
(webkit_dom_html_script_element_class_init):
(webkit_dom_html_script_element_set_type_attr):
(webkit_dom_html_script_element_init): Deleted.
(webkit_dom_html_script_element_get_html_for): Deleted.
(webkit_dom_html_script_element_set_html_for): Deleted.
(webkit_dom_html_script_element_get_event): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElement.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLScriptElementUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElement.cpp:
(webkit_dom_html_select_element_set_property):
(webkit_dom_html_select_element_get_property):
(webkit_dom_html_select_element_class_init):
(webkit_dom_html_select_element_get_will_validate):
(webkit_dom_html_select_element_named_item): Deleted.
(webkit_dom_html_select_element_get_autofocus): Deleted.
(webkit_dom_html_select_element_set_autofocus): Deleted.
(webkit_dom_html_select_element_get_disabled): Deleted.
(webkit_dom_html_select_element_set_disabled): Deleted.
(webkit_dom_html_select_element_get_form): Deleted.
(webkit_dom_html_select_element_set_size): Deleted.
(webkit_dom_html_select_element_get_select_type): Deleted.
(webkit_dom_html_select_element_get_options): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLSelectElementUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLStyleElement.cpp:
(webkit_dom_html_style_element_set_property):
(webkit_dom_html_style_element_get_property):
(webkit_dom_html_style_element_class_init):
(webkit_dom_html_style_element_get_sheet):
(webkit_dom_html_style_element_get_disabled): Deleted.
(webkit_dom_html_style_element_set_disabled): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLStyleElementUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableElement.cpp:
(webkit_dom_html_table_element_set_property):
(webkit_dom_html_table_element_get_property):
(webkit_dom_html_table_element_class_init):
(webkit_dom_html_table_element_insert_row): Deleted.
(webkit_dom_html_table_element_set_summary): Deleted.
(webkit_dom_html_table_element_get_width): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTableElementUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp:
(webkit_dom_html_text_area_element_set_property):
(webkit_dom_html_text_area_element_get_property):
(webkit_dom_html_text_area_element_class_init):
(webkit_dom_html_text_area_element_init): Deleted.
(webkit_dom_html_text_area_element_set_selection_range): Deleted.
(webkit_dom_html_text_area_element_set_autofocus): Deleted.
(webkit_dom_html_text_area_element_get_disabled): Deleted.
(webkit_dom_html_text_area_element_get_form): Deleted.
(webkit_dom_html_text_area_element_get_name): Deleted.
(webkit_dom_html_text_area_element_get_rows): Deleted.
(webkit_dom_html_text_area_element_set_rows): Deleted.
(webkit_dom_html_text_area_element_get_cols): Deleted.
(webkit_dom_html_text_area_element_set_cols): Deleted.
(webkit_dom_html_text_area_element_get_area_type): Deleted.
(webkit_dom_html_text_area_element_get_default_value): Deleted.
(webkit_dom_html_text_area_element_get_value): Deleted.
(webkit_dom_html_text_area_element_set_value): Deleted.
(webkit_dom_html_text_area_element_get_will_validate): Deleted.
(webkit_dom_html_text_area_element_get_selection_start): Deleted.
(webkit_dom_html_text_area_element_set_selection_start): Deleted.
(webkit_dom_html_text_area_element_get_selection_end): Deleted.
(webkit_dom_html_text_area_element_set_selection_end): Deleted.
(webkit_dom_html_text_area_element_is_edited): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElementUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLVideoElement.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLVideoElement.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLVideoElementPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHistory.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHistory.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHistoryPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyframeEffect.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyframeEffect.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMKeyframeEffectPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMLocation.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMLocation.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMLocationPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaController.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaController.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaControllerPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaDevices.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaDevices.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaDevicesPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaError.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaError.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaErrorPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaQueryList.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaQueryList.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaQueryListPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaTrackSupportedConstraints.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaTrackSupportedConstraints.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMediaTrackSupportedConstraintsPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMessagePort.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMessagePort.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMessagePortPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMouseEvent.cpp:
(webkit_dom_mouse_event_get_property):
(webkit_dom_mouse_event_class_init):
(webkit_dom_mouse_event_get_y): Deleted.
(webkit_dom_mouse_event_get_from_element): Deleted.
(webkit_dom_mouse_event_get_to_element): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMMouseEventUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNavigator.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNavigator.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNavigatorMediaDevices.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNavigatorMediaDevices.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNavigatorPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNode.cpp:
(webkit_dom_node_get_property):
(webkit_dom_node_class_init):
(webkit_dom_node_init): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMNodeUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformance.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformance.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceEntry.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceEntry.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceEntryPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceNavigation.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceNavigation.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceNavigationPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformancePrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceTiming.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceTiming.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPerformanceTimingPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPrivate.cpp:
(WebKit::wrap): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMPrivate.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMScreen.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMScreen.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMScreenPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesis.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesis.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisEvent.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisEvent.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisEventPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisUtterance.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisUtterance.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisUtterancePrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisVoice.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisVoice.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMSpeechSynthesisVoicePrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStorage.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStorage.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStorageInfo.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStorageInfo.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStoragePrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStorageQuota.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStorageQuota.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleMedia.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleMedia.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMStyleMediaPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrack.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrack.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackCue.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackCue.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackCueList.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackCueList.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackCueListPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackCuePrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackList.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackList.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackListPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTextTrackPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTimeRanges.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTimeRanges.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTimeRangesPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTouch.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTouch.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTouchPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTrackEvent.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTrackEvent.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMTrackEventPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUIEvent.cpp:
(webkit_dom_ui_event_get_property):
(webkit_dom_ui_event_class_init):
(webkit_dom_ui_event_get_page_y):
(webkit_dom_ui_event_init): Deleted.
(webkit_dom_ui_event_init_ui_event): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUIEventUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandler.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandler.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandlerPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandlersNamespace.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandlersNamespace.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandlersNamespacePrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVTTCue.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVTTCue.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVTTCuePrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMValidityState.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMValidityState.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMValidityStatePrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoPlaybackQuality.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoPlaybackQuality.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoPlaybackQualityPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoTrack.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoTrack.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoTrackList.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoTrackList.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoTrackListPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMVideoTrackPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebAnimation.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebAnimation.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebAnimationPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitNamedFlow.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitNamedFlow.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitNamedFlowPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitNamespace.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitNamespace.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitNamespacePrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitPoint.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitPoint.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWebKitPointPrivate.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWheelEvent.cpp:
(webkit_dom_wheel_event_get_property):
(webkit_dom_wheel_event_class_init):
(webkit_dom_wheel_event_get_wheel_delta):
(webkit_dom_wheel_event_init): Deleted.
(webkit_dom_wheel_event_init_wheel_event): Deleted.
(webkit_dom_wheel_event_get_wheel_delta_x): Deleted.
(webkit_dom_wheel_event_get_wheel_delta_y): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMWheelEventUnstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/docs/webkitdomgtk-4.0-sections.txt:
* WebProcess/InjectedBundle/API/gtk/DOM/webkitdomautocleanups-unstable.h: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/webkitdomdefines-unstable.h: Removed.

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

3 years agoTemplatize JS bindings code generator of functions with variadic parameters
nael.ouedraogo@crf.canon.fr [Wed, 7 Sep 2016 10:03:43 +0000 (10:03 +0000)]
Templatize JS bindings code generator of functions with variadic parameters
https://bugs.webkit.org/show_bug.cgi?id=158835

Reviewed by Darin Adler.

Add template functions to handle function with variadic parameter for DOM objects.

* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::addTrack):
* Modules/mediastream/RTCPeerConnection.h:
* bindings/js/JSDOMBinding.h:
(WebCore::VariadicHelperBase::convert):
(WebCore::toArguments):
(WebCore::jsFrozenArray):
(WebCore::toRefPtrNativeArray):
(WebCore::toNativeArray):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
(GetVariadicType):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod12):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
(WebCore::jsTestObjPrototypeFunctionAny):
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::constructJSTestOverloadedConstructors5):

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

3 years agoFix the ENABLE(WEBASSEMBLY) build on Linux
ossy@webkit.org [Wed, 7 Sep 2016 09:59:22 +0000 (09:59 +0000)]
Fix the ENABLE(WEBASSEMBLY) build on Linux
https://bugs.webkit.org/show_bug.cgi?id=161685

Unreviewed buildfix.

* wasm/JSWASMModule.cpp:

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

3 years ago[GTK] Move some GObject DOM unstable API to stable
carlosgc@webkit.org [Wed, 7 Sep 2016 09:22:17 +0000 (09:22 +0000)]
[GTK] Move some GObject DOM unstable API to stable
https://bugs.webkit.org/show_bug.cgi?id=161681

Reviewed by Žan Doberšek.

Source/WebKit2:

Move unstable API currently used by applications to the stable API in preparation for removing all unused
unstable API.

* PlatformGTK.cmake:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCustom.cpp: Removed.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCustom.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMCustomUnstable.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMSelection.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMTokenList.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.cpp:
(webkit_dom_dom_window_get_property):
(webkit_dom_dom_window_class_init):
(webkit_dom_dom_window_webkit_message_handlers_post_message):
(webkit_dom_dom_window_set_property): Deleted.
(webkit_dom_dom_window_get_computed_style): Deleted.
(webkit_dom_dom_window_capture_events): Deleted.
(webkit_dom_dom_window_get_frame_element): Deleted.
(webkit_dom_dom_window_get_offscreen_buffering): Deleted.
(webkit_dom_dom_window_get_outer_height): Deleted.
(webkit_dom_dom_window_get_outer_width): Deleted.
(webkit_dom_dom_window_get_inner_height): Deleted.
(webkit_dom_dom_window_get_inner_width): Deleted.
(webkit_dom_dom_window_get_screen_x): Deleted.
(webkit_dom_dom_window_set_status): Deleted.
(webkit_dom_dom_window_get_default_status): Deleted.
(webkit_dom_dom_window_get_window): Deleted.
(webkit_dom_dom_window_get_frames): Deleted.
(webkit_dom_dom_window_get_parent): Deleted.
(webkit_dom_dom_window_get_top): Deleted.
(webkit_dom_dom_window_get_document): Deleted.
(webkit_dom_dom_window_get_device_pixel_ratio): Deleted.
(webkit_dom_dom_window_get_orientation): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindow.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDOMWindowUnstable.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.cpp:
(webkit_dom_document_get_property):
(webkit_dom_document_webkit_cancel_fullscreen):
(webkit_dom_document_get_webkit_is_fullscreen):
(webkit_dom_document_get_webkit_fullscreen_keyboard_input_allowed):
(webkit_dom_document_get_webkit_current_fullscreen_element):
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragment.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentFragmentUnstable.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentUnstable.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElement.cpp:
(webkit_dom_element_webkit_request_fullscreen): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElement.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMElementUnstable.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElement.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLElementUnstable.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp:
(webkit_dom_html_input_element_is_edited):
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.cpp:
(webkit_dom_html_link_element_set_sizes):
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLLinkElement.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp:
(webkit_dom_html_text_area_element_is_edited):
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRange.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMRangeUnstable.h:
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandlersNamespace.cpp:
(webkit_dom_user_message_handlers_namespace_get_handler):
(webkit_dom_user_message_handlers_namespace_init): Deleted.
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMUserMessageHandlersNamespace.h:
* WebProcess/InjectedBundle/API/gtk/DOM/docs/webkitdomgtk-4.0-sections.txt:
* WebProcess/InjectedBundle/API/gtk/DOM/docs/webkitdomgtk-docs.sgml:
* WebProcess/InjectedBundle/API/gtk/DOM/webkitdomdefines-unstable.h:
* WebProcess/InjectedBundle/API/gtk/DOM/webkitdomdefines.h:

Tools:

Do not use user message handler unstable API in the tests, since we have stable convenient API for that.

* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitUserContentManager.cpp:
(testUserContentManagerScriptMessageFromDOMBindings):
(serverCallback): Deleted.
(beforeAll): Deleted.
* TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:
(documentLoadedCallback):
(emitURIChanged): Deleted.

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

3 years agoUsing tests-options.json to compute whether tests are slow
commit-queue@webkit.org [Wed, 7 Sep 2016 08:55:44 +0000 (08:55 +0000)]
Using tests-options.json to compute whether tests are slow
https://bugs.webkit.org/show_bug.cgi?id=161626

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

Tools:

* Scripts/webkitpy/layout_tests/controllers/manager_unittest.py: Updated first test to use a MockHost.
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.__init__): Loading tests-options.json
(Manager._test_is_slow): Computing timeout value based on tests-options.json.

LayoutTests:

* TestExpectations: Removing slow WPT expectations now that they are handled through tests-options.json.

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

3 years ago[EFL] Need the libosmesa to support the software backend drawing.
hs85.jeong@samsung.com [Wed, 7 Sep 2016 08:20:48 +0000 (08:20 +0000)]
[EFL] Need the libosmesa to support the software backend drawing.
https://bugs.webkit.org/show_bug.cgi?id=147065

Reviewed by Gyuyoung Kim.

Added the libosmesa to support the software backend drawing.

* efl/install-dependencies:

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

3 years ago[GTK][Threaded Compositor] Several flaky tests
carlosgc@webkit.org [Wed, 7 Sep 2016 06:40:57 +0000 (06:40 +0000)]
[GTK][Threaded Compositor] Several flaky tests
https://bugs.webkit.org/show_bug.cgi?id=161242

Reviewed by Michael Catanzaro.

Source/WebKit2:

Reset the viewport attributes on SimpleViewportController when viewport attributes change and fixed layout is
not used. We were only updating the viewport attributes when fixed layout was used, but not resetting them again
when it's no longer used. That caused that reference tests run after fast/fixed-layout/fixed-layout.html or
compositing/fixed-with-fixed-layout.html in the same worker thread were incorrectly rendered.

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::dispatchViewportPropertiesDidChange): Remove ifdefs and call
WebPage::viewportPropertiesDidChange() unconditionally.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setSize): Pass current page viewport arguments to sendViewportAttributesChanged().
(WebKit::WebPage::sendViewportAttributesChanged): It now receives the viewport arguments.
(WebKit::WebPage::viewportPropertiesDidChange): Move the iOS implementation from WebPageIOS.mm and for
coordinated graphics call sendViewportAttributesChanged() when fixed layout is used or reset the viewport
attributes when not used in case of threaded compositor.
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::viewportPropertiesDidChange): Moved out of iOS ifdef.
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::viewportPropertiesDidChange): Deleted.

LayoutTests:

Unskip compositing/fixed-with-fixed-layout.html and fast/fixed-layout/fixed-layout.html.

* platform/gtk/TestExpectations:

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

3 years agoUnreviewed. Fix the GTK+ build after r205524.
carlosgc@webkit.org [Wed, 7 Sep 2016 06:14:14 +0000 (06:14 +0000)]
Unreviewed. Fix the GTK+ build after r205524.

* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLInputElement.cpp:
(webkit_dom_html_input_element_get_max_length):
(webkit_dom_html_input_element_set_max_length):
* WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMHTMLTextAreaElement.cpp:
(webkit_dom_html_text_area_element_get_max_length):
(webkit_dom_html_text_area_element_set_max_length):

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

3 years agoProxyObject's structure should not have ObjectPrototype as its prototype and it shoul...
sbarati@apple.com [Wed, 7 Sep 2016 02:48:35 +0000 (02:48 +0000)]
ProxyObject's structure should not have ObjectPrototype as its prototype and it should not have special behavior for intercepting "__proto__"
https://bugs.webkit.org/show_bug.cgi?id=161558

Reviewed by Benjamin Poulain.

JSTests:

* stress/proxy-get-prototype-of.js:
* stress/proxy-set-prototype-of.js:
(let.handler.setPrototypeOf): Deleted.
* stress/proxy-underscore-proto.js: Added.
(assert):

Source/JavaScriptCore:

ProxyObject had ObjectPrototype as its direct prototype.
This could lead to infinite loops when doing a getDirectPrototype()
loop.

Fixing this bug revealed another bug, which I made when implementing Proxy.
We should not special case "__proto__" in get and set for Proxy Object's
hooks. "__proto__" should just go through the normal set and get path.

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
* runtime/ProxyObject.cpp:
(JSC::performProxyGet):
(JSC::ProxyObject::put):

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

3 years agoMake JSC::PrivateName copyable
utatane.tea@gmail.com [Wed, 7 Sep 2016 02:22:44 +0000 (02:22 +0000)]
Make JSC::PrivateName copyable
https://bugs.webkit.org/show_bug.cgi?id=161666

Reviewed by Ryosuke Niwa.

Define the custom copy constructor to make PrivateName copyable while using Ref<SymbolImpl>.
And since the custom copy constructor deletes the default move constructor, we explcitly define
it by `= default;`.

* runtime/PrivateName.h:
(JSC::PrivateName::PrivateName):

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

3 years agoUnreviewed, rolling out r205521, r205526, and r205532.
commit-queue@webkit.org [Wed, 7 Sep 2016 01:43:11 +0000 (01:43 +0000)]
Unreviewed, rolling out r205521, r205526, and r205532.
https://bugs.webkit.org/show_bug.cgi?id=161668

broke API tests (Requested by alexchristensen on #webkit).

Reverted changesets:

"Punycode encode non-ascii hosts in URLParser"
https://bugs.webkit.org/show_bug.cgi?id=161655
http://trac.webkit.org/changeset/205521

"Fix query-only and fragment-only relative URLs when using
URLParser"
https://bugs.webkit.org/show_bug.cgi?id=161657
http://trac.webkit.org/changeset/205526

"URLParser should parse / as a relative URL"
https://bugs.webkit.org/show_bug.cgi?id=161667
http://trac.webkit.org/changeset/205532

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

3 years agoURLParser should parse / as a relative URL
achristensen@apple.com [Wed, 7 Sep 2016 01:35:34 +0000 (01:35 +0000)]
URLParser should parse / as a relative URL
https://bugs.webkit.org/show_bug.cgi?id=161667

Reviewed by Tim Horton.

Source/WebCore:

Covered by a new API test.

* platform/URLParser.cpp:
(WebCore::URLParser::parse):

Tools:

* TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):

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

3 years ago[iOS] WebKit2 fails to build with iOS 10 beta SDK - "'UIWKTextInteractionAssistant...
dbates@webkit.org [Wed, 7 Sep 2016 00:49:11 +0000 (00:49 +0000)]
[iOS] WebKit2 fails to build with iOS 10 beta SDK - "'UIWKTextInteractionAssistant' may not respond to 'selectAll:'"
https://bugs.webkit.org/show_bug.cgi?id=161663

Reviewed by Darin Adler.

The UIResponderStandardEditActions extensions, including the selectAll: message, are now
part of a formal protocol by the same name as of the iOS 10 beta SDK.

* Platform/spi/ios/UIKitSPI.h:

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

3 years ago[iOS] DumpRenderTree and WebKitTestRunner fail to build - "Ad Hoc code signing is...
dbates@webkit.org [Wed, 7 Sep 2016 00:48:46 +0000 (00:48 +0000)]
[iOS] DumpRenderTree and WebKitTestRunner fail to build - "Ad Hoc code signing is not allowed with SDK 'Simulator - iOS 10.0'"
https://bugs.webkit.org/show_bug.cgi?id=161661

Reviewed by Darin Adler.

Allow ad-hoc code signing when building the dummy DumpRenderTree and WebKitTestRunner
command line tools for simulator with the iOS 10 beta SDK.

* DumpRenderTree/mac/Configurations/Base.xcconfig:
* WebKitTestRunner/Configurations/Base.xcconfig:

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