WebKit-https.git
4 years agoUnreviewed, fix r212438 test
utatane.tea@gmail.com [Thu, 16 Feb 2017 18:20:25 +0000 (18:20 +0000)]
Unreviewed, fix r212438 test
https://bugs.webkit.org/show_bug.cgi?id=167457

* inspector/controller/runtime-controller-import.html:

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

4 years ago[WebRTC][Mac][WebKit2] Initial WebProcess does not support WebRTC
bfulgham@apple.com [Thu, 16 Feb 2017 18:10:16 +0000 (18:10 +0000)]
[WebRTC][Mac][WebKit2] Initial WebProcess does not support WebRTC
https://bugs.webkit.org/show_bug.cgi?id=168438
<rdar://problem/30401818>

Reviewed by Youenn Fablet.

The sandbox extension for microphone access does not take effect until the second WebProcess
is created, causing the initial browser tab to lack microphone support.

This patch checks the setting earlier in the boot process so that the initial WebProcess
instance gets the correct setting.

* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess): Move microphone sandbox extension here, so that the
initial WebProcess has the correct microphone access.
* UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::createNewWebProcess): Move microphone sandbox extension from here to platform-specific file.
(WebKit::WebProcessPool::createWebPage): Remove unneeded preference checks.

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

4 years agoWeak should not use jsCast in its accessors
keith_miller@apple.com [Thu, 16 Feb 2017 18:07:28 +0000 (18:07 +0000)]
Weak should not use jsCast in its accessors
https://bugs.webkit.org/show_bug.cgi?id=168406

Reviewed by Filip Pizlo.

This can cause assertion failures in WebCore where classes might remove themselves
from a data structure in a weak reference, if that reference is still alive.

* heap/WeakInlines.h:
(JSC::>):
(JSC::Weak<T>::operator):
(JSC::Weak<T>::get):

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

4 years agoAX: Make form validation accessible on iOS
cfleizach@apple.com [Thu, 16 Feb 2017 18:07:17 +0000 (18:07 +0000)]
AX: Make form validation accessible on iOS
https://bugs.webkit.org/show_bug.cgi?id=168400

Reviewed by Chris Dumez.

Hide the popover content of form validation from accessibility (since its not interactable)
and instead announce the message.

* platform/ios/ValidationBubbleIOS.mm:
(WebCore::ValidationBubble::show):

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

4 years ago[GTK] Unreviewed test gardening
jfernandez@igalia.com [Thu, 16 Feb 2017 17:56:04 +0000 (17:56 +0000)]
[GTK] Unreviewed test gardening
https://bugs.webkit.org/show_bug.cgi?id=168436

Unreviewed GTK+ gardening.

LayoutTests/imported/w3c:

- rebaseline setrequestheader-content-type-expected.txt which still have FAILs as Mac does (bug 161003)

* web-platform-tests/XMLHttpRequest/setrequestheader-content-type-expected.txt:

LayoutTests:

- imported/w3c/web-platform-tests/XMLHttpRequest/event-readystatechange-loaded.htm marked as slow
- rebaseline LayoutTests/platform/gtk/js/dom/constructor-length-expected.txt to it matches current Mac expected results.
- the tests http/tests/xmlhttprequest/redirections-and-user-headers.html marked as Failure (bug 168433)

* platform/gtk/TestExpectations:
* platform/gtk/js/dom/constructor-length-expected.txt:

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

4 years agoClean up use of some CALayer-related SPI
simon.fraser@apple.com [Thu, 16 Feb 2017 17:32:34 +0000 (17:32 +0000)]
Clean up use of some CALayer-related SPI
https://bugs.webkit.org/show_bug.cgi?id=168401

Reviewed by Tim Horton.

Source/WebCore:

Use -setDrawsAsynchronously: rather than the old -setAcceleratesDrawing: SPI.

Remove CATiledLayer-related stuff from QuartzCoreSPI.h, since we don't use it any more.

* platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(PlatformCALayerCocoa::acceleratesDrawing):
(PlatformCALayerCocoa::setAcceleratesDrawing):
* platform/graphics/ca/cocoa/WebTiledBackingLayer.mm:
(-[WebTiledBackingLayer setDrawsAsynchronously:]): This override passes the state
onto the TileController.
(-[WebTiledBackingLayer setAcceleratesDrawing:]): Deleted.
* platform/ios/LegacyTileGridTile.mm:
(WebCore::LegacyTileGridTile::LegacyTileGridTile):
* platform/spi/cocoa/QuartzCoreSPI.h:

Source/WebKit/mac:

Include CALayer.h not CATiledLayer.h.

* WebInspector/WebNodeHighlight.h:

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

4 years agoWeb Inspector: allow import() inside the inspector
utatane.tea@gmail.com [Thu, 16 Feb 2017 17:32:12 +0000 (17:32 +0000)]
Web Inspector: allow import() inside the inspector
https://bugs.webkit.org/show_bug.cgi?id=167457

Reviewed by Ryosuke Niwa.

Source/JavaScriptCore:

We relax import module hook to accept null SourceOrigin.
Such a script can be evaluated from the inspector console.

* jsc.cpp:
(GlobalObject::moduleLoaderImportModule):
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncImportModule):

Source/WebCore:

When evaluating `import("...")`, we need the caller's context to resolve
the module specifier correctly. For example, if `import("./cocoa.js")` is
evaluated in the script "drinks/hot.js", this module name is resolved to
"drinks/cocoa.js". If the same import operator is evaluated in the script
"menu/all.js", the module specifier becomes "menu/cocoa.js".

Previously we reject the import operator if the caller does not have such
a context. These context is SourceOrigin and its ScriptFetcher. While they
are offered in the script tag and other code evaluations, the inspector
console does not offer that. These class are offered in the WebCore side
and we should not touch these classes in the JSC's inspector code.

Now we relax the above restriction. If the above caller information is not
offered, we fallback to the default one. In the web page, we use the page's
URL as the caller's source origin. This allows us to evaluate the import
operator in the inspector console.

And as of r167698, the console recognizes `await import("...")` form. We use
this to test this `import()` in the console functionality.

Test: inspector/controller/runtime-controller-import.html

* bindings/js/ScriptModuleLoader.cpp:
(WebCore::ScriptModuleLoader::importModule):

LayoutTests:

Extract the test to single file. And make it deterministic.

* inspector/controller/resources/cappuccino.js: Added.
* inspector/controller/resources/cocoa.js: Added.
* inspector/controller/resources/drink.js: Added.
* inspector/controller/runtime-controller-import-expected.txt: Added.
* inspector/controller/runtime-controller-import.html: Added.

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

4 years ago[GTK] Add two new buildbots that build-only test on Debian stable and Ubuntu LTS.
clopez@igalia.com [Thu, 16 Feb 2017 17:26:59 +0000 (17:26 +0000)]
[GTK] Add two new buildbots that build-only test on Debian stable and Ubuntu LTS.
https://bugs.webkit.org/show_bug.cgi?id=168321

This bots should be added to the trunk build scheduler.
Unreviewed fix after r212429.

* BuildSlaveSupport/build.webkit.org-config/config.json:

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

4 years ago[cmake] Use env command to set PYTHONPATH if cmake is new enough
annulen@yandex.ru [Thu, 16 Feb 2017 17:11:05 +0000 (17:11 +0000)]
[cmake] Use env command to set PYTHONPATH if cmake is new enough
https://bugs.webkit.org/show_bug.cgi?id=156833

Reviewed by Alex Christensen.

This change fixes 2 issues when CMake >= 3.1 is used:
- When PYTHONPATH contains special characters, CMake adds quotes around
"PYTHONPATH=..." and produces broken build command in non-WIN32 case.
- On WIN32, unix-like shell can be used instead of cmd.exe, but this case
cannot be easily detected in cmake.

* Source/cmake/WebKitMacros.cmake:

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

4 years agoAdd WebRTC as an off-by-default experimental feature menu item.
eric.carlson@apple.com [Thu, 16 Feb 2017 17:05:55 +0000 (17:05 +0000)]
Add WebRTC as an off-by-default experimental feature menu item.
https://bugs.webkit.org/show_bug.cgi?id=167972
<rdar://problem/30293429>

Reviewed by Alex Christensen.

* Shared/WebPreferencesDefinitions.h:
* UIProcess/WebPreferences.cpp:
(WebKit::WebPreferences::setPeerConnectionAndMediaStreamEnabled): We need to enable/disable
peer connection and media stream preferences at the same time, so special case them.
(WebKit::WebPreferences::setEnabledForFeature):
* UIProcess/WebPreferences.h:

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

4 years agoUnreviewed GTK+ gardening. Rebaseline http/tests/xmlhttprequest/xmlhttprequest-test...
carlosgc@webkit.org [Thu, 16 Feb 2017 16:15:52 +0000 (16:15 +0000)]
Unreviewed GTK+ gardening. Rebaseline http/tests/xmlhttprequest/xmlhttprequest-test-custom-headers.html.

We always expect ',' since r212355.

* platform/gtk/http/tests/xmlhttprequest/xmlhttprequest-test-custom-headers-expected.txt: Added.

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

4 years agoUnreviewed GTK+ gardening. Mark several reftests as image only failures.
carlosgc@webkit.org [Thu, 16 Feb 2017 14:53:37 +0000 (14:53 +0000)]
Unreviewed GTK+ gardening. Mark several reftests as image only failures.

* platform/gtk/TestExpectations:

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

4 years ago[GTK] scroll with transparent background not repainted after scrollY >= 32768
magomez@igalia.com [Thu, 16 Feb 2017 13:47:07 +0000 (13:47 +0000)]
[GTK] scroll with transparent background not repainted after scrollY >= 32768
https://bugs.webkit.org/show_bug.cgi?id=154283

Reviewed by Carlos Garcia Campos.

Source/WebCore:

Due to a limitation of the pixman backend, which uses 16 bits to hold signed integers, cairo is
not able to draw anything when using transformation matrices with values bigger than 32768. When
drawing patterns into large pages, the matrices values can overflow those 16 bits, so cairo doesn't
draw anything in, which causes the reported transparent backgrounds.

The patch modifies the transformation matrices both from the current context and the pattern we
are painting, to avoid them to hold values that cannot stored in 16 bits.

There's still the possibility that this happens, but it would require using a pattern with a size
bigger than 32768.

Based on a previous patch by Gwang Yoon Hwang  <yoon@igalia.com>.

Test: fast/backgrounds/background-repeat-long-scroll.html

* platform/graphics/cairo/CairoUtilities.cpp:
(WebCore::drawPatternToCairoContext):

LayoutTests:

Test to ensure that the background pattern of an element is properly being drawn when it's in a position
bigger than 32768.

* fast/backgrounds/background-repeat-long-scroll-expected.html: Added.
* fast/backgrounds/background-repeat-long-scroll.html: Added.

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

4 years ago[JSC] Update module namespace object according to the latest ECMA262
utatane.tea@gmail.com [Thu, 16 Feb 2017 12:41:06 +0000 (12:41 +0000)]
[JSC] Update module namespace object according to the latest ECMA262
https://bugs.webkit.org/show_bug.cgi?id=168280

Reviewed by Saam Barati.

JSTests:

* modules/namespace-object-symbol-iterator-name.js:
* modules/namespace-object-typed-array-fast-path.js:
* modules/namespace.js:
(shouldBe.JSON.stringify.Reflect.getOwnPropertyDescriptor):
(shouldThrow):

Source/JavaScriptCore:

Reflect updates to the module namespace object.

1. @@iterator property is dropped[1].
2. @@toStringTag property becomes non-configurable[1].
3. delete with Symbol should be delegated to the JSObject's one[2].

[1]: https://tc39.github.io/ecma262/#sec-module-namespace-objects
[2]: https://github.com/tc39/ecma262/pull/767

* runtime/JSModuleNamespaceObject.cpp:
(JSC::JSModuleNamespaceObject::finishCreation):
(JSC::JSModuleNamespaceObject::deleteProperty):
(JSC::moduleNamespaceObjectSymbolIterator): Deleted.

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

4 years ago[GTK] Add two new buildbots that build-only test on Debian stable and Ubuntu LTS
clopez@igalia.com [Thu, 16 Feb 2017 12:16:26 +0000 (12:16 +0000)]
[GTK] Add two new buildbots that build-only test on Debian stable and Ubuntu LTS
https://bugs.webkit.org/show_bug.cgi?id=168321

Reviewed by Michael Catanzaro.

The additionalArgument --default-cmake-features is used both to
skip the JHBuild (InstallGtkDependencies) build step and to build
with the default features from the CMake config.

* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(Factory.__init__):
* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:

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

4 years ago[GTK] Images are never read from the clipboard
carlosgc@webkit.org [Thu, 16 Feb 2017 12:08:53 +0000 (12:08 +0000)]
[GTK] Images are never read from the clipboard
https://bugs.webkit.org/show_bug.cgi?id=168419

Reviewed by Sergio Villar Senin.

We write images in the clipboard, but we don't read them.

Fixes: editing/pasteboard/paste-image-using-image-data.html

* editing/Editor.cpp:
(WebCore::Editor::createFragmentForImageAndURL): Moved from EditorMac.mm since it's cross-platform code.
* editing/Editor.h:
* editing/gtk/EditorGtk.cpp:
(WebCore::createFragmentFromPasteboardData): Check if there's an image in the selection, and use
Editor::createFragmentForImageAndURL in that case.
* editing/mac/EditorMac.mm:
(WebCore::Editor::createFragmentForImageAndURL): Deleted.
* platform/gtk/PasteboardHelper.cpp:
(WebCore::PasteboardHelper::getClipboardContents): Check also if there's an image in the clipboard.

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

4 years agoWeb Inspector: popovers shouldn't be dismissed when Web Inspector window is dragged
commit-queue@webkit.org [Thu, 16 Feb 2017 10:17:59 +0000 (10:17 +0000)]
Web Inspector: popovers shouldn't be dismissed when Web Inspector window is dragged
https://bugs.webkit.org/show_bug.cgi?id=166935

Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2017-02-16
Reviewed by Joseph Pecoraro.

* UserInterface/Base/Main.js:
(WebInspector.contentLoaded):
(WebInspector._mouseDown): Created.
(WebInspector._dockedResizerMouseDown):
(WebInspector._moveWindowMouseDown):
Applies Popover.EventPreventDismissSymbol whenever a mousedown event is fired for an element
that controls the positioning or size of the WebInspector window.

* UserInterface/Views/Popover.js:
(WebInspector.Popover.prototype._handleEvent):
(WebInspector.Popover.EventPreventDismissSymbol):
Do not dismiss the popover if Popover.EventPreventDismissSymbol is applied to the event.

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

4 years agoUnreviewed. Fix the build after r212424.
carlosgc@webkit.org [Thu, 16 Feb 2017 09:58:06 +0000 (09:58 +0000)]
Unreviewed. Fix the build after r212424.

Add missing file.

* inspector/remote/RemoteInspector.cpp: Added.
(Inspector::RemoteInspector::startDisabled):
(Inspector::RemoteInspector::nextAvailableTargetIdentifier):
(Inspector::RemoteInspector::registerTarget):
(Inspector::RemoteInspector::unregisterTarget):
(Inspector::RemoteInspector::updateTarget):
(Inspector::RemoteInspector::updateClientCapabilities):
(Inspector::RemoteInspector::setRemoteInspectorClient):
(Inspector::RemoteInspector::setupFailed):
(Inspector::RemoteInspector::setupCompleted):
(Inspector::RemoteInspector::waitingForAutomaticInspection):
(Inspector::RemoteInspector::clientCapabilitiesDidChange):
(Inspector::RemoteInspector::stop):
(Inspector::RemoteInspector::listingForTarget):
(Inspector::RemoteInspector::updateHasActiveDebugSession):

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

4 years ago[JSC] Drop PassRefPtr in bytecompiler/
utatane.tea@gmail.com [Thu, 16 Feb 2017 07:56:48 +0000 (07:56 +0000)]
[JSC] Drop PassRefPtr in bytecompiler/
https://bugs.webkit.org/show_bug.cgi?id=168374

Reviewed by Sam Weinig.

This patch drops PassRefPtr in bytecompiler directory.
We carefully change this to Ref<>. And we use Ref<Label>
as much as possible instead of using RefPtr<Label>.
And use Label& instead of Label* as much as possible.

Currently we do not apply this change for RefPtr<RegisterID>,
to reduce the size of this patch.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::initializeDefaultParameterValuesAndSetupFunctionScopeStack):
(JSC::BytecodeGenerator::newLabelScope):
(JSC::BytecodeGenerator::newLabel):
(JSC::BytecodeGenerator::newEmittedLabel):
Introduce a new helper function, which returns new label that is emitted right here.

(JSC::BytecodeGenerator::emitLabel):
(JSC::BytecodeGenerator::emitJump):
(JSC::BytecodeGenerator::emitJumpIfTrue):
(JSC::BytecodeGenerator::emitJumpIfFalse):
(JSC::BytecodeGenerator::emitJumpIfNotFunctionCall):
(JSC::BytecodeGenerator::emitJumpIfNotFunctionApply):
Drop returning Ref<Label> since nobody uses it.

(JSC::BytecodeGenerator::emitGetByVal):
(JSC::BytecodeGenerator::emitExpectedFunctionSnippet):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitReturn):
(JSC::BytecodeGenerator::emitConstruct):
(JSC::BytecodeGenerator::pushFinallyControlFlowScope):
(JSC::BytecodeGenerator::breakTarget):
(JSC::BytecodeGenerator::pushTry):
(JSC::BytecodeGenerator::popTry):
(JSC::prepareJumpTableForSwitch):
(JSC::prepareJumpTableForStringSwitch):
(JSC::BytecodeGenerator::endSwitch):
(JSC::BytecodeGenerator::emitEnumeration):
(JSC::BytecodeGenerator::emitIteratorNext):
(JSC::BytecodeGenerator::emitIteratorNextWithValue):
(JSC::BytecodeGenerator::emitIteratorClose):
(JSC::BytecodeGenerator::pushIndexedForInScope):
(JSC::BytecodeGenerator::pushStructureForInScope):
(JSC::BytecodeGenerator::invalidateForInContextForLocal):
(JSC::BytecodeGenerator::emitRequireObjectCoercible):
(JSC::BytecodeGenerator::emitYieldPoint):
(JSC::BytecodeGenerator::emitYield):
(JSC::BytecodeGenerator::emitDelegateYield):
(JSC::BytecodeGenerator::emitJumpViaFinallyIfNeeded):
(JSC::BytecodeGenerator::emitReturnViaFinallyIfNeeded):
(JSC::BytecodeGenerator::emitFinallyCompletion):
(JSC::BytecodeGenerator::emitJumpIf):
* bytecompiler/BytecodeGenerator.h:
FinallyJump, FinallyContext, TryData, TryContext and TryRange hold Ref<Label>
instead of RefPtr<Label>. They are never nullptr.

(JSC::FinallyJump::FinallyJump):
(JSC::FinallyContext::FinallyContext):
(JSC::FinallyContext::registerJump):
(JSC::BytecodeGenerator::emitNodeInConditionContext):
(JSC::BytecodeGenerator::emitNodeForLeftHandSide):
* bytecompiler/Label.h:
Make Label noncopyable.

* bytecompiler/LabelScope.h:
(JSC::LabelScope::LabelScope):
(JSC::LabelScope::breakTarget):
breakTarget always returns Label&. On the other hand, continueTarget may be nullptr.
So it returns Label*.

* bytecompiler/NodesCodegen.cpp:
(JSC::ExpressionNode::emitBytecodeInConditionContext):
(JSC::ConstantNode::emitBytecodeInConditionContext):
(JSC::FunctionCallValueNode::emitBytecode):
(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::LogicalNotNode::emitBytecodeInConditionContext):
(JSC::BinaryOpNode::emitBytecodeInConditionContext):
(JSC::InstanceOfNode::emitBytecode):
(JSC::LogicalOpNode::emitBytecode):
(JSC::LogicalOpNode::emitBytecodeInConditionContext):
(JSC::ConditionalNode::emitBytecode):
(JSC::IfElseNode::emitBytecode):
(JSC::DoWhileNode::emitBytecode):
(JSC::WhileNode::emitBytecode):
(JSC::ForNode::emitBytecode):
(JSC::ForInNode::emitBytecode):
(JSC::ContinueNode::trivialTarget):
(JSC::ContinueNode::emitBytecode):
(JSC::BreakNode::trivialTarget):
(JSC::CaseBlockNode::emitBytecodeForBlock):
(JSC::TryNode::emitBytecode):
(JSC::FunctionNode::emitBytecode):
(JSC::ClassExprNode::emitBytecode):
(JSC::assignDefaultValueIfUndefined):
(JSC::ArrayPatternNode::bindValue):
Use Ref<Label> and Label&.

* parser/Nodes.h:

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

4 years agoUnreviewed, rolling out r212394.
achristensen@apple.com [Thu, 16 Feb 2017 07:40:16 +0000 (07:40 +0000)]
Unreviewed, rolling out r212394.

Fixed iOS WebInspector

Reverted changeset:

"Unreviewed, rolling out r212169."
https://bugs.webkit.org/show_bug.cgi?id=166681
http://trac.webkit.org/changeset/212394

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

4 years agoWeb Inspector: Request headers when copied & pasted should follow HTTP format, colon...
commit-queue@webkit.org [Thu, 16 Feb 2017 06:14:16 +0000 (06:14 +0000)]
Web Inspector: Request headers when copied & pasted should follow HTTP format, colon instead of tab
https://bugs.webkit.org/show_bug.cgi?id=168155

Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2017-02-15
Reviewed by Matt Baker.

* UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid):
(WebInspector.DataGrid.prototype.set copyTextDelimiter):
(WebInspector.DataGrid.prototype._copyTextForDataGridNode):
(WebInspector.DataGrid.prototype._copyTextForDataGridHeaders):
* UserInterface/Views/ResourceDetailsSidebarPanel.js:
(WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid):
Allow instances of DataGrid to change the delimiter between items when copying rows.

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

4 years agoUpdate ReadMe.md and merge it with Install.md
rniwa@webkit.org [Thu, 16 Feb 2017 05:00:25 +0000 (05:00 +0000)]
Update ReadMe.md and merge it with Install.md
https://bugs.webkit.org/show_bug.cgi?id=168405

Reviewed by Michael Catanzaro.

Merged Install.md and ReadMe.md into one file.

* Install.md: Removed.
* ReadMe.md: Merged Install.md at the top and updated the rest of the content.

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

4 years agoREGRESSION (r212311): NULL-dereference in HTMLMediaElement::prepareToPlay()
jer.noble@apple.com [Thu, 16 Feb 2017 04:25:22 +0000 (04:25 +0000)]
REGRESSION (r212311): NULL-dereference in HTMLMediaElement::prepareToPlay()
https://bugs.webkit.org/show_bug.cgi?id=168404
<rdar://problem/30547188>

Reviewed by Brian Weinstein.

Prior to r212311, m_player was always guaranteed to be initialized when calling
prepareToPlay(). r212311 began calling prepareToPlay() on a subsequent run-loop iteration
after creating m_player. So now check whether m_player is NULL before calling methods on it.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::prepareToPlay):

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

4 years agoMIPS: add missing implementations of load8SignedExtendTo32()
commit-queue@webkit.org [Thu, 16 Feb 2017 04:23:23 +0000 (04:23 +0000)]
MIPS: add missing implementations of load8SignedExtendTo32()

JSC: missing implementations of MacroAssemblerMIPS::load8SignedExtendTo32()
https://bugs.webkit.org/show_bug.cgi?id=168350

Patch by Guillaume Emont <guijemont@igalia.com> on 2017-02-15
Reviewed by Yusuke Suzuki.

* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::load8SignedExtendTo32):
Add missing implementations

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

4 years ago[MediaStream] delete CaptureDeviceInfo struct
eric.carlson@apple.com [Thu, 16 Feb 2017 02:01:59 +0000 (02:01 +0000)]
[MediaStream] delete CaptureDeviceInfo struct
https://bugs.webkit.org/show_bug.cgi?id=168395

Source/WebCore:

The CaptureDeviceInfo struct and CaptureDevice class were almost identical, so
add an "enabled" field to the later, delete the former, and switch all uses of
CaptureDeviceInfo to CaptureDevice.

Do some minor drive-by cleanup of AVCaptureDeviceManager::refreshCaptureDevices
and CaptureDeviceManager::captureDeviceFromDeviceID.

Reviewed by Sam Weinig.

No new tests, no behavior change.

* Modules/mediastream/MediaDevicesRequest.cpp:
(WebCore::MediaDevicesRequest::start): SourceKind -> DeviceType
* platform/mediastream/CaptureDevice.h:
(WebCore::CaptureDevice::CaptureDevice):
(WebCore::CaptureDevice::type): Renamed from kind.
(WebCore::CaptureDevice::setType):
(WebCore::CaptureDevice::enabled): Added.
(WebCore::CaptureDevice::setEnabled):
(WebCore::CaptureDevice::kind): Deleted.
(WebCore::CaptureDevice::setKind): Deleted.

* platform/mediastream/CaptureDeviceManager.cpp:
(CaptureDeviceManager::getSourcesInfo):
(CaptureDeviceManager::captureDeviceFromDeviceID): Don't call sourceWithUID.
(CaptureDeviceManager::bestSourcesForTypeAndConstraints):
(CaptureDeviceManager::sourceWithUID):
* platform/mediastream/CaptureDeviceManager.h:
(WebCore::CaptureDeviceManager::refreshCaptureDevices):
(WebCore::CaptureDeviceManager::refreshCaptureDeviceList): Deleted.

* platform/mediastream/mac/AVCaptureDeviceManager.h:
* platform/mediastream/mac/AVCaptureDeviceManager.mm:
(WebCore::AVCaptureDeviceManager::captureDevices):
(WebCore::deviceIsAvailable):
(WebCore::AVCaptureDeviceManager::refreshCaptureDevices):
(WebCore::AVCaptureDeviceManager::createMediaSourceForCaptureDeviceWithConstraints):
(WebCore::AVCaptureDeviceManager::deviceConnected):
(WebCore::AVCaptureDeviceManager::deviceDisconnected):
(WebCore::AVCaptureDeviceManager::captureDeviceList): Deleted.
(WebCore::shouldConsiderDeviceInDeviceList): Deleted.
(WebCore::AVCaptureDeviceManager::refreshCaptureDeviceList): Deleted.
* platform/mock/MockRealtimeMediaSource.cpp:
(WebCore::MockRealtimeMediaSource::audioDeviceInfo):
(WebCore::MockRealtimeMediaSource::videoDeviceInfo):

Source/WebKit2:

Reviewed by Sam Weinig.

* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<CaptureDevice>::encode):
(IPC::ArgumentCoder<CaptureDevice>::decode):

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

4 years agoMark inspector/debugger/search-scripts.html as flaky.
ryanhaddad@apple.com [Thu, 16 Feb 2017 01:17:57 +0000 (01:17 +0000)]
Mark inspector/debugger/search-scripts.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=168399

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

4 years agoMark pageoverlay/overlay-remove-reinsert-view.html as flaky on ios-simulator.
ryanhaddad@apple.com [Thu, 16 Feb 2017 01:07:23 +0000 (01:07 +0000)]
Mark pageoverlay/overlay-remove-reinsert-view.html as flaky on ios-simulator.
https://bugs.webkit.org/show_bug.cgi?id=168053

Unreviewed test gardening.

* platform/ios-simulator/TestExpectations:

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

4 years agoFix ASAN build after r212401
achristensen@apple.com [Thu, 16 Feb 2017 00:54:49 +0000 (00:54 +0000)]
Fix ASAN build after r212401
https://bugs.webkit.org/show_bug.cgi?id=168398

* Source/webrtc/media/engine/webrtcvideocapturer.cc:
* libwebrtc.xcodeproj/project.pbxproj:

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

4 years agoRebaseline fast/text/font-face-javascript.html after r212405.
ryanhaddad@apple.com [Thu, 16 Feb 2017 00:42:58 +0000 (00:42 +0000)]
Rebaseline fast/text/font-face-javascript.html after r212405.

Unreviewed test gardening.

* fast/text/font-face-javascript-expected.txt:

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

4 years agoMark media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen...
ryanhaddad@apple.com [Thu, 16 Feb 2017 00:13:40 +0000 (00:13 +0000)]
Mark media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=167589

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

4 years agoTry again.
andersca@apple.com [Wed, 15 Feb 2017 23:49:42 +0000 (23:49 +0000)]
Try again.

* WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
(WebKit::WebDragClient::startDrag):

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

4 years agoAnother attempt at fixing the Windows build.
andersca@apple.com [Wed, 15 Feb 2017 23:45:33 +0000 (23:45 +0000)]
Another attempt at fixing the Windows build.

* WebCoreSupport/WebDragClient.cpp:
(WebDragClient::startDrag):

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

4 years agoAttempt to fix the GTK+ build.
andersca@apple.com [Wed, 15 Feb 2017 23:43:19 +0000 (23:43 +0000)]
Attempt to fix the GTK+ build.

* WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
(WebKit::WebDragClient::startDrag):

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

4 years ago[WebIDL] Remove custom conversion from FontFace code by using a Variant
weinig@apple.com [Wed, 15 Feb 2017 23:38:18 +0000 (23:38 +0000)]
[WebIDL] Remove custom conversion from FontFace code by using a Variant
https://bugs.webkit.org/show_bug.cgi?id=168384

Reviewed by Alex Christensen.

Source/WebCore:

Match the font face spec and use a union rather than any in the FontFace constructor.

Test: Added additional cases to fast/text/font-face-javascript.html.

* css/FontFace.cpp:
(WebCore::FontFace::create):
* css/FontFace.h:
* css/FontFace.idl:

LayoutTests:

* fast/text/font-face-javascript.html:

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

4 years agoClean up WebProcessCreationParameters a little
simon.fraser@apple.com [Wed, 15 Feb 2017 23:37:41 +0000 (23:37 +0000)]
Clean up WebProcessCreationParameters a little
https://bugs.webkit.org/show_bug.cgi?id=168349

Reviewed by Alex Christensen.

Initialize the data members better, and rearrange to group the types in a slightly more space-efficient manner.

* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
* Shared/WebProcessCreationParameters.h:

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

4 years agorevert DOMTextEvent.h and DOMHTMLCanvasElement.h to private header
aakash_jain@apple.com [Wed, 15 Feb 2017 23:29:49 +0000 (23:29 +0000)]
revert DOMTextEvent.h and DOMHTMLCanvasElement.h to private header
https://bugs.webkit.org/show_bug.cgi?id=168393

Reviewed by Dan Bernstein.

Reverting a seemingly accidental change from r204717.

* WebKit.xcodeproj/project.pbxproj:

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

4 years agoMake libwebrtc.dylib
achristensen@apple.com [Wed, 15 Feb 2017 23:23:30 +0000 (23:23 +0000)]
Make libwebrtc.dylib
https://bugs.webkit.org/show_bug.cgi?id=168335

Reviewed by Dan Bernstein.

We were building libwebrtc as a static library, which would prevent us from weak linking with it.
We need to explicitly export what we use from WebCore or WebKit2, and RTCLogging.mm now needs to
be built on Mac, so we make it not automatically reference counted to make it work on 32-bit El Capitan.

* Configurations/libwebrtc.xcconfig:
* Source/webrtc/api/jsep.h:
* Source/webrtc/api/mediastream.h:
* Source/webrtc/api/notifier.h:
(webrtc::Notifier::Notifier): Deleted.
(webrtc::Notifier::RegisterObserver): Deleted.
(webrtc::Notifier::UnregisterObserver): Deleted.
(webrtc::Notifier::FireOnChanged): Deleted.
* Source/webrtc/api/peerconnectioninterface.h:
* Source/webrtc/base/asyncpacketsocket.h:
* Source/webrtc/base/asyncresolverinterface.h:
(rtc::AsyncResolverInterface::address): Deleted.
* Source/webrtc/base/copyonwritebuffer.h:
(rtc::CopyOnWriteBuffer::CopyOnWriteBuffer): Deleted.
(rtc::CopyOnWriteBuffer::data): Deleted.
(rtc::CopyOnWriteBuffer::cdata): Deleted.
(rtc::CopyOnWriteBuffer::size): Deleted.
(rtc::CopyOnWriteBuffer::capacity): Deleted.
(rtc::CopyOnWriteBuffer::operator=): Deleted.
(rtc::CopyOnWriteBuffer::operator!=): Deleted.
(rtc::CopyOnWriteBuffer::operator[]): Deleted.
(rtc::CopyOnWriteBuffer::SetData): Deleted.
(rtc::CopyOnWriteBuffer::AppendData): Deleted.
(rtc::CopyOnWriteBuffer::swap): Deleted.
(rtc::CopyOnWriteBuffer::IsConsistent): Deleted.
* Source/webrtc/base/event.h:
* Source/webrtc/base/export.h: Added.
* Source/webrtc/base/helpers.h:
* Source/webrtc/base/ipaddress.h:
(rtc::IPAddress::IPAddress): Deleted.
(rtc::IPAddress::~IPAddress): Deleted.
(rtc::IPAddress::operator=): Deleted.
(rtc::IPAddress::family): Deleted.
* Source/webrtc/base/location.h:
(rtc::Location::function_name): Deleted.
(rtc::Location::file_and_line): Deleted.
* Source/webrtc/base/messagehandler.h:
(rtc::MessageHandler::MessageHandler): Deleted.
* Source/webrtc/base/network.h:
(rtc::NetworkManagerBase::ipv6_enabled): Deleted.
(rtc::NetworkManagerBase::set_ipv6_enabled): Deleted.
(rtc::NetworkManagerBase::set_max_ipv6_networks): Deleted.
(rtc::NetworkManagerBase::max_ipv6_networks): Deleted.
(rtc::NetworkManagerBase::set_enumeration_permission): Deleted.
(rtc::BasicNetworkManager::started): Deleted.
(rtc::BasicNetworkManager::set_network_ignore_list): Deleted.
(rtc::BasicNetworkManager::set_ignore_non_default_routes): Deleted.
(rtc::Network::default_local_address_provider): Deleted.
(rtc::Network::set_default_local_address_provider): Deleted.
(rtc::Network::name): Deleted.
(rtc::Network::description): Deleted.
(rtc::Network::prefix): Deleted.
(rtc::Network::prefix_length): Deleted.
(rtc::Network::key): Deleted.
(rtc::Network::ip): Deleted.
(rtc::Network::AddIP): Deleted.
(rtc::Network::GetIPs): Deleted.
(rtc::Network::ClearIPs): Deleted.
(rtc::Network::scope_id): Deleted.
(rtc::Network::set_scope_id): Deleted.
(rtc::Network::ignored): Deleted.
(rtc::Network::set_ignored): Deleted.
(rtc::Network::type): Deleted.
(rtc::Network::set_type): Deleted.
(rtc::Network::GetCost): Deleted.
(rtc::Network::id): Deleted.
(rtc::Network::set_id): Deleted.
(rtc::Network::preference): Deleted.
(rtc::Network::set_preference): Deleted.
(rtc::Network::active): Deleted.
(rtc::Network::set_active): Deleted.
* Source/webrtc/base/proxyinfo.h:
* Source/webrtc/base/refcountedobject.h:
(rtc::RefCountedObject::RefCountedObject): Deleted.
(rtc::RefCountedObject::AddRef): Deleted.
(rtc::RefCountedObject::Release): Deleted.
(rtc::RefCountedObject::HasOneRef): Deleted.
(rtc::RefCountedObject::~RefCountedObject): Deleted.
* Source/webrtc/base/socketaddress.h:
(rtc::SocketAddress::hostname): Deleted.
(rtc::SocketAddress::family): Deleted.
(rtc::SocketAddress::scope_id): Deleted.
(rtc::SocketAddress::SetScopeID): Deleted.
(rtc::SocketAddress::operator !=): Deleted.
* Source/webrtc/base/thread.h:
* Source/webrtc/common_types.h:
* Source/webrtc/common_video/include/video_frame_buffer.h:
(webrtc::I420Buffer::Copy): Deleted.
(webrtc::I420Buffer::CropAndScaleFrom): Deleted.
(webrtc::I420Buffer::ScaleFrom): Deleted.
* Source/webrtc/common_video/libyuv/include/webrtc_libyuv.h:
* Source/webrtc/p2p/base/basicpacketsocketfactory.h:
* Source/webrtc/p2p/client/basicportallocator.h:
(cricket::BasicPortAllocator::network_ignore_mask): Deleted.
(cricket::BasicPortAllocator::network_manager): Deleted.
(cricket::BasicPortAllocator::socket_factory): Deleted.
* Source/webrtc/sdk/objc/Framework/Classes/RTCLogging.mm:
(RTCFileName):
* Source/webrtc/sdk/objc/Framework/Classes/videotoolboxvideocodecfactory.h:
* Source/webrtc/video_frame.h:
(webrtc::VideoFrame::timestamp_us): Deleted.
(webrtc::VideoFrame::set_timestamp_us): Deleted.
(webrtc::VideoFrame::set_timestamp): Deleted.
(webrtc::VideoFrame::timestamp): Deleted.
(webrtc::VideoFrame::transport_frame_id): Deleted.
(webrtc::VideoFrame::set_ntp_time_ms): Deleted.
(webrtc::VideoFrame::ntp_time_ms): Deleted.
(webrtc::VideoFrame::rotation): Deleted.
(webrtc::VideoFrame::set_rotation): Deleted.
(webrtc::VideoFrame::set_render_time_ms): Deleted.
(webrtc::VideoFrame::render_time_ms): Deleted.
(webrtc::VideoFrame::is_texture): Deleted.
* build: Added.
* build/Debug: Added.
* libwebrtc.xcodeproj/project.pbxproj:

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

4 years agoWeb Inspector: Split console should be allowed when docked bottom on Elements/Resourc...
commit-queue@webkit.org [Wed, 15 Feb 2017 22:48:35 +0000 (22:48 +0000)]
Web Inspector: Split console should be allowed when docked bottom on Elements/Resources/Debugger/Storage tabs
https://bugs.webkit.org/show_bug.cgi?id=168385

Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2017-02-15
Reviewed by Timothy Hatcher.

* UserInterface/Base/Main.js:
(WebInspector.updateDockedState):
If the new docked configuration does not support the split console, hide it.

* UserInterface/Views/DebuggerTabContentView.js:
(WebInspector.DebuggerTabContentView.prototype.get supportsSplitContentBrowser):
* UserInterface/Views/ElementsTabContentView.js:
(WebInspector.ElementsTabContentView.prototype.get supportsSplitContentBrowser):
* UserInterface/Views/ResourcesTabContentView.js:
(WebInspector.ResourcesTabContentView.prototype.get supportsSplitContentBrowser):
* UserInterface/Views/StorageTabContentView.js:
(WebInspector.StorageTabContentView.prototype.get supportsSplitContentBrowser):

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

4 years agoDisabled Media Sources should render black/silence
jer.noble@apple.com [Wed, 15 Feb 2017 22:44:25 +0000 (22:44 +0000)]
Disabled Media Sources should render black/silence
https://bugs.webkit.org/show_bug.cgi?id=168281
Source/WebCore:

Reviewed by Eric Carlson.

Test: webrtc/video-disabled-black.html

Pass the enabled flag setting down from the MediaStreamTrackPrivate to its underlying
source, including RealtimeMediaSource and RealtimeOutgoingAudio/VideoSource. When either
enabled is cleared or muted is set, generate empty (black or silent) media, as opposed to
pausing media or (worse) continuing to send generated media.

* platform/mediastream/MediaStreamTrackPrivate.cpp:
(WebCore::MediaStreamTrackPrivate::setEnabled):
(WebCore::MediaStreamTrackPrivate::sourceEnabledChanged):
* platform/mediastream/MediaStreamTrackPrivate.h:
* platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::setEnabled):
* platform/mediastream/RealtimeMediaSource.h:
(WebCore::RealtimeMediaSource::enabled):
* platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.h:
* platform/mediastream/mac/MockRealtimeAudioSourceMac.mm:
(WebCore::MockRealtimeAudioSourceMac::render):
* platform/mediastream/mac/RealtimeOutgoingAudioSource.cpp:
(WebCore::RealtimeOutgoingAudioSource::sourceMutedChanged):
(WebCore::RealtimeOutgoingAudioSource::sourceEnabledChanged):
(WebCore::RealtimeOutgoingAudioSource::pullAudioData):
* platform/mediastream/mac/RealtimeOutgoingAudioSource.h:
* platform/mediastream/mac/RealtimeOutgoingVideoSource.cpp:
(WebCore::RealtimeOutgoingVideoSource::sourceMutedChanged):
(WebCore::RealtimeOutgoingVideoSource::sourceEnabledChanged):
(WebCore::RealtimeOutgoingVideoSource::videoSampleAvailable):
* platform/mediastream/mac/RealtimeOutgoingVideoSource.h:
* platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::generateFrame):

LayoutTests:

<rdar://problem/30508003>

Reviewed by Eric Carlson.

* webrtc/video-disabled-black-expected.txt: Added.
* webrtc/video-disabled-black.html: Added.

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

4 years agoREGRESSION(r183937): Fullscreen Exit animation missing mask
jer.noble@apple.com [Wed, 15 Feb 2017 22:43:59 +0000 (22:43 +0000)]
REGRESSION(r183937): Fullscreen Exit animation missing mask
https://bugs.webkit.org/show_bug.cgi?id=168360

Reviewed by Eric Carlson.

In r183937, the fullscreen window's clip layer has it's mask removed when the enter
fullscreen animation completes, allowing low-power video playback mode to be entered. But
this breaks the exit fullscreen animaiton, which assumes a mask is present. Abstract the
mask creation code out into a static helper method, and use it at the beginning of the exit
fullscreen animation to re-create the mask before adding animations to it.

* UIProcess/mac/WKFullScreenWindowController.mm:
(createMask):
(-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
(-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):

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

4 years ago[WebRTC] Remove libwebrtc ObjectiveC files that use UIKit
achristensen@apple.com [Wed, 15 Feb 2017 22:43:45 +0000 (22:43 +0000)]
[WebRTC] Remove libwebrtc ObjectiveC files that use UIKit
https://bugs.webkit.org/show_bug.cgi?id=168392

Patch by Youenn Fablet <youenn@apple.com> on 2017-02-15
Reviewed by Alex Christensen.

Removing default AudioDeviceModule as WebKit is providing its own.
Removing checks for active application in H264 codec as WebKit should be made responsible for that.
Removing no longer needed ObjectiveC files.

* Configurations/libwebrtc.xcconfig:
* Configurations/libwebrtcpcrtc.xcconfig:
* Source/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_decoder.cc:
* Source/webrtc/sdk/objc/Framework/Classes/h264_video_toolbox_encoder.mm:
(webrtc::H264VideoToolboxEncoder::Encode):
* libwebrtc.xcodeproj/project.pbxproj:

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

4 years agohttps://bugs.webkit.org/show_bug.cgi?id=168386
lforschler@apple.com [Wed, 15 Feb 2017 22:42:16 +0000 (22:42 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=168386
Remove EFL from build.webkit.org

Reviewed by Alex Christensen

* BuildSlaveSupport/build.webkit.org-config/config.json:
* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(DeleteStaleBuildFiles.start):
(appendCustomBuildFlags):
(RunWebKitTests.start):
(RunBuiltinsTests):
(Factory.__init__):
(TestFactory.__init__):
(loadBuilderConfig):
(InstallEflDependencies): Deleted.
(RunEflAPITests): Deleted.
* BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:
(BubbleQueueServer):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js:
(Analyzer.prototype._triggeringQueue):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
(table.queue-grid tr.platform.linux-efl img.logo): Deleted.
* BuildSlaveSupport/build.webkit.org-config/templates/root.html:
* BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
(_should_file_trigger_build):

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

4 years agoRemove ElCapitan flag from flaky test media/modern-media-controls/airplay-support...
ryanhaddad@apple.com [Wed, 15 Feb 2017 22:36:56 +0000 (22:36 +0000)]
Remove ElCapitan flag from flaky test media/modern-media-controls/airplay-support/airplay-support.html.
https://bugs.webkit.org/show_bug.cgi?id=167442

Unreviewed test gardening.

* TestExpectations:
* platform/mac/TestExpectations:

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

4 years agoUnreviewed, rolling out r212169.
achristensen@apple.com [Wed, 15 Feb 2017 22:31:07 +0000 (22:31 +0000)]
Unreviewed, rolling out r212169.

Broke iOS WebInspector

Reverted changeset:

"WebInspector: refactor RemoteInspector to move cocoa specific
code to their own files"
https://bugs.webkit.org/show_bug.cgi?id=166681
http://trac.webkit.org/changeset/212169

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

4 years agoEditing history scripts should not add the contenteditable attribute or override...
wenson_hsieh@apple.com [Wed, 15 Feb 2017 21:50:10 +0000 (21:50 +0000)]
Editing history scripts should not add the contenteditable attribute or override key events
https://bugs.webkit.org/show_bug.cgi?id=168389
<rdar://problem/30529945>

Reviewed by Dan Bernstein.

Clients that hook into editing history tracking should handle setting the contenteditable attribute on the body
rather than have the script add it to the body. Additionally, this script should NOT be overriding any keydown
events. These were initially added for compatibility with a test harness early on, and should have been removed
earlier.

* Scripts/DumpEditingHistory.js:

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

4 years agoUpdate TestExpectations for resourceLoadStatistics tests.
ryanhaddad@apple.com [Wed, 15 Feb 2017 21:22:37 +0000 (21:22 +0000)]
Update TestExpectations for resourceLoadStatistics tests.

Unreviewed test gardening.

* platform/wk2/TestExpectations:

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

4 years agoSkip fast/frames/exponential-frames.html on ios-simulator
ryanhaddad@apple.com [Wed, 15 Feb 2017 21:22:35 +0000 (21:22 +0000)]
Skip fast/frames/exponential-frames.html on ios-simulator

Unreviewed test gardening.

* platform/ios-simulator/TestExpectations:

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

4 years agoTry to fix the Windows build.
andersca@apple.com [Wed, 15 Feb 2017 20:49:42 +0000 (20:49 +0000)]
Try to fix the Windows build.

* WebCoreSupport/WebDragClient.h:

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

4 years agoVersioning.
matthew_hanson@apple.com [Wed, 15 Feb 2017 20:03:23 +0000 (20:03 +0000)]
Versioning.

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

4 years agowebkitpy: Fix DarwinPort._get_crash_log()
jbedard@apple.com [Wed, 15 Feb 2017 20:01:01 +0000 (20:01 +0000)]
webkitpy: Fix DarwinPort._get_crash_log()
https://bugs.webkit.org/show_bug.cgi?id=168372
<rdar://problem/30535156>

Reviewed by Daniel Bates.

Callers of _get_crash_log expect a pair to be returned and do not check it's return value.
DarwinPort should return the expected return value for _get_crash_log.

* Scripts/webkitpy/port/darwin.py:
(DarwinPort._get_crash_log): Call parent class's implementation of _get_crash_log.

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

4 years agoFix the build after r212379
wenson_hsieh@apple.com [Wed, 15 Feb 2017 19:55:20 +0000 (19:55 +0000)]
Fix the build after r212379

Rubber-stamped by Anders Carlsson.

* WebCoreSupport/WebDragClient.mm:
(WebDragClient::startDrag):

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

4 years agoPass "RequiresCustomURLLoading" in AVURLAsset options dictionary
jer.noble@apple.com [Wed, 15 Feb 2017 19:42:14 +0000 (19:42 +0000)]
Pass "RequiresCustomURLLoading" in AVURLAsset options dictionary
https://bugs.webkit.org/show_bug.cgi?id=168381

Reviewed by Eric Carlson.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):

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

4 years agoSkip fast/frames/exponential-frames.html.
ryanhaddad@apple.com [Wed, 15 Feb 2017 19:24:09 +0000 (19:24 +0000)]
Skip fast/frames/exponential-frames.html.

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

4 years agoRemove Release flag from flaky test http/tests/xmlhttprequest/auth-reject-protection...
ryanhaddad@apple.com [Wed, 15 Feb 2017 19:24:07 +0000 (19:24 +0000)]
Remove Release flag from flaky test http/tests/xmlhttprequest/auth-reject-protection-space.html.
https://bugs.webkit.org/show_bug.cgi?id=163136

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

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

4 years agoFix build.
andersca@apple.com [Wed, 15 Feb 2017 18:45:10 +0000 (18:45 +0000)]
Fix build.

* page/DragController.cpp:
(WebCore::DragController::doSystemDrag):

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

4 years agoModernize DragClient::startDrag somewhat
andersca@apple.com [Wed, 15 Feb 2017 18:31:00 +0000 (18:31 +0000)]
Modernize DragClient::startDrag somewhat
https://bugs.webkit.org/show_bug.cgi?id=168379

Reviewed by Tim Horton.

Source/WebCore:

Change DragClient::startDrag to take a DragImage instead of a DragImageRef, and to pass along the source action
instead of whether it's a link or not.

* loader/EmptyClients.cpp:
* page/DragClient.h:
* page/DragController.cpp:
(WebCore::DragController::startDrag):
(WebCore::DragController::doImageDrag):
(WebCore::DragController::doSystemDrag):
* page/DragController.h:

Source/WebKit/mac:

Update for WebCore changes.

* WebCoreSupport/WebDragClient.h:
* WebCoreSupport/WebDragClient.mm:
(WebDragClient::startDrag):

Source/WebKit/win:

Update for WebCore changes.

* WebCoreSupport/WebDragClient.cpp:
(WebDragClient::startDrag):

Source/WebKit2:

Update for WebCore changes.

* WebProcess/WebCoreSupport/WebDragClient.cpp:
(WebKit::WebDragClient::startDrag):
* WebProcess/WebCoreSupport/WebDragClient.h:
* WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
(WebKit::WebDragClient::startDrag):

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

4 years agoExpose Symbol.toPrimitive / valueOf on Location instances
cdumez@apple.com [Wed, 15 Feb 2017 18:23:33 +0000 (18:23 +0000)]
Expose Symbol.toPrimitive / valueOf on Location instances
https://bugs.webkit.org/show_bug.cgi?id=168295

Reviewed by Geoffrey Garen, Keith Miller and Mark Lam.

LayoutTests/imported/w3c:

Import test coverage from upstream web-platform-tests.

* web-platform-tests/html/browsers/history/the-location-interface/location-symbol-toprimitive-expected.txt: Added.
* web-platform-tests/html/browsers/history/the-location-interface/location-symbol-toprimitive.html: Added.
* web-platform-tests/html/browsers/history/the-location-interface/location-valueof-expected.txt: Added.
* web-platform-tests/html/browsers/history/the-location-interface/location-valueof.html: Added.
* web-platform-tests/html/browsers/history/the-location-interface/w3c-import.log:

Source/JavaScriptCore:

Cache origin objectProtoValueOf function on JSGlobalObject.

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::objectProtoValueOfFunction):

Source/WebCore:

Expose Symbol.toPrimitive / valueOf on Location instances as per:
- https://html.spec.whatwg.org/#the-location-interface

Firefox and Chrome already comply with the specification.

Tests: fast/dom/location-valueOf-after-object-prototype-update.html
       fast/dom/location-valueOf-after-object-prototype-update2.html
       imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-symbol-toprimitive.html
       imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location-valueof.html

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):

LayoutTests:

Add test coverage for cases where the Object prototype has been updated before
the Location object is constructed.

* fast/dom/location-valueOf-after-object-prototype-update-expected.txt: Added.
* fast/dom/location-valueOf-after-object-prototype-update.html: Added.
* fast/dom/location-valueOf-after-object-prototype-update2-expected.txt: Added.
* fast/dom/location-valueOf-after-object-prototype-update2.html: Added.

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

4 years agoMark media/modern-media-controls/media-controller/media-controller-resize.html as...
ryanhaddad@apple.com [Wed, 15 Feb 2017 18:22:13 +0000 (18:22 +0000)]
Mark media/modern-media-controls/media-controller/media-controller-resize.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=168378

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

4 years agoRemove WebIOSEvent interface
aakash_jain@apple.com [Wed, 15 Feb 2017 18:13:18 +0000 (18:13 +0000)]
Remove WebIOSEvent interface
https://bugs.webkit.org/show_bug.cgi?id=168368

Reviewed by Tim Horton.

Source/WebCore:

* platform/ios/WebEvent.h: Removed WebIOSEvent.

Source/WebKit2:

* Shared/NativeWebKeyboardEvent.h: Using WebEvent from WebCore instead of WebIOSEvent.
* Shared/ios/NativeWebKeyboardEventIOS.mm: Ditto.
* Shared/ios/WebIOSEventFactory.h: Ditto.
* Shared/ios/WebIOSEventFactory.mm: Ditto.
* UIProcess/ios/WKContentViewInteraction.h: Ditto.
* UIProcess/ios/WKContentViewInteraction.mm: Ditto.
* UIProcess/API/C/WKPage.cpp: Using WebEvent from WebKit.

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

4 years ago[iOS] Form Validation Bubble should be sensitive to Dynamic Type
cdumez@apple.com [Wed, 15 Feb 2017 18:12:25 +0000 (18:12 +0000)]
[iOS] Form Validation Bubble should be sensitive to Dynamic Type
https://bugs.webkit.org/show_bug.cgi?id=168291
<rdar://problem/30508593>

Reviewed by Tim Horton.

Source/WebCore:

Update ValidationBubble implementation on iOS to stop obeying the
minimum font size setting, given that this setting is not exposed
on iOS. Instead, we now rely on
[UIFont preferredFontForTextStyle:UIFontTextStyleCallout], which
will give us a font whose size obeys Dynamic Type [1] setting on iOS.

[1] https://developer.apple.com/ios/human-interface-guidelines/visual-design/typography/

No new tests, no easily testable.

* platform/ios/ValidationBubbleIOS.mm:
(WebCore::ValidationBubble::ValidationBubble):

Tools:

Drop overridePreference() implementation in iOS's UIScriptController
as it was only used for the minimum font size setting and this setting
is not exposed on iOS.

* DumpRenderTree/ios/UIScriptControllerIOS.mm:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::overridePreference):
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:

LayoutTests:

Skip fast/forms/validation-message-minimum-font-size.html on iOS now
that the ValidationBubble implementation no longer obeys the minimum
font size setting on iOS.

* platform/ios-simulator/TestExpectations:

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

4 years agoMark animations/trigger-container-scroll-empty.html as flaky.
ryanhaddad@apple.com [Wed, 15 Feb 2017 18:09:41 +0000 (18:09 +0000)]
Mark animations/trigger-container-scroll-empty.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=168089

Unreivewed test gardening.

* platform/mac-wk2/TestExpectations:

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

4 years agowebkitpy: Memoize app_identifier_from_bundle for efficiency, call parent class for...
jbedard@apple.com [Wed, 15 Feb 2017 17:58:05 +0000 (17:58 +0000)]
webkitpy: Memoize app_identifier_from_bundle for efficiency, call parent class for _get_crash_log
https://bugs.webkit.org/show_bug.cgi?id=168329
<rdar://problem/30518832>

Reviewed by Daniel Bates.

When testing on device, app_identifier_from_bundle is repeatedly called but the return value will
never change given the same input arguments.  Memoize function for efficiency.

* Scripts/webkitpy/port/darwin.py: Add memoized import.
(DarwinPort):
(DarwinPort.app_identifier_from_bundle): Memoize to avoid extra executions of PlistBuddy.

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

4 years agoMark imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-removed.html...
ryanhaddad@apple.com [Wed, 15 Feb 2017 17:56:44 +0000 (17:56 +0000)]
Mark imported/w3c/web-platform-tests/media-source/SourceBuffer-abort-removed.html as flaky on macOS.
https://bugs.webkit.org/show_bug.cgi?id=167975

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

4 years agoMove TestExpectation from mac-wk1 to mac file.
ryanhaddad@apple.com [Wed, 15 Feb 2017 17:56:42 +0000 (17:56 +0000)]
Move TestExpectation from mac-wk1 to mac file.

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:
* platform/mac/TestExpectations:

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

4 years agoMark inspector/dom-debugger/node-removed.html as flaky.
ryanhaddad@apple.com [Wed, 15 Feb 2017 17:56:39 +0000 (17:56 +0000)]
Mark inspector/dom-debugger/node-removed.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=154610

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

4 years agowebkitpy: Remove unused import from darwin.py
jbedard@apple.com [Wed, 15 Feb 2017 17:39:34 +0000 (17:39 +0000)]
webkitpy: Remove unused import from darwin.py
https://bugs.webkit.org/show_bug.cgi?id=168371

Reviewed by Alex Christensen.

* Scripts/webkitpy/port/darwin.py: Remove unused 'time' module.

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

4 years agoUpdate TestExpectations for fast/frames/exponential-frames.html.
ryanhaddad@apple.com [Wed, 15 Feb 2017 17:17:29 +0000 (17:17 +0000)]
Update TestExpectations for fast/frames/exponential-frames.html.

Unreviewed test gardening.

* platform/mac-wk1/TestExpectations:

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

4 years agoUnreviewed GTK+ gardening. Mark a11y and media tests currently failing.
carlosgc@webkit.org [Wed, 15 Feb 2017 17:09:24 +0000 (17:09 +0000)]
Unreviewed GTK+ gardening. Mark a11y and media tests currently failing.

* platform/gtk/TestExpectations:

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

4 years ago[JSC] Drop PassRefPtr
utatane.tea@gmail.com [Wed, 15 Feb 2017 17:09:22 +0000 (17:09 +0000)]
[JSC] Drop PassRefPtr
https://bugs.webkit.org/show_bug.cgi?id=168320

Reviewed by Saam Barati.

Source/JavaScriptCore:

* API/JSContextRef.cpp:
(JSGlobalContextCreateInGroup):
Use Ref<VM> from the factory function.

* API/JSScriptRef.cpp:
(OpaqueJSScript::create):
Return Ref<> instead.

* API/tests/JSONParseTest.cpp:
(testJSONParse):
Use Ref<VM>.

* assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::finalizeCodeWithoutDisassembly):
Use reference since we already perform null check.

* assembler/MacroAssemblerCodeRef.h:
(JSC::MacroAssemblerCodeRef::MacroAssemblerCodeRef):
Take Ref<>&& instead of PassRefPtr<>.

* bytecode/CallLinkInfo.h:
(JSC::CallLinkInfo::setStub):
(JSC::CallLinkInfo::setSlowStub):
Take Ref<>&& instead of PassRefPtr<>.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
Take RefPtr<SourceProvider>. Currently, the SourceProvider would be nullptr.
We will change it to Ref<SourceProvider> in https://bugs.webkit.org/show_bug.cgi?id=168325.

(JSC::CodeBlock::finishCreation):
Take Ref<TypeSet>&&.

* bytecode/CodeBlock.h:
(JSC::CodeBlock::setJITCode):
Take Ref<>&& instead.

(JSC::CodeBlock::jitCode):
Return RefPtr<> instead.

* bytecode/EvalCodeBlock.h:
(JSC::EvalCodeBlock::create):
Take RefPtr<>&& instead since SourceProvider woule be nullptr.

(JSC::EvalCodeBlock::EvalCodeBlock):
* bytecode/FunctionCodeBlock.h:
(JSC::FunctionCodeBlock::create):
(JSC::FunctionCodeBlock::FunctionCodeBlock):
Take RefPtr<>&& instead since SourceProvider woule be nullptr.

* bytecode/GlobalCodeBlock.h:
(JSC::GlobalCodeBlock::GlobalCodeBlock):
Take RefPtr<>&& instead since SourceProvider woule be nullptr.

* bytecode/ModuleProgramCodeBlock.h:
(JSC::ModuleProgramCodeBlock::create):
(JSC::ModuleProgramCodeBlock::ModuleProgramCodeBlock):
Take RefPtr<>&& instead since SourceProvider woule be nullptr.

* bytecode/ProgramCodeBlock.h:
(JSC::ProgramCodeBlock::create):
(JSC::ProgramCodeBlock::ProgramCodeBlock):
Take RefPtr<>&& instead since SourceProvider woule be nullptr.

* debugger/DebuggerParseData.cpp:
(JSC::gatherDebuggerParseDataForSource):
Ensure the provider is not nullptr. It is OK because we already
touch `provider->xxx` values.

* dfg/DFGBlockInsertionSet.cpp:
(JSC::DFG::BlockInsertionSet::insert):
Take Ref<>&& instead.

* dfg/DFGBlockInsertionSet.h:
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::inlineCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseCodeBlock):
Pass Ref<>&& to appendBlock.

* dfg/DFGDriver.cpp:
(JSC::DFG::compileImpl):
(JSC::DFG::compile):
Pass Ref<Plan>&&. And take Ref<>&& callback.

* dfg/DFGDriver.h:
* dfg/DFGGraph.h:
appendBlock takes Ref<>&&.

(JSC::DFG::Graph::appendBlock):
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::compileFunction):
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::jitCode):
* dfg/DFGJITFinalizer.cpp:
(JSC::DFG::JITFinalizer::JITFinalizer):
Take Ref<JITCode>&&.

(JSC::DFG::JITFinalizer::finalize):
(JSC::DFG::JITFinalizer::finalizeFunction):
(JSC::DFG::JITFinalizer::finalizeCommon):
Pass compilation reference since we already perform null check.

* dfg/DFGJITFinalizer.h:
* dfg/DFGWorklist.cpp:
(JSC::DFG::Worklist::enqueue):
Take Ref<Plan>&&.

* dfg/DFGWorklist.h:
* ftl/FTLJITFinalizer.cpp:
(JSC::FTL::JITFinalizer::finalizeFunction):
Dereference and pass jitCode & compilation references.

* jit/GCAwareJITStubRoutine.cpp:
(JSC::createJITStubRoutine):
Return Ref<> instead.

* jit/GCAwareJITStubRoutine.h:
(JSC::createJITStubRoutine):
* jit/JIT.cpp:
(JSC::JIT::link):
Pass compilation reference since we already perform null check.

* jit/JITStubRoutine.h:
(JSC::JITStubRoutine::asCodePtr):
Take Ref<>&& instead. And this drops unnecessary null check.

* jit/JITThunks.cpp:
(JSC::JITThunks::hostFunctionStub):
Pass Ref<> to NativeExecutable::create.

* llint/LLIntEntrypoint.cpp:
(JSC::LLInt::setFunctionEntrypoint):
(JSC::LLInt::setEvalEntrypoint):
(JSC::LLInt::setProgramEntrypoint):
(JSC::LLInt::setModuleProgramEntrypoint):
Use Ref<>&& instead.

* parser/SourceCode.h:
(JSC::SourceCode::SourceCode):
(JSC::SourceCode::subExpression):
Add constructors taking Ref<>&&.
We still have constructors that take RefPtr<>&&.
We will change it to Ref<SourceProvider>&& in https://bugs.webkit.org/show_bug.cgi?id=168325.

* parser/UnlinkedSourceCode.h:
(JSC::UnlinkedSourceCode::UnlinkedSourceCode):
Add constructors taking Ref<>&&.
We still have constructors that take RefPtr<>&&.
We will change it to Ref<SourceProvider>&& in https://bugs.webkit.org/show_bug.cgi?id=168325.

* profiler/ProfilerDatabase.cpp:
(JSC::Profiler::Database::addCompilation):
Take Ref<Compilation>&&.

* profiler/ProfilerDatabase.h:
Change data structures to hold Ref<> instead of RefPtr<>.

* runtime/EvalExecutable.h:
(JSC::EvalExecutable::generatedJITCode):
Return Ref<> instead.

* runtime/ExecutableBase.h:
(JSC::ExecutableBase::generatedJITCodeForCall):
(JSC::ExecutableBase::generatedJITCodeForConstruct):
(JSC::ExecutableBase::generatedJITCodeFor):
Return Ref<> instead.

* runtime/Identifier.cpp:
(JSC::Identifier::add):
(JSC::Identifier::add8):
* runtime/Identifier.h:
(JSC::Identifier::add):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::setInputCursor):
And take Ref<> in this method.

* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::inputCursor):
Change m_inputCursor from RefPtr<> to Ref<>.

* runtime/JSPropertyNameEnumerator.cpp:
(JSC::JSPropertyNameEnumerator::create):
(JSC::JSPropertyNameEnumerator::finishCreation):
Take Ref<PropertyNameArray>&&.

* runtime/JSPropertyNameEnumerator.h:
(JSC::propertyNameEnumerator):
* runtime/JSString.h:
(JSC::JSString::JSString):
Take Ref<StringImpl>&& since we do not allow nullptr in this constructor.

(JSC::JSString::create):
(JSC::JSString::createHasOtherOwner):
Take Ref<StringImpl>&& in these factory functions. And drop unnecessary assertions.

(JSC::jsSingleCharacterString):
Use StringImpl::create() which returns Ref<>.

(JSC::jsNontrivialString):
Dereference impl() since we ensure that `s.length() > 1`.

(JSC::jsString):
Use releaseNonNull() since we ensure that `s.length() > 1`.

(JSC::jsOwnedString):
Use releaseNonNull() since we ensure that `s.length() > 1`.

* runtime/ModuleProgramExecutable.h:
* runtime/NativeExecutable.cpp:
(JSC::NativeExecutable::create):
(JSC::NativeExecutable::finishCreation):
Take Ref<JITCode>&&.

* runtime/NativeExecutable.h:
* runtime/ProgramExecutable.h:
Return Ref<JITCode>.

* runtime/PropertyNameArray.h:
(JSC::PropertyNameArray::releaseData):
(JSC::PropertyNameArray::setData): Deleted.
This is not used.

* runtime/RegExpKey.h:
(JSC::RegExpKey::RegExpKey):
Take RefPtr<>&&.

* runtime/SmallStrings.cpp:
(JSC::SmallStringsStorage::rep):
Return StringImpl& since m_reps is already initialized in the constructor.

(JSC::SmallStrings::createEmptyString):
Dereference StringImpl::empty().

(JSC::SmallStrings::createSingleCharacterString):
Use StringImpl&.

(JSC::SmallStrings::singleCharacterStringRep):
Return StringImpl&.

(JSC::SmallStrings::initialize):
Use AtomicStringImpl::add instead.

* runtime/SmallStrings.h:
* runtime/Structure.cpp:
(JSC::Structure::toStructureShape):
Return Ref<>.

* runtime/Structure.h:
* runtime/TypeLocationCache.cpp:
(JSC::TypeLocationCache::getTypeLocation):
Take RefPtr<TypeSet>&&.

* runtime/TypeLocationCache.h:
* runtime/TypeProfilerLog.cpp:
Pass Ref<>&&.

(JSC::TypeProfilerLog::processLogEntries):
* runtime/TypeSet.cpp:
(JSC::TypeSet::addTypeInformation):
Take RefPtr<>&& since it can be nullptr.
And clean up "not found" code.

(JSC::TypeSet::allStructureRepresentations):
Use range based iteration.

(JSC::StructureShape::leastCommonAncestor):
We found that this method accidentally takes `const Vector<>` instead of `const Vector<>&`.
And internally, we just use raw pointers since these StructureShapes are owned by the m_proto trees which starts from the given Vector<>.

(JSC::StructureShape::hasSamePrototypeChain):
Take const reference instead. And use raw pointers internally.

(JSC::StructureShape::merge):
Take Ref<>&&.

* runtime/TypeSet.h:
(JSC::StructureShape::setProto):
Take Ref<>&&.

* runtime/VM.cpp:
(JSC::VM::getHostFunction):
Pass Ref<>&&.

(JSC::VM::queueMicrotask):
Take and pass Ref<>&&.

* runtime/VM.h:
(JSC::QueuedTask::QueuedTask):
Take Ref<>&&.

* tools/FunctionOverrides.cpp:
(JSC::initializeOverrideInfo):
We need this change due to Ref<>&& and RefPtr<>&& ambiguity of SourceCode constructors.
Once SourceCode is fixed to only take Ref<>&&, this change is unnecessary.

Source/WebCore:

* bindings/js/ScriptSourceCode.h:
(WebCore::ScriptSourceCode::ScriptSourceCode):
Use Ref and pass it to SourceCode.

* replay/ReplayController.cpp:
(WebCore::ReplayController::frameNavigated):
Pass reference.

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

4 years agoUnreviewed. Add ENABLE_INTERSECTION_OBSERVER option to CMake.
carlosgc@webkit.org [Wed, 15 Feb 2017 16:35:39 +0000 (16:35 +0000)]
Unreviewed. Add ENABLE_INTERSECTION_OBSERVER option to CMake.

It's now a runtime enabled feature so we should always build it.

Fixes: intersection-observer/intersection-observer-entry-interface.html
       intersection-observer/intersection-observer-interface.html

* Source/cmake/WebKitFeatures.cmake:

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

4 years ago[Mac][cmake] Unreviewed trivial buildfix after r212169.
ossy@webkit.org [Wed, 15 Feb 2017 16:26:29 +0000 (16:26 +0000)]
[Mac][cmake] Unreviewed trivial buildfix after r212169.
https://bugs.webkit.org/show_bug.cgi?id=166681

* PlatformMac.cmake: Removed inspector/remote/RemoteInspectorXPCConnection.mm.

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

4 years agoUnreviewed GTK+ gardening. Skip tests that need DASHBOARD_SUPPORT enabled.
carlosgc@webkit.org [Wed, 15 Feb 2017 15:53:41 +0000 (15:53 +0000)]
Unreviewed GTK+ gardening. Skip tests that need DASHBOARD_SUPPORT enabled.

* platform/gtk/TestExpectations:

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

4 years agoUnreviewed GTK+ gardening. Mark several IndexedDB tests as crashing.
carlosgc@webkit.org [Wed, 15 Feb 2017 15:38:08 +0000 (15:38 +0000)]
Unreviewed GTK+ gardening. Mark several IndexedDB tests as crashing.

* platform/gtk/TestExpectations:

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

4 years ago[GStreamer][MSE][EME] Handle protection event also at decryptor level
calvaris@igalia.com [Wed, 15 Feb 2017 15:14:13 +0000 (15:14 +0000)]
[GStreamer][MSE][EME] Handle protection event also at decryptor level
https://bugs.webkit.org/show_bug.cgi?id=168316

Reviewed by Žan Doberšek.

So far in MSE pipeline we were handling the encryption events
only when they arrived at the demuxer but this won't work in any
kind of key renegotiation as the event will never arrive. Now we
connect to the element messages, check for the drm id and send it
to the private player for processing.

* platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::appendPipelineElementMessageCallback):
(WebCore::AppendPipeline::AppendPipeline):
(WebCore::AppendPipeline::handleElementMessage):
* platform/graphics/gstreamer/mse/AppendPipeline.h:

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

4 years agoUnreviewed GTK+ gardening. Rebaseline http/tests/security/video-cross-origin-accessfa...
carlosgc@webkit.org [Wed, 15 Feb 2017 14:33:41 +0000 (14:33 +0000)]
Unreviewed GTK+ gardening. Rebaseline http/tests/security/video-cross-origin-accessfailure.html.

* http/tests/security/video-cross-origin-accessfailure-expected.txt:

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

4 years ago[SOUP] Credentials stored by libsoup are used even StoredCredentials policy is DoNotA...
carlosgc@webkit.org [Wed, 15 Feb 2017 14:22:42 +0000 (14:22 +0000)]
[SOUP] Credentials stored by libsoup are used even StoredCredentials policy is DoNotAllowStoredCredentials
https://bugs.webkit.org/show_bug.cgi?id=168364

Reviewed by Michael Catanzaro.

This can happen if a previous load with allowed to use stored credentials authenticated successfully, saving the
credentials in libsoup. It's actually a libsoup bug, but since it's causing layout test failures and we have
patches for them, let's patch out jhbuild until we have a new libsoup version to depend on.

Fixes: http/tests/security/credentials-from-different-domains.html
       http/tests/xmlhttprequest/cross-origin-no-authorization.html

* gtk/jhbuild.modules:
* gtk/patches/libsoup-auth-Fix-async-authentication-when-flag-SOUP_MESSAGE.patch: Added.
* gtk/patches/libsoup-auth-do-not-use-cached-credentials-in-lookup-method-.patch: Added.

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

4 years agoUnreviewed GTK+ gardening. Mark http/tests/security/credentials-iframes.html as expec...
carlosgc@webkit.org [Wed, 15 Feb 2017 14:10:54 +0000 (14:10 +0000)]
Unreviewed GTK+ gardening. Mark http/tests/security/credentials-iframes.html as expected failure.

* platform/gtk/TestExpectations:

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

4 years ago[EME] MediaKeys::setServerCertificate() must resolve with 'false' when certificates...
zandobersek@gmail.com [Wed, 15 Feb 2017 11:47:19 +0000 (11:47 +0000)]
[EME] MediaKeys::setServerCertificate() must resolve with 'false' when certificates aren't supported
https://bugs.webkit.org/show_bug.cgi?id=168362

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

In MediaKeys::setServerCertificate(), when the CDM implementation
doesn't support server certificates, it should resolve the promise
with the 'false' value, as mandated by the specification, and not
reject it.

A test case in mock-MediaKeys-setServerCertificate.html is updated.

* Modules/encryptedmedia/MediaKeys.cpp:
(WebCore::MediaKeys::setServerCertificate):

LayoutTests:

Update the certificates-not-supported test case, making sure the promise
is resolved with the 'false' result.

* media/encrypted-media/mock-MediaKeys-setServerCertificate-expected.txt:
* media/encrypted-media/mock-MediaKeys-setServerCertificate.html:

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

4 years agoREGRESSION (r206014): HTTPHeaderMap does not consistently use comma without space...
commit-queue@webkit.org [Wed, 15 Feb 2017 10:00:22 +0000 (10:00 +0000)]
REGRESSION (r206014): HTTPHeaderMap does not consistently use comma without space to separate values of header fields
https://bugs.webkit.org/show_bug.cgi?id=168115

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2017-02-15
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

* web-platform-tests/XMLHttpRequest/getresponseheader-case-insensitive-expected.txt:
* web-platform-tests/XMLHttpRequest/setrequestheader-header-allowed-expected.txt:

Source/WebCore:

In r206014 HTTPHeaderMap::add() was updated to combine common headers with ',' instead of ", " to match the
fetch specification, but the uncommon headers are still combined with ", ".

* platform/network/HTTPHeaderMap.cpp:
(WebCore::HTTPHeaderMap::add):

LayoutTests:

* http/tests/xmlhttprequest/check-combining-headers-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/XMLHttpRequest/getresponseheader-case-insensitive-expected.txt: Added.
* platform/ios-simulator/imported/w3c/web-platform-tests/XMLHttpRequest/getresponseheader-case-insensitive-expected.txt: Added.

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

4 years agoAn assertion failure inside removeChildren
rniwa@webkit.org [Wed, 15 Feb 2017 09:57:28 +0000 (09:57 +0000)]
An assertion failure inside removeChildren
https://bugs.webkit.org/show_bug.cgi?id=168069

Reviewed by Brent Fulgham.

Source/WebCore:

The bug was caused by notifyRemovePendingSheet executing scripts synchronously where it shouldn't.

Removed the call to notifyRemovePendingSheetIfNeeded in notifyChildNodeRemoved. Instead, invoke it
in its call sites when they're safe.

Test: http/tests/security/move-iframe-within-focus-handler-inside-removal.html

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::takeAllChildrenFrom):
(WebCore::ContainerNode::notifyChildInserted):
(WebCore::ContainerNode::removeChild):
(WebCore::ContainerNode::parserRemoveChild):
(WebCore::ContainerNode::replaceAllChildren):
(WebCore::ContainerNode::removeChildren):
* dom/ContainerNodeAlgorithms.cpp:
(WebCore::notifyChildNodeRemoved):

LayoutTests:

* http/tests/security/move-iframe-within-focus-handler-inside-removal-expected.txt: Added.
* http/tests/security/move-iframe-within-focus-handler-inside-removal.html: Added.

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

4 years ago[GStreamer] Several tests are timing out after r212349
carlosgc@webkit.org [Wed, 15 Feb 2017 08:58:23 +0000 (08:58 +0000)]
[GStreamer] Several tests are timing out after r212349
https://bugs.webkit.org/show_bug.cgi?id=168359

Reviewed by Žan Doberšek.

This is because they are failing the cross origin check. Those tests are not using WebKitWebSrc, but
GstFileSrc. I didn't consider the case of source not being a WebKitWebSrc.

Fixes several timeout instroduced in r212349.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::hasSingleSecurityOrigin): Split the source check in two. First check if
it's nullptr, and return false. Then check if it's a WebKitWebSrc and return true if it isn't.

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

4 years agoRevalidate URL after events that could trigger navigations
bfulgham@apple.com [Wed, 15 Feb 2017 07:50:00 +0000 (07:50 +0000)]
Revalidate URL after events that could trigger navigations
https://bugs.webkit.org/show_bug.cgi?id=168071
<rdar://problem/30450379>

Reviewed by Ryosuke Niwa.

Source/WebCore:

When arbitary javascript runs during a load, we should revalidate
the URLs involved to make sure they are still valid.

Tests: http/tests/plugins/navigation-during-load-embed.html
       http/tests/plugins/navigation-during-load.html

* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::updateWidget): Confirm we are still allowed to
load the URL after executing JS callbacks.
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::isURLAllowed): Split existing function into
existing protected method, and a new public method that checks a passed URL
for validity.
* html/HTMLFrameElementBase.h:
* html/HTMLFrameOwnerElement.h:
(WebCore::HTMLFrameOwnerElement::isURLAllowed):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::updateWidget): Confirm we are still allowed to
load the URL after executing JS callbacks.
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::requestFrame): Ditto.

LayoutTests:

* http/tests/plugins/navigation-during-load-embed-expected.txt: Added.
* http/tests/plugins/navigation-during-load-embed.html: Added.
* http/tests/plugins/navigation-during-load-expected.txt: Added.
* http/tests/plugins/navigation-during-load.html: Added.

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

4 years ago[GStreamer] Implement MediaPlayerPrivate::hasSingleSecurityOrigin()
carlosgc@webkit.org [Wed, 15 Feb 2017 07:44:45 +0000 (07:44 +0000)]
[GStreamer] Implement MediaPlayerPrivate::hasSingleSecurityOrigin()
https://bugs.webkit.org/show_bug.cgi?id=168322

Reviewed by Žan Doberšek.

It currently returns true unconditionally. Add resolved-location property to WebKitWebSourceGStreamer to track
the resolved url returned by the server and use that from MediaPlayerPrivate to check if there was a cross
origin redirection.

Fixes: http/tests/security/canvas-remote-read-remote-video-redirect.html

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::hasSingleSecurityOrigin):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcFinalize):
(webKitWebSrcGetProperty):
(webKitWebSrcStart):
(webKitWebSrcQueryWithParent):
(webKitWebSrcGetUri):
(webKitWebSrcSetUri):
(StreamingClient::handleResponseReceived):
(ResourceHandleStreamingClient::wasBlocked):
(ResourceHandleStreamingClient::cannotShowURL):

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

4 years agoUnreviewed, rolling out r211967.
carlosgc@webkit.org [Wed, 15 Feb 2017 07:37:55 +0000 (07:37 +0000)]
Unreviewed, rolling out r211967.

Caused rendering issues in HiDPI

Reverted changeset:

"[GTK] scroll with transparent background not repainted after
scrollY >= 32768"
https://bugs.webkit.org/show_bug.cgi?id=154283
http://trac.webkit.org/changeset/211967

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

4 years ago[GTK] Update cookie manager API to properly work with ephemeral sessions
carlosgc@webkit.org [Wed, 15 Feb 2017 07:34:59 +0000 (07:34 +0000)]
[GTK] Update cookie manager API to properly work with ephemeral sessions
https://bugs.webkit.org/show_bug.cgi?id=168230

Reviewed by Michael Catanzaro.

Source/WebCore:

Add implementation for deleteAllCookiesModifiedSince. Note that this only works when the timespan is 0, we need
new libsoup API to support removing recently modified cookies.

* platform/network/soup/CookieJarSoup.cpp:
(WebCore::deleteAllCookiesModifiedSince):

Source/WebKit2:

WebKitCookieManager is associated to a particular WebKitWebContext and uses the default session ID
unconditionally. It should be associated to a WebKitWebsiteDataManager instead and use its session ID. This
patch also adds support for handling cookies with WebKitWebsiteDataManager and deprecates
webkit_cookie_manager_get_domains_with_cookies(), webkit_cookie_manager_delete_cookies_for_domain() and
webkit_cookie_manager_delete_all_cookies(). It also adds API to get the the WebKitWebsiteDataManager of a
WebKitWebView, since it's the only way to get the WebKitCookieManager associated to an ephemeral web view.

* UIProcess/API/gtk/WebKitCookieManager.cpp:
(webkitCookieManagerDispose): Stop observing cookie changes.
(webkit_cookie_manager_class_init): Add dispose implementation.
(webkitCookieManagerCreate): Create the WebKitCookieManager with a WebKitWebsiteDataManager.
(webkit_cookie_manager_set_persistent_storage): Work with all contexts having the session.
(webkit_cookie_manager_set_accept_policy): Ditto.
(webkit_cookie_manager_get_accept_policy): Use any context having the session.
(webkit_cookie_manager_get_domains_with_cookies): Deprecate and implement using WebKitWebsiteDataManager.
(webkit_cookie_manager_get_domains_with_cookies_finish): Ditto.
(webkit_cookie_manager_delete_cookies_for_domain): Ditto.
(webkit_cookie_manager_delete_all_cookies): Ditto.
* UIProcess/API/gtk/WebKitCookieManager.h:
* UIProcess/API/gtk/WebKitCookieManagerPrivate.h:
* UIProcess/API/gtk/WebKitCustomProtocolManagerClient.cpp:
(attachCustomProtocolManagerClientToContext):
* UIProcess/API/gtk/WebKitDownloadClient.cpp:
(attachDownloadClientToContext):
* UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
(attachInjectedBundleClientToContext):
* UIProcess/API/gtk/WebKitSecurityManager.cpp:
(registerSecurityPolicyForURIScheme):
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkitWebContextConstructed): Call webkitWebsiteDataManagerAddProcessPool.
(webkitWebContextDispose): Call webkitWebsiteDataManagerRemoveProcessPool.
(webkit_web_context_get_cookie_manager): Return the WebKitCookieManager of the WebKitWebsiteDataManager.
(webkitWebContextGetProcessPool): Make it return a reference.
* UIProcess/API/gtk/WebKitWebContextPrivate.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewConstructed): Call webkitWebsiteDataManagerAddProcessPool when creating a ephemeral web view.
(webkitWebViewDispose): Call webkitWebsiteDataManagerRemoveProcessPool if needed.
(webkit_web_view_get_website_data_manager): Return the WebKitWebsiteDataManager or the context one.
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/WebKitWebsiteData.cpp: Add support for Cookies type.
(recordContainsSupportedDataTypes):
(toWebKitWebsiteDataTypes):
* UIProcess/API/gtk/WebKitWebsiteData.h:
* UIProcess/API/gtk/WebKitWebsiteDataManager.cpp:
(_WebKitWebsiteDataManagerPrivate::~_WebKitWebsiteDataManagerPrivate): Ensure all contexts were unregistered.
(webkitWebsiteDataManagerAddProcessPool): Register the process pool in the session.
(webkitWebsiteDataManagerRemoveProcessPool): Unregister the process poll from the session.
(webkitWebsiteDataManagerGetProcessPools): Return the list of proces pools registered.
(webkit_website_data_manager_get_cookie_manager): Return the WebKitCookieManager.
(toWebsiteDataTypes): Add Cookies.
* UIProcess/API/gtk/WebKitWebsiteDataManager.h:
* UIProcess/API/gtk/WebKitWebsiteDataManagerPrivate.h:
* UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add new symbols.
* UIProcess/WebsiteData/WebsiteDataRecord.cpp:
(WebKit::WebsiteDataRecord::displayNameForCookieHostName): Handle localhost as a special case here for backwards
compatibility.

Tools:

Update unit tests and add new cases for the new API.

* MiniBrowser/gtk/main.c:
(gotWebsiteDataCallback):
* TestWebKitAPI/Tests/WebKit2Gtk/TestCookieManager.cpp:
(testCookieManagerEphemeral):
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:
(testWebContextEphemeral):
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
(testWebViewEphemeral):
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebsiteData.cpp:
(serverCallback):
(testWebsiteDataEphemeral):
(testWebsiteDataCookies):
(beforeAll):

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

4 years ago[WebIDL] Improve serializer = { inherit }
commit-queue@webkit.org [Wed, 15 Feb 2017 07:12:05 +0000 (07:12 +0000)]
[WebIDL] Improve serializer = { inherit }
https://bugs.webkit.org/show_bug.cgi?id=168293

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-02-14
Reviewed by Youenn Fablet.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
Expose a serialize() method on the interface.

(GenerateSerializerFunction):
(GenerateSerializerAttributesForInterface): Deleted.
Subclasses that have `serializer = { inherit }` can use
their parent's serialize() method to get the initial object.
We can now collapse everything back into a single function
because we only generate code for our own attributes.

* bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNode::serialize):
(WebCore::jsTestNodePrototypeFunctionToJSONCaller):
* bindings/scripts/test/JS/JSTestNode.h:
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObj::serialize):
(WebCore::jsTestObjPrototypeFunctionToJSONCaller):
* bindings/scripts/test/JS/JSTestObj.h:
* bindings/scripts/test/JS/JSTestSerialization.cpp:
(WebCore::JSTestSerialization::serialize):
(WebCore::jsTestSerializationPrototypeFunctionToJSONCaller):
* bindings/scripts/test/JS/JSTestSerialization.h:
* bindings/scripts/test/JS/JSTestSerializationInherit.cpp:
(WebCore::JSTestSerializationInherit::serialize):
(WebCore::jsTestSerializationInheritPrototypeFunctionToJSONCaller):
* bindings/scripts/test/JS/JSTestSerializationInherit.h:
* bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp:
(WebCore::JSTestSerializationInheritFinal::serialize):
(WebCore::jsTestSerializationInheritFinalPrototypeFunctionToJSONCaller):
* bindings/scripts/test/JS/JSTestSerializationInheritFinal.h:
Updated results.

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

4 years agoMove methods from WebCoreThread.h to WebCoreThreadInternal.h
aakash_jain@apple.com [Wed, 15 Feb 2017 05:19:57 +0000 (05:19 +0000)]
Move methods from WebCoreThread.h to WebCoreThreadInternal.h
https://bugs.webkit.org/show_bug.cgi?id=168326

Reviewed by Alexey Proskuryakov.

* platform/ios/wak/WebCoreThread.h: Move methods WebThreadRunLoop and WebThreadCurrentContext to WebCoreThreadInternal.h
* platform/ios/wak/WebCoreThreadInternal.h: Ditto.
* platform/ios/wak/WebCoreThreadRun.cpp: Removed WebCoreThread.h as it is already included by WebCoreThreadInternal.h
* platform/ios/wak/WKGraphics.mm: Included WebCoreThreadInternal.h, it subsequently includes WebCoreThread.h
* inspector/InspectorTimelineAgent.cpp: Ditto.
* page/mac/PageMac.mm: Ditto.
* platform/cf/MainThreadSharedTimerCF.cpp: Ditto.
* platform/cocoa/MemoryPressureHandlerCocoa.mm: Ditto.
* platform/graphics/ca/cocoa/LayerFlushSchedulerMac.cpp: Ditto.
* platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp: Ditto.
* bindings/js/CommonVM.cpp: included WebCoreThreadInternal.h

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

4 years ago[WK2] Support data interaction on links
wenson_hsieh@apple.com [Wed, 15 Feb 2017 05:05:47 +0000 (05:05 +0000)]
[WK2] Support data interaction on links
https://bugs.webkit.org/show_bug.cgi?id=168331
<rdar://problem/30200837>

Reviewed by Tim Horton.

Source/WebCore:

Adds support for data interaction on links at the WebCore layer, refactoring some drag-and-drop code on the Mac
along the way. Also adds two new TestWebKitAPI unit tests in DataInteractionTests.mm: LinkToInput and
BackgroundImageLinkToInput (see Tools/ChangeLog for more information).

* page/DragController.cpp:
(WebCore::DragController::startDrag):
(WebCore::DragController::doImageDrag):
(WebCore::DragController::doSystemDrag):

Introduce platformAdjustDragImageForDeviceScaleFactor, and special-case drag images for links to anchor at the
bottom center.

* platform/DragImage.cpp:
(WebCore::platformAdjustDragImageForDeviceScaleFactor):

Scale the drag image up by the device scale factor. In WebDragClient, we scale the image back down to the
original size. It seems the reason we do this extra dance is because the image sizing heuristic in between
assumes that the image dimensions are for a non-retina device, but this work should really not be necessary if
we tweak the heuristic to account for deviceScaleFactor. We should address this in a separate patch.

* platform/DragImage.h:
* platform/graphics/Path.h:

Source/WebKit2:

Adds support for data interaction on links at the client layer for WebKit2. This involves several changes,
detailed in the per-method changes below:

* Shared/ios/InteractionInformationAtPosition.h:
* Shared/ios/InteractionInformationAtPosition.mm:
(WebKit::InteractionInformationAtPosition::encode):
(WebKit::InteractionInformationAtPosition::decode):

Add adjustedPointForNodeRespondingToClickEvents (the request point, adjusted to take nodeRespondingToClickEvents
into account) to InteractionInformationAtPosition. The web process sends this adjusted point over to the UI
process so that the UI process will be able to begin a data interaction at the adjusted point rather than the
request point, which is necessary for small clickable (and data-interactive) elements such as links.

* UIProcess/ios/WKActionSheet.h:
* UIProcess/ios/WKActionSheet.mm:
(-[WKActionSheet presentSheet:]):
(-[WKActionSheet _presentationRectForStyle:]):
(-[WKActionSheet updateSheetPosition]):
* UIProcess/ios/WKActionSheetAssistant.h:
* UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant presentationRectForElementUsingClosestIndicatedRect]):
(-[WKActionSheetAssistant presentationRectForIndicatedElement]):
(-[WKActionSheetAssistant showImageSheet]):
(-[WKActionSheetAssistant _shouldPresentAtTouchLocationForElementRect:]):
(-[WKActionSheetAssistant needsLinkIndicator]):
(-[WKActionSheetAssistant showLinkSheet]):
(-[WKActionSheetAssistant cleanupSheet]):
(-[WKActionSheetAssistant _presentationStyleForImageAtElementRect:]): Deleted.

Add support for the WKActionSheetPresentAtClosestIndicatorRect style of presenting an action sheet. When
showing the action sheet for a link and there is space along the margins to show a popover in the first place,
we will now target the popover rect to the bounding rect of the set of adjacent (or nearly-adjacent) element
rects closest to the user's touch location. This covers cases where the link is split into multiple rects due to
a line break, when the link is on multiple lines with a jagged rect per line, and when both of the above are
true.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView pointIsInDataInteractionContent:]):
(-[WKContentView _positionInformationDidChange:]):
(-[WKContentView positionInformationForActionSheetAssistant:]):
(-[WKContentView updatePositionInformationForActionSheetAssistant:]):

Include link indicator data in the position information request if needed. As the FIXME suggests, this can be
improved by asynchronously presenting the action sheet assistant after the request returns, and is something we
should address in the future.

* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getPositionInformation):

Tools:

Adds 2 unit tests checking that data interaction from a link (with or without a background image) into an
editable area results in the link URL being inserted.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/background-image-link-and-input.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/link-and-input.html: Added.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(TestWebKitAPI::TEST):

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

4 years ago[CURL] ResourceError created with error information should have default type Type...
commit-queue@webkit.org [Wed, 15 Feb 2017 02:50:58 +0000 (02:50 +0000)]
[CURL] ResourceError created with error information should have default type Type::General
https://bugs.webkit.org/show_bug.cgi?id=168345

Patch by Basuke Suzuki <Basuke.Suzuki@am.sony.com> on 2017-02-14
Reviewed by Alex Christensen.

ResourceError has separate implementaion for each platform
so that the interface should be same.
On CURL port, the constructor with error information has
different default value on `type` parameter. It is Type::Null but other implementaitons have Type::General.
This causes some ResourceError is created inconsistent.

* platform/network/curl/ResourceError.h:
(WebCore::ResourceError::ResourceError):

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

4 years agoWeb Inspector: RTL: adjust padding of dashboard icons
bburg@apple.com [Wed, 15 Feb 2017 01:50:27 +0000 (01:50 +0000)]
Web Inspector: RTL: adjust padding of dashboard icons
https://bugs.webkit.org/show_bug.cgi?id=168340

Reviewed by Matt Baker.

Extract the direction-dependent padding into a "local" variable.
Use two rules to apply it to whichever is the leading side.

While we tend to use leading/trailing in Apple layout technologies,
I think the CSS logical properties specification sticks to using
-start and -end, so let's use that nomenclature where we can.

* UserInterface/Views/DefaultDashboardView.css:
(.toolbar .dashboard.default > .item > div):
(body[dir=ltr] .toolbar .dashboard.default > .item > div):
(body[dir=rtl] .toolbar .dashboard.default > .item > div):

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

4 years ago[WebRTC] Add support for libwebrtc negotiation needed event
commit-queue@webkit.org [Wed, 15 Feb 2017 01:23:39 +0000 (01:23 +0000)]
[WebRTC] Add support for libwebrtc negotiation needed event
https://bugs.webkit.org/show_bug.cgi?id=168267

Patch by Youenn Fablet <youennf@gmail.com> on 2017-02-14
Reviewed by Eric Carlson.

Source/WebCore:

Test: webrtc/negotiatedneeded-event-addStream.html

Moving generic code (markAsNeedingNegotiation) from MediaEndpointPeerConnection to PeerConnectionBackend.
This code handles the control of sending or not the negotiationneeded event.

Updating mock to use markAsNeedingNegotiation when streams are changed.
Updating libwebrtc backend to call markAsNeedingNegotiation when required by libwebrtc implementation.

* Modules/mediastream/MediaEndpointPeerConnection.cpp:
(WebCore::MediaEndpointPeerConnection::setLocalDescriptionTask):
* Modules/mediastream/MediaEndpointPeerConnection.h:
* Modules/mediastream/PeerConnectionBackend.cpp:
(WebCore::PeerConnectionBackend::markAsNeedingNegotiation):
* Modules/mediastream/PeerConnectionBackend.h:
(WebCore::PeerConnectionBackend::isNegotiationNeeded):
(WebCore::PeerConnectionBackend::clearNegotiationNeededState):
* Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::OnRenegotiationNeeded):
* Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:
* Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.h:
* testing/MockLibWebRTCPeerConnection.cpp:
(WebCore::MockLibWebRTCPeerConnection::AddStream):
(WebCore::MockLibWebRTCPeerConnection::RemoveStream):

LayoutTests:

* fast/mediastream/RTCPeerConnection-more-media-to-negotiate-expected.txt:
* platform/gtk/fast/mediastream/RTCPeerConnection-more-media-to-negotiate-expected.txt: Copied from LayoutTests/fast/mediastream/RTCPeerConnection-more-media-to-negotiate-expected.txt.
* webrtc/negotiatedneeded-event-addStream-expected.txt: Added.
* webrtc/negotiatedneeded-event-addStream.html: Added.

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

4 years agoMark media/modern-media-controls/placard-support/placard-support-airplay.html as...
ryanhaddad@apple.com [Wed, 15 Feb 2017 00:35:56 +0000 (00:35 +0000)]
Mark media/modern-media-controls/placard-support/placard-support-airplay.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=167441

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

4 years agoMark media/video-zoom.html as flaky.
ryanhaddad@apple.com [Wed, 15 Feb 2017 00:29:12 +0000 (00:29 +0000)]
Mark media/video-zoom.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=168087

Unreviewed test gardening.

* platform/mac/TestExpectations:

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

4 years agoUnreviewed followup to r212330 to fix Debug builds
beidson@apple.com [Wed, 15 Feb 2017 00:20:37 +0000 (00:20 +0000)]
Unreviewed followup to r212330 to fix Debug builds

* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Add call to relaxAdoptionRequirement().

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

4 years agoSource/WebKit2:
commit-queue@webkit.org [Wed, 15 Feb 2017 00:11:36 +0000 (00:11 +0000)]
Source/WebKit2:
Add new WKWebKit Cocoa API for getContentsAsString.
https://bugs.webkit.org/show_bug.cgi?id=168147
<rdar://problem/30502539>

Patch by Jason Rinn <jrinn@apple.com> on 2017-02-14
Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _getContentsAsStringWithCompletionHandler:]): New API for getContentsAsString.
* UIProcess/API/Cocoa/WKWebViewPrivate.h:

Tools:
Add a test for new WebKit Cocoa API, _getContentsAsString.
https://bugs.webkit.org/show_bug.cgi?id=168147
<rdar://problem/30502539>

Patch by Jason Rinn <jrinn@apple.com> on 2017-02-14
Reviewed by Tim Horton.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewGetContents.mm: Added.
(TEST):

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

4 years agoUnreviewed, rolling out r212326.
ryanhaddad@apple.com [Wed, 15 Feb 2017 00:08:33 +0000 (00:08 +0000)]
Unreviewed, rolling out r212326.

This change broke certain build configurations.

Reverted changeset:

"Make libwebrtc.dylib"
https://bugs.webkit.org/show_bug.cgi?id=168335
http://trac.webkit.org/changeset/212326

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

4 years agoWebsite policies: iframes should respect the autoplay policy of the top-level document
mrajca@apple.com [Tue, 14 Feb 2017 23:37:26 +0000 (23:37 +0000)]
Website policies: iframes should respect the autoplay policy of the top-level document
https://bugs.webkit.org/show_bug.cgi?id=168333

Reviewed by Alex Christensen.

Source/WebCore:

API tests were added.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):

Tools:

* TestWebKitAPI/Tests/WebKit2/autoplay-check-frame.html: Added.
* TestWebKitAPI/Tests/WebKit2/autoplay-check-in-iframe.html: Added.
* TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(-[AutoplayPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
(TEST):

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

4 years agoRename preferLowPowerWebGLRendering setting to forceWebGLUsesLowPower
dino@apple.com [Tue, 14 Feb 2017 23:31:12 +0000 (23:31 +0000)]
Rename preferLowPowerWebGLRendering setting to forceWebGLUsesLowPower
https://bugs.webkit.org/show_bug.cgi?id=168339
Source/WebCore:

<rdar://problem/30522092>

Reviewed by Simon Fraser.

Use a setting name that more clearly reflects what it is doing. It's not
preferring to use the low-power GPU, it's forcing it.

* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::create):
* page/Settings.in:

Source/WebKit/mac:

Reviewed by Simon Fraser.

Use a better name.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences forceLowPowerGPUForWebGL]):
(-[WebPreferences setForceLowPowerGPUForWebGL:]):
(-[WebPreferences preferLowPowerWebGLRendering]): Deleted.
(-[WebPreferences setPreferLowPowerWebGLRendering:]): Deleted.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

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

4 years agoSpeculative fix for: Crash in DocumentThreadableLoader::redirectReceived.
beidson@apple.com [Tue, 14 Feb 2017 23:26:38 +0000 (23:26 +0000)]
Speculative fix for: Crash in DocumentThreadableLoader::redirectReceived.
<rdar://problem/29899473> and https://bugs.webkit.org/show_bug.cgi?id=168337

Reviewed by Geoffrey Garen.

No new tests (Unable to find a reproduction).

* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::loadRequest):

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

4 years ago[WebRTC] Remove obsolete WebRTC stats API
commit-queue@webkit.org [Tue, 14 Feb 2017 23:17:08 +0000 (23:17 +0000)]
[WebRTC] Remove obsolete WebRTC stats API
https://bugs.webkit.org/show_bug.cgi?id=167910

Patch by Youenn Fablet <youenn@apple.com> on 2017-02-14
Reviewed by Alex Christensen.

No change of behavior as removed constructs are not functional.
Removing RTCStatsResponse which no longer exists and made RTCStatsReport an empty container for now.

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* Modules/mediastream/MediaEndpointPeerConnection.cpp:
(WebCore::MediaEndpointPeerConnection::getStats):
* Modules/mediastream/MediaEndpointPeerConnection.h:
* Modules/mediastream/PeerConnectionBackend.h:
* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::getStats):
* Modules/mediastream/RTCStatsReport.cpp:
(WebCore::RTCStatsReport::create): Deleted.
(WebCore::RTCStatsReport::RTCStatsReport): Deleted.
(WebCore::RTCStatsReport::names): Deleted.
(WebCore::RTCStatsReport::local): Deleted.
(WebCore::RTCStatsReport::remote): Deleted.
(WebCore::RTCStatsReport::addStatistic): Deleted.
* Modules/mediastream/RTCStatsReport.h:
(WebCore::RTCStatsReport::create):
(WebCore::RTCStatsReport::timestamp): Deleted.
(WebCore::RTCStatsReport::id): Deleted.
(WebCore::RTCStatsReport::type): Deleted.
(WebCore::RTCStatsReport::stat): Deleted.
* Modules/mediastream/RTCStatsReport.idl:
* Modules/mediastream/RTCStatsResponse.cpp: Removed.
* Modules/mediastream/RTCStatsResponse.h: Removed.
* Modules/mediastream/RTCStatsResponse.idl: Removed.
* WebCore.xcodeproj/project.pbxproj:
* platform/mediastream/MediaEndpoint.h:
(WebCore::MediaEndpoint::getStats):
* platform/mediastream/RTCStatsRequest.h: Removed.
* platform/mediastream/RTCStatsResponseBase.h: Removed.

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