Timeline
Jan 27, 2017:
- 11:08 PM Changeset in webkit [211328] by
-
- 4 edits in trunk/Source
Ignore Xcode’s project.xcworkspace and userdata directories in this new project like we do
in other projects.
Source/ThirdParty/libwebrtc:
- libwebrtc.xcodeproj: Added property svn:ignore.
Source/WebCore:
- PAL/PAL.xcodeproj: Added property svn:ignore.
- 11:03 PM Changeset in webkit [211327] by
-
- 3 edits in tags/Safari-604.1.5.0.1/Source/WebCore
Merged r211324. rdar://problem/30247500
- 11:02 PM Changeset in webkit [211326] by
-
- 6 edits in tags/Safari-604.1.5.0.1/Source
Versioning.
- 10:57 PM Changeset in webkit [211325] by
-
- 1 copy in tags/Safari-604.1.5.0.1
New tag.
- 10:49 PM Changeset in webkit [211324] by
-
- 3 edits in trunk/Source/WebCore
Fix the iOS build when USE(QUICK_LOOK) is disabled.
- testing/Internals.cpp:
(WebCore::Internals::setQuickLookPassword):
- testing/Internals.h:
- 9:08 PM Changeset in webkit [211323] by
-
- 3 edits in trunk/Source/WebKit/mac
[WK1] Do not prevent the drag client from initializing on Mac
https://bugs.webkit.org/show_bug.cgi?id=167541
Reviewed by Dan Bernstein.
Fixes fallout from r211192. To ensure compability with WebKit clients, we need to ensure that WebDragClient is
initialized everywhere when creating a WebView. Stub out method implementations as no-ops for non-Mac platforms.
This caused certain clients, such as Mail, to crash when a webView closes due to null dereference.
- WebCoreSupport/WebDragClient.mm:
(WebDragClient::WebDragClient):
(WebDragClient::actionMaskForDrag):
(WebDragClient::willPerformDragDestinationAction):
(WebDragClient::dragSourceActionMaskForPoint):
(WebDragClient::willPerformDragSourceAction):
(WebDragClient::startDrag):
(WebDragClient::declareAndWriteDragImage):
(WebDragClient::declareAndWriteAttachment):
- WebView/WebView.mm:
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
- 9:05 PM Changeset in webkit [211322] by
-
- 2 edits1 add in trunk/Tools
[iOS] Add a test for _WKNSFileManagerExtras
https://bugs.webkit.org/show_bug.cgi?id=167478
Reviewed by Andreas Kling.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/NSFileManagerExtras.mm: Added.
(expectAttributes):
(TEST):
- 8:50 PM Changeset in webkit [211321] by
-
- 5 edits in trunk/Source/WebKit2
[Cocoa] No way to get the text from a WKWebProcessPlugInRangeHandle
https://bugs.webkit.org/show_bug.cgi?id=167535
Reviewed by Sam Weinig.
Added a text property to WKWebProcessPlugInRangeHandle.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInRangeHandle.h: Declare new property.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInRangeHandle.mm:
(-[WKWebProcessPlugInRangeHandle text]): Added. Calls InjectedBundleRangeHandle::text.
- WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
(WebKit::InjectedBundleRangeHandle::text): Added. Calls WebCore::Range::text.
- WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
- 7:12 PM Changeset in webkit [211320] by
-
- 1 copy in tags/Safari-603.1.23
Tag Safari-603.1.23.
- 7:09 PM Changeset in webkit [211319] by
-
- 21 edits1 add in trunk
Lift template escape sequence restrictions in tagged templates
https://bugs.webkit.org/show_bug.cgi?id=166871
Reviewed by Saam Barati.
JSTests:
Update the error messages and add new tests.
- ChakraCore/test/es6/unicode_6_identifier_Blue524737.baseline-jsc:
- stress/lift-template-literal.js: Added.
(dump):
(testTag.return.tag):
(testTag):
- stress/template-literal-syntax.js:
Source/JavaScriptCore:
This patch implements stage 3 Lifting Template Literal Restriction[1].
Prior to this patch, template literal becomes syntax error if it contains
invalid escape sequences. But it is too restricted; Template literal
can have cooked and raw representations and only cooked representation
can escape sequences. So even if invalid escape sequences are included,
the raw representation can be valid.
Lifting Template Literal Restriction relaxes the above restriction.
When invalid escape sequence is included, if target template literals
are used as tagged templates, we make the result of the template including
the invalid escape sequenceundefinedinstead of making it SyntaxError
immediately. It allows us to accept the templates including invalid
escape sequences in the raw representations in tagged templates.
On the other hand, the raw representation is only used in tagged templates.
So if invalid escape sequences are included in the usual template literals,
we just make it SyntaxError as before.
[1]: https://github.com/tc39/proposal-template-literal-revision
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitGetTemplateObject):
- bytecompiler/NodesCodegen.cpp:
(JSC::TemplateStringNode::emitBytecode):
(JSC::TemplateLiteralNode::emitBytecode):
- parser/ASTBuilder.h:
(JSC::ASTBuilder::createTemplateString):
- parser/Lexer.cpp:
(JSC::Lexer<CharacterType>::parseUnicodeEscape):
(JSC::Lexer<T>::parseTemplateLiteral):
(JSC::Lexer<T>::lex):
(JSC::Lexer<T>::scanTemplateString):
(JSC::Lexer<T>::scanTrailingTemplateString): Deleted.
- parser/Lexer.h:
- parser/NodeConstructors.h:
(JSC::TemplateStringNode::TemplateStringNode):
- parser/Nodes.h:
(JSC::TemplateStringNode::cooked):
(JSC::TemplateStringNode::raw):
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseAssignmentElement):
(JSC::Parser<LexerType>::parseTemplateString):
(JSC::Parser<LexerType>::parseTemplateLiteral):
(JSC::Parser<LexerType>::parsePrimaryExpression):
(JSC::Parser<LexerType>::parseMemberExpression):
- parser/ParserTokens.h:
- parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createTemplateString):
- runtime/TemplateRegistry.cpp:
(JSC::TemplateRegistry::getTemplateObject):
- runtime/TemplateRegistryKey.h:
(JSC::TemplateRegistryKey::cookedStrings):
(JSC::TemplateRegistryKey::create):
(JSC::TemplateRegistryKey::TemplateRegistryKey):
- runtime/TemplateRegistryKeyTable.cpp:
(JSC::TemplateRegistryKeyTable::createKey):
- runtime/TemplateRegistryKeyTable.h:
LayoutTests:
Update the error messages.
- inspector/runtime/parse-expected.txt:
- js/unicode-escape-sequences-expected.txt:
- 6:27 PM Changeset in webkit [211318] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: gradient editor should provide horizontal slider for 'angle' value where applicable
https://bugs.webkit.org/show_bug.cgi?id=166937
Patch by Devin Rousso <Devin Rousso> on 2017-01-27
Reviewed by Joseph Pecoraro.
- UserInterface/Views/GradientEditor.css:
(.gradient-editor):
(.gradient-editor > .gradient-angle):
(.gradient-editor > .gradient-angle > input[type="range"]):
(.gradient-editor > .gradient-angle > input[type="number"]):
(.gradient-editor > .gradient-angle > input::-webkit-inner-spin-button):
(.gradient-editor > .gradient-angle > input): Deleted.
- UserInterface/Views/GradientEditor.js:
(WebInspector.GradientEditor):
(WebInspector.GradientEditor.prototype.set gradient):
(WebInspector.GradientEditor.prototype.gradientSliderStopWasSelected):
(WebInspector.GradientEditor.prototype._gradientTypeChanged):
(WebInspector.GradientEditor.prototype._angleChanged):
(WebInspector.GradientEditor.prototype.dragToAdjustControllerWasAdjustedByAmount): Deleted.
(WebInspector.GradientEditor.prototype._angleInputValueDidChange): Deleted.
Remove the DragToAdjustController and replace with an <input type="range">.
- 5:50 PM Changeset in webkit [211317] by
-
- 6 edits in trunk/Source
Versioning.
- 5:04 PM Changeset in webkit [211316] by
-
- 5 edits in trunk/Source/JavaScriptCore
Make the CLI for the sampling profiler better for inlined call site indices
https://bugs.webkit.org/show_bug.cgi?id=167482
Reviewed by Mark Lam.
This patches changes the command line interface for the sampling
profiler to also dump the machine frame that the semantic code
origin is in if the semantic code origin is inlined. This helps
when doing performance work because it's helpful to know the
context that an inlined frame is in. Before, we used to just
say it was in the baseline JIT if it didn't have its own optimized
compile. Now, we can tell that its inlined into a DFG or FTL frame.
- inspector/agents/InspectorScriptProfilerAgent.cpp:
(Inspector::buildSamples):
- runtime/Options.h:
- runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::processUnverifiedStackTraces):
(JSC::SamplingProfiler::reportTopFunctions):
(JSC::SamplingProfiler::reportTopBytecodes):
- runtime/SamplingProfiler.h:
(JSC::SamplingProfiler::StackFrame::CodeLocation::hasCodeBlockHash):
(JSC::SamplingProfiler::StackFrame::CodeLocation::hasBytecodeIndex):
(JSC::SamplingProfiler::StackFrame::CodeLocation::hasExpressionInfo):
(JSC::SamplingProfiler::StackFrame::hasExpressionInfo):
(JSC::SamplingProfiler::StackFrame::lineNumber):
(JSC::SamplingProfiler::StackFrame::columnNumber):
(JSC::SamplingProfiler::StackFrame::hasBytecodeIndex): Deleted.
(JSC::SamplingProfiler::StackFrame::hasCodeBlockHash): Deleted.
- 4:55 PM Changeset in webkit [211315] by
-
- 2 edits in trunk/Tools
run-benchmarks should make sure it passes the test url to the right application
https://bugs.webkit.org/show_bug.cgi?id=167533
Reviewed by Joseph Pecoraro.
This fixes an issue when trying to run-benchmark script with the
system default browser set to STP. Previously, it would run
the test in STP rather than the provided build. Now, it should run
in the provided build.
- Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:
(OSXSafariDriver.launch_url):
- 4:49 PM Changeset in webkit [211314] by
-
- 3 edits4 adds in trunk
setTimeout / setInterval's string execution should inherit SourceOrigin correctly
https://bugs.webkit.org/show_bug.cgi?id=167097
Reviewed by Darin Adler.
Source/WebCore:
Tests: js/dom/modules/import-from-set-interval.html
js/dom/modules/import-from-set-timeout.html
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::executeScriptInWorld):
LayoutTests:
We set the default SourceOrigin for the ScriptController::executeScriptInWorld.
The default SourceOrigin has the document baseURL and CachedScriptFetcher.
setTimeout and setInterval use this interface. And it uses the default SourceOrigin
for the document (Realm of the setTimeout / setInterval). This is the expected
behavior in the dynamic import proposal.
- js/dom/modules/import-from-set-interval-expected.txt: Added.
- js/dom/modules/import-from-set-interval.html: Added.
- js/dom/modules/import-from-set-timeout-expected.txt: Added.
- js/dom/modules/import-from-set-timeout.html: Added.
- 4:47 PM Changeset in webkit [211313] by
-
- 10 edits3 deletes in trunk/Source/WebCore
Merge CachedModuleScript and LoadableModuleScript
https://bugs.webkit.org/show_bug.cgi?id=167500
Reviewed by Darin Adler.
CachedModuleScript becomes duplicate with LoadableModuleScript.
And CachedModuleScript does not offer any meaningful functionality
to LoadableModuleScript.
This patch merges CachedModuleScript to LoadableModuleScript.
No behavior change.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/CachedModuleScript.cpp: Removed.
- bindings/js/CachedModuleScript.h: Removed.
- bindings/js/CachedModuleScriptClient.h: Removed.
- bindings/js/JSBindingsAllInOne.cpp:
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::loadModuleScriptInWorld):
(WebCore::ScriptController::loadModuleScript):
(WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld):
(WebCore::ScriptController::linkAndEvaluateModuleScript):
(WebCore::ScriptController::setupModuleScriptHandlers):
- bindings/js/ScriptController.h:
- dom/LoadableModuleScript.cpp:
(WebCore::LoadableModuleScript::create):
(WebCore::LoadableModuleScript::LoadableModuleScript):
(WebCore::LoadableModuleScript::~LoadableModuleScript):
(WebCore::LoadableModuleScript::isLoaded):
(WebCore::LoadableModuleScript::error):
(WebCore::LoadableModuleScript::wasCanceled):
(WebCore::LoadableModuleScript::notifyLoadCompleted):
(WebCore::LoadableModuleScript::notifyLoadFailed):
(WebCore::LoadableModuleScript::notifyLoadWasCanceled):
(WebCore::LoadableModuleScript::execute):
(WebCore::LoadableModuleScript::load):
(WebCore::LoadableModuleScript::notifyFinished): Deleted.
- dom/LoadableModuleScript.h:
- dom/ScriptElement.cpp:
(WebCore::ScriptElement::executeModuleScript):
- dom/ScriptElement.h:
- 4:33 PM Changeset in webkit [211312] by
-
- 8 edits in trunk/Source/WebKit2
Move smartInsertDeleteEnabled to WebPageCreationParameters
https://bugs.webkit.org/show_bug.cgi?id=167530
Reviewed by Brady Eidson.
- Shared/WebPageCreationParameters.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::initializeWebPage):
(WebKit::WebPageProxy::creationParameters):
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createWindow):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::create):
(WebKit::WebPage::WebPage):
(WebKit::m_userInterfaceLayoutDirection):
(WebKit::WebPage::reinitializeWebPage):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::createWebPage):
- WebProcess/WebProcess.h:
Instead of making a WebPage then immediately sending it a message to set smartInsertDeleteEnabled,
just call setSmartInsertDeleteEnabled at the end of the WebPage creation. No change in behaviour.
- 4:27 PM Changeset in webkit [211311] by
-
- 1 edit2 adds in trunk/Websites/webkit.org
Add a simple demo for Touch stylus events
https://bugs.webkit.org/show_bug.cgi?id=167534
Reviewed by Simon Fraser.
- demos/touch/stylus.html: Added.
- 4:10 PM Changeset in webkit [211310] by
-
- 6 edits in trunk/Source/WebKit2
IconLoadingClient API doesn't work asynchronously.
<rdar://problem/30243429> and https://bugs.webkit.org/show_bug.cgi?id=167532
Reviewed by Alex Christensen.
Make a WTF::Function (inherently not compatible with ObjC blocks as they must be copyable)
into a std::function, which is copyable.
- UIProcess/API/APIIconLoadingClient.h:
(API::IconLoadingClient::getLoadDecisionForIcon):
- UIProcess/API/mac/WKView.mm:
(-[WKView maybeInstallIconLoadingClient]):
- UIProcess/Cocoa/IconLoadingDelegate.h:
- UIProcess/Cocoa/IconLoadingDelegate.mm:
(WebKit::IconLoadingDelegate::IconLoadingClient::getLoadDecisionForIcon):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::getLoadDecisionForIcon):
- 4:03 PM Changeset in webkit [211309] by
-
- 2 edits in trunk/Source/WebCore
JSCustomElementInterface::invokeCallback can be called with a null callback because Weak<>
https://bugs.webkit.org/show_bug.cgi?id=167522
Reviewed by Filip Pizlo.
Added all provided callbacks to the global object with a private name the same way
that the constructor was added. This will keep these callbacks from being GC'ed.
- bindings/js/JSCustomElementRegistryCustom.cpp:
(WebCore::JSCustomElementRegistry::define):
- 3:56 PM Changeset in webkit [211308] by
-
- 6 edits in trunk
[Cocoa] Prepare ComplexTextController for unit testing
https://bugs.webkit.org/show_bug.cgi?id=167493
Reviewed by Simon Fraser.
Addressing post-review comments from Simon Fraser.
Source/WebCore:
- platform/graphics/FontCascade.h:
- platform/graphics/mac/ComplexTextController.h:
(WebCore::ComplexTextController::ComplexTextRun::createForTesting):
- platform/graphics/mac/ComplexTextControllerCoreText.h:
(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
Tools:
- TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
(TestWebKitAPI::TEST_F):
- 3:43 PM Changeset in webkit [211307] by
-
- 3 edits in trunk/LayoutTests
Tweak the test to avoid one pixel of difference on some hardware.
- css3/filters/backdrop/backdrop-filter-uneven-corner-radii-expected.html:
- css3/filters/backdrop/backdrop-filter-uneven-corner-radii.html:
- 3:29 PM Changeset in webkit [211306] by
-
- 3 edits in trunk/Source/JavaScriptCore
Extend create_hash_table to specify Intrinsic
https://bugs.webkit.org/show_bug.cgi?id=167505
Reviewed by Sam Weinig.
This patch extends create_hash_table to specify Intrinsic.
We can set Intrinsic in the static property table definition
in runtime/XXX.h.
And drop the adhoc code for String.fromCharCode in create_hash_table.
- create_hash_table:
- runtime/StringConstructor.cpp:
- 3:16 PM Changeset in webkit [211305] by
-
- 4 edits2 adds in trunk
Element with a backdrop-filter and a mask may not correctly mask the backdrop
https://bugs.webkit.org/show_bug.cgi?id=167456
rdar://problem/29320059
Reviewed by Antoine Quint.
Source/WebCore:
If a layer had a backdrop filter, but also corner radii that triggered using a mask layer,
then the call to updateClippingStrategy() in GraphicsLayerCA::updateBackdropFiltersRect() would
set the backdrop layer's mask, but GraphicsLayerCA::updateMaskLayer() would promptly then set
the mask layer back to nil.
Fix by having GraphicsLayerCA::updateMaskLayer() put the mask on the structural layer, if there
is one. We always have a structural layer with backdrops, so this will mask both the layer
and the backdrop.
Test: css3/filters/backdrop/backdrop-filter-uneven-corner-radii.html
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::updateMaskLayer):
- platform/graphics/mac/WebLayer.mm:
(-[CALayer _descriptionWithPrefix:]): Dump the mask layer.
LayoutTests:
- css3/filters/backdrop/backdrop-filter-uneven-corner-radii-expected.html: Added.
- css3/filters/backdrop/backdrop-filter-uneven-corner-radii.html: Added.
- 3:11 PM Changeset in webkit [211304] by
-
- 7 edits in trunk/Source
Fix remaining bad uses of logDiagnosticMessageWithValue()
https://bugs.webkit.org/show_bug.cgi?id=167526
Reviewed by Alex Christensen.
Source/WebCore:
Drop unused keys, add new ones.
- page/DiagnosticLoggingKeys.cpp:
(WebCore::DiagnosticLoggingKeys::networkCacheFailureReasonKey):
(WebCore::DiagnosticLoggingKeys::networkCacheUnusedReasonKey):
(WebCore::DiagnosticLoggingKeys::networkCacheReuseFailureKey):
(WebCore::DiagnosticLoggingKeys::backNavigationDeltaKey):
(WebCore::DiagnosticLoggingKeys::userZoomActionKey):
(WebCore::DiagnosticLoggingKeys::deltaKey): Deleted.
(WebCore::DiagnosticLoggingKeys::backNavigationKey): Deleted.
(WebCore::DiagnosticLoggingKeys::requestKey): Deleted.
(WebCore::DiagnosticLoggingKeys::unusableCachedEntryKey): Deleted.
(WebCore::DiagnosticLoggingKeys::userKey): Deleted.
(WebCore::DiagnosticLoggingKeys::zoomedKey): Deleted.
(WebCore::DiagnosticLoggingKeys::notInCacheKey): Deleted.
- page/DiagnosticLoggingKeys.h:
Source/WebKit2:
Fix remaining bad uses of logDiagnosticMessageWithValue(). It can only
be called with numeric values.
- NetworkProcess/cache/NetworkCacheStatistics.cpp:
(WebKit::NetworkCache::Statistics::recordNotUsingCacheForRequest):
(WebKit::NetworkCache::Statistics::recordRetrievalFailure):
(WebKit::NetworkCache::Statistics::recordRetrievedCachedEntry):
- UIProcess/WebBackForwardList.cpp:
(WebKit::WebBackForwardList::goToItem):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::willStartUserTriggeredZooming):
- 2:39 PM Changeset in webkit [211303] by
-
- 2 edits in trunk/Source/WebCore
Proclaim that we are considering font-display, rhythmic sizing, and text decoration level 4
https://bugs.webkit.org/show_bug.cgi?id=167340
Reviewed by Saam Barati.
- features.json:
- 2:23 PM Changeset in webkit [211302] by
-
- 4 edits in trunk/LayoutTests
media/track/track-in-band-style.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=167516
Reviewed by Eric Carlson.
Update the test to use 'cuechange' rather than a 200ms timer.
- media/track/track-in-band-style-expected.txt:
- media/track/track-in-band-style.html:
- platform/mac/TestExpectations:
- 1:07 PM Changeset in webkit [211301] by
-
- 6 edits in trunk/Source/WebCore
Fix diagnostic logging under loader/
https://bugs.webkit.org/show_bug.cgi?id=167512
Reviewed by Alex Christensen.
Fix diagnostic logging under loader/. We should not be using logDiagnosticLoggingWithValue()
without a numeric value.
- loader/ResourceLoader.cpp:
(WebCore::logResourceResponseSource):
- loader/SubresourceLoader.cpp:
(WebCore::logResourceLoaded):
- loader/cache/CachedResourceLoader.cpp:
(WebCore::logMemoryCacheResourceRequest):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::logRevalidation):
- page/DiagnosticLoggingKeys.cpp:
(WebCore::DiagnosticLoggingKeys::memoryCacheEntryDecisionKey):
(WebCore::DiagnosticLoggingKeys::memoryCacheUsageKey):
(WebCore::DiagnosticLoggingKeys::cachedResourceRevalidationReasonKey):
(WebCore::DiagnosticLoggingKeys::resourceLoadedKey):
(WebCore::DiagnosticLoggingKeys::resourceResponseSourceKey):
- page/DiagnosticLoggingKeys.h:
- 1:01 PM Changeset in webkit [211300] by
-
- 2 edits in trunk/Source/JavaScriptCore
scanExternalRememberedSet needs to mergeIfNecessary
https://bugs.webkit.org/show_bug.cgi?id=167523
Reviewed by Keith Miller.
The protocol for opaque roots is that if you add to them outside of draining, then you need to call
mergeIfNecessary.
This means that every MarkingConstraint that adds opaque roots needs to mergeIfNecessary after.
scanExternalRememberedSet transitively calls addOpaqueRoot, is called from a MarkingConstraint, and
was missing a call to mergeIfNecessary. This fixes it.
- API/JSVirtualMachine.mm:
(scanExternalRememberedSet):
- 12:41 PM Changeset in webkit [211299] by
-
- 1 delete in tags/Safari-604.1.5.1
Deleting tag.
- 12:35 PM Changeset in webkit [211298] by
-
- 4 edits in trunk/Source/WebCore
Fix diagnostic logging in media code
https://bugs.webkit.org/show_bug.cgi?id=167510
Reviewed by Alex Christensen.
Fix diagnostic logging in media code. It should not use logDiagnosticMessageWithValue()
with a non-numeric value.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadResource):
(WebCore::HTMLMediaElement::updatePlayState):
- 12:35 PM Changeset in webkit [211297] by
-
- 1 copy in tags/Safari-604.1.5.1
New tag.
- 12:34 PM Changeset in webkit [211296] by
-
- 1 copy in tags/Safari-604.1.5
New tag.
- 12:33 PM Changeset in webkit [211295] by
-
- 2 edits in trunk/Source/WebKit2
Round CPU Usage diagnostic logging to 2 significant digits
https://bugs.webkit.org/show_bug.cgi?id=167515
<rdar://problem/30236297>
Reviewed by Antti Koivisto.
Round CPU Usage diagnostic logging to 2 significant digits
as requested by diagnostic logging team.
- UIProcess/PerActivityStateCPUUsageSampler.cpp:
(WebKit::toStringRoundingSignificantFigures):
(WebKit::PerActivityStateCPUUsageSampler::loggingTimerFired):
- 12:28 PM Changeset in webkit [211294] by
-
- 9 edits1 add in trunk
[Cocoa] Prepare ComplexTextController for unit testing
https://bugs.webkit.org/show_bug.cgi?id=167493
Reviewed by Dean Jackson.
Source/WebCore:
ComplexTextController has three phases:
- Interrogate Core Text about some text
- Compute layout advances and paint advances from the information retrieved from
Core Text
- Iterate through the layout advances or paint advances.
This patch tests phases 2 and 3 by chopping ComplexTextController between
phases 1 and 2, and injecting foreign metrics from a unit test. These metrics
have been gathered from real-world uses; however, a layout test is not appropriate
because the fonts which produced these metrics are not licensed appropriately.
The tests can enforce the correct behavior by using ComplexTextController's
public API.
This is in preparation for https://bugs.webkit.org/show_bug.cgi?id=166013.
However, the fix for that bug is quite large, so I've split out this smaller piece
to ease the reviewing burden. The tests I've added are disabled for now (because
they fail), but will be enabled by the fix to that bug.
No new tests because there is no behavior change.
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/FontCascade.h:
- platform/graphics/FontDescription.h:
- platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::ComplexTextController):
(WebCore::ComplexTextController::finishConstruction):
- platform/graphics/mac/ComplexTextController.h:
(WebCore::ComplexTextController::ComplexTextRun::createForTesting):
- platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
Tools:
Create four unit tests.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp: Added.
(TestWebKitAPI::ComplexTextControllerTest::SetUp):
(TestWebKitAPI::TEST_F):
- 11:37 AM Changeset in webkit [211293] by
-
- 2 edits in trunk/LayoutTests
LayoutTest fast/mediastream/getUserMedia-webaudio.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=167513
Unreviewed.
Patch by Youenn Fablet <youenn@apple.com> on 2017-01-27
- TestExpectations: Not yet ready to run this test.
- 11:24 AM Changeset in webkit [211292] by
-
- 3 edits2 adds in trunk
Simple line layout: Do not bail out on -webkit-line-box-contain: block glyphs unless text overflows vertically.
https://bugs.webkit.org/show_bug.cgi?id=167481
<rdar://problem/30180150>
Reviewed by Antti Koivisto.
Source/WebCore:
Since -webkit-line-box-contain: glyphs requires variable line height support, we can use simple line layout
only when each line happen to have the same height ('block' property value is set, glyphs do not overflow the block line height).
Test: fast/text/simple-line-layout-line-box-contain-glyphs.html
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForText):
(WebCore::SimpleLineLayout::canUseForFontAndText):
(WebCore::SimpleLineLayout::canUseForStyle):
(WebCore::SimpleLineLayout::printReason):
LayoutTests:
- fast/text/simple-line-layout-line-box-contain-glyphs-expected.html: Added.
- fast/text/simple-line-layout-line-box-contain-glyphs.html: Added.
- 11:14 AM Changeset in webkit [211291] by
-
- 4 edits in trunk/Source/WebCore
Fix PageCache diagnostic logging
https://bugs.webkit.org/show_bug.cgi?id=167508
Reviewed by Sam Weinig.
Fix PageCache diagnostic logging. It should not call logDiagnosticMessageWithValue()
with a non-numeric value. Use logDiagnosticMessage() instead.
- history/PageCache.cpp:
(WebCore::logPageCacheFailureDiagnosticMessage):
(WebCore::canCacheFrame):
- page/DiagnosticLoggingKeys.cpp:
(WebCore::DiagnosticLoggingKeys::pageCacheFailureKey):
(WebCore::DiagnosticLoggingKeys::successKey): Deleted.
(WebCore::DiagnosticLoggingKeys::failureKey): Deleted.
- page/DiagnosticLoggingKeys.h:
- 11:07 AM Changeset in webkit [211290] by
-
- 15 edits3 deletes in branches/safari-603-branch
- 10:58 AM Changeset in webkit [211289] by
-
- 5 edits2 adds in trunk
Styles should not show background-repeat-x/y, or -webkit-mask-repeat-x/y
https://bugs.webkit.org/show_bug.cgi?id=167255
Patch by Devin Rousso <Devin Rousso> on 2017-01-27
Reviewed by Joseph Pecoraro.
Source/WebCore:
Test: inspector/css/css-property.html
- css/makeprop.pl:
(addProperty):
Add a generated functionisInternalCSSPropertythat checks the given CSSPropertyID against
a derived list of properties from CSSProperties.json with "internal-only".
- inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::getSupportedCSSProperties):
- inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyle::styleWithProperties):
Only pass CSS property payloads to the frontend if they are not internal.
LayoutTests:
Checks that internal-only CSS properties are marked as invalid when passed to WebInspector.
- inspector/css/css-property-expected.txt: Added.
- inspector/css/css-property.html: Added.
- 10:44 AM Changeset in webkit [211288] by
-
- 7 edits6 adds in trunk
Implement Cache-control: immutable
https://bugs.webkit.org/show_bug.cgi?id=167497
Reviewed by Chris Dumez.
Source/WebCore:
Cache-control value 'immutable' indicates that a subresource does not change and so does not need to be
revalidated on a normal reload. This can significantly speed up reloads and reduce network traffic.
It is has been implemented in Firefox and is already used by Facebook.
https://tools.ietf.org/html/draft-mcmanus-immutable-00
https://hacks.mozilla.org/2017/01/using-immutable-caching-to-speed-up-the-web/
This patch implements Cache-control: immutable for memory cache only. A disk cache implementation
doesn't seem necessary as the resource is basically always expected to be in memory cache on reload.
Immutable is only supported for https as suggested by the draft specification (and Gecko implementation).
Test: http/tests/cache/cache-control-immutable-http.html
http/tests/cache/cache-control-immutable-https.html
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::makeRevalidationDecision):
On normal reloads (CachePolicyRevalidate) of https resources check for 'Cache-control: immutable'.
If the resource is not expired don't revalidate it.
- platform/network/CacheValidation.cpp:
(WebCore::parseCacheControlDirectives):
- platform/network/CacheValidation.h:
- platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::cacheControlContainsImmutable):
- platform/network/ResourceResponseBase.h:
LayoutTests:
- http/tests/cache/cache-control-immutable-http-expected.txt: Added.
- http/tests/cache/cache-control-immutable-http.html: Added.
- http/tests/cache/cache-control-immutable-https-expected.txt: Added.
- http/tests/cache/cache-control-immutable-https.html: Added.
- http/tests/cache/resources/cache-control-immutable.js: Added.
- http/tests/cache/resources/iframe-with-script.cgi: Added.
- 10:39 AM Changeset in webkit [211287] by
-
- 4 edits in branches/safari-603-branch/Source/WebCore
Merge r211285.
- 10:20 AM Changeset in webkit [211286] by
-
- 2 edits in trunk/Source/WebCore
[WebRTC] Use MediaEndPointPeerConnection if not using libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=167504
Patch by Youenn Fablet <youennf@gmail.com> on 2017-01-27
Reviewed by Alex Christensen.
No change of behavior.
- Modules/mediastream/MediaEndpointPeerConnection.cpp: If libwebrtc, we should use libwebrtc peer connection backend.
- 10:06 AM WebKitGTK/Debugging edited by
- (diff)
- 10:04 AM WebKitGTK/Debugging edited by
- (diff)
- 9:29 AM Changeset in webkit [211285] by
-
- 4 edits in trunk/Source/WebCore
Rebaseline bindings tests after r211238.
Unreviewed test gardening.
- bindings/scripts/test/JS/JSTestDOMJIT.cpp:
(WebCore::JSTestDOMJIT::visitChildren):
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTarget::visitChildren):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNode::visitChildren):
- 9:29 AM Changeset in webkit [211284] by
-
- 2 edits in trunk/LayoutTests
Marking media/modern-media-controls/layout-node/addChild.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=167461
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 8:28 AM Changeset in webkit [211283] by
-
- 5 edits2 adds in trunk/Source/WebCore
[css-grid] Move Grid class out of RenderGrid
https://bugs.webkit.org/show_bug.cgi?id=167418
Reviewed by Antti Koivisto.
The RenderGrid should be able to use different implementations of
the Grid class. The latter is big enough to be in its own file. That
would help on the effort of moving the grid track sizing algorithm
out of RenderGrid too.
No new tests required as we're just moving code.
- CMakeLists.txt:
- rendering/Grid.cpp: Added.
(WebCore::Grid::Grid):
(WebCore::Grid::numTracks):
(WebCore::Grid::ensureGridSize):
(WebCore::Grid::insert):
(WebCore::Grid::setSmallestTracksStart):
(WebCore::Grid::smallestTrackStart):
(WebCore::Grid::gridItemArea):
(WebCore::Grid::setGridItemArea):
(WebCore::Grid::setAutoRepeatTracks):
(WebCore::Grid::autoRepeatTracks):
(WebCore::Grid::setAutoRepeatEmptyColumns):
(WebCore::Grid::setAutoRepeatEmptyRows):
(WebCore::Grid::hasAutoRepeatEmptyTracks):
(WebCore::Grid::isEmptyAutoRepeatTrack):
(WebCore::Grid::autoRepeatEmptyTracks):
(WebCore::Grid::gridItemSpan):
(WebCore::Grid::setNeedsItemsPlacement):
(WebCore::GridIterator::GridIterator):
(WebCore::GridIterator::nextGridItem):
(WebCore::GridIterator::isEmptyAreaEnough):
(WebCore::GridIterator::nextEmptyGridArea):
- rendering/Grid.h: Added.
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::computeEmptyTracksForAutoRepeat):
(WebCore::RenderGrid::Grid::numTracks): Deleted.
(WebCore::RenderGrid::Grid::ensureGridSize): Deleted.
(WebCore::RenderGrid::Grid::insert): Deleted.
(WebCore::RenderGrid::Grid::setSmallestTracksStart): Deleted.
(WebCore::RenderGrid::Grid::smallestTrackStart): Deleted.
(WebCore::RenderGrid::Grid::gridItemArea): Deleted.
(WebCore::RenderGrid::Grid::setGridItemArea): Deleted.
(WebCore::RenderGrid::Grid::setAutoRepeatTracks): Deleted.
(WebCore::RenderGrid::Grid::autoRepeatTracks): Deleted.
(WebCore::RenderGrid::Grid::setAutoRepeatEmptyColumns): Deleted.
(WebCore::RenderGrid::Grid::setAutoRepeatEmptyRows): Deleted.
(WebCore::RenderGrid::Grid::hasAutoRepeatEmptyTracks): Deleted.
(WebCore::RenderGrid::Grid::isEmptyAutoRepeatTrack): Deleted.
(WebCore::RenderGrid::Grid::autoRepeatEmptyTracks): Deleted.
(WebCore::RenderGrid::Grid::gridItemSpan): Deleted.
(WebCore::RenderGrid::Grid::setNeedsItemsPlacement): Deleted.
(WebCore::RenderGrid::GridIterator::GridIterator): Deleted.
(WebCore::RenderGrid::GridIterator::nextGridItem): Deleted.
(WebCore::RenderGrid::GridIterator::isEmptyAreaEnough): Deleted.
(WebCore::RenderGrid::GridIterator::nextEmptyGridArea): Deleted.
- rendering/RenderGrid.h:
- 7:58 AM Changeset in webkit [211282] by
-
- 2 edits in trunk/Websites/webkit.org
Unreviewed, update scroll snapping demos to use current Module 1 spec
- demos/scroll-snap/index.html:
Adopt the new CSS properties scroll-snap-type and scroll-snap-align.
- 4:10 AM Changeset in webkit [211281] by
-
- 3 edits in trunk/Source/WebKit2
[Threaded Compositor] Stop creating the GLContext on demand the first time makeContextCurrent is called
https://bugs.webkit.org/show_bug.cgi?id=167496
Reviewed by Žan Doberšek.
This is causing problems with animations when entering AC mode on demand. What happens is that the threaded
compositor is created, then the animation is scheduled and during the first animation iteration the GLContext is
created, making the first frame of the animation quite slow. In my computer creating the GLContext takes 0.8
seconds. If the animation duration is less than the time it takes to create the GLContext, the animation ends
without iterating. This causing timeouts in the bots in tests like
animations/animation-iteration-event-destroy-renderer.html that expect webkitAnimationIteration events that
never fire.
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:
(WebKit::ThreadedCompositor::ThreadedCompositor): Create the GLContext right after the compositing thread is
created if we already have a native surface handle.
(WebKit::ThreadedCompositor::createGLContext): Helper to create the GLContext.
(WebKit::ThreadedCompositor::setNativeSurfaceHandleForCompositing): Create the GLContext when a native surface
handle is given.
(WebKit::ThreadedCompositor::makeContextCurrent): Deleted.
(WebKit::ThreadedCompositor::renderLayerTree): Make the context cunrrent directly here.
- Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.h:
- 2:49 AM Changeset in webkit [211280] by
-
- 41 edits10 copies70 adds in trunk
Implement dynamic-import for WebCore
https://bugs.webkit.org/show_bug.cgi?id=166926
Reviewed by Ryosuke Niwa.
Source/WebCore:
This patch introduces browser side dynamic-import implementation.
The dynamic-import is new ES feature which is now stage 3.
The JSC shell already implements it.
The dynamic-import allows us to kick module loading in a dynamic manner.
For example, you can write,
await module = import(
${HOST}/hello.js);
The dynamic
importoperator (this is not a function) returns a promise with
module namespace object if the module loading succeeds. Otherwise, it returns
a rejected promise.
And importantly, this feature allows us to kick module loading from classic script.
Previously, module loading can be only used from <script type="module"> tag. And
all the module loading is done statically.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/CachedModuleScriptLoader.cpp:
(WebCore::CachedModuleScriptLoader::load):
- bindings/js/CachedScriptFetcher.cpp:
(WebCore::CachedScriptFetcher::create):
(WebCore::CachedScriptFetcher::requestModuleScript):
requestModuleScript function is used only when loading a new module script.
So, LoadableClassicScript should use requestScriptWithCache to load itself.
We pass String() for cross origin mode for null cross origin attribute as
specified.
(WebCore::CachedScriptFetcher::requestScriptWithCache):
- bindings/js/CachedScriptFetcher.h:
(WebCore::CachedScriptFetcher::CachedScriptFetcher):
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::moduleLoaderImportModule):
- bindings/js/JSDOMWindowBase.h:
- bindings/js/JSLazyEventListener.cpp:
(WebCore::JSLazyEventListener::initializeJSFunction):
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::executeScript):
- bindings/js/ScriptModuleLoader.cpp:
(WebCore::resolveModuleSpecifier):
Extract the part of resolving module specifier to a static function to use
it in ScriptModuleLoader::resolve and ScriptModuleLoader::importModule.
(WebCore::ScriptModuleLoader::resolve):
(WebCore::rejectPromise):
(WebCore::ScriptModuleLoader::importModule):
New hook moduleLoaderImportModule is implemented. This hook is called when
importoperator is used. This hook is responsible to
- resolve the module name to obtain module specifier. (like, resolve the
relative URL to get absolute URL.)
- kick module loading with the resolved specifier.
When resolving the module name, the referrer information is needed.
For example, "./script.js" will be resolved to "http://example.com/script.js" if
the referrer module specifier is "http://example.com/".
Ifimport("./script.js")is executed in the classic script
src="http://example.com/test.js", it starts loading "http://example.com/script.js".
So the information of the caller ofimportoperator is necessary here.
This appropriate referrer is propagated by SourceOrigin.
- bindings/js/ScriptModuleLoader.h:
- dom/InlineClassicScript.h:
- dom/LoadableClassicScript.cpp:
(WebCore::LoadableClassicScript::load):
- dom/LoadableClassicScript.h:
- dom/LoadableModuleScript.h:
- dom/LoadableScript.h:
(WebCore::LoadableScript::LoadableScript):
(WebCore::LoadableScript::isClassicScript): Deleted.
(WebCore::LoadableScript::isModuleScript): Deleted.
- dom/ScriptElement.h:
- dom/ScriptElementCachedScriptFetcher.cpp: Copied from Source/WebCore/dom/InlineClassicScript.h.
(WebCore::ScriptElementCachedScriptFetcher::requestModuleScript):
This requestModuleScript will be used when the script tag (or modules imported from the script tag) usesimportoperator.
In classic scripts,crossoriginmode always becomes "omit" while module scripts
propagate the originalcrossoriginvalue.
- dom/ScriptElementCachedScriptFetcher.h: Copied from Source/WebCore/bindings/js/CachedScriptFetcher.h.
(WebCore::ScriptElementCachedScriptFetcher::crossOriginMode):
(WebCore::ScriptElementCachedScriptFetcher::ScriptElementCachedScriptFetcher):
LayoutTests:
- http/tests/misc/import-absolute-url-expected.txt: Added.
- http/tests/misc/import-absolute-url.html: Added.
- http/tests/security/contentSecurityPolicy/1.1/import-scriptnonce-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/1.1/import-scriptnonce.html: Added.
- http/tests/security/contentSecurityPolicy/1.1/resources/import-scriptnonce-allowed1.js: Added.
- http/tests/security/contentSecurityPolicy/1.1/resources/import-scriptnonce-allowed2.js: Added.
- http/tests/security/contentSecurityPolicy/1.1/resources/import-scriptnonce-allowed3.js: Added.
- http/tests/security/contentSecurityPolicy/1.1/resources/import-scriptnonce-allowed4.js: Added.
- http/tests/security/contentSecurityPolicy/1.1/resources/import-scriptnonce-allowed5.js: Added.
- http/tests/security/contentSecurityPolicy/1.1/resources/import-scriptnonce-allowed6.js: Added.
- http/tests/security/contentSecurityPolicy/1.1/resources/import-scriptnonce-blocked1.js: Added.
- http/tests/security/contentSecurityPolicy/1.1/resources/import-scriptnonce-blocked2.js: Added.
- http/tests/security/contentSecurityPolicy/1.1/resources/import-scriptnonce-blocked3.js: Added.
- http/tests/security/contentSecurityPolicy/1.1/resources/import-scriptnonce-blocked4.js: Added.
- http/tests/security/contentSecurityPolicy/1.1/resources/import-scriptnonce-blocked5.js: Added.
- http/tests/security/contentSecurityPolicy/1.1/resources/import-scriptnonce-blocked6.js: Added.
- http/tests/security/import-module-crossorigin-loads-error-expected.txt: Added.
- http/tests/security/import-module-crossorigin-loads-error-src-expected.txt: Added.
- http/tests/security/import-module-crossorigin-loads-error-src.html: Added.
- http/tests/security/import-module-crossorigin-loads-error.html: Added.
- http/tests/security/import-module-crossorigin-loads-expected.txt: Added.
- http/tests/security/import-module-crossorigin-loads-src-expected.txt: Added.
- http/tests/security/import-module-crossorigin-loads-src.html: Added.
- http/tests/security/import-module-crossorigin-loads.html: Added.
- http/tests/security/import-script-crossorigin-loads-error-expected.txt: Added.
- http/tests/security/import-script-crossorigin-loads-error.html: Added.
- http/tests/security/import-script-crossorigin-loads-omit-expected.txt: Added.
- http/tests/security/import-script-crossorigin-loads-omit.html: Added.
- http/tests/security/resources/cors-deny.php: Added.
- http/tests/security/resources/import-module-crossorigin-loads-error-src.js: Added.
(import.string_appeared_here.then):
- http/tests/security/resources/import-module-crossorigin-loads-src.js: Added.
(import.string_appeared_here.then):
- js/dom/modules/import-execution-order-expected.txt: Added.
- js/dom/modules/import-execution-order.html: Copied from LayoutTests/js/dom/modules/module-execution-error-inside-dependent-module-should-be-propagated-to-onerror.html.
- js/dom/modules/import-from-handler-expected.txt: Added.
- js/dom/modules/import-from-handler.html: Copied from LayoutTests/js/dom/modules/module-src-simple.html.
- js/dom/modules/import-from-javascript-url-expected.txt: Added.
- js/dom/modules/import-from-javascript-url.html: Copied from LayoutTests/js/dom/modules/module-execution-error-inside-dependent-module-should-be-propagated-to-onerror.html.
- js/dom/modules/import-from-loaded-classic-expected.txt: Added.
- js/dom/modules/import-from-loaded-classic.html: Copied from LayoutTests/js/dom/modules/module-src-simple.html.
- js/dom/modules/import-from-loaded-module-expected.txt: Added.
- js/dom/modules/import-from-loaded-module.html: Copied from LayoutTests/js/dom/modules/module-src-simple.html.
- js/dom/modules/import-from-module-expected.txt: Added.
- js/dom/modules/import-from-module.html: Copied from LayoutTests/js/dom/modules/module-src-simple.html.
- js/dom/modules/import-incorrect-relative-specifier-expected.txt: Added.
- js/dom/modules/import-incorrect-relative-specifier.html: Copied from LayoutTests/js/dom/modules/module-src-simple.html.
- js/dom/modules/import-simple-expected.txt: Added.
- js/dom/modules/import-simple.html: Copied from LayoutTests/js/dom/modules/module-src-simple.html.
- js/dom/modules/module-document-write-src.html:
- js/dom/modules/module-execution-error-inside-dependent-module-should-be-propagated-to-onerror.html:
- js/dom/modules/module-execution-order-mixed-with-classic-scripts.html:
- js/dom/modules/module-execution-order-mixed.html:
- js/dom/modules/module-inline-dynamic.html:
- js/dom/modules/module-inline-simple.html:
- js/dom/modules/module-load-event-with-src.html:
- js/dom/modules/module-load-same-module-from-different-entry-point-dynamic.html:
- js/dom/modules/module-load-same-module-from-different-entry-point-in-src.html:
- js/dom/modules/module-load-same-module-from-different-entry-point.html:
- js/dom/modules/module-not-found-error-event-with-src-and-import.html:
- js/dom/modules/module-src-current-script.html:
- js/dom/modules/module-src-dynamic.html:
- js/dom/modules/module-src-simple.html:
- js/dom/modules/module-type-case-insensitive.html:
- js/dom/modules/module-will-fire-beforeload.html:
- js/dom/modules/nomodule-dynamic-classic-src.html:
- js/dom/modules/nomodule-has-no-effect-on-module-inline.html:
- js/dom/modules/nomodule-has-no-effect-on-module-src.html:
- js/dom/modules/nomodule-prevents-execution-classic-script-src.html:
- js/dom/modules/nomodule-reflect.html:
- js/dom/modules/resources/error-classic-script.js: Renamed from LayoutTests/js/dom/modules/script-tests/error-classic-script.js.
- js/dom/modules/resources/import-from-loaded-classic-finish.js: Added.
- js/dom/modules/resources/import-from-loaded-classic.js: Added.
- js/dom/modules/resources/import-from-loaded-module-finish.js: Added.
- js/dom/modules/resources/import-from-loaded-module.js: Added.
- js/dom/modules/resources/module-document-write-src.js: Renamed from LayoutTests/js/dom/modules/script-tests/module-document-write-src.js.
- js/dom/modules/resources/module-execution-error-inside-dependent-module-should-be-propagated-to-onerror-throw.js: Renamed from LayoutTests/js/dom/modules/script-tests/module-execution-error-inside-dependent-module-should-be-propagated-to-onerror-throw.js.
- js/dom/modules/resources/module-execution-error-inside-dependent-module-should-be-propagated-to-onerror.js: Renamed from LayoutTests/js/dom/modules/script-tests/module-execution-error-inside-dependent-module-should-be-propagated-to-onerror.js.
- js/dom/modules/resources/module-execution-order-mixed-2.js: Renamed from LayoutTests/js/dom/modules/script-tests/module-execution-order-mixed-2.js.
- js/dom/modules/resources/module-execution-order-mixed-cappuccino.js: Renamed from LayoutTests/js/dom/modules/script-tests/module-execution-order-mixed-cappuccino.js.
- js/dom/modules/resources/module-execution-order-mixed-cocoa.js: Renamed from LayoutTests/js/dom/modules/script-tests/module-execution-order-mixed-cocoa.js.
- js/dom/modules/resources/module-execution-order-mixed-matcha.js: Renamed from LayoutTests/js/dom/modules/script-tests/module-execution-order-mixed-matcha.js.
- js/dom/modules/resources/module-execution-order-mixed-with-classic-scripts-2.js: Renamed from LayoutTests/js/dom/modules/script-tests/module-execution-order-mixed-with-classic-scripts-2.js.
- js/dom/modules/resources/module-execution-order-mixed-with-classic-scripts-cappuccino.js: Renamed from LayoutTests/js/dom/modules/script-tests/module-execution-order-mixed-with-classic-scripts-cappuccino.js.
- js/dom/modules/resources/module-execution-order-mixed-with-classic-scripts-cocoa.js: Renamed from LayoutTests/js/dom/modules/script-tests/module-execution-order-mixed-with-classic-scripts-cocoa.js.
- js/dom/modules/resources/module-execution-order-mixed-with-classic-scripts-matcha.js: Renamed from LayoutTests/js/dom/modules/script-tests/module-execution-order-mixed-with-classic-scripts-matcha.js.
- js/dom/modules/resources/module-execution-order-mixed-with-classic-scripts.js: Renamed from LayoutTests/js/dom/modules/script-tests/module-execution-order-mixed-with-classic-scripts.js.
- js/dom/modules/resources/module-execution-order-mixed.js: Renamed from LayoutTests/js/dom/modules/script-tests/module-execution-order-mixed.js.
- js/dom/modules/resources/module-inline-dynamic.js: Renamed from LayoutTests/js/dom/modules/script-tests/module-inline-dynamic.js.
- js/dom/modules/resources/module-inline-simple.js: Renamed from LayoutTests/js/dom/modules/script-tests/module-inline-simple.js.
- js/dom/modules/resources/module-load-event-with-src.js: Renamed from LayoutTests/js/dom/modules/script-tests/module-load-event-with-src.js.
- js/dom/modules/resources/module-load-same-module-from-different-entry-point.js: Renamed from LayoutTests/js/dom/modules/script-tests/module-load-same-module-from-different-entry-point.js.
- js/dom/modules/resources/module-not-found-error-event-with-src-and-import.js: Renamed from LayoutTests/js/dom/modules/script-tests/module-not-found-error-event-with-src-and-import.js.
- js/dom/modules/resources/module-src-current-script.js: Renamed from LayoutTests/js/dom/modules/script-tests/module-src-current-script.js.
- js/dom/modules/resources/module-src-dynamic-cocoa.js: Renamed from LayoutTests/js/dom/modules/script-tests/module-src-dynamic-cocoa.js.
- js/dom/modules/resources/module-src-dynamic.js: Renamed from LayoutTests/js/dom/modules/script-tests/module-src-dynamic.js.
- js/dom/modules/resources/module-src-simple-cocoa.js: Renamed from LayoutTests/js/dom/modules/script-tests/module-src-simple-cocoa.js.
- js/dom/modules/resources/module-src-simple.js: Renamed from LayoutTests/js/dom/modules/script-tests/module-src-simple.js.
- js/dom/modules/resources/module-will-fire-beforeload.js: Renamed from LayoutTests/js/dom/modules/script-tests/module-will-fire-beforeload.js.
- 1:19 AM Changeset in webkit [211279] by
-
- 46 edits2 copies1 move1 delete in branches/safari-603-branch/Source
Merge r211237. rdar://problem/30179506
- 1:18 AM Changeset in webkit [211278] by
-
- 3 edits1 add in branches/safari-603-branch
Merge r211246. rdar://problem/29916672
- 12:54 AM Changeset in webkit [211277] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Stop forcing accelerated compositing by default
https://bugs.webkit.org/show_bug.cgi?id=167492
Reviewed by Žan Doberšek.
We are now ready to bring back the on demand accelerated compositing mode with the threaded
compositor. Unfortunately, having AC always enabled brought a lot of issues for many people. Not only it
requires a lot more memory but also caused rendering issues (or even nothing rendered at all) with some graphics
drivers. People started to use WEBKIT_DISABLE_COMPOSITING_MODE as a workaround, but that was not expected to be
used by users. So, entering/leaving AC when required by web contents is not actually the solution but a huge
improvement for many people. If we are eventually ready to force AC mode again, we'll change this again. Note
that we still have WEBKIT_DISABLE_COMPOSITING_MODE, but now also WEBKIT_FORCE_COMPOSITING_MODE for testing and debugging.
- UIProcess/gtk/WebPreferencesGtk.cpp:
(WebKit::WebPreferences::platformInitializeStore):
- 12:37 AM WikiStart edited by
- (diff)
- 12:26 AM Changeset in webkit [211276] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed. Fix GTK+ debug build after r211247.
- heap/GCAssertions.h:
- 12:02 AM Changeset in webkit [211275] by
-
- 3 edits in branches/safari-603-branch/Source/WebCore
Merge r211244. rdar://problem/29956321
- 12:02 AM Changeset in webkit [211274] by
-
- 2 edits in branches/safari-603-branch/Source/WebKit/mac
Merge r211243. rdar://problem/30149809
- 12:02 AM Changeset in webkit [211273] by
-
- 2 edits in branches/safari-603-branch/Source/WebCore
Merge r211242. rdar://problem/29957753
- 12:02 AM Changeset in webkit [211272] by
-
- 2 edits in branches/safari-603-branch/Source/WebCore
Merge r211241. rdar://problem/30099051
- 12:02 AM Changeset in webkit [211271] by
-
- 2 edits in branches/safari-603-branch/Source/WebKit2
Merge r211239. rdar://problem/30221723
- 12:02 AM Changeset in webkit [211270] by
-
- 8 edits in branches/safari-603-branch
Merge r211235. rdar://problem/30058933
- 12:02 AM Changeset in webkit [211269] by
-
- 4 edits in branches/safari-603-branch
Merge r211234. rdar://problem/29899862
- 12:02 AM Changeset in webkit [211268] by
-
- 5 edits in branches/safari-603-branch/Source/WebCore
Merge r211233. rdar://problem/30220959
- 12:02 AM Changeset in webkit [211267] by
-
- 2 edits in branches/safari-603-branch/Source/WebCore
Merge r211231. rdar://problem/30217518
- 12:02 AM Changeset in webkit [211266] by
-
- 2 edits in branches/safari-603-branch/Source/WebCore
Merge r211230. rdar://problem/30009849
- 12:02 AM Changeset in webkit [211265] by
-
- 6 edits in branches/safari-603-branch/Source
Merge r211229. rdar://problem/30216981
- 12:02 AM Changeset in webkit [211264] by
-
- 2 edits in branches/safari-603-branch/Source/WebKit2
Merge r211223. rdar://problem/30181179
- 12:01 AM Changeset in webkit [211263] by
-
- 3 edits in branches/safari-603-branch/Source/WebCore
Merge r211220. rdar://problem/29578619
- 12:01 AM Changeset in webkit [211262] by
-
- 4 edits2 adds in branches/safari-603-branch
Merge r211201. rdar://problem/30134866
- 12:01 AM Changeset in webkit [211261] by
-
- 3 edits1 add in branches/safari-603-branch
Merge r211168. rdar://problem/30154148
- 12:01 AM Changeset in webkit [211260] by
-
- 2 edits in branches/safari-603-branch/LayoutTests
Merge r210441. rdar://problem/29899862
- 12:01 AM Changeset in webkit [211259] by
-
- 6 edits in branches/safari-603-branch/Source/WebCore
Merge r211238. rdar://problem/30216742
- 12:01 AM Changeset in webkit [211258] by
-
- 15 edits1 copy2 adds in branches/safari-603-branch
Merge r211224. rdar://problem/29144126
- 12:01 AM Changeset in webkit [211257] by
-
- 2 edits in branches/safari-603-branch/Source/JavaScriptCore
Merge r211167. rdar://problem/30192652
Jan 26, 2017:
- 11:14 PM Changeset in webkit [211256] by
-
- 7 edits in trunk/Source/WebCore
Revert r210474 it is no longer needed
https://bugs.webkit.org/show_bug.cgi?id=167487
Reviewed by Daniel Bates.
Revert r210474 it is no longer needed after r211254.
- dom/Document.cpp:
(WebCore::Document::canNavigate):
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::handleClick):
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::handleClick):
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::urlSelected):
(WebCore::FrameLoader::submitForm):
(WebCore::FrameLoader::loadFrameRequest):
- mathml/MathMLElement.cpp:
(WebCore::MathMLElement::defaultEventHandler):
- svg/SVGAElement.cpp:
(WebCore::SVGAElement::defaultEventHandler):
- 10:09 PM Changeset in webkit [211255] by
-
- 2 edits5 adds in trunk/Source/WebCore
[WebRTC] Implement WebRTC PeerConnection backend based on libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=167289
Patch by Youenn Fablet <youennf@gmail.com> on 2017-01-26
Reviewed by Alex Christensen.
Introducing an initial implementation of WebRTC peer connection backend based on LibWebRTC.
This is done behind a compilation flag which is off by default, until the implementation is ready.
The backend implements the PeerConnectionBackend API.
The implementation is split into LibWebRTCPeerConnectionBackend which contains mostly generic code and
passes the real work to LibWebRTCMediaEndpoint.
The latter class is implementing the API using LibWebRTC.
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp: Added.
(WebCore::LibWebRTCMediaEndpoint::LibWebRTCMediaEndpoint):
(WebCore::sessionDescriptionType):
(WebCore::LibWebRTCMediaEndpoint::doSetLocalDescription):
(WebCore::LibWebRTCMediaEndpoint::doSetRemoteDescription):
(WebCore::LibWebRTCMediaEndpoint::addPendingIceCandidates):
(WebCore::streamId):
(WebCore::LibWebRTCMediaEndpoint::doCreateOffer):
(WebCore::LibWebRTCMediaEndpoint::doCreateAnswer):
(WebCore::LibWebRTCMediaEndpoint::getStats):
(WebCore::LibWebRTCMediaEndpoint::StatsCollector::StatsCollector):
(WebCore::LibWebRTCMediaEndpoint::StatsCollector::OnStatsDelivered):
(WebCore::signalingState):
(WebCore::LibWebRTCMediaEndpoint::OnSignalingChange):
(WebCore::trackId):
(WebCore::createMediaStreamTrack):
(WebCore::LibWebRTCMediaEndpoint::addStream):
(WebCore::LibWebRTCMediaEndpoint::OnAddStream):
(WebCore::LibWebRTCMediaEndpoint::OnRemoveStream):
(WebCore::LibWebRTCMediaEndpoint::OnDataChannel):
(WebCore::LibWebRTCMediaEndpoint::stop):
(WebCore::LibWebRTCMediaEndpoint::OnRenegotiationNeeded):
(WebCore::iceConnectionState):
(WebCore::LibWebRTCMediaEndpoint::OnIceConnectionChange):
(WebCore::LibWebRTCMediaEndpoint::OnIceGatheringChange):
(WebCore::LibWebRTCMediaEndpoint::OnIceCandidate):
(WebCore::LibWebRTCMediaEndpoint::OnIceCandidatesRemoved):
(WebCore::LibWebRTCMediaEndpoint::createSessionDescriptionSucceeded):
(WebCore::LibWebRTCMediaEndpoint::createSessionDescriptionFailed):
(WebCore::LibWebRTCMediaEndpoint::setLocalSessionDescriptionSucceeded):
(WebCore::LibWebRTCMediaEndpoint::setLocalSessionDescriptionFailed):
(WebCore::LibWebRTCMediaEndpoint::setRemoteSessionDescriptionSucceeded):
(WebCore::LibWebRTCMediaEndpoint::setRemoteSessionDescriptionFailed):
- Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h: Added.
- Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp: Added.
(WebCore::createLibWebRTCPeerConnectionBackend):
(WebCore::libWebRTCProvider):
(WebCore::LibWebRTCPeerConnectionBackend::LibWebRTCPeerConnectionBackend):
(WebCore::configurationFromMediaEndpointConfiguration):
(WebCore::LibWebRTCPeerConnectionBackend::setConfiguration):
(WebCore::LibWebRTCPeerConnectionBackend::getStats):
(WebCore::LibWebRTCPeerConnectionBackend::doSetLocalDescription):
(WebCore::LibWebRTCPeerConnectionBackend::doSetRemoteDescription):
(WebCore::LibWebRTCPeerConnectionBackend::doCreateOffer):
(WebCore::LibWebRTCPeerConnectionBackend::doCreateAnswer):
(WebCore::LibWebRTCPeerConnectionBackend::doStop):
(WebCore::LibWebRTCPeerConnectionBackend::doAddIceCandidate):
(WebCore::LibWebRTCPeerConnectionBackend::markAsNeedingNegotiation):
(WebCore::LibWebRTCPeerConnectionBackend::createReceiver):
(WebCore::LibWebRTCPeerConnectionBackend::createDataChannelHandler):
- Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.h: Added.
- WebCore.xcodeproj/project.pbxproj:
- 9:36 PM Changeset in webkit [211254] by
-
- 38 edits8 adds in trunk
Crash when navigating back to a page in PacheCache when one of its frames has been removed
https://bugs.webkit.org/show_bug.cgi?id=167421
<rdar://problem/30188490>
Reviewed by Darin Adler.
Source/WebCore:
Disallow page caching of a page if:
- The main window has an opener (i.e. it was opened via window.open)
- It has ever used window.open()
This is because allowing page caching in this case would allow such
windows to script each other even after one of them entered Page
Cache. Allowing this is dangerous and easily causes crashes.
This is a short term workaround until we find a better solution to
the problem. One issue is this workaround is that navigating back
to a page that has an opener or used window.open() will not longer
get the page from PageCache. As a result, state may be lost upon
navigating back. However, we never guarantee that pages get page
cached, and Chrome does not have a PageCache.
Tests: fast/history/page-cache-after-window-open.html
fast/history/page-cache-back-navigation-crash.html
fast/history/page-cache-with-opener.html
- dom/Document.cpp:
(WebCore::Document::hasEverCalledWindowOpen):
(WebCore::Document::markHasCalledWindowOpen):
- dom/Document.h:
- history/PageCache.cpp:
(WebCore::canCachePage):
- page/DOMWindow.cpp:
(WebCore::DOMWindow::createWindow):
- page/DiagnosticLoggingKeys.cpp:
(WebCore::DiagnosticLoggingKeys::hasCalledWindowOpenKey):
(WebCore::DiagnosticLoggingKeys::hasOpenerKey):
- page/DiagnosticLoggingKeys.h:
- page/Page.cpp:
(WebCore::Page::openedByWindowOpen):
- page/Page.h:
- page/Settings.in:
Source/WebKit/mac:
Add a new setting allowing layout tests to enable PageCache in a window
that has an opener, for convenience.
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences allowsPageCacheWithWindowOpener]):
(-[WebPreferences setAllowsPageCacheWithWindowOpener:]):
- WebView/WebPreferencesPrivate.h:
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Source/WebKit/win:
Add a new setting allowing layout tests to enable PageCache in a window
that has an opener, for convenience.
- WebPreferenceKeysPrivate.h:
- WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):
- WebPreferences.h:
Source/WebKit2:
Add a new setting allowing layout tests to enable PageCache in a window
that has an opener, for convenience.
- Shared/WebPreferencesDefinitions.h:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetAllowsPageCacheWithWindowOpener):
(WKPreferencesGetAllowsPageCacheWithWindowOpener):
- UIProcess/API/C/WKPreferencesRefPrivate.h:
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Tools:
Add a new setting allowing layout tests to enable PageCache in a window
that has an opener, for convenience.
- DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
- DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebPreferencesToConsistentValues):
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
LayoutTests:
- fast/history/page-cache-after-window-open-expected.txt: Added.
- fast/history/page-cache-after-window-open.html: Added.
- fast/history/page-cache-back-navigation-crash-expected.txt: Added.
- fast/history/page-cache-back-navigation-crash.html: Added.
- fast/history/page-cache-with-opener-expected.txt: Added.
- fast/history/page-cache-with-opener.html: Added.
- fast/history/resources/page-cache-window-with-iframe.html: Added.
- fast/history/resources/page-cache-window-with-opener.html: Added.
Add layout test coverage.
- editing/mac/input/unconfirmed-text-navigation-with-page-cache.html:
- fast/harness/page-cache-crash-on-data-urls.html:
- fast/harness/use-page-cache.html:
- fast/history/page-cache-after-window-open-expected.txt: Added.
- fast/history/page-cache-after-window-open.html: Added.
- fast/history/page-cache-with-opener-expected.txt: Added.
- fast/history/page-cache-with-opener.html: Added.
- fast/history/resources/page-cache-window-with-opener.html: Added.
- fast/loader/stateobjects/no-popstate-when-back-to-stateless-entry-with-page-cache.html:
- fast/loader/stateobjects/popstate-fires-with-page-cache.html:
- tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html:
These tests relied on using window.open() to test PageCache for convenience. They now
need to override a setting in order to be allowed to do so.
- 8:54 PM Changeset in webkit [211253] by
-
- 12 edits9 adds in trunk
[WebRTC] Add a LibWebRTC mock for testing
https://bugs.webkit.org/show_bug.cgi?id=167429
Patch by Youenn Fablet <youennf@gmail.com> on 2017-01-26
Reviewed by Alex Christensen.
Source/WebCore:
Covered by updated tests although feature is behind a flag, off by default.
MockLibWebRTCPeerConnection will allow us testing the code above the WebRTC implementation above LibWebRTC,
without reyling on it and controlling the way that the peer connections will behave.
Adding support for mock factory to create real peer connections in case where we want to do full testing through the local loopback.
Tests: fast/mediastream/getUserMedia-webaudio.html
webrtc/datachannel/basic.html
webrtc/video.html
- WebCore.xcodeproj/project.pbxproj:
- testing/Internals.cpp:
(WebCore::Internals::Internals):
(WebCore::Internals::useMockRTCPeerConnectionFactory):
- testing/Internals.h:
- testing/Internals.idl:
- testing/MockLibWebRTCPeerConnection.cpp: Added.
(WebCore::useMockRTCPeerConnectionFactory):
(WebCore::MockLibWebRTCPeerConnectionForIceCandidates::MockLibWebRTCPeerConnectionForIceCandidates):
(WebCore::MockLibWebRTCPeerConnectionForIceCandidates::gotLocalDescription):
(WebCore::MockLibWebRTCPeerConnectionForIceConnectionState::MockLibWebRTCPeerConnectionForIceConnectionState):
(WebCore::MockLibWebRTCPeerConnectionForIceConnectionState::gotLocalDescription):
(WebCore::MockLibWebRTCPeerConnectionFactory::MockLibWebRTCPeerConnectionFactory):
(WebCore::MockLibWebRTCPeerConnectionFactory::CreatePeerConnection):
(WebCore::MockLibWebRTCPeerConnectionFactory::CreateLocalMediaStream):
(WebCore::MockLibWebRTCPeerConnection::SetLocalDescription):
(WebCore::MockLibWebRTCPeerConnection::SetRemoteDescription):
(WebCore::MockLibWebRTCPeerConnection::CreateDataChannel):
(WebCore::MockLibWebRTCPeerConnection::AddStream):
(WebCore::MockLibWebRTCPeerConnection::RemoveStream):
(WebCore::MockLibWebRTCPeerConnection::CreateOffer):
(WebCore::MockLibWebRTCPeerConnection::CreateAnswer):
- testing/MockLibWebRTCPeerConnection.h: Added.
(WebCore::MockLibWebRTCPeerConnection::~MockLibWebRTCPeerConnection):
(WebCore::MockLibWebRTCPeerConnection::MockLibWebRTCPeerConnection):
(WebCore::MockLibWebRTCPeerConnection::local_streams):
(WebCore::MockLibWebRTCPeerConnection::remote_streams):
(WebCore::MockLibWebRTCPeerConnection::CreateDtmfSender):
(WebCore::MockLibWebRTCPeerConnection::GetStats):
(WebCore::MockLibWebRTCPeerConnection::local_description):
(WebCore::MockLibWebRTCPeerConnection::remote_description):
(WebCore::MockLibWebRTCPeerConnection::AddIceCandidate):
(WebCore::MockLibWebRTCPeerConnection::RegisterUMAObserver):
(WebCore::MockLibWebRTCPeerConnection::signaling_state):
(WebCore::MockLibWebRTCPeerConnection::ice_connection_state):
(WebCore::MockLibWebRTCPeerConnection::ice_gathering_state):
(WebCore::MockLibWebRTCPeerConnection::StopRtcEventLog):
(WebCore::MockLibWebRTCPeerConnection::Close):
(WebCore::MockLibWebRTCPeerConnection::gotLocalDescription):
(WebCore::MockLibWebRTCIceCandidate::MockLibWebRTCIceCandidate):
(WebCore::MockLibWebRTCAudioTrack::MockLibWebRTCAudioTrack):
(WebCore::MockLibWebRTCVideoTrack::MockLibWebRTCVideoTrack):
(WebCore::MockLibWebRTCDataChannel::MockLibWebRTCDataChannel):
(WebCore::MockLibWebRTCPeerConnectionFactory::create):
LayoutTests:
- TestExpectations: Marking webrtc new tests as skipped for the moment.
- fast/mediastream/RTCPeerConnection-createAnswer.html:
- fast/mediastream/RTCPeerConnection-icecandidate-event.html:
- fast/mediastream/RTCPeerConnection-iceconnectionstatechange-event.html:
- webrtc/datachannel/basic.html: Added.
- webrtc/routines.js: Added.
(createConnections):
(closeConnections):
(onCreateSessionDescriptionError):
(gotDescription1):
(gotDescription2):
(iceCallback1):
(iceCallback2):
(onAddIceCandidateSuccess):
(onAddIceCandidateError):
- webrtc/video.html: Added.
- 8:29 PM Changeset in webkit [211252] by
-
- 2 edits in branches/safari-603-branch/Source/WebCore
Branch-specific fix for a crash seen after merging r201777.
<rdar://problem/30209068>
Reviewed by Andy Estes.
Add null checking of the FrameView in Document::destroyRenderTree() before
calling functions on it. This is not necessary in trunk, as the FrameView
is guaranteed to be present there.
FrameView can be missing on the branch, since render trees for page cached documents
are destroyed when leaving the page cache, not when entering it (trunk behavior.)
When leaving the page cache, the FrameView is already detached, hence the bug.
- dom/Document.cpp:
(WebCore::Document::destroyRenderTree):
- 8:25 PM ComplexTextController edited by
- (diff)
- 8:22 PM Changeset in webkit [211251] by
-
- 1 edit2 adds in trunk/Websites/webkit.org
Unreviewed, add a demo page for an input events blog post
- demos/input-events/index.html: Added.
- 8:16 PM ComplexTextController edited by
- (diff)
- 8:13 PM ComplexTextController edited by
- (diff)
- 8:08 PM ComplexTextController created by
- 6:52 PM Changeset in webkit [211250] by
-
- 2 edits3 adds in trunk/LayoutTests
[QuickLook] Add test to ensure that RTF documents have a unique origin
https://bugs.webkit.org/show_bug.cgi?id=167480
Reviewed by Andy Estes.
- http/tests/quicklook/resources/document-domain-is-empty-string.rtf: Added.
- http/tests/quicklook/rtf-document-domain-is-empty-string-expected.txt: Added.
- http/tests/quicklook/rtf-document-domain-is-empty-string.html: Added.
- platform/ios-simulator/TestExpectations: Skip the test in OpenSource as we
do not support touch events.
- 6:17 PM Changeset in webkit [211249] by
-
- 6 edits in trunk
Page should be able to request pointer lock without user gesture if it relinquished it without a user gesture
https://bugs.webkit.org/show_bug.cgi?id=167126
Patch by Jeremy Jones <jeremyj@apple.com> on 2017-01-26
Reviewed by Jon Lee.
Source/WebCore:
Enabled pointer-lock/locked-element-removed-from-dom.html for WK2.
Not enable in WK1 because of https://bugs.webkit.org/show_bug.cgi?id=167127
This change allows a page to lock the pointer again without a user gesture if it was unlocked by
the page and not by the user. See https://www.w3.org/TR/2016/REC-pointerlock-20161027/ 5.1 Methods
- page/PointerLockController.cpp:
When a document acquires pointer lock with a user gesture, that document is allowed to request pointer lock again
until the user takes an action to end pointer lock. We know it is a user action because user actions always
call requestPointerUnlockAndForceCursorVisible().
When the page requests a pointer unlock (via requestPointerUnlock), that document is allowed to continue to relock
the page. This continues until there is either an unlock request form the user
via requestPointerUnlockAndForceCursorVisible or a didLosePointerLock without a pointer unlock request.
(WebCore::PointerLockController::PointerLockController):
(WebCore::PointerLockController::requestPointerLock):
(WebCore::PointerLockController::requestPointerUnlock):
(WebCore::PointerLockController::requestPointerUnlockAndForceCursorVisible):
(WebCore::PointerLockController::elementRemoved):
(WebCore::PointerLockController::documentDetached):
(WebCore::PointerLockController::didAcquirePointerLock):
(WebCore::PointerLockController::didLosePointerLock):
(WebCore::PointerLockController::clearElement):
- page/PointerLockController.h:
LayoutTests:
Enable pointer-lock/locked-element-removed-from-dom.html for WK2 by enabling for Mac and disabling for WK1.
Not enable in WK1 becuase of https://bugs.webkit.org/show_bug.cgi?id=167127
- platform/mac-wk1/TestExpectations:
- platform/mac/TestExpectations:
- 6:00 PM Changeset in webkit [211248] by
-
- 6 edits3 adds3 deletes in trunk
[QuickLook] REGRESSION (WebKit2): Requests are made to invalid x-apple-ql-id: URLs
https://bugs.webkit.org/show_bug.cgi?id=167453
Reviewed by Brent Fulgham.
Source/WebCore:
Requests to x-apple-ql-id: URLs should be filtered by
-[QLPreviewConverter safeRequestForRequest:]. This method checks that the URL is one of the
ones generated for the current preview, and changes it to "about:" if it isn't.
WebCore::safeQLURLForDocumentURLAndResourceURL() was responsible for finding the
QLPreviewConverter instance to use by looking it up in an NSMutableDictionary using the
document URL as a key. In WebKit1, this dictionary was populated by the
QuickLookHandleClient when new QuickLookHandles were created, but the WebKit2
QuickLookHandleClient never did this. As a result, requests to invalid URLs were not being
rewritten.
An easy way to load a QuickLook document with invalid URLs is to create an HTML file with a
Microsoft Office extension (e.g. .xls); QuickLook, iWork, and Office support opening HTML
files with Office document extensions. In r207155 we applied a Content Security Policy to
QuickLook documents that only allows x-apple-ql-id: resources to load. This blocked
cross-origin requests from loading, but same-origin requests to URLs that weren't generated
by QLPreviewConverter were still allowed to load.
This change blocks these URLs by calling -[QLPreviewConverter safeRequestForRequest:] in a
way that works for both WebKit1 and WebKit2.
After implementing QuickLook for WebKit2, we found a bug when loading HTML-as-Office
documents (webkit.org/b/135651) that presented as a nil MIME type in the preview
NSURLResponse returned by QLPreviewConverter. Unfortunately r172159 papered over the actual
bug by failing to load previews with nil MIME types.
The real issue was that we were asking for the preview response before QuickLook had
received enough data to determine a MIME type, so this change also removes the bad fix from
r172159 and instead waits until QuickLook has converted the document to ask for its preview
response. This restores the ability to load HTML files with Office document extensions.
These two fixes are combined in a single patch because I don't know how to create an invalid
QuickLook URL for testing without loading an HTML-as-Office document.
Test: quicklook/invalid-ql-id-url.html
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::willSendRequestInternal): Called
QuickLookHandle::willSendRequest() if m_documentLoader has a QuickLookHandle.
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::load): Removed the call to
WebCore::safeQLURLForDocumentURLAndResourceURL().
- loader/ios/QuickLook.h: Removed safeQLURLForDocumentURLAndResourceURL() and declared
QuickLookHandle::willSendRequest().
- loader/ios/QuickLook.mm: Removed _previewResponse and _hasFailed ivars from
WebPreviewConverter.
(-[WebPreviewConverter initWithResourceLoader:resourceResponse:quickLookHandle:]): Stopped
setting _previewResponse.
(-[WebPreviewConverter _sendDidReceiveResponseIfNecessary]): Only emptied _bufferedDataArray
if we haven't already called -_sendDidReceiveResponseIfNecessary; removed the check for a
nil _previewResponse MIME type; accessed -[QLPreviewConverter previewResponse] now that the
document has been converted and asserted its MIME type is non-nil.
(-[WebPreviewConverter connection:didReceiveData:lengthReceived:]): Removed _hasFailed check.
(-[WebPreviewConverter connectionDidFinishLoading:]): Ditto.
(isQuickLookPasswordError): Moved the check for password failure errors to here from
-connection:didFailWithError: for better readability.
(-[WebPreviewConverter connection:didFailWithError:]): Removed _hasFailed check and used
more early returns.
(WebCore::QuickLookHandle::willSendRequest): Filtered the request through
-[QLPreviewConverter safeRequestWithRequest:] if the request URL's scheme is x-apple-ql-id:.
(WebCore::safeQLURLForDocumentURLAndResourceURL): Deleted.
LayoutTests:
- quicklook/invalid-ql-id-url-expected.txt: Added.
- quicklook/invalid-ql-id-url.html: Added.
- quicklook/nil-response-mime-type-expected.txt: Removed.
- quicklook/nil-response-mime-type.html: Removed.
- quicklook/resources/invalid-ql-id-url.xls: Added.
- quicklook/resources/nil-response-mime-type.xls: Removed.
- 5:47 PM Changeset in webkit [211247] by
-
- 339 edits in trunk
classInfo should take a VM so it is not materialized from the object on each call
https://bugs.webkit.org/show_bug.cgi?id=167424
Rubber Stamped by Michael Saboff.
Previously, classInfo() would get the VM from the target's
MarkedBlock. Most callers already have a VM on hand, so it is
wasteful to compute the VM from the marked block every time. This
patch refactors some of the most common callers of classInfo(),
jsDynamicCast and inherits to take a VM as well.
Source/JavaScriptCore:
- API/JSCallbackConstructor.cpp:
(JSC::JSCallbackConstructor::finishCreation):
- API/JSCallbackFunction.cpp:
(JSC::JSCallbackFunction::finishCreation):
- API/JSCallbackObjectFunctions.h:
(JSC::JSCallbackObject<Parent>::asCallbackObject):
(JSC::JSCallbackObject<Parent>::finishCreation):
- API/JSObjectRef.cpp:
(JSObjectSetPrototype):
(classInfoPrivate):
(JSObjectGetPrivate):
(JSObjectSetPrivate):
(JSObjectGetPrivateProperty):
(JSObjectSetPrivateProperty):
(JSObjectDeletePrivateProperty):
- API/JSTypedArray.cpp:
(JSValueGetTypedArrayType):
(JSObjectMakeTypedArrayWithArrayBuffer):
(JSObjectMakeTypedArrayWithArrayBufferAndOffset):
(JSObjectGetTypedArrayBytesPtr):
(JSObjectGetTypedArrayLength):
(JSObjectGetTypedArrayByteLength):
(JSObjectGetTypedArrayByteOffset):
(JSObjectGetTypedArrayBuffer):
(JSObjectGetArrayBufferBytesPtr):
(JSObjectGetArrayBufferByteLength):
- API/JSValue.mm:
(isDate):
(isArray):
(valueToObjectWithoutCopy):
- API/JSValueRef.cpp:
(JSValueIsArray):
(JSValueIsDate):
(JSValueIsObjectOfClass):
- API/JSWeakObjectMapRefPrivate.cpp:
- API/JSWrapperMap.mm:
(tryUnwrapObjcObject):
- API/ObjCCallbackFunction.h:
- API/ObjCCallbackFunction.mm:
(tryUnwrapConstructor):
- bindings/ScriptFunctionCall.cpp:
(Deprecated::ScriptFunctionCall::call):
- bytecode/CallVariant.h:
(JSC::CallVariant::internalFunction):
(JSC::CallVariant::function):
(JSC::CallVariant::isClosureCall):
(JSC::CallVariant::executable):
(JSC::CallVariant::functionExecutable):
(JSC::CallVariant::nativeExecutable):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finishCreation):
(JSC::CodeBlock::setConstantRegisters):
(JSC::CodeBlock::replacement):
(JSC::CodeBlock::computeCapabilityLevel):
(JSC::CodeBlock::nameForRegister):
- bytecode/ObjectAllocationProfile.h:
(JSC::ObjectAllocationProfile::possibleDefaultPropertyCount):
- bytecode/ObjectPropertyCondition.cpp:
(JSC::ObjectPropertyCondition::attemptToMakeEquivalenceWithoutBarrier):
- bytecode/ObjectPropertyCondition.h:
(JSC::ObjectPropertyCondition::isValidValueForPresence):
- bytecode/PropertyCondition.cpp:
(JSC::PropertyCondition::isValidValueForAttributes):
(JSC::PropertyCondition::isValidValueForPresence):
(JSC::PropertyCondition::attemptToMakeEquivalenceWithoutBarrier):
- bytecode/PropertyCondition.h:
- bytecode/SpeculatedType.cpp:
(JSC::speculationFromCell):
- debugger/Debugger.cpp:
- debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::functionName):
(JSC::DebuggerCallFrame::scope):
(JSC::DebuggerCallFrame::type):
- debugger/DebuggerScope.cpp:
(JSC::DebuggerScope::name):
(JSC::DebuggerScope::location):
- dfg/DFGAbstractInterpreter.h:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::AbstractInterpreter):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::get):
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
(JSC::DFG::ByteCodeParser::planLoad):
(JSC::DFG::ByteCodeParser::checkPresenceLike):
(JSC::DFG::ByteCodeParser::load):
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- dfg/DFGDesiredWeakReferences.cpp:
(JSC::DFG::DesiredWeakReferences::reallyAdd):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupMakeRope):
- dfg/DFGFrozenValue.h:
(JSC::DFG::FrozenValue::FrozenValue):
(JSC::DFG::FrozenValue::dynamicCast):
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::tryGetConstantClosureVar):
(JSC::DFG::Graph::tryGetFoldableView):
(JSC::DFG::Graph::getRegExpPrototypeProperty):
(JSC::DFG::Graph::isStringPrototypeMethodSane):
(JSC::DFG::Graph::canOptimizeStringObjectAccess):
- dfg/DFGLazyJSValue.cpp:
(JSC::DFG::LazyJSValue::tryGetStringImpl):
(JSC::DFG::LazyJSValue::tryGetString):
- dfg/DFGLazyJSValue.h:
- dfg/DFGNode.cpp:
(JSC::DFG::Node::convertToPutStructureHint):
- dfg/DFGNode.h:
(JSC::DFG::Node::dynamicCastConstant):
(JSC::DFG::Node::castConstant):
- dfg/DFGOperations.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileIn):
(JSC::DFG::SpeculativeJIT::compileMaterializeNewObject):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileDirectCallOrConstruct):
(JSC::FTL::DFG::LowerDFGToB3::compileIn):
(JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation):
(JSC::FTL::DFG::LowerDFGToB3::compileStringReplace):
- ftl/FTLOperations.cpp:
(JSC::FTL::operationMaterializeObjectInOSR):
- heap/CodeBlockSet.cpp:
(JSC::CodeBlockSet::lastChanceToFinalize):
(JSC::CodeBlockSet::deleteUnmarkedAndUnreferenced):
- heap/CodeBlockSet.h:
- heap/GCAssertions.h:
- heap/Heap.cpp:
(JSC::Heap::lastChanceToFinalize):
(JSC::Heap::protectedObjectTypeCounts):
(JSC::Heap::objectTypeCounts):
(JSC::Heap::deleteUnmarkedCompiledCode):
- heap/HeapSnapshotBuilder.cpp:
(JSC::HeapSnapshotBuilder::json):
- heap/SlotVisitor.cpp:
(JSC::validate):
- inspector/InjectedScriptHost.h:
- inspector/JSGlobalObjectInspectorController.cpp:
(Inspector::JSGlobalObjectInspectorController::reportAPIException):
- inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::finishCreation):
(Inspector::JSInjectedScriptHost::isHTMLAllCollection):
(Inspector::JSInjectedScriptHost::subtype):
(Inspector::JSInjectedScriptHost::functionDetails):
(Inspector::JSInjectedScriptHost::getInternalProperties):
(Inspector::JSInjectedScriptHost::proxyTargetValue):
(Inspector::JSInjectedScriptHost::weakMapSize):
(Inspector::JSInjectedScriptHost::weakMapEntries):
(Inspector::JSInjectedScriptHost::weakSetSize):
(Inspector::JSInjectedScriptHost::weakSetEntries):
(Inspector::JSInjectedScriptHost::iteratorEntries):
- inspector/JSInjectedScriptHostPrototype.cpp:
(Inspector::JSInjectedScriptHostPrototype::finishCreation):
(Inspector::jsInjectedScriptHostPrototypeAttributeEvaluate):
(Inspector::jsInjectedScriptHostPrototypeFunctionInternalConstructorName):
(Inspector::jsInjectedScriptHostPrototypeFunctionIsHTMLAllCollection):
(Inspector::jsInjectedScriptHostPrototypeFunctionProxyTargetValue):
(Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize):
(Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapEntries):
(Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetSize):
(Inspector::jsInjectedScriptHostPrototypeFunctionWeakSetEntries):
(Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries):
(Inspector::jsInjectedScriptHostPrototypeFunctionEvaluateWithScopeExtension):
(Inspector::jsInjectedScriptHostPrototypeFunctionSubtype):
(Inspector::jsInjectedScriptHostPrototypeFunctionFunctionDetails):
(Inspector::jsInjectedScriptHostPrototypeFunctionGetInternalProperties):
- inspector/JSJavaScriptCallFrame.cpp:
(Inspector::JSJavaScriptCallFrame::finishCreation):
(Inspector::toJSJavaScriptCallFrame): Deleted.
- inspector/JSJavaScriptCallFrame.h:
- inspector/JSJavaScriptCallFramePrototype.cpp:
(Inspector::JSJavaScriptCallFramePrototype::finishCreation):
(Inspector::jsJavaScriptCallFramePrototypeFunctionEvaluateWithScopeExtension):
(Inspector::jsJavaScriptCallFramePrototypeFunctionScopeDescriptions):
(Inspector::jsJavaScriptCallFrameAttributeCaller):
(Inspector::jsJavaScriptCallFrameAttributeSourceID):
(Inspector::jsJavaScriptCallFrameAttributeLine):
(Inspector::jsJavaScriptCallFrameAttributeColumn):
(Inspector::jsJavaScriptCallFrameAttributeFunctionName):
(Inspector::jsJavaScriptCallFrameAttributeScopeChain):
(Inspector::jsJavaScriptCallFrameAttributeThisObject):
(Inspector::jsJavaScriptCallFrameAttributeType):
(Inspector::jsJavaScriptCallFrameIsTailDeleted):
- inspector/ScriptArguments.cpp:
(Inspector::ScriptArguments::getFirstArgumentAsString):
- inspector/agents/InspectorHeapAgent.cpp:
(Inspector::InspectorHeapAgent::getPreview):
- interpreter/Interpreter.cpp:
(JSC::notifyDebuggerOfUnwinding):
(JSC::Interpreter::unwind):
(JSC::Interpreter::notifyDebuggerOfExceptionToBeThrown):
(JSC::Interpreter::execute):
- interpreter/ShadowChicken.cpp:
(JSC::ShadowChicken::update):
- interpreter/StackVisitor.cpp:
(JSC::StackVisitor::readFrame):
(JSC::StackVisitor::readNonInlinedFrame):
(JSC::StackVisitor::Frame::calleeSaveRegisters):
- jit/JITCode.cpp:
(JSC::JITCode::execute):
- jit/JITOperations.cpp:
(JSC::operationNewFunctionCommon):
- jit/Repatch.cpp:
(JSC::tryCacheGetByID):
- jsc.cpp:
(WTF::CustomGetter::customGetter):
(WTF::RuntimeArray::finishCreation):
(WTF::RuntimeArray::lengthGetter):
(WTF::DOMJITGetter::customGetter):
(WTF::DOMJITGetterComplex::DOMJITNodeDOMJIT::slowCall):
(WTF::DOMJITGetterComplex::functionEnableException):
(WTF::DOMJITGetterComplex::customGetter):
(WTF::DOMJITFunctionObject::safeFunction):
(functionDescribeArray):
(functionCreateElement):
(functionGetElement):
(functionSetElementRoot):
(functionGetHiddenValue):
(functionSetHiddenValue):
(functionSetImpureGetterDelegate):
(functionNoFTL):
(functionDollarEvalScript):
(functionDollarAgentBroadcast):
(functionTransferArrayBuffer):
(functionFindTypeForExpression):
(functionReturnTypeFor):
(functionHasBasicBlockExecuted):
(functionBasicBlockExecutionCount):
(functionEnsureArrayStorage):
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- runtime/AbstractModuleRecord.cpp:
(JSC::AbstractModuleRecord::finishCreation):
- runtime/ArrayBuffer.cpp:
(JSC::ArrayBuffer::transferTo):
- runtime/ArrayBuffer.h:
- runtime/ArrayConstructor.cpp:
(JSC::ArrayConstructor::finishCreation):
(JSC::arrayConstructorPrivateFuncIsArraySlow):
(JSC::arrayConstructorPrivateFuncIsArrayConstructor):
- runtime/ArrayConstructor.h:
(JSC::isArrayConstructor): Deleted.
- runtime/ArrayIteratorPrototype.cpp:
(JSC::ArrayIteratorPrototype::finishCreation):
- runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::finishCreation):
- runtime/AsyncFunctionPrototype.cpp:
(JSC::AsyncFunctionPrototype::finishCreation):
- runtime/AtomicsObject.cpp:
(JSC::AtomicsObject::finishCreation):
(JSC::atomicsFuncWait):
(JSC::atomicsFuncWake):
- runtime/BooleanObject.cpp:
(JSC::BooleanObject::finishCreation):
- runtime/BooleanObject.h:
(JSC::asBooleanObject):
- runtime/BooleanPrototype.cpp:
(JSC::BooleanPrototype::finishCreation):
(JSC::booleanProtoFuncToString):
(JSC::booleanProtoFuncValueOf):
- runtime/ConsoleObject.cpp:
(JSC::ConsoleObject::finishCreation):
- runtime/DateConstructor.cpp:
(JSC::constructDate):
- runtime/DateInstance.cpp:
(JSC::DateInstance::finishCreation):
- runtime/DateInstance.h:
(JSC::asDateInstance):
- runtime/DatePrototype.cpp:
(JSC::formateDateInstance):
(JSC::DatePrototype::finishCreation):
(JSC::dateProtoFuncToISOString):
(JSC::dateProtoFuncToLocaleString):
(JSC::dateProtoFuncToLocaleDateString):
(JSC::dateProtoFuncToLocaleTimeString):
(JSC::dateProtoFuncGetTime):
(JSC::dateProtoFuncGetFullYear):
(JSC::dateProtoFuncGetUTCFullYear):
(JSC::dateProtoFuncGetMonth):
(JSC::dateProtoFuncGetUTCMonth):
(JSC::dateProtoFuncGetDate):
(JSC::dateProtoFuncGetUTCDate):
(JSC::dateProtoFuncGetDay):
(JSC::dateProtoFuncGetUTCDay):
(JSC::dateProtoFuncGetHours):
(JSC::dateProtoFuncGetUTCHours):
(JSC::dateProtoFuncGetMinutes):
(JSC::dateProtoFuncGetUTCMinutes):
(JSC::dateProtoFuncGetSeconds):
(JSC::dateProtoFuncGetUTCSeconds):
(JSC::dateProtoFuncGetMilliSeconds):
(JSC::dateProtoFuncGetUTCMilliseconds):
(JSC::dateProtoFuncGetTimezoneOffset):
(JSC::dateProtoFuncSetTime):
(JSC::setNewValueFromTimeArgs):
(JSC::setNewValueFromDateArgs):
(JSC::dateProtoFuncSetYear):
(JSC::dateProtoFuncGetYear):
- runtime/ErrorInstance.cpp:
(JSC::ErrorInstance::finishCreation):
- runtime/ErrorPrototype.cpp:
(JSC::ErrorPrototype::finishCreation):
- runtime/ExceptionHelpers.cpp:
(JSC::isTerminatedExecutionException):
- runtime/ExceptionHelpers.h:
- runtime/ExecutableBase.cpp:
(JSC::ExecutableBase::clearCode):
(JSC::ExecutableBase::dump):
(JSC::ExecutableBase::hashFor):
- runtime/FunctionPrototype.cpp:
(JSC::functionProtoFuncToString):
- runtime/GeneratorFunctionPrototype.cpp:
(JSC::GeneratorFunctionPrototype::finishCreation):
- runtime/GeneratorPrototype.cpp:
(JSC::GeneratorPrototype::finishCreation):
- runtime/GetterSetter.h:
- runtime/InspectorInstrumentationObject.cpp:
(JSC::InspectorInstrumentationObject::finishCreation):
- runtime/InternalFunction.cpp:
(JSC::InternalFunction::finishCreation):
(JSC::InternalFunction::createSubclassStructure):
- runtime/InternalFunction.h:
(JSC::asInternalFunction):
- runtime/IntlCollator.cpp:
(JSC::IntlCollator::finishCreation):
- runtime/IntlCollatorPrototype.cpp:
(JSC::IntlCollatorPrototypeGetterCompare):
(JSC::IntlCollatorPrototypeFuncResolvedOptions):
- runtime/IntlDateTimeFormat.cpp:
(JSC::IntlDateTimeFormat::finishCreation):
- runtime/IntlDateTimeFormatPrototype.cpp:
(JSC::IntlDateTimeFormatPrototypeGetterFormat):
(JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions):
- runtime/IntlNumberFormat.cpp:
(JSC::IntlNumberFormat::finishCreation):
- runtime/IntlNumberFormatPrototype.cpp:
(JSC::IntlNumberFormatPrototypeGetterFormat):
(JSC::IntlNumberFormatPrototypeFuncResolvedOptions):
- runtime/IntlObject.cpp:
(JSC::IntlObject::finishCreation):
- runtime/IntlObjectInlines.h:
(JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor):
- runtime/IteratorPrototype.cpp:
(JSC::IteratorPrototype::finishCreation):
- runtime/JSArray.h:
(JSC::asArray):
(JSC::isJSArray):
- runtime/JSArrayBuffer.h:
(JSC::toPossiblySharedArrayBuffer):
(JSC::toUnsharedArrayBuffer):
(JSC::JSArrayBuffer::toWrapped):
- runtime/JSArrayBufferConstructor.cpp:
(JSC::arrayBufferFuncIsView):
- runtime/JSArrayBufferPrototype.cpp:
(JSC::arrayBufferProtoFuncSlice):
- runtime/JSArrayBufferView.h:
- runtime/JSArrayBufferViewInlines.h:
(JSC::JSArrayBufferView::toWrapped):
- runtime/JSBoundFunction.cpp:
(JSC::isBoundFunction):
(JSC::getBoundFunctionStructure):
(JSC::JSBoundFunction::finishCreation):
- runtime/JSCJSValue.cpp:
(JSC::JSValue::dumpForBacktrace):
- runtime/JSCJSValue.h:
- runtime/JSCJSValueInlines.h:
(JSC::JSValue::inherits):
(JSC::JSValue::classInfoOrNull):
- runtime/JSCallee.cpp:
(JSC::JSCallee::finishCreation):
- runtime/JSCell.cpp:
(JSC::JSCell::dumpToStream):
(JSC::JSCell::className):
(JSC::JSCell::isAnyWasmCallee):
- runtime/JSCell.h:
(JSC::jsCast):
(JSC::jsDynamicCast):
- runtime/JSCellInlines.h:
(JSC::JSCell::methodTable):
(JSC::JSCell::inherits):
(JSC::JSCell::classInfo):
- runtime/JSCustomGetterSetterFunction.cpp:
(JSC::JSCustomGetterSetterFunction::finishCreation):
- runtime/JSDataViewPrototype.cpp:
(JSC::getData):
(JSC::setData):
(JSC::dataViewProtoGetterBuffer):
(JSC::dataViewProtoGetterByteLength):
(JSC::dataViewProtoGetterByteOffset):
- runtime/JSFunction.cpp:
(JSC::JSFunction::finishCreation):
(JSC::JSFunction::allocateAndInitializeRareData):
(JSC::JSFunction::initializeRareData):
(JSC::RetrieveArgumentsFunctor::RetrieveArgumentsFunctor):
(JSC::RetrieveCallerFunctionFunctor::RetrieveCallerFunctionFunctor):
(JSC::RetrieveCallerFunctionFunctor::operator()):
(JSC::JSFunction::callerGetter):
(JSC::JSFunction::getOwnNonIndexPropertyNames):
(JSC::getCalculatedDisplayName):
(JSC::JSFunction::reifyBoundNameIfNeeded):
- runtime/JSGenericTypedArrayView.h:
(JSC::toPossiblySharedNativeTypedView):
(JSC::toUnsharedNativeTypedView):
(JSC::JSGenericTypedArrayView<Adaptor>::toWrapped):
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructGenericTypedArrayViewWithArguments):
(JSC::constructGenericTypedArrayView):
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::set):
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::speciesConstruct):
(JSC::genericTypedArrayViewProtoFuncSet):
(JSC::genericTypedArrayViewProtoFuncSlice):
(JSC::genericTypedArrayViewPrivateFuncSubarrayCreate):
- runtime/JSGenericTypedArrayViewPrototypeInlines.h:
(JSC::JSGenericTypedArrayViewPrototype<ViewClass>::finishCreation):
- runtime/JSGlobalObject.cpp:
(JSC::getTemplateObject):
(JSC::enqueueJob):
(JSC::JSGlobalObject::init):
- runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncProtoGetter):
(JSC::globalFuncProtoSetter):
- runtime/JSInternalPromiseDeferred.cpp:
(JSC::JSInternalPromiseDeferred::create):
- runtime/JSLexicalEnvironment.h:
(JSC::asActivation):
- runtime/JSModuleLoader.cpp:
(JSC::JSModuleLoader::finishCreation):
(JSC::JSModuleLoader::evaluate):
(JSC::JSModuleLoader::getModuleNamespaceObject):
- runtime/JSModuleNamespaceObject.cpp:
(JSC::JSModuleNamespaceObject::finishCreation):
(JSC::moduleNamespaceObjectSymbolIterator):
- runtime/JSModuleRecord.cpp:
(JSC::JSModuleRecord::finishCreation):
- runtime/JSNativeStdFunction.cpp:
(JSC::JSNativeStdFunction::finishCreation):
- runtime/JSONObject.cpp:
(JSC::JSONObject::finishCreation):
(JSC::unwrapBoxedPrimitive):
(JSC::Stringifier::Stringifier):
(JSC::Walker::walk):
- runtime/JSObject.cpp:
(JSC::JSObject::className):
(JSC::JSObject::toStringName):
(JSC::JSObject::calculatedClassName):
(JSC::JSObject::putInlineSlow):
(JSC::JSObject::ensureInt32Slow):
(JSC::JSObject::ensureDoubleSlow):
(JSC::JSObject::ensureContiguousSlow):
(JSC::JSObject::ensureArrayStorageSlow):
(JSC::JSObject::deleteProperty):
(JSC::JSObject::getOwnStaticPropertySlot):
(JSC::JSObject::findPropertyHashEntry):
(JSC::JSObject::getOwnNonIndexPropertyNames):
(JSC::JSObject::reifyAllStaticProperties):
(JSC::JSObject::getOwnPropertyDescriptor):
- runtime/JSObject.h:
(JSC::JSObject::finishCreation):
(JSC::JSNonFinalObject::finishCreation):
(JSC::JSFinalObject::finishCreation):
- runtime/JSPromiseDeferred.cpp:
(JSC::JSPromiseDeferred::create):
- runtime/JSPropertyNameIterator.cpp:
(JSC::JSPropertyNameIterator::finishCreation):
(JSC::propertyNameIteratorFuncNext):
- runtime/JSScope.cpp:
(JSC::JSScope::symbolTable):
- runtime/JSScope.h:
- runtime/JSString.cpp:
(JSC::JSString::dumpToStream):
- runtime/JSStringIterator.cpp:
(JSC::JSStringIterator::finishCreation):
- runtime/JSTypedArrayViewPrototype.cpp:
(JSC::typedArrayViewPrivateFuncIsTypedArrayView):
(JSC::typedArrayViewPrivateFuncLength):
(JSC::typedArrayViewPrivateFuncGetOriginalConstructor):
(JSC::typedArrayViewProtoGetterFuncToStringTag):
(JSC::JSTypedArrayViewPrototype::finishCreation):
- runtime/LazyClassStructure.cpp:
(JSC::LazyClassStructure::Initializer::setConstructor):
- runtime/Lookup.h:
(JSC::putEntry):
- runtime/MapConstructor.cpp:
(JSC::MapConstructor::finishCreation):
- runtime/MapIteratorPrototype.cpp:
(JSC::MapIteratorPrototype::finishCreation):
(JSC::MapIteratorPrototypeFuncNext):
- runtime/MapPrototype.cpp:
(JSC::MapPrototype::finishCreation):
(JSC::mapProtoFuncValues):
(JSC::mapProtoFuncEntries):
(JSC::mapProtoFuncKeys):
(JSC::privateFuncMapIterator):
(JSC::privateFuncMapIteratorNext):
- runtime/MathObject.cpp:
(JSC::MathObject::finishCreation):
- runtime/ModuleLoaderPrototype.cpp:
(JSC::moduleLoaderPrototypeParseModule):
(JSC::moduleLoaderPrototypeRequestedModules):
(JSC::moduleLoaderPrototypeModuleDeclarationInstantiation):
(JSC::moduleLoaderPrototypeResolve):
(JSC::moduleLoaderPrototypeFetch):
(JSC::moduleLoaderPrototypeInstantiate):
(JSC::moduleLoaderPrototypeGetModuleNamespaceObject):
(JSC::moduleLoaderPrototypeEvaluate):
- runtime/NativeErrorConstructor.cpp:
(JSC::NativeErrorConstructor::finishCreation):
- runtime/NumberConstructor.cpp:
(JSC::NumberConstructor::finishCreation):
- runtime/NumberObject.cpp:
(JSC::NumberObject::finishCreation):
- runtime/NumberPrototype.cpp:
(JSC::NumberPrototype::finishCreation):
- runtime/ObjectConstructor.cpp:
(JSC::ObjectConstructor::finishCreation):
- runtime/ObjectPrototype.cpp:
(JSC::ObjectPrototype::finishCreation):
- runtime/ProxyObject.cpp:
(JSC::ProxyObject::toStringName):
(JSC::ProxyObject::finishCreation):
- runtime/ReflectObject.cpp:
(JSC::ReflectObject::finishCreation):
(JSC::reflectObjectConstruct):
- runtime/RegExpConstructor.cpp:
(JSC::RegExpConstructor::finishCreation):
(JSC::setRegExpConstructorInput):
(JSC::setRegExpConstructorMultiline):
(JSC::constructRegExp):
- runtime/RegExpConstructor.h:
(JSC::asRegExpConstructor):
(JSC::isRegExp):
- runtime/RegExpObject.cpp:
(JSC::RegExpObject::finishCreation):
- runtime/RegExpObject.h:
(JSC::asRegExpObject):
- runtime/RegExpPrototype.cpp:
(JSC::RegExpPrototype::finishCreation):
(JSC::regExpProtoFuncTestFast):
(JSC::regExpProtoFuncExec):
(JSC::regExpProtoFuncMatchFast):
(JSC::regExpProtoFuncCompile):
(JSC::regExpProtoGetterGlobal):
(JSC::regExpProtoGetterIgnoreCase):
(JSC::regExpProtoGetterMultiline):
(JSC::regExpProtoGetterSticky):
(JSC::regExpProtoGetterUnicode):
(JSC::regExpProtoGetterSource):
- runtime/SamplingProfiler.cpp:
(JSC::SamplingProfiler::processUnverifiedStackTraces):
- runtime/ScriptExecutable.cpp:
(JSC::ScriptExecutable::newCodeBlockFor):
(JSC::ScriptExecutable::newReplacementCodeBlockFor):
- runtime/SetConstructor.cpp:
(JSC::SetConstructor::finishCreation):
- runtime/SetIteratorPrototype.cpp:
(JSC::SetIteratorPrototype::finishCreation):
(JSC::SetIteratorPrototypeFuncNext):
- runtime/SetPrototype.cpp:
(JSC::SetPrototype::finishCreation):
(JSC::setProtoFuncValues):
(JSC::setProtoFuncEntries):
(JSC::privateFuncSetIterator):
(JSC::privateFuncSetIteratorNext):
- runtime/StackFrame.cpp:
(JSC::StackFrame::sourceURL):
(JSC::StackFrame::functionName):
- runtime/StringIteratorPrototype.cpp:
(JSC::StringIteratorPrototype::finishCreation):
- runtime/StringObject.cpp:
(JSC::StringObject::finishCreation):
- runtime/StringObject.h:
(JSC::asStringObject):
- runtime/StringPrototype.cpp:
(JSC::StringPrototype::finishCreation):
(JSC::replace):
(JSC::stringProtoFuncReplaceUsingRegExp):
(JSC::stringProtoFuncToString):
- runtime/StructureRareData.cpp:
(JSC::StructureRareData::setObjectToStringValue):
- runtime/Symbol.cpp:
(JSC::Symbol::finishCreation):
- runtime/SymbolConstructor.cpp:
(JSC::SymbolConstructor::finishCreation):
- runtime/SymbolObject.cpp:
(JSC::SymbolObject::finishCreation):
- runtime/SymbolPrototype.cpp:
(JSC::SymbolPrototype::finishCreation):
(JSC::symbolProtoFuncToString):
(JSC::symbolProtoFuncValueOf):
- runtime/TestRunnerUtils.cpp:
(JSC::getExecutableForFunction):
- runtime/ThrowScope.cpp:
(JSC::ThrowScope::throwException):
- runtime/VM.cpp:
(JSC::VM::throwException):
- runtime/WeakMapConstructor.cpp:
(JSC::WeakMapConstructor::finishCreation):
- runtime/WeakMapPrototype.cpp:
(JSC::WeakMapPrototype::finishCreation):
(JSC::getWeakMapData):
- runtime/WeakSetConstructor.cpp:
(JSC::WeakSetConstructor::finishCreation):
- runtime/WeakSetPrototype.cpp:
(JSC::WeakSetPrototype::finishCreation):
(JSC::getWeakMapData):
- tools/JSDollarVMPrototype.cpp:
(JSC::codeBlockFromArg):
- wasm/JSWebAssembly.cpp:
(JSC::JSWebAssembly::finishCreation):
- wasm/js/JSWebAssemblyHelpers.h:
(JSC::getWasmBufferFromValue):
- wasm/js/JSWebAssemblyInstance.cpp:
(JSC::JSWebAssemblyInstance::finishCreation):
- wasm/js/JSWebAssemblyMemory.cpp:
(JSC::JSWebAssemblyMemory::grow):
(JSC::JSWebAssemblyMemory::finishCreation):
(JSC::JSWebAssemblyMemory::destroy):
(JSC::JSWebAssemblyMemory::~JSWebAssemblyMemory): Deleted.
- wasm/js/JSWebAssemblyMemory.h:
- wasm/js/JSWebAssemblyModule.cpp:
(JSC::JSWebAssemblyModule::finishCreation):
- wasm/js/JSWebAssemblyTable.cpp:
(JSC::JSWebAssemblyTable::finishCreation):
- wasm/js/WebAssemblyFunction.cpp:
(JSC::callWebAssemblyFunction):
(JSC::WebAssemblyFunction::finishCreation):
- wasm/js/WebAssemblyInstanceConstructor.cpp:
(JSC::constructJSWebAssemblyInstance):
- wasm/js/WebAssemblyMemoryPrototype.cpp:
(JSC::getMemory):
- wasm/js/WebAssemblyModulePrototype.cpp:
(JSC::webAssemblyModuleProtoCustomSections):
- wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::finishCreation):
- wasm/js/WebAssemblyTablePrototype.cpp:
(JSC::getTable):
(JSC::webAssemblyTableProtoFuncSet):
Source/WebCore:
- Modules/fetch/FetchBody.cpp:
(WebCore::FetchBody::extract):
- Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::QuickTimePluginReplacement::installReplacement):
- bindings/js/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromValue):
- bindings/js/JSCommandLineAPIHostCustom.cpp:
(WebCore::JSCommandLineAPIHost::getEventListeners):
(WebCore::JSCommandLineAPIHost::databaseId):
(WebCore::JSCommandLineAPIHost::storageId):
- bindings/js/JSCryptoAlgorithmDictionary.cpp:
(WebCore::JSCryptoAlgorithmDictionary::parseAlgorithmIdentifier):
(WebCore::createRsaKeyGenParams):
- bindings/js/JSCryptoCustom.cpp:
(WebCore::JSCrypto::getRandomValues):
- bindings/js/JSCryptoOperationData.cpp:
(WebCore::cryptoOperationDataFromJSValue):
- bindings/js/JSCustomElementInterface.cpp:
(WebCore::constructCustomElementSynchronously):
(WebCore::JSCustomElementInterface::upgradeElement):
- bindings/js/JSDOMBinding.cpp:
(WebCore::valueToDate):
(WebCore::reportException):
(WebCore::retrieveErrorMessage):
- bindings/js/JSDOMBinding.h:
(WebCore::castThisValue):
(WebCore::toPossiblySharedArrayBufferView):
(WebCore::toUnsharedArrayBufferView):
(WebCore::toPossiblySharedInt8Array):
(WebCore::toPossiblySharedInt16Array):
(WebCore::toPossiblySharedInt32Array):
(WebCore::toPossiblySharedUint8Array):
(WebCore::toPossiblySharedUint8ClampedArray):
(WebCore::toPossiblySharedUint16Array):
(WebCore::toPossiblySharedUint32Array):
(WebCore::toPossiblySharedFloat32Array):
(WebCore::toPossiblySharedFloat64Array):
(WebCore::toUnsharedInt8Array):
(WebCore::toUnsharedInt16Array):
(WebCore::toUnsharedInt32Array):
(WebCore::toUnsharedUint8Array):
(WebCore::toUnsharedUint8ClampedArray):
(WebCore::toUnsharedUint16Array):
(WebCore::toUnsharedUint32Array):
(WebCore::toUnsharedFloat32Array):
(WebCore::toUnsharedFloat64Array):
(WebCore::toRefNativeArray):
- bindings/js/JSDOMConstructor.h:
(WebCore::JSDOMConstructorNotConstructable<JSClass>::finishCreation):
(WebCore::JSDOMConstructor<JSClass>::finishCreation):
(WebCore::JSDOMNamedConstructor<JSClass>::finishCreation):
(WebCore::JSBuiltinConstructor<JSClass>::finishCreation):
- bindings/js/JSDOMConvert.h:
(WebCore::Converter<IDLInterface<T>>::convert):
(WebCore::Converter<IDLXPathNSResolver<T>>::convert):
- bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::finishCreation):
(WebCore::JSDOMGlobalObject::scriptExecutionContext):
- bindings/js/JSDOMIterator.h:
(WebCore::IteratorTraits>::next):
(WebCore::IteratorTraits>::finishCreation):
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::finishCreation):
(WebCore::toJSDOMWindow):
- bindings/js/JSDOMWindowBase.h:
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::jsDOMWindowWebKit):
(WebCore::JSDOMWindow::toWrapped):
- bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::finishCreation):
(WebCore::JSDOMWindowShell::toWrapped):
- bindings/js/JSDOMWindowShell.h:
- bindings/js/JSDocumentCustom.cpp:
(WebCore::cachedDocumentWrapper):
(WebCore::JSDocument::createTouchList):
- bindings/js/JSDynamicDowncast.h:
(WebCore::JSDynamicCastTrait::cast):
(WebCore::JSDynamicCastTrait<JSNode>::cast):
(WebCore::JSDynamicCastTrait<JSElement>::cast):
(WebCore::JSDynamicCastTrait<JSDocument>::cast):
(WebCore::JSDynamicCastTrait<JSEvent>::cast):
(WebCore::jsDynamicDowncast):
- bindings/js/JSEventListener.cpp:
(WebCore::JSEventListener::handleEvent):
- bindings/js/JSEventTargetCustom.cpp:
(WebCore::JSEventTarget::toWrapped):
(WebCore::jsEventTargetCast):
- bindings/js/JSEventTargetCustom.h:
(WebCore::BindingCaller<JSEventTarget>::callOperation):
- bindings/js/JSExceptionBase.cpp:
(WebCore::toExceptionBase):
- bindings/js/JSExceptionBase.h:
- bindings/js/JSInspectorFrontendHostCustom.cpp:
(WebCore::populateContextMenuItems):
(WebCore::JSInspectorFrontendHost::showContextMenu):
- bindings/js/JSNodeCustom.cpp:
(WebCore::JSNode::insertBefore):
(WebCore::JSNode::replaceChild):
(WebCore::JSNode::removeChild):
(WebCore::JSNode::appendChild):
(WebCore::JSNode::pushEventHandlerScope):
- bindings/js/JSPluginElementFunctions.cpp:
(WebCore::pluginElementPropertyGetter):
- bindings/js/JSReadableStreamPrivateConstructors.cpp:
(WebCore::constructJSReadableStreamDefaultReader):
- bindings/js/JSReadableStreamSourceCustom.cpp:
(WebCore::startReadableStream):
(WebCore::JSReadableStreamSource::start):
(WebCore::pullReadableStream):
- bindings/js/JSSubtleCryptoCustom.cpp:
(WebCore::toCryptoKey):
(WebCore::jsSubtleCryptoFunctionEncryptPromise):
(WebCore::jsSubtleCryptoFunctionDecryptPromise):
(WebCore::jsSubtleCryptoFunctionSignPromise):
(WebCore::jsSubtleCryptoFunctionVerifyPromise):
(WebCore::jsSubtleCryptoFunctionDigestPromise):
(WebCore::jsSubtleCryptoFunctionWrapKeyPromise):
(WebCore::jsSubtleCryptoFunctionUnwrapKeyPromise):
- bindings/js/JSTrackCustom.cpp:
(WebCore::toTrack): Deleted.
- bindings/js/JSTrackCustom.h:
- bindings/js/JSWebKitSubtleCryptoCustom.cpp:
(WebCore::JSWebKitSubtleCrypto::encrypt):
(WebCore::JSWebKitSubtleCrypto::decrypt):
(WebCore::JSWebKitSubtleCrypto::sign):
(WebCore::JSWebKitSubtleCrypto::verify):
(WebCore::JSWebKitSubtleCrypto::exportKey):
(WebCore::JSWebKitSubtleCrypto::wrapKey):
(WebCore::JSWebKitSubtleCrypto::unwrapKey):
- bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::JSWorkerGlobalScopeBase::finishCreation):
(WebCore::toJSDedicatedWorkerGlobalScope):
(WebCore::toJSWorkerGlobalScope):
- bindings/js/JSWorkerGlobalScopeBase.h:
- bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::send):
- bindings/js/JSXPathNSResolverCustom.cpp:
(WebCore::JSXPathNSResolver::toWrapped):
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::setupModuleScriptHandlers):
- bindings/js/ScriptModuleLoader.cpp:
(WebCore::ScriptModuleLoader::fetch):
(WebCore::ScriptModuleLoader::evaluate):
- bindings/js/ScriptState.cpp:
(WebCore::domWindowFromExecState):
(WebCore::scriptExecutionContextFromExecState):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::isArray):
(WebCore::CloneSerializer::isMap):
(WebCore::CloneSerializer::isSet):
(WebCore::CloneSerializer::dumpArrayBufferView):
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneSerializer::serialize):
(WebCore::CloneDeserializer::CloneDeserializer):
(WebCore::CloneDeserializer::readArrayBufferView):
(WebCore::CloneDeserializer::readTerminal):
(WebCore::transferArrayBuffers):
(WebCore::SerializedScriptValue::create):
- bindings/js/StructuredClone.cpp:
(WebCore::structuredCloneArrayBuffer):
(WebCore::structuredCloneArrayBufferView):
- bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::evaluate):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateOverloadedFunctionOrConstructor):
(GenerateImplementation):
- bindings/scripts/test/JS/JSInterfaceName.cpp:
(WebCore::JSInterfaceName::finishCreation):
(WebCore::jsInterfaceNameConstructor):
(WebCore::setJSInterfaceNameConstructor):
(WebCore::JSInterfaceName::toWrapped):
- bindings/scripts/test/JS/JSInterfaceName.h:
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::JSTestActiveDOMObject::finishCreation):
(WebCore::BindingCaller<JSTestActiveDOMObject>::castForAttribute):
(WebCore::BindingCaller<JSTestActiveDOMObject>::castForOperation):
(WebCore::jsTestActiveDOMObjectConstructor):
(WebCore::setJSTestActiveDOMObjectConstructor):
(WebCore::JSTestActiveDOMObject::toWrapped):
- bindings/scripts/test/JS/JSTestActiveDOMObject.h:
- bindings/scripts/test/JS/JSTestCEReactions.cpp:
(WebCore::JSTestCEReactions::finishCreation):
(WebCore::BindingCaller<JSTestCEReactions>::castForAttribute):
(WebCore::BindingCaller<JSTestCEReactions>::castForOperation):
(WebCore::jsTestCEReactionsConstructor):
(WebCore::setJSTestCEReactionsConstructor):
(WebCore::JSTestCEReactions::toWrapped):
- bindings/scripts/test/JS/JSTestCEReactions.h:
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
(WebCore::JSTestCEReactionsStringifier::finishCreation):
(WebCore::BindingCaller<JSTestCEReactionsStringifier>::castForAttribute):
(WebCore::BindingCaller<JSTestCEReactionsStringifier>::castForOperation):
(WebCore::jsTestCEReactionsStringifierConstructor):
(WebCore::setJSTestCEReactionsStringifierConstructor):
(WebCore::JSTestCEReactionsStringifier::toWrapped):
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.h:
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
(WebCore::JSTestClassWithJSBuiltinConstructor::finishCreation):
(WebCore::jsTestClassWithJSBuiltinConstructorConstructor):
(WebCore::setJSTestClassWithJSBuiltinConstructorConstructor):
(WebCore::JSTestClassWithJSBuiltinConstructor::toWrapped):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h:
- bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::finishCreation):
(WebCore::jsTestCustomConstructorWithNoInterfaceObjectConstructor):
(WebCore::setJSTestCustomConstructorWithNoInterfaceObjectConstructor):
(WebCore::JSTestCustomConstructorWithNoInterfaceObject::toWrapped):
- bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h:
- bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::JSTestCustomNamedGetter::finishCreation):
(WebCore::BindingCaller<JSTestCustomNamedGetter>::castForOperation):
(WebCore::jsTestCustomNamedGetterConstructor):
(WebCore::setJSTestCustomNamedGetterConstructor):
(WebCore::JSTestCustomNamedGetter::toWrapped):
- bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
- bindings/scripts/test/JS/JSTestDOMJIT.cpp:
(WebCore::JSTestDOMJIT::finishCreation):
(WebCore::BindingCaller<JSTestDOMJIT>::castForAttribute):
(WebCore::BindingCaller<JSTestDOMJIT>::castForOperation):
(WebCore::jsTestDOMJITConstructor):
(WebCore::setJSTestDOMJITConstructor):
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructor::finishCreation):
(WebCore::BindingCaller<JSTestEventConstructor>::castForAttribute):
(WebCore::jsTestEventConstructorConstructor):
(WebCore::setJSTestEventConstructorConstructor):
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTarget::finishCreation):
(WebCore::BindingCaller<JSTestEventTarget>::castForOperation):
(WebCore::jsTestEventTargetConstructor):
(WebCore::setJSTestEventTargetConstructor):
(WebCore::JSTestEventTarget::toWrapped):
- bindings/scripts/test/JS/JSTestEventTarget.h:
- bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestException::finishCreation):
(WebCore::BindingCaller<JSTestException>::castForAttribute):
(WebCore::jsTestExceptionConstructor):
(WebCore::setJSTestExceptionConstructor):
(WebCore::JSTestException::toWrapped):
- bindings/scripts/test/JS/JSTestException.h:
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachable::finishCreation):
(WebCore::jsTestGenerateIsReachableConstructor):
(WebCore::setJSTestGenerateIsReachableConstructor):
(WebCore::JSTestGenerateIsReachable::toWrapped):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::JSTestGlobalObject::finishCreation):
(WebCore::BindingCaller<JSTestGlobalObject>::castForAttribute):
(WebCore::BindingCaller<JSTestGlobalObject>::castForOperation):
(WebCore::jsTestGlobalObjectConstructor):
(WebCore::setJSTestGlobalObjectConstructor):
(WebCore::JSTestGlobalObject::toWrapped):
- bindings/scripts/test/JS/JSTestGlobalObject.h:
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterface::finishCreation):
(WebCore::BindingCaller<JSTestInterface>::castForAttribute):
(WebCore::BindingCaller<JSTestInterface>::castForOperation):
(WebCore::jsTestInterfaceConstructor):
(WebCore::setJSTestInterfaceConstructor):
(WebCore::JSTestInterface::toWrapped):
- bindings/scripts/test/JS/JSTestInterface.h:
- bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
(WebCore::JSTestInterfaceLeadingUnderscore::finishCreation):
(WebCore::BindingCaller<JSTestInterfaceLeadingUnderscore>::castForAttribute):
(WebCore::jsTestInterfaceLeadingUnderscoreConstructor):
(WebCore::setJSTestInterfaceLeadingUnderscoreConstructor):
(WebCore::JSTestInterfaceLeadingUnderscore::toWrapped):
- bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h:
- bindings/scripts/test/JS/JSTestIterable.cpp:
(WebCore::JSTestIterable::finishCreation):
(WebCore::BindingCaller<JSTestIterable>::castForOperation):
(WebCore::jsTestIterableConstructor):
(WebCore::setJSTestIterableConstructor):
(WebCore::JSTestIterable::toWrapped):
- bindings/scripts/test/JS/JSTestIterable.h:
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::JSTestJSBuiltinConstructor::finishCreation):
(WebCore::BindingCaller<JSTestJSBuiltinConstructor>::castForAttribute):
(WebCore::BindingCaller<JSTestJSBuiltinConstructor>::castForOperation):
(WebCore::jsTestJSBuiltinConstructorConstructor):
(WebCore::setJSTestJSBuiltinConstructorConstructor):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::JSTestMediaQueryListListener::finishCreation):
(WebCore::BindingCaller<JSTestMediaQueryListListener>::castForOperation):
(WebCore::jsTestMediaQueryListListenerConstructor):
(WebCore::setJSTestMediaQueryListListenerConstructor):
(WebCore::JSTestMediaQueryListListener::toWrapped):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructor::finishCreation):
(WebCore::jsTestNamedConstructorConstructor):
(WebCore::setJSTestNamedConstructorConstructor):
(WebCore::JSTestNamedConstructor::toWrapped):
- bindings/scripts/test/JS/JSTestNamedConstructor.h:
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNode::finishCreation):
(WebCore::BindingCaller<JSTestNode>::castForAttribute):
(WebCore::BindingCaller<JSTestNode>::castForOperation):
(WebCore::jsTestNodeConstructor):
(WebCore::setJSTestNodeConstructor):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObj::finishCreation):
(WebCore::BindingCaller<JSTestObj>::castForAttribute):
(WebCore::BindingCaller<JSTestObj>::castForOperation):
(WebCore::jsTestObjConstructor):
(WebCore::setJSTestObjConstructor):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithOptionalParameter):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithDistinguishingUnion):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWith2DistinguishingUnions):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethodWithNonDistinguishingUnion):
(WebCore::jsTestObjPrototypeFunctionOverloadWithNullableUnion):
(WebCore::jsTestObjPrototypeFunctionOverloadWithNullableNonDistinguishingParameter):
(WebCore::jsTestObjPrototypeFunctionTestPromiseOverloadedFunction):
(WebCore::JSTestObj::toWrapped):
- bindings/scripts/test/JS/JSTestObj.h:
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructorsConstructor::construct):
(WebCore::JSTestOverloadedConstructors::finishCreation):
(WebCore::jsTestOverloadedConstructorsConstructor):
(WebCore::setJSTestOverloadedConstructorsConstructor):
(WebCore::JSTestOverloadedConstructors::toWrapped):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
(WebCore::JSTestOverloadedConstructorsWithSequence::finishCreation):
(WebCore::jsTestOverloadedConstructorsWithSequenceConstructor):
(WebCore::setJSTestOverloadedConstructorsWithSequenceConstructor):
(WebCore::JSTestOverloadedConstructorsWithSequence::toWrapped):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h:
- bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
(WebCore::JSTestOverrideBuiltins::finishCreation):
(WebCore::BindingCaller<JSTestOverrideBuiltins>::castForOperation):
(WebCore::jsTestOverrideBuiltinsConstructor):
(WebCore::setJSTestOverrideBuiltinsConstructor):
(WebCore::JSTestOverrideBuiltins::toWrapped):
- bindings/scripts/test/JS/JSTestOverrideBuiltins.h:
- bindings/scripts/test/JS/JSTestSerialization.cpp:
(WebCore::JSTestSerialization::finishCreation):
(WebCore::BindingCaller<JSTestSerialization>::castForAttribute):
(WebCore::BindingCaller<JSTestSerialization>::castForOperation):
(WebCore::jsTestSerializationConstructor):
(WebCore::setJSTestSerializationConstructor):
(WebCore::JSTestSerialization::toWrapped):
- bindings/scripts/test/JS/JSTestSerialization.h:
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterface::finishCreation):
(WebCore::BindingCaller<JSTestSerializedScriptValueInterface>::castForAttribute):
(WebCore::BindingCaller<JSTestSerializedScriptValueInterface>::castForOperation):
(WebCore::jsTestSerializedScriptValueInterfaceConstructor):
(WebCore::setJSTestSerializedScriptValueInterfaceConstructor):
(WebCore::JSTestSerializedScriptValueInterface::toWrapped):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefs::finishCreation):
(WebCore::BindingCaller<JSTestTypedefs>::castForAttribute):
(WebCore::BindingCaller<JSTestTypedefs>::castForOperation):
(WebCore::jsTestTypedefsConstructor):
(WebCore::setJSTestTypedefsConstructor):
(WebCore::JSTestTypedefs::toWrapped):
- bindings/scripts/test/JS/JSTestTypedefs.h:
- bridge/c/CRuntimeObject.cpp:
(JSC::Bindings::CRuntimeObject::finishCreation):
- bridge/c/c_instance.cpp:
(JSC::Bindings::CRuntimeMethod::finishCreation):
(JSC::Bindings::CInstance::invokeMethod):
- bridge/c/c_utility.cpp:
(JSC::Bindings::convertValueToNPVariant):
- bridge/objc/ObjCRuntimeObject.mm:
(JSC::Bindings::ObjCRuntimeObject::finishCreation):
- bridge/objc/WebScriptObject.mm:
(-[WebScriptObject setValue:forKey:]):
(+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
- bridge/objc/objc_instance.mm:
(ObjCRuntimeMethod::finishCreation):
(ObjcInstance::invokeMethod):
- bridge/objc/objc_runtime.mm:
(JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
(JSC::Bindings::callObjCFallbackObject):
- bridge/runtime_array.cpp:
(JSC::RuntimeArray::finishCreation):
(JSC::RuntimeArray::lengthGetter):
- bridge/runtime_method.cpp:
(JSC::RuntimeMethod::finishCreation):
(JSC::RuntimeMethod::lengthGetter):
(JSC::callRuntimeMethod):
- bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::finishCreation):
(JSC::Bindings::callRuntimeObject):
(JSC::Bindings::callRuntimeConstructor):
- css/FontFace.cpp:
(WebCore::FontFace::create):
- html/HTMLMediaElement.cpp:
(WebCore::controllerJSValue):
(WebCore::HTMLMediaElement::updateCaptionContainer):
(WebCore::HTMLMediaElement::didAddUserAgentShadowRoot):
- inspector/InspectorController.cpp:
(WebCore::InspectorController::canAccessInspectedScriptState):
- inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
(WebCore::InspectorDOMAgent::scriptValueAsNode):
- inspector/WebInjectedScriptHost.cpp:
(WebCore::WebInjectedScriptHost::subtype):
(WebCore::WebInjectedScriptHost::isHTMLAllCollection):
- inspector/WebInjectedScriptHost.h:
Source/WebKit/mac:
- DOM/DOM.mm:
(+[DOMNode _nodeFromJSWrapper:]):
- DOM/DOMUtility.mm:
(createDOMWrapper):
- DOM/WebDOMOperations.mm:
- Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::getObjectID):
(WebKit::NetscapePluginInstanceProxy::retainLocalObject):
(WebKit::NetscapePluginInstanceProxy::releaseLocalObject):
- Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyRuntimeMethod::finishCreation):
(WebKit::ProxyInstance::invokeMethod):
- Plugins/Hosted/ProxyRuntimeObject.mm:
(WebKit::ProxyRuntimeObject::finishCreation):
- WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
- WebView/WebView.mm:
(+[WebView _reportException:inContext:]):
(aeDescFromJSValue):
(-[WebView _notificationIDForTesting:]):
Source/WebKit/win:
- WebFrame.cpp:
(WebFrame::stringByEvaluatingJavaScriptInScriptWorld):
- WebView.cpp:
(WebView::elementFromJS):
Source/WebKit2:
- WebProcess/Automation/WebAutomationSessionProxy.cpp:
(WebKit::WebAutomationSessionProxy::elementForNodeHandle):
- WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::getOrCreate):
- WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
(WebKit::InjectedBundleRangeHandle::getOrCreate):
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::reportException):
(WebKit::InjectedBundle::webNotificationID):
(WebKit::InjectedBundle::createWebDataFromUint8Array):
- WebProcess/Plugins/Netscape/JSNPMethod.cpp:
(WebKit::JSNPMethod::finishCreation):
(WebKit::callMethod):
- WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::finishCreation):
(WebKit::callNPJSObject):
(WebKit::constructWithConstructor):
- WebProcess/Plugins/Netscape/NPJSObject.cpp:
(WebKit::NPJSObject::create):
- WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::frameForContext):
(WebKit::WebFrame::counterValue):
Tools:
- DumpRenderTree/TestRunner.cpp:
(setAudioResultCallback):
- 5:38 PM Changeset in webkit [211246] by
-
- 3 edits1 add in trunk
Fix missing exception check in genericTypedArrayViewProtoFuncSet().
https://bugs.webkit.org/show_bug.cgi?id=166812
<rdar://problem/29916672>
Reviewed by Saam Barati.
JSTests:
- stress/regress-166812.js: Added.
Source/JavaScriptCore:
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::genericTypedArrayViewProtoFuncSet):
- 5:33 PM Changeset in webkit [211245] by
-
- 15 edits3 deletes in trunk
Unreviewed, rolling out r211224.
https://bugs.webkit.org/show_bug.cgi?id=167479
"It was a Kraken performance regression" (Requested by
saamyjoon on #webkit).
Reverted changeset:
"OSR entry: delay outer-loop compilation when at inner-loop"
https://bugs.webkit.org/show_bug.cgi?id=167149
http://trac.webkit.org/changeset/211224
- 5:14 PM Changeset in webkit [211244] by
-
- 3 edits in trunk/Source/WebCore
WebGL content in Safari sticks to GPU that it was started on, sometimes causing extra battery drain and difficulty interacting with UI
https://bugs.webkit.org/show_bug.cgi?id=167477
<rdar://problem/29956321>
Reviewed by Tim Horton.
We were not implementing the recommended approach to properly handle
GPU switching, causing some contexts to remain on a GPU and slow
down the machine's UI. It also could stop the discrete GPU from
turning off.
Register for CGL's display reconfiguration notification, so that we
can alert any active CGLContexts and cause them to update.
The code change here doesn't lend itself to automated testing because
it is specific to hardware with multiple GPUs, relies on some separate
tools to detect which GPU is active, and an external method of triggering
a GPU switch. It's best tested by the manual workflow in Radar.
- platform/graphics/GraphicsContext3D.h: Add a macOS-specific update
call.
- platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::displayWasReconfigured): The callback for display reconfigurations.
(WebCore::addActiveContext): Helper to keep track of active contexts, so we
can register/unregister the callback when necessary.
(WebCore::removeActiveContext):
(WebCore::GraphicsContext3D::create): Use the new helpers.
(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore::GraphicsContext3D::updateCGLContext): Tell the CGLContextRef to update.
- 5:01 PM Changeset in webkit [211243] by
-
- 2 edits in trunk/Source/WebKit/mac
REGRESSION (r207483): Touch Bar: Lists and BIU Buttons Missing from Touch Bar in HTML Notes
https://bugs.webkit.org/show_bug.cgi?id=167472
<rdar://problem/30149809>
Reviewed by Beth Dakin.
Revision 207483 caused the touch bar to stop showing up in HTML Notes due to -updateTextTouchBar not
initializing the text touch bar and causing -makeTouchBar to return nil while processing a mouse click. The
purpose of bailing out of the update was to prevent the text touch bar from thrashing during a selection drag.
If the text touch bar doesn't exist yet, we don't have to worry about its appearance flickering from a different
previous state, so we should just allow the touch bar to update instead.
- WebView/WebView.mm:
(-[WebView updateTextTouchBar]):
- 4:57 PM Changeset in webkit [211242] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, rolling out r210328.
https://bugs.webkit.org/show_bug.cgi?id=167476
Blocking bug is fixed <rdar://problem/29957753> (Requested by
keith_miller on #webkit).
Reverted changeset:
"Disable smooth playhead animation for main content media in
the Touch Bar"
https://bugs.webkit.org/show_bug.cgi?id=166715
http://trac.webkit.org/changeset/210328
- 4:56 PM Changeset in webkit [211241] by
-
- 2 edits in trunk/Source/WebCore
Web Inspector: iOS: Memory timeline shows impossible values for Page size (underflowed)
https://bugs.webkit.org/show_bug.cgi?id=167468
<rdar://problem/30099051>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-01-26
Reviewed by Andreas Kling.
- page/cocoa/ResourceUsageThreadCocoa.mm:
(WebCore::vmPageSize):
This value matches the sysctl value we were attempting to access, and is
the most appropriate when dealing with mach APIs, as we are using here.
- 4:38 PM Changeset in webkit [211240] by
-
- 11 edits1 add in trunk
Autoplay muted videos stop playback of any streaming app in the background
https://bugs.webkit.org/show_bug.cgi?id=163993
<rdar://problem/29020431>
Reviewed by Eric Carlson.
Source/WebCore:
Added test in TestWebKitAPI, WebKit1.AudioSessionCategoryIOS.
Previously, we would set the audio session category to "playback" if there was a media-
element-type media session, and if there was a session capable of playing audio. But because
this was an "or" operation, we would incorrectly set the category to "playback" if there was
a video element incapable of rendering audio (due to being muted, without an audio track,
etc.), and also a session capable of producing audio, such as WebAudio.
With this change, this turns into an "and" operation; there must be a media element capable
of rendering audio in order to switch the audio session category to "playback".
Additionally, we no longer cache the value of "canProduceAudio()"; it's queried directly
whenever updateSessionState() is called.
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::constructCommon):
- Modules/webaudio/AudioContext.h:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::insertedInto):
(WebCore::HTMLMediaElement::loadResource):
(WebCore::HTMLMediaElement::setMuted):
(WebCore::HTMLMediaElement::mediaPlayerCurrentPlaybackTargetIsWirelessChanged):
(WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged):
(WebCore::HTMLMediaElement::clearMediaPlayer):
(WebCore::HTMLMediaElement::mediaPlayerCurrentPlaybackTargetIsWirelessChanged):
(WebCore::HTMLMediaElement::presentationType):
(WebCore::HTMLMediaElement::characteristics):
(WebCore::HTMLMediaElement::canProduceAudio):
- html/HTMLMediaElement.h:
- platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::activeAudioSessionRequired):
(WebCore::PlatformMediaSession::canProduceAudio):
(WebCore::PlatformMediaSession::canProduceAudioChanged):
(WebCore::PlatformMediaSession::setCanProduceAudio): Deleted.
- platform/audio/PlatformMediaSession.h:
(WebCore::PlatformMediaSessionClient::canProduceAudio):
(WebCore::PlatformMediaSession::canProduceAudio): Deleted.
- platform/audio/cocoa/MediaSessionManagerCocoa.cpp:
(PlatformMediaSessionManager::updateSessionState):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit/ios/AudioSessionCategoryIOS.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit/ios/video-with-muted-audio-and-webaudio.html: Added.
- 4:14 PM Changeset in webkit [211239] by
-
- 2 edits in trunk/Source/WebKit2
Fix CPU usage diagnostic logging in PerActivityStateCPUUsageSampler
https://bugs.webkit.org/show_bug.cgi?id=167471
<rdar://problem/30221723>
Reviewed by Alex Christensen.
Fix CPU usage diagnostic logging in PerActivityStateCPUUsageSampler
to use numeric values for logDiagnosticMessageWithValue().
- UIProcess/PerActivityStateCPUUsageSampler.cpp:
(WebKit::PerActivityStateCPUUsageSampler::loggingTimerFired):
(WebKit::loggingKeyForCPUUsage): Deleted.
- 4:11 PM Changeset in webkit [211238] by
-
- 6 edits in trunk/Source/WebCore
EventTarget should visit the JSEventListeners using visitAdditionalChildren
https://bugs.webkit.org/show_bug.cgi?id=167462
Reviewed by Michael Saboff.
No new tests because this is already caught by existing testing. This would show up as ASSERTs
in debug, and we suspect it might be at fault for null deref crashes.
Previously, EventTarget would have its event listeners visited by its subclasses' visitChildren
methods. Every subclass of EventTarget would call EventTarget's visitJSEventListeners. For
example, this means that if JSFoo has seven classes between it and JSEventTarget in the JSCell
class hierarchy, then JSFoo::visitChildren would end up calling visitJSEventListeners seven extra
times.
Also, the weird way that visitJSEventListeners was called meant that it was not part of the GC's
output constraint processing. This meant that it would not be called when the GC tried to
terminate. So, if something about the event listener changes during a GC cycle, the GC would
potentially fail to mark one of the references.
Both problems can be solved by simply moving the call to visitJSEventListeners into
visitAdditionalChildren.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::visitAdditionalChildren):
- bindings/js/JSEventTargetCustom.cpp:
(WebCore::JSEventTarget::visitAdditionalChildren):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
- dom/EventTarget.idl:
- 3:50 PM Changeset in webkit [211237] by
-
- 46 edits2 copies1 move1 delete in trunk/Source
Harden how the compiler references GC objects
https://bugs.webkit.org/show_bug.cgi?id=167277
<rdar://problem/30179506>
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
Since r210971, the DFG/FTL will flash safepoints before
each phase. This means that there are more opportunities for
a GC to happen while the compiler is running. Because of this,
the compiler must keep track of all the heap pointers that are part
of the Graph data structure. To accomplish this, I've designed
a new type called RegisteredStructure that can only be constructed
after the Graph becomes aware of its underlying Structure*. I
designed this new type to have the type system in C++ help us catch
errors where we're not informing the graph/plan of a heap pointer.
I've made it a compile error to create an OpInfo with a pointer
T* where T inherits from HeapCell. This encourages an OpInfo
to be created with either a FrozenValue* or a RegisteredStructure.
I've added similar compile time assertions for TrustedImmPtr in DFG::SpeculativeJIT
and FTL::Output::constIntPtr. These static asserts don't save us from all bad
programs because there are ways to write code that's incorrect that compiles,
but the new types do help us ensure that the most obvious way of writing the
code is correct.
The reason this patch is so big is that I've strung RegisteredStructure and
RegisteredStructureSet through the entire DFG/FTL.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::determineLiveness):
- bytecode/StructureSet.cpp:
(JSC::StructureSet::filter): Deleted.
(JSC::StructureSet::filterArrayModes): Deleted.
(JSC::StructureSet::speculationFromStructures): Deleted.
(JSC::StructureSet::arrayModesFromStructures): Deleted.
(JSC::StructureSet::validateReferences): Deleted.
- bytecode/StructureSet.h:
- dfg/DFGAbstractInterpreter.h:
(JSC::DFG::AbstractInterpreter::filter):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::booleanResult):
(JSC::DFG::isToThisAnIdentity):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::observeTransition):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::filter):
- dfg/DFGAbstractValue.cpp:
(JSC::DFG::AbstractValue::set):
(JSC::DFG::AbstractValue::setType):
(JSC::DFG::AbstractValue::mergeOSREntryValue):
(JSC::DFG::AbstractValue::filter):
(JSC::DFG::AbstractValue::changeStructure):
(JSC::DFG::AbstractValue::contains):
- dfg/DFGAbstractValue.h:
(JSC::DFG::AbstractValue::observeTransition):
(JSC::DFG::AbstractValue::TransitionObserver::TransitionObserver):
- dfg/DFGArgumentsEliminationPhase.cpp:
- dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::alreadyChecked):
- dfg/DFGArrayifySlowPathGenerator.h:
(JSC::DFG::ArrayifySlowPathGenerator::ArrayifySlowPathGenerator):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
(JSC::DFG::ByteCodeParser::load):
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::handlePutById):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
- dfg/DFGCallArrayAllocatorSlowPathGenerator.h:
(JSC::DFG::CallArrayAllocatorSlowPathGenerator::CallArrayAllocatorSlowPathGenerator):
(JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::CallArrayAllocatorWithVariableSizeSlowPathGenerator):
- dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h:
(JSC::DFG::CallCreateDirectArgumentsSlowPathGenerator::CallCreateDirectArgumentsSlowPathGenerator):
- dfg/DFGCommonData.cpp:
(JSC::DFG::CommonData::notifyCompilingStructureTransition):
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::emitGetByOffset):
(JSC::DFG::ConstantFoldingPhase::emitPutByOffset):
(JSC::DFG::ConstantFoldingPhase::addBaseCheck):
(JSC::DFG::ConstantFoldingPhase::addStructureTransitionCheck):
- dfg/DFGDesiredWeakReferences.cpp:
(JSC::DFG::DesiredWeakReferences::reallyAdd):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::checkArray):
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::Graph):
(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::tryGetConstantProperty):
(JSC::DFG::Graph::inferredValueForProperty):
(JSC::DFG::Graph::visitChildren):
(JSC::DFG::Graph::freeze):
(JSC::DFG::Graph::registerStructure):
(JSC::DFG::Graph::assertIsRegistered):
- dfg/DFGGraph.h:
(JSC::DFG::Graph::registerStructure):
(JSC::DFG::Graph::addStructureSet):
- dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::branchWeakStructure):
- dfg/DFGMultiGetByOffsetData.cpp:
(JSC::DFG::MultiGetByOffsetCase::dumpInContext):
- dfg/DFGMultiGetByOffsetData.h:
(JSC::DFG::MultiGetByOffsetCase::MultiGetByOffsetCase):
(JSC::DFG::MultiGetByOffsetCase::set):
- dfg/DFGNode.cpp:
(JSC::DFG::Node::convertToPutStructureHint):
- dfg/DFGNode.h:
(JSC::DFG::Node::convertToCheckStructure):
(JSC::DFG::Node::structureSet):
(JSC::DFG::Node::structure):
(JSC::DFG::Node::OpInfoWrapper::OpInfoWrapper):
(JSC::DFG::Node::OpInfoWrapper::operator=):
(JSC::DFG::Node::OpInfoWrapper::asRegisteredStructure):
- dfg/DFGObjectAllocationSinkingPhase.cpp:
- dfg/DFGOpInfo.h:
(JSC::DFG::OpInfo::OpInfo):
- dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
(JSC::DFG::Plan::finalizeWithoutNotifyingCallback):
- dfg/DFGRegisteredStructure.h: Added.
(JSC::DFG::RegisteredStructure::get):
(JSC::DFG::RegisteredStructure::operator->):
(JSC::DFG::RegisteredStructure::operator==):
(JSC::DFG::RegisteredStructure::operator!=):
(JSC::DFG::RegisteredStructure::operator bool):
(JSC::DFG::RegisteredStructure::RegisteredStructure):
(JSC::DFG::RegisteredStructure::createPrivate):
- dfg/DFGRegisteredStructureSet.cpp: Added.
(JSC::DFG::RegisteredStructureSet::filter):
(JSC::DFG::RegisteredStructureSet::filterArrayModes):
(JSC::DFG::RegisteredStructureSet::speculationFromStructures):
(JSC::DFG::RegisteredStructureSet::arrayModesFromStructures):
(JSC::DFG::RegisteredStructureSet::validateReferences):
- dfg/DFGRegisteredStructureSet.h: Added.
(JSC::DFG::RegisteredStructureSet::RegisteredStructureSet):
(JSC::DFG::RegisteredStructureSet::onlyStructure):
(JSC::DFG::RegisteredStructureSet::toStructureSet):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::emitAllocateRawObject):
(JSC::DFG::SpeculativeJIT::emitGetCallee):
(JSC::DFG::SpeculativeJIT::silentFill):
(JSC::DFG::SpeculativeJIT::checkArray):
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):
(JSC::DFG::SpeculativeJIT::compileFromCharCode):
(JSC::DFG::SpeculativeJIT::compileDoubleRep):
(JSC::DFG::compileClampDoubleToByte):
(JSC::DFG::SpeculativeJIT::compileMakeRope):
(JSC::DFG::SpeculativeJIT::compileArithRounding):
(JSC::DFG::SpeculativeJIT::compileNewFunctionCommon):
(JSC::DFG::SpeculativeJIT::compileNewFunction):
(JSC::DFG::SpeculativeJIT::compileCreateActivation):
(JSC::DFG::SpeculativeJIT::compileCreateDirectArguments):
(JSC::DFG::SpeculativeJIT::compileCreateScopedArguments):
(JSC::DFG::SpeculativeJIT::compileCreateClonedArguments):
(JSC::DFG::SpeculativeJIT::compileSpread):
(JSC::DFG::SpeculativeJIT::compileArraySlice):
(JSC::DFG::SpeculativeJIT::compileTypeOf):
(JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileToStringOrCallStringConstructorOnCell):
(JSC::DFG::SpeculativeJIT::compileNewTypedArray):
(JSC::DFG::SpeculativeJIT::speculateStringOrStringObject):
(JSC::DFG::SpeculativeJIT::compileMaterializeNewObject):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::TrustedImmPtr::TrustedImmPtr):
(JSC::DFG::SpeculativeJIT::TrustedImmPtr::weakPointer):
(JSC::DFG::SpeculativeJIT::TrustedImmPtr::operator MacroAssembler::TrustedImmPtr):
(JSC::DFG::SpeculativeJIT::TrustedImmPtr::asIntptr):
(JSC::DFG::SpeculativeJIT::callOperation):
(JSC::DFG::SpeculativeJIT::emitAllocateDestructibleObject):
(JSC::DFG::SpeculativeJIT::speculateStringObjectForStructure):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNullOrUndefined):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNullOrUndefined):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNullOrUndefined):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNullOrUndefined):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize):
- dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
- dfg/DFGStructureAbstractValue.cpp:
(JSC::DFG::StructureAbstractValue::assertIsRegistered):
(JSC::DFG::StructureAbstractValue::clobber):
(JSC::DFG::StructureAbstractValue::observeTransition):
(JSC::DFG::StructureAbstractValue::observeTransitions):
(JSC::DFG::StructureAbstractValue::add):
(JSC::DFG::StructureAbstractValue::merge):
(JSC::DFG::StructureAbstractValue::mergeNotTop):
(JSC::DFG::StructureAbstractValue::filter):
(JSC::DFG::StructureAbstractValue::filterSlow):
(JSC::DFG::StructureAbstractValue::filterClassInfoSlow):
(JSC::DFG::StructureAbstractValue::contains):
(JSC::DFG::StructureAbstractValue::isSubsetOf):
(JSC::DFG::StructureAbstractValue::isSupersetOf):
(JSC::DFG::StructureAbstractValue::overlaps):
(JSC::DFG::StructureAbstractValue::isSubClassOf):
(JSC::DFG::StructureAbstractValue::dumpInContext):
- dfg/DFGStructureAbstractValue.h:
(JSC::DFG::StructureAbstractValue::StructureAbstractValue):
(JSC::DFG::StructureAbstractValue::operator=):
(JSC::DFG::StructureAbstractValue::set):
(JSC::DFG::StructureAbstractValue::toStructureSet):
(JSC::DFG::StructureAbstractValue::at):
(JSC::DFG::StructureAbstractValue::operator[]):
(JSC::DFG::StructureAbstractValue::onlyStructure):
- dfg/DFGStructureRegistrationPhase.cpp:
(JSC::DFG::StructureRegistrationPhase::StructureRegistrationPhase): Deleted.
(JSC::DFG::StructureRegistrationPhase::run): Deleted.
(JSC::DFG::StructureRegistrationPhase::registerStructures): Deleted.
(JSC::DFG::StructureRegistrationPhase::registerStructure): Deleted.
(JSC::DFG::StructureRegistrationPhase::assertAreRegistered): Deleted.
(JSC::DFG::StructureRegistrationPhase::assertIsRegistered): Deleted.
(JSC::DFG::performStructureRegistration): Deleted.
- dfg/DFGStructureRegistrationPhase.h:
- dfg/DFGTransition.cpp:
(JSC::DFG::Transition::dumpInContext):
- dfg/DFGTransition.h:
(JSC::DFG::Transition::Transition):
- dfg/DFGTypeCheckHoistingPhase.cpp:
(JSC::DFG::TypeCheckHoistingPhase::noticeStructureCheck):
(JSC::DFG::TypeCheckHoistingPhase::noticeStructureCheckAccountingForArrayMode):
- dfg/DFGValidate.cpp:
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::lower):
(JSC::FTL::DFG::LowerDFGToB3::compileCallObjectConstructor):
(JSC::FTL::DFG::LowerDFGToB3::compileCheckStructure):
(JSC::FTL::DFG::LowerDFGToB3::compilePutStructure):
(JSC::FTL::DFG::LowerDFGToB3::compileArraySlice):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation):
(JSC::FTL::DFG::LowerDFGToB3::compileNewFunction):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateDirectArguments):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateRest):
(JSC::FTL::DFG::LowerDFGToB3::compileNewArray):
(JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSpread):
(JSC::FTL::DFG::LowerDFGToB3::compileNewArrayBuffer):
(JSC::FTL::DFG::LowerDFGToB3::compileNewArrayWithSize):
(JSC::FTL::DFG::LowerDFGToB3::compileNewTypedArray):
(JSC::FTL::DFG::LowerDFGToB3::compileAllocatePropertyStorage):
(JSC::FTL::DFG::LowerDFGToB3::compileReallocatePropertyStorage):
(JSC::FTL::DFG::LowerDFGToB3::compileMultiGetByOffset):
(JSC::FTL::DFG::LowerDFGToB3::compileMultiPutByOffset):
(JSC::FTL::DFG::LowerDFGToB3::compileGetMapBucket):
(JSC::FTL::DFG::LowerDFGToB3::compileOverridesHasInstance):
(JSC::FTL::DFG::LowerDFGToB3::compileCheckStructureImmediate):
(JSC::FTL::DFG::LowerDFGToB3::compileMaterializeNewObject):
(JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation):
(JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp):
(JSC::FTL::DFG::LowerDFGToB3::compileLogShadowChickenTail):
(JSC::FTL::DFG::LowerDFGToB3::checkStructure):
(JSC::FTL::DFG::LowerDFGToB3::checkInferredType):
(JSC::FTL::DFG::LowerDFGToB3::allocateObject):
(JSC::FTL::DFG::LowerDFGToB3::allocateVariableSizedObject):
(JSC::FTL::DFG::LowerDFGToB3::allocateJSArray):
(JSC::FTL::DFG::LowerDFGToB3::allocateUninitializedContiguousJSArray):
(JSC::FTL::DFG::LowerDFGToB3::boolify):
(JSC::FTL::DFG::LowerDFGToB3::equalNullOrUndefined):
(JSC::FTL::DFG::LowerDFGToB3::lowCell):
(JSC::FTL::DFG::LowerDFGToB3::speculateStringObjectForStructureID):
(JSC::FTL::DFG::LowerDFGToB3::weakPointer):
(JSC::FTL::DFG::LowerDFGToB3::frozenPointer):
(JSC::FTL::DFG::LowerDFGToB3::weakStructureID):
(JSC::FTL::DFG::LowerDFGToB3::weakStructure):
(JSC::FTL::DFG::LowerDFGToB3::crash):
- ftl/FTLOutput.h:
(JSC::FTL::Output::weakPointer):
(JSC::FTL::Output::constIntPtr):
Source/WTF:
I made TinyPtrSet use bitwise_cast instead of static_cast
for its singleEntry() function so that it can work on pointer-like
types just as it can on actual pointer types.
An example of where this matters is when you have TinyPtrSet<T>
where T is defined to be a struct which wraps a pointer, e.g:
struct T {
void* m_pointer;
}
- wtf/TinyPtrSet.h:
(WTF::TinyPtrSet::singleEntry):
- 3:50 PM Changeset in webkit [211236] by
-
- 4 edits in trunk/Source/WebCore
[QuickLook] Create temporary files with NSFileProtectionCompleteUnlessOpen
https://bugs.webkit.org/show_bug.cgi?id=167455
<rdar://problem/12499118>
Reviewed by David Kilzer.
Add the NSFileProtectionKey attribute with value NSFileProtectionCompleteUnlessOpen to
temporary directories created for QuickLook files. Also:
- Stop calling -[NSFileManager _web_pathWithUniqueFilenameForPath:], since the temporary
directory is already unique and only one file will be placed inside it.
- Create the temporary file with -[NSFileManager _web_createFileAtPath:contents:attributes:]
instead of with -[NSFileManager _web_createFileAtPathWithIntermediateDirectories:contents:attributes:directoryAttributes:],
since the intermediate directories were already created by createTemporaryDirectory().
- Explicitly set the temporary directory's attributes with
-[NSFileManager setAttributes:ofItemAtPath:error:].
- Append the lastPathComponent of fileName to downloadDirectory to ensure fileName isn't
really a relative path.
- loader/ios/QuickLook.h: Stopped declaring QLFileAttributes() and QLDirectoryAttributes().
- loader/ios/QuickLook.mm:
(WebCore::temporaryFileAttributes): Renamed from QLFileAttributes().
(WebCore::temporaryDirectoryAttributes): Renamed from QLDirectoryAttributes().
(WebCore::createTemporaryFileForQuickLook):
(WebCore::QLFileAttributes): Deleted.
(WebCore::QLDirectoryAttributes): Deleted.
- platform/spi/cocoa/NSFileManagerSPI.h: Declared -_web_createFileAtPath:contents:attributes:
and removed declarations for -_web_createFileAtPathWithIntermediateDirectories:contents:attributes:directoryAttributes:
and -_web_pathWithUniqueFilenameForPath:
- 3:47 PM Changeset in webkit [211235] by
-
- 8 edits in trunk
Pointer lock events should be delivered directly to the target element
https://bugs.webkit.org/show_bug.cgi?id=167134
Patch by Jeremy Jones <jeremyj@apple.com> on 2017-01-26
Reviewed by Jon Lee.
Source/WebCore:
pointer-lock/mouse-event-delivery.html: Enabled for mac, added wheel event tests.
When pointer is locked on an element, route mouse events directly to the target element, instead of
doing the normal event disptach.
- page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::handleMouseForceEvent):
(WebCore::EventHandler::handleWheelEvent):
- page/PointerLockController.cpp:
(WebCore::PointerLockController::isLocked): Added.
(WebCore::PointerLockController::dispatchLockedWheelEvent): Added.
- page/PointerLockController.h:
LayoutTests:
The pointer-lock/mouse-event-delivery.html test is modified to explicitly move the mouse pointer to a valid
location before sending mouse actions. Without this, the test infrastructure doesn't know that the pointer
is over the web view and doesn't deliver events.
Added code to test for wheel events.
- platform/mac/TestExpectations: enabled test.
- pointer-lock/mouse-event-delivery.html:
- pointer-lock/mouse-event-delivery-expected.txt:
- 3:47 PM Changeset in webkit [211234] by
-
- 4 edits in trunk
Request pointer unlock on navigation and re-enable pointer-lock tests for WK2.
https://bugs.webkit.org/show_bug.cgi?id=166765
Patch by Jeremy Jones <jeremyj@apple.com> on 2017-01-26
Reviewed by Tim Horton.
Source/WebKit2:
When the main frame is load is committed, pointer lock should end.
This resets pointer lock state between tests and allows tests to succeed.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didCommitLoadForFrame):
LayoutTests:
Enabled pointer lock tests for wk2 now that pointer lock state is being reset after each test.
- platform/mac-wk2/TestExpectations:
- 3:33 PM Changeset in webkit [211233] by
-
- 5 edits in trunk/Source/WebCore
Fix CPU / Memory diagnostic logging in PerformanceMonitor
https://bugs.webkit.org/show_bug.cgi?id=167469
<rdar://problem/30220959>
Reviewed by Alex Christensen.
Fix CPU / Memory diagnostic logging in PerformanceMonitor to use logDiagnosticMessage()
instead of logDiagnosticMessageWithValue(). logDiagnosticMessageWithValue() should only
be used with numeric values but we already take care of the bucketing on our side.
- page/DiagnosticLoggingClient.h:
- page/DiagnosticLoggingKeys.cpp:
(WebCore::DiagnosticLoggingKeys::postPageBackgroundingCPUUsageKey):
(WebCore::DiagnosticLoggingKeys::postPageBackgroundingMemoryUsageKey):
(WebCore::DiagnosticLoggingKeys::postPageLoadCPUUsageKey):
(WebCore::DiagnosticLoggingKeys::postPageLoadMemoryUsageKey):
(WebCore::DiagnosticLoggingKeys::foregroundCPUUsageToDiagnosticLoggingKey):
(WebCore::DiagnosticLoggingKeys::backgroundCPUUsageToDiagnosticLoggingKey):
(WebCore::DiagnosticLoggingKeys::postPageBackgroundingKey): Deleted.
(WebCore::DiagnosticLoggingKeys::postPageLoadKey): Deleted.
(WebCore::DiagnosticLoggingKeys::memoryUsageKey): Deleted.
- page/DiagnosticLoggingKeys.h:
- page/PerformanceMonitor.cpp:
(WebCore::PerformanceMonitor::measurePostLoadCPUUsage):
(WebCore::PerformanceMonitor::measurePostLoadMemoryUsage):
(WebCore::PerformanceMonitor::measurePostBackgroundingMemoryUsage):
(WebCore::PerformanceMonitor::measurePostBackgroundingCPUUsage):
- 2:34 PM Changeset in webkit [211232] by
-
- 2 edits in trunk/Tools
Disable API test WebKit2.WebsitePoliciesPlayAfterPreventedAutoplay.
https://bugs.webkit.org/show_bug.cgi?id=167466
Unreviewed test gardening.
- TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(TEST):
- 2:10 PM Changeset in webkit [211231] by
-
- 2 edits in trunk/Source/WebCore
Gamepads: Some DPads are still not exposed in the HID backend.
rdar://problem/30217518 and https://bugs.webkit.org/show_bug.cgi?id=167465
Reviewed by Alex Christensen.
No new tests (Currently unable to test HID backend directly)
- platform/gamepad/mac/HIDGamepad.cpp:
(WebCore::HIDGamepad::maybeAddButton): Allow GenericDesktop paged elements that are DPads to be buttons.
- 1:44 PM Changeset in webkit [211230] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, rolling out r210095.
https://bugs.webkit.org/show_bug.cgi?id=167464
broke tiling on mac (Requested by thorton on #webkit).
Reverted changeset:
"TileGrid revalidates tiles twice during flush, first with
wrong visible rect"
https://bugs.webkit.org/show_bug.cgi?id=166406
http://trac.webkit.org/changeset/210095
- 1:34 PM Changeset in webkit [211229] by
-
- 6 edits in trunk/Source
Fix WebGL diagnostic logging
https://bugs.webkit.org/show_bug.cgi?id=167463
<rdar://problem/30216981>
Reviewed by Alex Christensen.
Fix WebGL diagnostic logging so that it no longer uses logDiagnosticMessageWithValue().
This is because the value apparently needs to be numeric on Mac.
Source/WebCore:
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::checkForContextLossHandling):
- page/DiagnosticLoggingKeys.cpp:
(WebCore::DiagnosticLoggingKeys::pageHandlesWebGLContextLossKey):
(WebCore::WebCore::DiagnosticLoggingKeys::webGLStateKey):
(WebCore::DiagnosticLoggingKeys::stateKey): Deleted.
(WebCore::DiagnosticLoggingKeys::handlesContextLossKey): Deleted.
(WebCore::WebCore::DiagnosticLoggingKeys::webGLKey): Deleted.
- page/DiagnosticLoggingKeys.h:
Source/WebKit2:
- UIProcess/HighPerformanceGraphicsUsageSampler.cpp:
(WebKit::HighPerformanceGraphicsUsageSampler::timerFired):
- 1:19 PM Changeset in webkit [211228] by
-
- 6 edits4 adds in trunk
Simple line layout: Add support for -webkit-hyphenate-limit-lines
https://bugs.webkit.org/show_bug.cgi?id=167446
<rdar://problem/30194030>
Reviewed by Antti Koivisto.
Source/WebCore:
Now we can set the limit on the number of lines that a word can split across through hyphenation.
Tests: fast/text/simple-line-layout-hyphen-limit-lines.html
fast/text/simple-line-layout-hyphen-limit-lines2.html
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForStyle):
(WebCore::SimpleLineLayout::splitFragmentToFitLine):
(WebCore::SimpleLineLayout::printReason):
- rendering/SimpleLineLayoutTextFragmentIterator.cpp:
(WebCore::SimpleLineLayout::TextFragmentIterator::Style::Style):
- rendering/SimpleLineLayoutTextFragmentIterator.h:
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::TextFragment):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::wrappingWithHyphenCounter):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::splitWithHyphen): The right side of the split has +1 on the wrapping counter.
LayoutTests:
- fast/text/simple-line-layout-hyphen-limit-lines-expected.html: Added.
- fast/text/simple-line-layout-hyphen-limit-lines.html: Added.
- fast/text/simple-line-layout-hyphen-limit-lines2-expected.html: Added.
- fast/text/simple-line-layout-hyphen-limit-lines2.html: Added.
- platform/mac/fast/text/hyphenate-limit-lines-expected.txt: progression
- 12:58 PM Changeset in webkit [211227] by
-
- 10 edits in trunk/Source
Add support for recognizing data interaction gestures in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=167444
Reviewed by Beth Dakin.
Source/WebCore:
Minor tweaks to pasteboard code to support data interaction.
- WebCore.xcodeproj/project.pbxproj:
- platform/PlatformPasteboard.h:
- platform/ios/PasteboardIOS.mm:
(WebCore::Pasteboard::read):
- platform/ios/PlatformPasteboardIOS.mm:
(WebCore::PlatformPasteboard::PlatformPasteboard):
If the pasteboard is the special data interaction type, use the shared item provider pasteboard; otherwise,
fall back to the general pasteboard.
(WebCore::PlatformPasteboard::getTypes):
Actually populate the list of available types using available pasteboardTypes.
(WebCore::PlatformPasteboard::write):
Add UTF8 plaintext type (kUTTypeUTF8PlainText) when vending data representations of rich text.
- platform/ios/WebItemProviderPasteboard.mm:
(-[WebItemProviderPasteboard setItems:]):
(-[WebItemProviderPasteboard dataForPasteboardType:inItemSet:]):
(-[WebItemProviderPasteboard valuesForPasteboardType:inItemSet:]):
Move off of deprecated methods when retrieving and supplying data to the item provider pasteboard.
- platform/spi/ios/UIKitSPI.h:
Source/WebKit2:
Adds a new data interaction gesture recognizer, responsible for determining when to begin data interaction. This
is a new long press gesture recognizer that fires simultaneously with the existing long press gesture
recognizers (for performing long-press actions, and for showing the tap highlight).
Also tweaks logic for determining whether selection gesture recognizers should fire to account for data
interaction -- in particular, we don't want selection gesture recognizers to cause the current selection to
change while data interaction is possible. See -hasSelectablePositionAtPoint and -pointIsInAssistedNode for
more details.
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::didPerformDataInteractionControllerOperation):
(WebKit::PageClientImpl::startDataInteractionWithImage):
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _createAndConfigureLongPressGestureRecognizer]):
(-[WKContentView setupInteraction]):
(-[WKContentView cleanupInteraction]):
(-[WKContentView _removeDefaultGestureRecognizers]):
(-[WKContentView _addDefaultGestureRecognizers]):
(-[WKContentView resignFirstResponder]):
(-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
(-[WKContentView gestureRecognizerShouldBegin:]):
(-[WKContentView hasSelectablePositionAtPoint:]):
(-[WKContentView pointIsInDataInteractionContent:]):
(-[WKContentView pointIsInAssistedNode:]):
- 12:41 PM Changeset in webkit [211226] by
-
- 17 edits3 adds in trunk
Notify clients when the user plays media otherwise prevented from autoplaying
https://bugs.webkit.org/show_bug.cgi?id=167390
Patch by Matt Rajca <mrajca@apple.com> on 2017-01-26
Reviewed by Alex Christensen.
Source/WebCore:
The API is tested.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::playInternal):
- page/ChromeClient.h:
Source/WebKit2:
- UIProcess/API/APIUIClient.h:
(API::UIClient::didPlayMediaPreventedFromPlayingWithoutUserGesture):
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
- UIProcess/API/C/WKPageUIClient.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didPlayMediaPreventedFromPlayingWithoutUserGesture):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::didPlayMediaPreventedFromPlayingWithoutUserGesture):
- WebProcess/WebCoreSupport/WebChromeClient.h:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2/autoplay-with-controls.html: Added.
- TestWebKitAPI/Tests/WebKit2/js-play-with-controls.html: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm:
(didPlayMediaPreventedFromPlayingWithoutUserGesture):
(TEST):
- TestWebKitAPI/cocoa/TestWKWebView.h:
- TestWebKitAPI/cocoa/TestWKWebView.mm:
(-[TestWKWebViewHostWindow _mouseUpAtPoint:]):
(-[TestWKWebView waitForLoad]):
(-[TestWKWebView mouseUpAtPoint:]):
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::createOtherPage):
(WTR::TestController::createWebViewWithOptions):
- 12:39 PM Changeset in webkit [211225] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] ASSERTION FAILED: !g_object_is_floating(ptr) in adoptGRef(GstContext* ptr)
https://bugs.webkit.org/show_bug.cgi?id=167458
Reviewed by Xabier Rodriguez-Calvar.
GstContext is a mini_object, not a GObject. Therefore it shouldn't (and can't) be checked for floatingness.
- platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
(WTF::adoptGRef): Removed incorrect assertion.
- 11:52 AM Changeset in webkit [211224] by
-
- 15 edits1 copy2 adds in trunk
OSR entry: delay outer-loop compilation when at inner-loop
https://bugs.webkit.org/show_bug.cgi?id=167149
Reviewed by Filip Pizlo.
JSTests:
Try to be mean to OSR entry by using nested loops, and having
non-int32 types or truly varying types.
Mandelbrot currently never tiers up to FTL because it exits too
many times before this. That shouldn't happen because it's just
numbers and int32s. I'll file a bug to fix this.
- microbenchmarks/mandelbrot.js: Added.
(mandelbrot):
(printable):
- microbenchmarks/nonude.js: Added.
(Array.prototype.remove):
(const.u):
(const.load):
(const.scan):
(const.main):
Source/JavaScriptCore:
As of https://bugs.webkit.org/show_bug.cgi?id=155217 OSR
compilation can be kicked off for an entry into an outer-loop,
while executing an inner-loop. This is desirable because often the
codegen from an inner-entry isn't as good as the codegen from an
outer-entry, but execution from an inner-loop is often pretty hot
and likely to kick off compilation. This approach provided nice
speedups on Kraken because we'd select to enter to the outer-loop
very reliably, which reduces variability (the inner-loop was
selected roughly 1/5 times from my unscientific measurements).
When compilation starts we take a snapshot of the JSValues at the
current execution state using OSR's recovery mechanism. These
values are passed to the compiler and are used as way to perform
type profiling, and could be used to observe cell types as well as
to perform predictions such as through constant propagation.
It's therefore desired to enter from the outer-loop when we can,
but we need to be executing from that location to capture the
right JSValues, otherwise we're confusing the compiler and giving
it inaccurate JSValues which can lead it to predict the wrong
things, leading to suboptimal code or recompilation due to
misprediction, or in super-corner-cases a crash.
These effects are pretty hard to measure: Fil points out that
marsalis-osr-entry really needs mustHandleValues (the JSValues
from the point of execution) because right now it just happens to
correctly guess int32. I tried removing mustHandleValues entirely
and saw no slowdowns, but our benchmarks probably aren't
sufficient to reliably find issues, sometimes because we happen to
have sufficient mitigations.
DFG tier-up was added here:
https://bugs.webkit.org/show_bug.cgi?id=112838
- JavaScriptCore.xcodeproj/project.pbxproj:
- dfg/DFGJITCode.h:
- dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::JITCompiler):
- dfg/DFGOSREntry.cpp:
(JSC::DFG::prepareOSREntry):
- dfg/DFGOSREntry.h:
(JSC::DFG::prepareOSREntry):
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGTierUpEntryTrigger.h: Copied from Source/JavaScriptCore/ftl/FTLOSREntry.h.
- dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp:
(JSC::DFG::ToFTLForOSREntryDeferredCompilationCallback::ToFTLForOSREntryDeferredCompilationCallback):
(JSC::DFG::Ref<ToFTLForOSREntryDeferredCompilationCallback>ToFTLForOSREntryDeferredCompilationCallback::create):
(JSC::DFG::ToFTLForOSREntryDeferredCompilationCallback::compilationDidBecomeReadyAsynchronously):
(JSC::DFG::ToFTLForOSREntryDeferredCompilationCallback::compilationDidComplete):
- dfg/DFGToFTLForOSREntryDeferredCompilationCallback.h:
- ftl/FTLOSREntry.cpp:
(JSC::FTL::prepareOSREntry):
- ftl/FTLOSREntry.h:
- jit/JITOperations.cpp:
- 11:50 AM Changeset in webkit [211223] by
-
- 2 edits in trunk/Source/WebKit2
Don't use _CFBundleCreateUnique on Yosemite, it's not available there
https://bugs.webkit.org/show_bug.cgi?id=167459
rdar://problem/30181179
Reviewed by Beth Dakin.
- Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
(WebKit::NetscapePluginModule::getPluginInfo):
- 11:36 AM Changeset in webkit [211222] by
-
- 6 edits4 adds in trunk
Simple line layout: Add support for -webkit-hyphenate-limit-after and -webkit-hyphenate-limit-before
https://bugs.webkit.org/show_bug.cgi?id=167439
<rdar://problem/30180184>
Reviewed by Antti Koivisto.
Source/WebCore:
Implement pre and post hyphen length constrains for simple line layout.
Tests: fast/text/simple-line-layout-hyphen-limit-after.html
fast/text/simple-line-layout-hyphen-limit-before.html
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForStyle):
(WebCore::SimpleLineLayout::printReason):
- rendering/SimpleLineLayoutTextFragmentIterator.cpp:
(WebCore::SimpleLineLayout::TextFragmentIterator::Style::Style): Same as normal line layout default values.
(WebCore::SimpleLineLayout::TextFragmentIterator::lastHyphenPosition):
- rendering/SimpleLineLayoutTextFragmentIterator.h:
LayoutTests:
- fast/text/simple-line-layout-hyphen-limit-after.html: Added.
- fast/text/simple-line-layout-hyphen-limit-before-expected.html: Added.
- fast/text/simple-line-layout-hyphen-limit-before.html: Added.
- platform/mac/fast/text/hyphenate-limit-before-after-expected.txt: progression.
- 11:25 AM Changeset in webkit [211221] by
-
- 10 edits in trunk/Source/WebKit2
Add SPI for updating WebsitePolicies
https://bugs.webkit.org/show_bug.cgi?id=167040
Patch by Alex Christensen <achristensen@webkit.org> on 2017-01-26
Reviewed by Brady Eidson.
In r209558 we added a way to send a WebsitePolicies structure to the WebProcess during navigation.
If the UIProcess wants to update these policies on a WKWebView while a page is open, we will
need to have SPI for doing so. This adds such SPI, but it's not hooked up to change functionality yet.
- UIProcess/API/C/WKPage.cpp:
(WKPageUpdateWebsitePolicies):
- UIProcess/API/C/WKPage.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _updateWebsitePolicies:]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::updateWebsitePolicies):
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updateWebsitePolicies):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- 11:21 AM Changeset in webkit [211220] by
-
- 3 edits in trunk/Source/WebCore
Gamepad support shows wrong values for PS4 controllers (D-pad is missing).
<rdar://problem/29578619> and https://bugs.webkit.org/show_bug.cgi?id=165588
Reviewed by Alex Christensen.
No new tests (Currently unable to test HID backend directly)
DPads report their HID type as "a button", but their HID usage is "Hatswitch".
This patch adds a new element type that maps a "hatswitch" value to 4 additional buttons.
- platform/gamepad/mac/HIDGamepad.cpp:
(WebCore::HIDGamepad::initElements):
(WebCore::HIDGamepad::initElementsFromArray):
(WebCore::HIDGamepad::maybeAddButton):
(WebCore::HIDGamepad::maybeAddDPad):
(WebCore::HIDGamepad::maybeAddAxis):
(WebCore::fillInButtonValues):
(WebCore::HIDGamepad::valueChanged):
- platform/gamepad/mac/HIDGamepad.h:
(WebCore::HIDGamepadElement::isDPad):
(WebCore::HIDGamepadDPad::HIDGamepadDPad):
(WebCore::HIDGamepadDPad::normalizedValue):
- 10:55 AM Changeset in webkit [211219] by
-
- 2 edits in trunk/LayoutTests
Marking swipe/main-frame-pinning-requirement.html as flaky on El Capitan.
https://bugs.webkit.org/show_bug.cgi?id=161887
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 10:49 AM Changeset in webkit [211218] by
-
- 3 edits in trunk/LayoutTests
Marking media/modern-media-controls/tracks-support/tracks-support-click-track-in-panel.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=165319
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- platform/mac/TestExpectations:
- 10:49 AM Changeset in webkit [211217] by
-
- 2 edits in trunk/LayoutTests
Marking inspector/heap/gc.html as slow on macOS debug.
https://bugs.webkit.org/show_bug.cgi?id=167408
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 8:38 AM Changeset in webkit [211216] by
-
- 2 edits in branches/safari-603-branch/Source/JavaScriptCore
- 8:32 AM Changeset in webkit [211215] by
-
- 1 copy in tags/Safari-603.1.22
New tag.
- 8:32 AM Changeset in webkit [211214] by
-
- 1 delete in tags/Safari-603.1.22
Remove tag.
- 7:52 AM Changeset in webkit [211213] by
-
- 5 edits in branches/safari-603-branch/Source
Versioning.
- 7:52 AM Changeset in webkit [211212] by
-
- 2 edits in branches/safari-603-branch/Source/JavaScriptCore
- 7:52 AM Changeset in webkit [211211] by
-
- 5 edits in branches/safari-603-branch/Source/WebCore
Merge r211151. rdar://problem/30171195
- 7:51 AM Changeset in webkit [211210] by
-
- 1 copy in tags/Safari-603.1.22
New tag.
- 6:58 AM Changeset in webkit [211209] by
-
- 5 edits2 adds in trunk
[Modern Media Controls] Hiding controls, changing their width and showing them again shows an incorrect layout
https://bugs.webkit.org/show_bug.cgi?id=167160
<rdar://problem/29612318>
Patch by Antoine Quint <Antoine Quint> on 2017-01-26
Reviewed by Dean Jackson.
Source/WebCore:
When we toggle visibility of the controls bar, we notify the hosting media controls and in the case of the
macOS inline media controls, we update the controls layout which would have failed to run last time it tried
due to the controls bar being hidden.
Test: media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-resize-with-hidden-controls-bar.html
- Modules/modern-media-controls/controls/controls-bar.js:
(ControlsBar.prototype.set visible):
- Modules/modern-media-controls/controls/macos-inline-media-controls.js:
(MacOSInlineMediaControls.prototype.controlsBarVisibilityDidChange):
- Modules/modern-media-controls/controls/media-controls.js:
(MediaControls.prototype.controlsBarVisibilityDidChange):
LayoutTests:
Add a new test that creates media controls at a given width, hides the controls bar, increases the width, makes
the controls bar visible again, and checks that the layout was correctly updated as a result.
- media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-resize-with-hidden-controls-bar-expected.txt: Added.
- media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-resize-with-hidden-controls-bar.html: Added.
- 2:52 AM Changeset in webkit [211208] by
-
- 2 edits in trunk/Source/WebCore
[Mac][cmake] Unreviewed speculative buildfix after r211161.
https://bugs.webkit.org/show_bug.cgi?id=167294
- PlatformMac.cmake:
- 2:09 AM Changeset in webkit [211207] by
-
- 6 edits1 add in trunk
Crash when setting custom scale factor.
https://bugs.webkit.org/show_bug.cgi?id=167369
Reviewed by Sam Weinig.
Source/WebKit/mac:
Add null pointer check.
- WebView/WebView.mm:
(-[WebView _setCustomBackingScaleFactor:]):
Source/WebKit/win:
Add null pointer check.
- WebView.cpp:
(WebView::setCustomBackingScaleFactor):
Tools:
Added API test.
- TestWebKitAPI/PlatformWin.cmake:
- TestWebKitAPI/Tests/WebKit/win/ScaleWebView.cpp: Added.
(TestWebKitAPI::WebKitCreateInstance):
(TestWebKitAPI::ScaleWebView::SetUp):
(TestWebKitAPI::ScaleWebView::TearDown):
(TestWebKitAPI::TEST_F):
- 1:21 AM Changeset in webkit [211206] by
-
- 2 edits in trunk/Source/WebCore
ImageBufferCairo: cairo_image_surface should use bmalloc-allocated memory
https://bugs.webkit.org/show_bug.cgi?id=165751
Reviewed by Carlos Garcia Campos.
Allocate the underlying memory for cairo_image_surface objects through FastMalloc.
This way we can steer such large allocations away from the default libc allocator.
Objects of this class can create Cairo surfaces that need as much as 4MB of memory
for the underlying pixel buffer. Allocating such objects through the default
libc allocator can lead to increased memory usage because of non-optimal allocation
strategy in libc. In contrast, bmalloc performs large allocations by directly using
mmap() to reserve the necessary memory.
The improvements can be significant. On nytimes.com, with the threaded version of
the CoordinatedGraphics system, the memory consumption can drop by roughly 20%.
- platform/graphics/cairo/ImageBufferCairo.cpp:
(WebCore::ImageBuffer::ImageBuffer): Zero-allocate the necessary memory via FastMalloc.
Tie that memory lifetime to the lifetime of the surface by using
cairo_surface_set_user_data() with the specific user data key.
- 1:19 AM Changeset in webkit [211205] by
-
- 2 edits in trunk/Source/WebKit2
[Threaded Compositor] Update also the contents size when creating the threaded compositor
https://bugs.webkit.org/show_bug.cgi?id=167452
Reviewed by Žan Doberšek.
In r210954 we ensured that the threaded compositor and the viewport controller were created with the initial web
page size. If we don't update the contents size, the visible rectangle will be empty and tiles won't be created
until contentsSizeDidChange is called. It's even possible, when entering AC mode on demand, that we create the
layer tree host after the contents size changed, in which case nothing is rendered unless we resize the window.
- WebProcess/WebPage/CoordinatedGraphics/ThreadedCoordinatedLayerTreeHost.cpp:
(WebKit::ThreadedCoordinatedLayerTreeHost::ThreadedCoordinatedLayerTreeHost):
- 1:05 AM Changeset in webkit [211204] by
-
- 2 edits in trunk/Source/WebCore
[GTK] WebProcess from WebKitGtk+ 2.15.3 SIGSEVs in WebCore::GraphicsContext3D::drawArrays(unsigned int, int, int) at Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:740
https://bugs.webkit.org/show_bug.cgi?id=167296
Reviewed by Sergio Villar Senin.
Use a VBO to pass the vertex data when using the stencil for clipping. Passing a custom array without
using an VBO is deprecated when using OpenGL >= 3.0 and a Core profile.
No behaviour change, no new tests.
- platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::beginClip):
- 12:55 AM Changeset in webkit [211203] by
-
- 2 edits in trunk/Source/WebKit2
[Mac][cmake] Fix the build after r211160
https://bugs.webkit.org/show_bug.cgi?id=167451
Unreviewed buildfix.
- UIProcess/API/Cocoa/WKWebView.mm: