Timeline
Jan 23, 2017:
- 11:48 PM Changeset in webkit [211079] by
-
- 13 edits4 adds in trunk
[GTK] Add API to WebKitWebsiteDataManager to handle website data
https://bugs.webkit.org/show_bug.cgi?id=146589
Reviewed by Michael Catanzaro.
Source/WebKit2:
Add WebKitWebsiteData boxed type to wrap a WebsiteDataRecord and new methods to WebKitWebsiteDataManager to
fetch, remove and clear website data.
- PlatformGTK.cmake: Add new files to compilation.
- UIProcess/API/gtk/WebKitWebsiteData.cpp: Added.
(_WebKitWebsiteData::_WebKitWebsiteData):
(recordContainsSupportedDataTypes): Helper function to check if the WebsiteDataRecord contains any type exposed
by our API.
(toWebKitWebsiteDataTypes): Convert from WebKit::WebsiteDataType to the GTK+ public API types.
(webkitWebsiteDataCreate): Create a new WebKitWebsiteData for the given WebsiteDataRecord if it contains any
supported type.
(webkitWebsiteDataGetRecord): Returns the wrapped WebsiteDataRecord.
(webkit_website_data_ref):
(webkit_website_data_unref):
(webkit_website_data_get_name): Return the display name.
(webkit_website_data_get_types): Returns the mask of types.
(webkit_website_data_get_size): Returns the size for the given types.
- UIProcess/API/gtk/WebKitWebsiteData.h: Added.
- UIProcess/API/gtk/WebKitWebsiteDataManager.cpp:
(toWebsiteDataTypes): Convert from GTK+ public API types to WebKit::WebsiteDataType.
(webkit_website_data_manager_fetch): Fetch website data of the given types.
(webkit_website_data_manager_fetch_finish):
(webkit_website_data_manager_remove): Remove the website data of the given types for the given WebKitWebsiteData list.
(webkit_website_data_manager_remove_finish):
(webkit_website_data_manager_clear): Clear all website data of the given types modified since the given time span.
(webkit_website_data_manager_clear_finish):
- UIProcess/API/gtk/WebKitWebsiteDataManager.h:
- UIProcess/API/gtk/WebKitWebsiteDataPrivate.h: Added.
- UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: Add new symbols.
- UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section.
- UIProcess/API/gtk/webkit2.h: Inlcude WebKitWebsiteData.h
Tools:
Add about:data handler to MiniBrowser to manually test the website data API. Also add unit tests to test all the
new API, moving the WebKitWebsiteDataManager configuration API to the new file too.
- MiniBrowser/gtk/BrowserWindow.c:
(webViewDecidePolicy):
(newTabCallback):
- MiniBrowser/gtk/main.c:
(createBrowserTab):
(aboutDataRequestFree):
(aboutDataRequestNew):
(aboutDataRequestForView):
(websiteDataRemovedCallback):
(websiteDataClearedCallback):
(aboutDataScriptMessageReceivedCallback):
(domainListFree):
(aboutDataFillTable):
(gotWebsiteDataCallback):
(aboutDataHandleRequest):
(aboutURISchemeRequestCallback):
(main):
- TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt:
- TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:
(serverCallback):
(beforeAll):
- TestWebKitAPI/Tests/WebKit2Gtk/TestWebsiteData.cpp: Added.
(serverCallback):
(WebsiteDataTest::WebsiteDataTest):
(WebsiteDataTest::~WebsiteDataTest):
(WebsiteDataTest::fetch):
(WebsiteDataTest::remove):
(WebsiteDataTest::clear):
(testWebsiteDataConfiguration):
(testWebsiteDataCache):
(testWebsiteDataStorage):
(testWebsiteDataDatabases):
(testWebsiteDataAppcache):
(beforeAll):
(afterAll):
- 10:52 PM Changeset in webkit [211078] by
-
- 10 edits15 adds in trunk
Add the support for nomodule attribute on script element
https://bugs.webkit.org/show_bug.cgi?id=166987
Reviewed by Sam Weinig.
Source/WebCore:
As discussed on https://github.com/whatwg/html/pull/2261, we should have
the way to suppress classic script execution when our user agent have
modules support. With such a feature, developers can write the code like,
<script type="module" src="./app.js"></script>
<script nomodule src="./bundled-app.js"></script>
In the above code, if the user agent does not support modules, the bundled-app.js
will be executed. On the other hand, if the user agent supports modules, we should
ignore the script tag which has thenomoduleattribute.
This way allows us to support the legacy browsers while using modules.
In WebKit, we already support modules. Thus, we should ignore the classic script
attributednomodule.
We also rename asyncAttributeValue and deferAttributeValue to hasAsyncAttribute and
hasDeferAttribute.
Tests: 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-inline.html
js/dom/modules/nomodule-prevents-execution-classic-script-src.html
- dom/ScriptElement.cpp:
(WebCore::ScriptElement::prepareScript):
- dom/ScriptElement.h:
- html/HTMLAttributeNames.in:
- html/HTMLScriptElement.cpp:
(WebCore::HTMLScriptElement::hasAsyncAttribute):
(WebCore::HTMLScriptElement::hasDeferAttribute):
(WebCore::HTMLScriptElement::hasNoModuleAttribute):
(WebCore::HTMLScriptElement::asyncAttributeValue): Deleted.
(WebCore::HTMLScriptElement::deferAttributeValue): Deleted.
- html/HTMLScriptElement.h:
- html/HTMLScriptElement.idl:
- svg/SVGScriptElement.cpp:
(WebCore::SVGScriptElement::hasAsyncAttribute):
(WebCore::SVGScriptElement::hasDeferAttribute):
(WebCore::SVGScriptElement::hasNoModuleAttribute):
(WebCore::SVGScriptElement::asyncAttributeValue): Deleted.
(WebCore::SVGScriptElement::deferAttributeValue): Deleted.
- svg/SVGScriptElement.h:
LayoutTests:
- js/dom/modules/nomodule-dynamic-classic-inline-expected.txt: Added.
- js/dom/modules/nomodule-dynamic-classic-inline.html: Added.
- js/dom/modules/nomodule-dynamic-classic-src-expected.txt: Added.
- js/dom/modules/nomodule-dynamic-classic-src.html: Added.
- js/dom/modules/nomodule-has-no-effect-on-module-inline-expected.txt: Added.
- js/dom/modules/nomodule-has-no-effect-on-module-inline.html: Added.
- js/dom/modules/nomodule-has-no-effect-on-module-src-expected.txt: Added.
- js/dom/modules/nomodule-has-no-effect-on-module-src.html: Added.
- js/dom/modules/nomodule-prevents-execution-classic-script-inline-expected.txt: Added.
- js/dom/modules/nomodule-prevents-execution-classic-script-inline.html: Added.
- js/dom/modules/nomodule-prevents-execution-classic-script-src-expected.txt: Added.
- js/dom/modules/nomodule-prevents-execution-classic-script-src.html: Added.
- js/dom/modules/nomodule-reflect-expected.txt: Added.
- js/dom/modules/nomodule-reflect.html: Added.
- js/dom/modules/script-tests/error-classic-script.js: Added.
- 10:07 PM Changeset in webkit [211077] by
-
- 2 edits in trunk/LayoutTests
[EFL] Update timeout tests in media/modern-media-controls
Unreviewed EFL gardening.
- platform/efl/TestExpectations: Dozens of modern-media-controls tests are timeout.
- 10:01 PM Changeset in webkit [211076] by
-
- 2 edits in trunk/Source/WebKit2
Maintain ordering when doing speculative loads
https://bugs.webkit.org/show_bug.cgi?id=167324
Forgot to implement a review comment.
- NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp:
(WebKit::NetworkCache::makeSubresourceInfoVector):
Allocated initial capacity and use uncheckedAppend.
- 7:19 PM Changeset in webkit [211075] by
-
- 22 edits7 adds in trunk/Source
Web Inspector: Provide a way to trigger a Garbage Collection
https://bugs.webkit.org/show_bug.cgi?id=167345
<rdar://problem/30102853>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-01-23
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
- inspector/protocol/Console.json:
- inspector/protocol/Debugger.json:
- inspector/protocol/Heap.json:
- inspector/protocol/Runtime.json:
These domains are supported by Worker backends. Label them.
- inspector/scripts/codegen/generate_js_backend_commands.py:
(JSBackendCommandsGenerator.generate_domain):
- inspector/scripts/codegen/models.py:
(Protocol.parse_domain):
(Domain.init):
(Domains):
Parse "workerSupported" and include a line in BackendCommands.js
that calls to InspectorBackend.workerSupportedDomain().
- inspector/scripts/tests/generic/domain-availability.json: Added.
- inspector/scripts/tests/generic/expected/domain-availability.json-result: Added.
- inspector/scripts/tests/generic/expected/worker-supported-domains.json-result: Added.
- inspector/scripts/tests/generic/worker-supported-domains.json: Added.
Tests for domain "workerSupported" and "availability" properties.
Source/WebCore:
- inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::WorkerInspectorController):
Include a HeapAgent so we can do Heap.gc on Workers.
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js:
New "Garbage collect" tooltip.
- Versions/Inspector-iOS-10.3.json:
- UserInterface/Protocol/Legacy/10.3/InspectorBackendCommands.js:
Update 10.3 so it generates its list of supported domains for workers.
Note that the Heap domain is not be available in this backend but it is now.
- UserInterface/Protocol/Connection.js:
(InspectorBackend.WorkerConnection):
- UserInterface/Protocol/HeapObserver.js:
(WebInspector.HeapObserver.prototype.garbageCollected):
- UserInterface/Protocol/InspectorBackend.js:
(InspectorBackendClass):
(InspectorBackendClass.prototype.get workerSupportedDomains):
(InspectorBackendClass.prototype.workerSupportedDomain):
- UserInterface/Images/NavigationItemClear.svg: Added.
- UserInterface/Images/NavigationItemGarbageCollect.svg: Added.
New image for Garbage Collection. Better image for clearing.
- UserInterface/Images/gtk/NavigationItemClear.svg: Added.
Copy the Trash icon for Clear for gtk.
- UserInterface/Protocol/Target.js:
(WebInspector.Target.prototype.get HeapAgent):
- UserInterface/Protocol/WorkerTarget.js:
(WebInspector.WorkerTarget):
Include Heap agent for Workers.
- UserInterface/Views/LogContentView.js:
(WebInspector.LogContentView):
(WebInspector.LogContentView.prototype.get navigationItems):
(WebInspector.LogContentView.prototype._garbageCollect):
Add garbage collect button which triggers gc on all capable targets.
- UserInterface/Views/NetworkGridContentView.js:
(WebInspector.NetworkGridContentView):
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView):
Update the Clear icon to an improved icon.
- UserInterface/Controllers/HeapManager.js:
(WebInspector.HeapManager.prototype.garbageCollected):
Timelines only shows Main Target events, do not show GC events for Workers.
- 7:12 PM Changeset in webkit [211074] by
-
- 15 edits in trunk/Source/WebCore
Cleanup WEB_TIMING code
https://bugs.webkit.org/show_bug.cgi?id=167339
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-01-23
Reviewed by Alex Christensen.
Stylistic cleanup to WEB_TIMING related code.
- bindings/js/JSPerformanceEntryCustom.cpp:
- loader/ResourceTimingInformation.cpp:
- loader/ResourceTimingInformation.h:
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::didFinishLoading):
- page/Performance.cpp:
(WebCore::Performance::getEntries):
(WebCore::Performance::getEntriesByType):
(WebCore::Performance::setResourceTimingBufferSize):
(WebCore::Performance::isResourceTimingBufferFull):
- page/Performance.h:
- page/PerformanceMark.h:
- page/PerformanceMeasure.h:
- page/PerformanceNavigation.h:
- page/PerformanceResourceTiming.cpp:
(WebCore::PerformanceResourceTiming::PerformanceResourceTiming):
(WebCore::PerformanceResourceTiming::resourceTimeToDocumentMilliseconds):
- page/PerformanceResourceTiming.h:
- page/PerformanceTiming.cpp:
(WebCore::PerformanceTiming::documentLoader):
(WebCore::PerformanceTiming::documentTiming):
(WebCore::PerformanceTiming::loadTiming):
- page/PerformanceTiming.h:
- platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::createCFURLConnection):
- 6:30 PM Changeset in webkit [211073] by
-
- 3 edits in trunk/LayoutTests
LayoutTest gardening for modern-media-tests.
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- platform/mac/TestExpectations:
- 6:19 PM Changeset in webkit [211072] by
-
- 5 edits1 delete in trunk
Unreviewed, rolling out r211062.
https://bugs.webkit.org/show_bug.cgi?id=167354
broke API tests (Requested by alexchristensen on #webkit).
Reverted changeset:
"Pass down website autoplay policies to media elements"
https://bugs.webkit.org/show_bug.cgi?id=167132
http://trac.webkit.org/changeset/211062
- 4:17 PM Changeset in webkit [211071] by
-
- 2 edits in trunk/LayoutTests
Remove conflicting TestExpectations for font variations tests.
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 4:15 PM Changeset in webkit [211070] by
-
- 7 edits2 adds in trunk
https://bugs.webkit.org/show_bug.cgi?id=167247
JSC: operationSpreadGeneric uses the wrong global object for the builtin function and slow_path_spread consults the wrong global object to prove if the iterator protocol is unobservable
<rdar://problem/30121809>
Reviewed by Filip Pizlo.
JSTests:
- stress/spread-consults-correct-global-object.js: Added.
(assert):
(spread):
- stress/spread-correct-global-object-on-exception.js: Added.
(assert):
(spread):
(const.objectText.let.o.Symbol.iterator):
(catch):
Source/JavaScriptCore:
There were two bugs in the different tiers with respect to how
spread handled global objects.
The first was in the LLInt/baseline inside slow_path_spread:
We consulted the lexical global object instead of the thing we're
spreading's global object to determine if the array iterator protocol
is unobservable. This is wrong if the incoming array is from a different
global object. We must consult the incoming array's global object
to determine if it can be spread using the fast path.
The second was in operationSpreadGeneric in the DFG/FTL:
We were always using the incoming array's global object, even
when going down the slow path. This is wrong because we were
fetching the builtin iteration function helper from the incoming
array's global object, which meant that if the iterator function
were to throw an exception, it could leak objects from a different
global object. We should be executing the iterator function with
the lexical global object.
- dfg/DFGOperations.cpp:
- jsc.cpp:
(GlobalObject::finishCreation):
(functionGlobalObjectForObject):
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/JSArray.h:
- runtime/JSArrayInlines.h:
(JSC::JSArray::isIteratorProtocolFastAndNonObservable):
- 4:01 PM Changeset in webkit [211069] by
-
- 11 edits2 adds in trunk/Source/JavaScriptCore
Land the stochastic space-time scheduler disabled
https://bugs.webkit.org/show_bug.cgi?id=167249
Reviewed by Saam Barati.
The space-time scheduler is pretty weird. It uses a periodic scheduler where the next period is
simply determined by an integer multiple of time since when the scheduler last snapped phase. It
snaps phase after constraint solving. Both the snapping of the phase after constraint solving and
the periodicity appear to be necessary for good performance. For example, if the space-time
scheduler decided that it was in the resume part of the phase just by virtue of having just
resumed, then it would be empirically worse than our scheduler which asks "what time is it?" to
decide whether it should be suspended or resumed even if it just suspended or resumed. I've spent
a lot of time wondering why these two features are essential, and I think I found a reason.
What's happening is that sometimes the GC has an overrun and its increment takes longer than it
should have. The current scheduler forgives overruns when constraint solving, which seems to
make sense because it cannot control whether constraint solving runs with the mutator resumed or
suspended. It has to be suspended currently. Snapping phase after constraint solving accomplishes
this. What's more surprising is how important it is to manage deadline misses during draining.
The relevant kind of deadline miss is when doing mutator-suspended draining to catch up to the
retreating wavefront. Deadline misses while doing this can happen systematically in some
workloads, like JetStream/hash-map and some test in Speedometer. It's because they have some
ginormous object and it takes like ~3ms+-1.5ms just to scan it. The space-time scheduler's use
of time to decide what to do saves the day here: after the deadline miss, the scheduler will
initially realize that it missed its deadline to resume the mutator. But as soon as it does this
it asks: "based on current time since phase snap, what should I do?". In the case of a deadline
miss, this question is essentially a weighted coin flip because of the high noise in the amount
of time that it takes to do things in the GC. If you overrun, you will probably overrun by
multiple milliseconds, which is enough that where you land in the space-time scheduler's timeline
is random. The likelihood that you land in the "resume mutator" part of the timeline has a
probability that is roughly the same as what the space-time scheduler calls mutator utilization.
This is a super weird property. I did not intend for it to have this property, but it appears to
be the most important property of this scheduler.
Based on this, it seems that the fact that the space-time scheduler could suspend the mutator
before draining runs out of work doesn't accomplish anything. As soon as you resume the
mutator, you have a retreating wavefront to worry about. But if the collector is happily scanning
things then it's almost certain that the collector will outpace the mutator. Also, anything that
the mutator asks us to revisit is deferred anyway.
In the past I've tried to replace the scheduler in one patch and this turned out to be annoying
because even a poorly conceived scheduler should be iterated on. This patch lands a new scheduler
called the StochasticSpaceTime scheduler. It replaces two of the known-good features of the old
scheduler: (1) it forgives constraint pauses and (2) after deadline overrun its choice is random,
weighted by the mutator utilization target. Unlike the old scheduler, this one will only suspend
the mutator when the draining terminates, but it may pause for any amount of time after an
iteration of constraint solving. It computes the targetPause by measuring constraint solving time
and multiplying by the pauseScale (0.3 by default). If smaller then minimumPause (0.3ms by
default), then it uses minimumPause instead. The stochastic scheduler will then definitely do at
least targetPause worth of suspended draining after the constraint solving iteration, and then
it will decide whether or not to do another one at random. The probability that it will choose to
resume is exactly mutatorUtilization, which is computed exactly as before. Therefore, the
probability of resumption starts at 0.7 and goes down as memory usage rises. Conversely, the
probability that we will stay suspended starts at 0.3 and goes up from there.
This new scheduler looks like it might be a 25% improvement on splay-latency. It also looks like
a small progression on hash-map. Hash-map is a great test of one of the worst cases of retreating
wavefront, since it is repeatedly storing to a ginormous array. This array is sure to take a
while to scan, and to complete, the GC must be smart enough to visit any new objects it finds
while scanning the array immediately after scanning that array. This new scheduler means that
after scanning the array, the probability that you will scan whatever you found in it starts at
0.3 and rises as the program allocates. It's sure to be 0.3, and not 0.3k, because after the
wavefront stops advancing, the only object on the mark stack after a constraint iteration will be
that array. Since there is sure to be a 0.3ms or longer pause, the GC will be sure to start
visiting this object. The GC can then complete if it just allows enough time after this to scan
whatever new objects it finds. If scanning the array overruns the deadline (and it almost
certainly will) then the probability that the GC keeps the mutator suspended is simply
1 - mutatorUtilization.
This scheduler is disabled by default. You can enable it with
--useStochasticMutatorScheduler=true.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- heap/Heap.cpp:
(JSC::Heap::Heap):
(JSC::Heap::markToFixpoint):
- heap/Heap.h:
- heap/MarkingConstraintSet.cpp:
(JSC::MarkingConstraintSet::didStartMarking):
(JSC::MarkingConstraintSet::executeConvergenceImpl):
(JSC::MarkingConstraintSet::resetStats): Deleted.
(JSC::MarkingConstraintSet::executeBootstrap): Deleted.
- heap/MarkingConstraintSet.h:
- heap/MutatorScheduler.cpp:
(JSC::MutatorScheduler::didReachTermination):
(JSC::MutatorScheduler::synchronousDrainingDidStall):
- heap/MutatorScheduler.h:
- heap/SlotVisitor.cpp:
(JSC::SlotVisitor::didReachTermination):
(JSC::SlotVisitor::drainFromShared):
- heap/StochasticSpaceTimeMutatorScheduler.cpp: Added.
(JSC::StochasticSpaceTimeMutatorScheduler::Snapshot::Snapshot):
(JSC::StochasticSpaceTimeMutatorScheduler::Snapshot::now):
(JSC::StochasticSpaceTimeMutatorScheduler::Snapshot::bytesAllocatedThisCycle):
(JSC::StochasticSpaceTimeMutatorScheduler::StochasticSpaceTimeMutatorScheduler):
(JSC::StochasticSpaceTimeMutatorScheduler::~StochasticSpaceTimeMutatorScheduler):
(JSC::StochasticSpaceTimeMutatorScheduler::state):
(JSC::StochasticSpaceTimeMutatorScheduler::beginCollection):
(JSC::StochasticSpaceTimeMutatorScheduler::didStop):
(JSC::StochasticSpaceTimeMutatorScheduler::willResume):
(JSC::StochasticSpaceTimeMutatorScheduler::didReachTermination):
(JSC::StochasticSpaceTimeMutatorScheduler::didExecuteConstraints):
(JSC::StochasticSpaceTimeMutatorScheduler::synchronousDrainingDidStall):
(JSC::StochasticSpaceTimeMutatorScheduler::timeToStop):
(JSC::StochasticSpaceTimeMutatorScheduler::timeToResume):
(JSC::StochasticSpaceTimeMutatorScheduler::log):
(JSC::StochasticSpaceTimeMutatorScheduler::endCollection):
(JSC::StochasticSpaceTimeMutatorScheduler::setResumeTime):
(JSC::StochasticSpaceTimeMutatorScheduler::bytesAllocatedThisCycleImpl):
(JSC::StochasticSpaceTimeMutatorScheduler::bytesSinceBeginningOfCycle):
(JSC::StochasticSpaceTimeMutatorScheduler::maxHeadroom):
(JSC::StochasticSpaceTimeMutatorScheduler::headroomFullness):
(JSC::StochasticSpaceTimeMutatorScheduler::mutatorUtilization):
- heap/StochasticSpaceTimeMutatorScheduler.h: Added.
- runtime/Options.cpp:
(JSC::overrideDefaults):
- runtime/Options.h:
- 3:37 PM Changeset in webkit [211068] by
-
- 4 edits in trunk/Source/WebKit2
Maintain ordering when doing speculative loads
https://bugs.webkit.org/show_bug.cgi?id=167324
Reviewed by Chris Dumez.
We currently randomize the ordering of speculative loads because they are serialized as a hash map.
It would be better to load in the same order as the requests were originally issued as that is
likely to match the order the document needs them.
- NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
(WebKit::NetworkCache::SpeculativeLoadManager::startSpeculativeRevalidation):
- NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp:
(WebKit::NetworkCache::SubresourceInfo::encode):
(WebKit::NetworkCache::SubresourceInfo::decode):
Include key into SubresourceInfo.
(WebKit::NetworkCache::makeSubresourcesVector):
Deduplicate the entries.
(WebKit::NetworkCache::SubresourcesEntry::SubresourcesEntry):
(WebKit::NetworkCache::SubresourcesEntry::updateSubresourceLoads):
- NetworkProcess/cache/NetworkCacheSubresourcesEntry.h:
(WebKit::NetworkCache::SubresourceInfo::SubresourceInfo):
(WebKit::NetworkCache::SubresourceInfo::key):
(WebKit::NetworkCache::SubresourceInfo::setTransient):
(WebKit::NetworkCache::SubresourcesEntry::subresources):
Keep the resources in a Vector instead of a HashMap to maintain order.
- 3:26 PM Changeset in webkit [211067] by
-
- 4 edits in trunk
URLParser should fail to parse percent-encoded invalid UTF-8 sequences
https://bugs.webkit.org/show_bug.cgi?id=167330
Source/WebCore:
<rdar://problem/29319962>
Reviewed by Tim Horton.
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::containsOnlyASCII):
(WebCore::URLParser::parseHostAndPort):
If UTF-8 decoding fails after percent-decoding the host, fail to parse.
This matches Chrome and Firefox, and it was proposed to the spec in https://github.com/whatwg/url/issues/215
Tools:
Reviewed by Tim Horton.
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 3:22 PM Changeset in webkit [211066] by
-
- 2 edits in trunk/Source/JavaScriptCore
Added a comment to clarify an assertion.
Rubber-stamped by Filip Pizlo.
- runtime/JSCellInlines.h:
(JSC::JSCell::classInfo):
- 3:13 PM Changeset in webkit [211065] by
-
- 3 edits2 adds in trunk
SharedArrayBuffer plus WebGL should not equal CRASH
https://bugs.webkit.org/show_bug.cgi?id=167329
Reviewed by Saam Barati.
Source/JavaScriptCore:
DOM unwrapping methods should return null rather than crashing. The code expects an
unshared buffer, so we should return null when it's shared. The caller can then decide
if they like null or not.
- runtime/JSArrayBufferViewInlines.h:
(JSC::JSArrayBufferView::toWrapped):
LayoutTests:
This test used to crash and now it doesn't. It throws some exception.
- js/shared-array-buffer-webgl-expected.txt: Added.
- js/shared-array-buffer-webgl.html: Added.
- 3:06 PM Changeset in webkit [211064] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: long press on New Tab Tab Item should show context menu with recently closed tabs that are still closed
https://bugs.webkit.org/show_bug.cgi?id=166901
Patch by Devin Rousso <Devin Rousso> on 2017-01-23
Reviewed by Joseph Pecoraro.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Views/TabBar.js:
(WebInspector.TabBar.Event):
(WebInspector.TabBar.prototype._handleNewTabContextMenu):
Add listener dispatch for contextmenu event on New Tab tab item.
(WebInspector.TabBar.prototype.get newTabTabBarItem): Deleted.
Unused.
- UserInterface/Views/TabBrowser.js:
(WebInspector.TabBrowser):
(WebInspector.TabBrowser.prototype._tabBarItemAdded):
(WebInspector.TabBrowser.prototype._tabBarItemRemoved):
(WebInspector.TabBrowser.prototype._handleNewTabContextMenu): Added.
Create an array that keeps track of tabs as they are closed, and populate the contextmenu
of the New Tab tab item with entries for each of these tabs.
- 2:49 PM Changeset in webkit [211063] by
-
- 2 edits in trunk/Source/JavaScriptCore
ObjCCallbackFunction::destroy() should not use jsCast().
https://bugs.webkit.org/show_bug.cgi?id=167322
Reviewed by Filip Pizlo.
Since r210829, it is no longer correct for object destructors to use jsCast().
Fixed ObjCCallbackFunction::destroy() to use a static_cast instead.
- API/ObjCCallbackFunction.mm:
(JSC::ObjCCallbackFunction::destroy):
- 2:25 PM Changeset in webkit [211062] by
-
- 4 edits1 add in trunk
Pass down website autoplay policies to media elements
https://bugs.webkit.org/show_bug.cgi?id=167132
Patch by Matt Rajca <mrajca@apple.com> on 2017-01-23
Reviewed by Alex Christensen.
The playbackRequiresUserGesture APIs are already covered by tests. This patch adds API tests
for autoplay website policies.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- 2:24 PM Changeset in webkit [211061] by
-
- 16 edits in trunk/Source/WebInspectorUI
Web Inspector: tree elements with depth > 1 should have context menu "expand all"/"collapse all" commands
https://bugs.webkit.org/show_bug.cgi?id=135590
Patch by Devin Rousso <Devin Rousso> on 2017-01-23
Reviewed by Timothy Hatcher.
Rework the context menu event handlers for all TreeOutline and TreeElement instances such
that the TreeOutline handles the event listener and creates the context menu object and the
TreeElement populates the list with items. This is necessary due to the way in which
children are laid out, as there is padding on either side of the element that would not
trigger a context menu event.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Views/BreakpointTreeElement.js:
(WebInspector.BreakpointTreeElement.prototype.ondetach):
(WebInspector.BreakpointTreeElement.prototype.populateContextMenu):
(WebInspector.BreakpointTreeElement.prototype.oncontextmenu): Deleted.
- UserInterface/Views/ContextMenuUtilities.js:
(WebInspector.appendContextMenuItemsForSourceCode):
- UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement.prototype._populateNodeContextMenu):
- UserInterface/Views/DOMTreeOutline.js:
(WebInspector.DOMTreeOutline):
(WebInspector.DOMTreeOutline.prototype.populateContextMenu):
(WebInspector.DOMTreeOutline.prototype._onmousedown):
(WebInspector.DOMTreeOutline.prototype._onmousemove):
(WebInspector.DOMTreeOutline.prototype._ondragstart):
(WebInspector.DOMTreeOutline.prototype._ondragover):
(WebInspector.DOMTreeOutline.prototype._ondrop):
(WebInspector.DOMTreeOutline.prototype._treeElementFromEvent): Deleted.
(WebInspector.DOMTreeOutline.prototype._contextMenuEventFired): Deleted.
- UserInterface/Views/DebuggerSidebarPanel.js:
(WebInspector.DebuggerSidebarPanel):
(WebInspector.DebuggerSidebarPanel.prototype._breakpointTreeOutlineContextMenuTreeElement):
- UserInterface/Views/FrameTreeElement.js:
(WebInspector.FrameTreeElement.prototype.onattach):
- UserInterface/Views/GeneralTreeElement.js:
(WebInspector.GeneralTreeElement.prototype.onattach):
(WebInspector.GeneralTreeElement.prototype.ondetach): Deleted.
- UserInterface/Views/ObjectTreeBaseTreeElement.js:
(WebInspector.ObjectTreeBaseTreeElement.prototype.populateContextMenu):
(WebInspector.ObjectTreeBaseTreeElement.prototype._logSymbolProperty):
(WebInspector.ObjectTreeBaseTreeElement.prototype._logValue):
(WebInspector.ObjectTreeBaseTreeElement.prototype.oncontextmenu): Deleted.
(WebInspector.ObjectTreeBaseTreeElement.prototype._contextMenuHandler): Deleted.
- UserInterface/Views/ResourceTreeElement.js:
(WebInspector.ResourceTreeElement.prototype.populateContextMenu):
(WebInspector.ResourceTreeElement.prototype.onattach): Deleted.
(WebInspector.ResourceTreeElement.prototype._handleContextMenuEvent): Deleted.
- UserInterface/Views/ThreadTreeElement.js:
(WebInspector.ThreadTreeElement.prototype.populateContextMenu):
(WebInspector.ThreadTreeElement.prototype.oncontextmenu): Deleted.
- UserInterface/Views/TreeElement.js:
(WebInspector.TreeElement.prototype.populateContextMenu):
(WebInspector.TreeElement):
- UserInterface/Views/TreeOutline.js:
(WebInspector.TreeOutline):
(WebInspector.TreeOutline.prototype.treeElementFromEvent):
(WebInspector.TreeOutline.prototype.populateContextMenu):
(WebInspector.TreeOutline._generateStyleRulesIfNeeded):
- UserInterface/Views/VisualStyleSelectorTreeItem.js:
(WebInspector.VisualStyleSelectorTreeItem.prototype.onattach):
(WebInspector.VisualStyleSelectorTreeItem.prototype.populateContextMenu):
(WebInspector.VisualStyleSelectorTreeItem.prototype._highlightNodesWithSelector):
(WebInspector.VisualStyleSelectorTreeItem.prototype._hideDOMNodeHighlight):
(WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent): Deleted.
- UserInterface/Views/WorkerTreeElement.js:
(WebInspector.WorkerTreeElement.prototype.populateContextMenu):
(WebInspector.WorkerTreeElement.prototype.onattach):
(WebInspector.WorkerTreeElement.prototype._handleContextMenuEvent): Deleted.
- UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid.prototype._contextMenuInDataTable):
Add "Expand All"/"Collapse All" context menu items.
- 1:41 PM Changeset in webkit [211060] by
-
- 22 edits7 adds6 deletes in trunk/LayoutTests
Migrate font variations tests to using David Jonathan Ross's Boxis font
https://bugs.webkit.org/show_bug.cgi?id=167222
Reviewed by Dean Jackson.
He extremely generously made this font for doing testing of variation fonts,
and worked with us to licence it appropriately so it can be used in WebKit
directly.
Thanks so much to DJR!!!!
I also took this opportunity to make the tests in animations/font-variations
more robust.
- animations/font-variations/font-variation-settings-expected.html: Removed.
- animations/font-variations/font-variation-settings-expected.txt: Added.
- animations/font-variations/font-variation-settings-order-expected.html: Removed.
- animations/font-variations/font-variation-settings-order-expected.txt: Added.
- animations/font-variations/font-variation-settings-order.html:
- animations/font-variations/font-variation-settings-unlike-expected.html: Removed.
- animations/font-variations/font-variation-settings-unlike-expected.txt: Added.
- animations/font-variations/font-variation-settings-unlike.html:
- animations/font-variations/font-variation-settings.html:
- animations/font-variations/resources/Boxis-VF.ttf: Added.
- fast/backgrounds/background-repeat-x-y.html: Removed.
- fast/text/variations/advances.html:
- fast/text/variations/case-axis-names-expected.html:
- fast/text/variations/case-axis-names.html:
- fast/text/variations/default-value-expected.html:
- fast/text/variations/default-value.html:
- fast/text/variations/duplicate-axis-expected.html: Removed.
- fast/text/variations/duplicate-axis.html: Removed.
- fast/text/variations/duplicate-expected.html:
- fast/text/variations/duplicate.html:
- fast/text/variations/exist-expected-mismatch.html:
- fast/text/variations/exist.html:
- fast/text/variations/getComputedStyle-expected.txt:
- fast/text/variations/getComputedStyle.html:
- fast/text/variations/inheritance-expected.html:
- fast/text/variations/inheritance.html:
- fast/text/variations/order-expected.html:
- fast/text/variations/order.html:
- fast/text/variations/outofbounds-expected-mismatch.html:
- fast/text/variations/outofbounds.html:
- fast/text/variations/resources/Boxis-VF.ttf: Added.
- platform/mac/TestExpectations:
- 1:31 PM Changeset in webkit [211059] by
-
- 2 edits in trunk/LayoutTests
Marking media/modern-media-controls/tracks-panel/tracks-panel-hide.html as flaky on macOS debug.
https://bugs.webkit.org/show_bug.cgi?id=167311
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 1:30 PM Changeset in webkit [211058] by
-
- 4 edits in trunk
Make URLs with non-special schemes and a query or fragment but no slash after the host more compatible
https://bugs.webkit.org/show_bug.cgi?id=167317
Source/WebCore:
<rdar://problem/29526875>
Reviewed by Sam Weinig.
This is currently being added to the URL spec in https://github.com/whatwg/url/issues/212
Covered by new API tests.
- platform/URLParser.cpp:
(WebCore::URLParser::parse):
Only add a slash if there wasn't one if the URL has a special scheme.
This new behavior matches the old behavior of URL::parse.
Tools:
Reviewed by Sam Weinig.
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
- 1:27 PM Changeset in webkit [211057] by
-
- 6 edits in trunk/Source/WebInspectorUI
Web Inspector: color picker should feature an editable CSS value
https://bugs.webkit.org/show_bug.cgi?id=124356
Patch by Devin Rousso <Devin Rousso> on 2017-01-23
Reviewed by Timothy Hatcher.
- UserInterface/Views/ColorPicker.css:
(.color-picker):
(.color-picker.hide-inputs):
(.color-picker > .color-inputs):
(.color-picker > .color-inputs > div):
(.color-picker > .color-inputs > div[hidden]):
(.color-picker > .color-inputs input):
- UserInterface/Views/ColorPicker.js:
(WebInspector.ColorPicker.createColorInput):
(WebInspector.ColorPicker):
(WebInspector.ColorPicker.prototype.set color):
(WebInspector.ColorPicker.prototype.set enableColorComponentInputs):
(WebInspector.ColorPicker.prototype._updateColor):
(WebInspector.ColorPicker.prototype._handleFormatChange):
(WebInspector.ColorPicker.prototype._showColorComponentInputs.updateColorInput):
(WebInspector.ColorPicker.prototype._showColorComponentInputs):
(WebInspector.ColorPicker.prototype._handleColorInputInput):
Add an input element (with a label for the component name and its units) for each component
as part of the current color format (e.g. R, G, B, A). If any of these inputs are changed
then the color is also changed and the "ColorChanged" event is fired.
- UserInterface/Controllers/CodeMirrorColorEditingController.js:
(WebInspector.CodeMirrorColorEditingController.prototype.popoverWillPresent):
- UserInterface/Views/InlineSwatch.js:
(WebInspector.InlineSwatch.prototype._swatchElementClicked):
Add FormatChanged event that fires whenever a new color is set with a different format or
the color value is set for the first time (there is no old format to compare to). This is
needed because if the format becomes RGB, RGBA, HSL, or HSLA from something not in that list
then the size of the containing popover needs to change since the newly added color inputs
will be displayed.
- UserInterface/Views/GradientEditor.js:
(WebInspector.GradientEditor):
Prevent the color inputs from displaying at all, since there aren't individual swatches for
each color in a gradient.
- 1:22 PM Changeset in webkit [211056] by
-
- 2 edits in trunk/LayoutTests
Marking media/modern-media-controls/placard-support/placard-support-pip.html as a flaky crash on Sierra WK1.
https://bugs.webkit.org/show_bug.cgi?id=167320
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 1:16 PM Changeset in webkit [211055] by
-
- 8 edits in trunk/Source/WebCore
Convert langAttributeAwareFormControlUIEnabled to a Setting
https://bugs.webkit.org/show_bug.cgi?id=167279
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-01-23
Reviewed by Sam Weinig.
- dom/Document.cpp:
(WebCore::Document::getCachedLocale):
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setupDateTimeChooserParameters):
Convert to use Settings instead of RuntimeEnabledFeatures.
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::langAttributeAwareFormControlUIEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::setLangAttributeAwareFormControlUIEnabled): Deleted.
- page/Settings.in:
Move to Settings.
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setLangAttributeAwareFormControlUIEnabled): Deleted.
- testing/InternalSettings.h:
- testing/InternalSettings.idl:
Remove the manual interface for the RuntimeEnabledFeature.
An identical interface is generated from Settings.in!
- 1:08 PM Changeset in webkit [211054] by
-
- 3 edits in trunk/Source/WebKit2
Web Inspector: Asserts seen opening and closing Remote Web Inspector windows
https://bugs.webkit.org/show_bug.cgi?id=167316
<rdar://problem/28891161>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-01-23
Reviewed by Alexey Proskuryakov.
- UIProcess/RemoteWebInspectorProxy.cpp:
(WebKit::RemoteWebInspectorProxy::createFrontendPageAndWindow):
Assume read access, like the local web inspector, to Web Inspector resources.
- WebProcess/WebPage/RemoteWebInspectorUI.cpp:
(WebKit::RemoteWebInspectorUI::closeWindow):
Clear ourselves as the inspector frontend client when closing.
- 1:00 PM Changeset in webkit [211053] by
-
- 2 edits in trunk/LayoutTests
Add Sierra flag to TestExpectation for media/modern-media-controls/placard-support/placard-support-pip.html.
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 12:58 PM Changeset in webkit [211052] by
-
- 8 edits in trunk/Source
When Safari reloads pages with Flash objects after Flash is installed, placeholders don't paint (but do work!)
https://bugs.webkit.org/show_bug.cgi?id=167268
rdar://problem/29857388
Reviewed by Sam Weinig.
Source/WebCore:
- page/Page.cpp:
(WebCore::Page::refreshPlugins):
Call PluginInfoProvider::refresh instead.
(WebCore::Page::clearPluginData):
Add new setter.
- page/Page.h:
Declare new members.
- plugins/PluginInfoProvider.cpp:
(WebCore::PluginInfoProvider::refresh):
Put the logic to clear plug-in data and reload frames here.
- plugins/PluginInfoProvider.h:
Add new members.
Source/WebKit2:
- WebProcess/Plugins/WebPluginInfoProvider.h:
Make refreshPlugins() private.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::refreshPlugins):
Call the newly added PluginInfoProvider::refresh().
- 12:55 PM Changeset in webkit [211051] by
-
- 2 edits in trunk/LayoutTests
Marking media/modern-media-controls/tracks-support/tracks-support-show-panel-after-dragging-controls.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=167275
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 12:29 PM Changeset in webkit [211050] by
-
- 2 edits in trunk/Source/ThirdParty
gtest fails to link on Linux due to missing -lpthread
https://bugs.webkit.org/show_bug.cgi?id=167313
- gtest/CMakeLists.txt: Remove find_package(Threads) that was added in my last commit.
This is assumed to already happen in the platform cmake options file.
- 12:21 PM Changeset in webkit [211049] by
-
- 5 edits in trunk/Source/WebKit2
Use priorities in speculative revalidation
https://bugs.webkit.org/show_bug.cgi?id=167314
Reviewed by Chris Dumez.
We currently do all speculative cache operations with 'Medium' priority
and network operations with 'Low'. We should use the actual request priorities instead.
- NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp:
(WebKit::NetworkCache::constructRevalidationRequest):
Use priority when constructing validation request.
(WebKit::NetworkCache::SpeculativeLoadManager::retrieveEntryFromStorage):
Use priority when retrieving from cache.
(WebKit::NetworkCache::SpeculativeLoadManager::preloadEntry):
- NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h:
- NetworkProcess/cache/NetworkCacheSubresourcesEntry.cpp:
(WebKit::NetworkCache::SubresourceInfo::encode):
(WebKit::NetworkCache::SubresourceInfo::decode):
Save and restore the priority.
- NetworkProcess/cache/NetworkCacheSubresourcesEntry.h:
(WebKit::NetworkCache::SubresourceInfo::SubresourceInfo):
(WebKit::NetworkCache::SubresourceInfo::priority):
- 12:15 PM Changeset in webkit [211048] by
-
- 2 edits in trunk/Tools
svn-create-patch should emit properties when files are moved or copied
https://bugs.webkit.org/show_bug.cgi?id=167264
Reviewed by Daniel Bates.
- Scripts/svn-create-patch:
(manufacturePatchForAdditionWithHistory): Diff the source file against nothing to get properties.
- 11:32 AM Changeset in webkit [211047] by
-
- 4 edits in trunk
[WebRTC] Filter libwebrtc link flags
https://bugs.webkit.org/show_bug.cgi?id=167287
Patch by Youenn Fablet <youenn@apple.com> on 2017-01-23
Reviewed by Alex Christensen.
Source/ThirdParty/libwebrtc:
- CMakeLists.txt:
Tools:
- Scripts/webkitpy/libwebrtc/generate_cmake.py:
(CMakeGenerator._compute_link_flags):
(CMakeGenerator._compute_link_flags.keep_flag):
(CMakeGenerator._generate_compile_target_options):
- 11:32 AM Changeset in webkit [211046] by
-
- 8 edits1 add in trunk
[WebRTC] Make VP8 optional in libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=167257
Patch by Youenn Fablet <youennf@gmail.com> on 2017-01-23
Reviewed by Darin Adler.
Source/ThirdParty/libwebrtc:
Reusing strategy used to have VP9 optional for VP8 codec.
- CMakeLists.txt: Updated tocompile and link vp8_noop.cc
- Source/webrtc/media/engine/webrtcvideoengine2.cc:
- Source/webrtc/modules/video_coding/codecs/vp8/include/vp8.h:
- Source/webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc:
- Source/webrtc/modules/video_coding/codecs/vp8/vp8_noop.cc: Added.
- Source/webrtc/video/video_encoder.cc:
Tools:
- Scripts/webkitpy/libwebrtc/generate_cmake.py:
(CMakeGenerator.remove_libvpx): Adding vp8_noop.cc to the build system.
- 11:23 AM Changeset in webkit [211045] by
-
- 22 edits2 moves in trunk
Source/WebCore:
REGRESSION (r208149): Video details does not apear and missing scrubber in Control Center
https://bugs.webkit.org/show_bug.cgi?id=167233
Reviewed by Alex Christensen.
Test: In TestWebKitAPI, NowPlayingControlsTests.NowPlayingControlsIOS
In r208149, we introduced a new media type, Video, and renamed the old type to
VideoAudio (to be able to distinguish between video-with-audio and silent-video).
But we missed one place where that type needs to be renamed.
For testing purposes, overload methods from PlatformMediaSessionManager which WebKit2 uses
to report the current now playing session and it's information.
- platform/audio/ios/MediaSessionManagerIOS.h:
- platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::MediaSessionManageriOS::nowPlayingEligibleSession):
(WebCore::MediaSessionManageriOS::updateNowPlayingInfo):
Source/WebKit2:
Video details does not apear and missing scrubber in Control Center
https://bugs.webkit.org/show_bug.cgi?id=167233
Reviewed by Alex Christensen.
Make requestActiveNowPlayingSessionInfo() and handleActiveNowPlayingSessionInfoResponse()
work in PLATFORM(IOS).
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _requestActiveNowPlayingSessionInfo]):
(-[WKWebView _handleActiveNowPlayingSessionInfoResponse:title:duration:elapsedTime:]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::requestActiveNowPlayingSessionInfo):
(WebKit::WebPageProxy::handleActiveNowPlayingSessionInfoResponse):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::handleActiveNowPlayingSessionInfoResponse):
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::requestActiveNowPlayingSessionInfo):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::requestActiveNowPlayingSessionInfo): Deleted.
Tools:
Video details does not apear and missing scrubber in Control Center
https://bugs.webkit.org/show_bug.cgi?id=167233
Reviewed by Alex Christensen.
Refactor TestWKWebViewMac to work on PLATFORM(IOS). Add a new test to
NowPlayingControlTests for iOS.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/NowPlayingControlsTests.mm:
(-[NowPlayingTestWebView setWindowVisible:]):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit2Cocoa/SnapshotStore.mm:
- TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm:
- TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewCandidateTests.mm:
- TestWebKitAPI/cocoa/TestWKWebView.h: Renamed from Tools/TestWebKitAPI/mac/TestWKWebViewMac.h.
- TestWebKitAPI/cocoa/TestWKWebView.mm: Renamed from Tools/TestWebKitAPI/mac/TestWKWebViewMac.mm.
(SOFT_LINK_CLASS):
(-[TestMessageHandler addMessage:withHandler:]):
(-[TestMessageHandler userContentController:didReceiveScriptMessage:]):
(simulated_forceClickAssociatedEventsMask):
(-[TestWKWebViewHostWindow _mouseDownAtPoint:simulatePressure:]):
(-[TestWKWebViewHostWindow isKeyWindow]):
(-[TestWKWebViewHostWindow makeKeyWindow]):
(-[TestWKWebViewHostWindow resignKeyWindow]):
(-[TestWKWebView initWithFrame:]):
(-[TestWKWebView initWithFrame:configuration:]):
(-[TestWKWebView _setUpTestWindow:]):
(-[TestWKWebView performAfterReceivingMessage:action:]):
(-[TestWKWebView loadTestPageNamed:]):
(-[TestWKWebView synchronouslyLoadTestPageNamed:]):
(-[TestWKWebView stringByEvaluatingJavaScript:]):
(-[TestWKWebView waitForMessage:]):
(-[TestWKWebView performAfterLoading:]):
(-[TestWKWebView mouseDownAtPoint:simulatePressure:]):
(-[TestWKWebView typeCharacter:]):
- 10:45 AM Changeset in webkit [211044] by
-
- 2 edits in trunk/Source/ThirdParty
gtest fails to link on Linux due to missing -lpthread
https://bugs.webkit.org/show_bug.cgi?id=167313
Reviewed by Alex Christensen.
- gtest/CMakeLists.txt: Add call to find_package(Threads) before testing CMAKE_USE_PTHREADS_INIT.
Without the find_package call, CMAKE_USE_PTHREADS_INIT was always false for me. Also explicitly
define GTEST_HAS_PTHREAD to 0 when CMAKE_USE_PTHREADS_INIT is false to prevent gtest-port.h from
setting GTEST_HAS_PTHREAD based on the platform.
- 10:45 AM Changeset in webkit [211043] by
-
- 5 edits in trunk/Source/JavaScriptCore
IntlObject uses JSArray::tryCreateUninitialized in an unsafe way
https://bugs.webkit.org/show_bug.cgi?id=167288
Reviewed by Filip Pizlo.
Refactored the following "create" methods into a "tryCreate" method and a
"create" wrapper: JSArray::create(), Butterfly::create() and
createArrayButterfly().
Changed IntlObject.cpp to use JSArray::tryCreate() as it is simpler to use
by not requiring the caller to be GC savey. The performance benefits of
tryCreateUninitialized() are not needed by the IntlObject c++ code.
Did not add a new test as the bug caused LayoutTests/js/intl.html to fail
reliably with the JSC option values scribbleFreeCells=true,
collectContinuously=true and JSC_useGenerationalGC=false.
- runtime/Butterfly.h:
- runtime/ButterflyInlines.h:
(JSC::Butterfly::tryCreate): Added.
(JSC::Butterfly::create):
- runtime/IntlObject.cpp:
(JSC::canonicalizeLocaleList):
(JSC::lookupSupportedLocales):
(JSC::intlObjectFuncGetCanonicalLocales):
- runtime/JSArray.h:
(JSC::createContiguousArrayButterfly): Deleted.
(JSC::tryCreateArrayButterfly): Added.
(JSC::createArrayButterfly):
(JSC::JSArray::tryCreate): Added.
(JSC::JSArray::create):
- 10:39 AM Changeset in webkit [211042] by
-
- 12 edits in trunk/Source
REGRESSION (r211033): ASSERTION FAILED: m_ptr in com.apple.WebCore: WTF::RefPtr<WebCore::Element>::operator* const + 70
https://bugs.webkit.org/show_bug.cgi?id=167308
<rdar://problem/30144964>
Unreviewed, do a partial revert of r211033 to fix assertion.
Source/WebCore:
No new tests, already covered by:
fullscreen/exit-full-screen-iframe.html
- dom/Document.cpp:
(WebCore::Document::webkitExitFullscreen):
- page/ChromeClient.h:
Source/WebKit/mac:
- WebCoreSupport/WebChromeClient.h:
- WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::exitFullScreenForElement):
Source/WebKit/win:
- WebCoreSupport/WebChromeClient.cpp:
(WebChromeClient::exitFullScreenForElement):
Source/WebKit2:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::exitFullScreenForElement):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- 10:30 AM Changeset in webkit [211041] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r210941): LayoutTest scrollingcoordinator/ios/sync-layer-positions-after-scroll.html failing
https://bugs.webkit.org/show_bug.cgi?id=167262
Unreviewed test gardening.
Fix to interpolation code caused a different result.
- scrollingcoordinator/ios/sync-layer-positions-after-scroll-expected.txt:
- 10:20 AM Changeset in webkit [211040] by
-
- 2 edits in trunk/Source/WebCore
[GTK] asserting on unknown locale for hyphenation is wrong
https://bugs.webkit.org/show_bug.cgi?id=167312
Reviewed by Carlos Garcia Campos.
The fact that we hit the assert on a test called 'hyphenation-unknown-locale' is already
a strong indication we should not have it. In addition to that, Carlos Lopez pointed out
a similar assert was removed from the Mac codepaths when the test was introduced.
- platform/text/hyphen/HyphenationLibHyphen.cpp:
(WebCore::lastHyphenLocation): early return when a locale that is not available is provided
for hyphenation, instead of asserting.
- 9:40 AM Changeset in webkit [211039] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed attempt to fix the iOS build after r211033.
- dom/Node.cpp:
(WebCore::Node::defaultEventHandler):
- 3:28 AM Changeset in webkit [211038] by
-
- 2 edits in trunk/Source/WebKit2
urlParserEnabled parameter is only encoded for COCOA ports
https://bugs.webkit.org/show_bug.cgi?id=167238
Reviewed by Alex Christensen.
This leads to URLParser being enabled on the UI process, since it is
the default, but disabled on the WebProcess, which is the default for
WebProcessCreationParameters, casuing asserts like on tests such as these
due to differences in parsing:
- fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate.html
- fast/loader/window-open-to-invalid-url-calls-policy-delegate.html
- http/tests/inspector/network/copy-as-curl.html
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode): encode urlParserEnabled
(WebKit::WebProcessCreationParameters::decode): decode urlParserEnabled
- 2:41 AM Changeset in webkit [211037] by
-
- 3 edits in trunk/Source/JavaScriptCore
JavaScriptCore has a weak external symbol in it
https://bugs.webkit.org/show_bug.cgi?id=167282
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-01-23
Reviewed by Yusuke Suzuki.
- debugger/Debugger.cpp:
(JSC::Debugger::ProfilingClient::~ProfilingClient):
- debugger/Debugger.h:
Avoid possible weak external symbol.
- 1:54 AM Changeset in webkit [211036] by
-
- 5 edits in trunk/Source
Remove allowWindowOpenWithoutUserGesture setting
https://bugs.webkit.org/show_bug.cgi?id=167301
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-01-23
Reviewed by Darin Adler.
Source/WebCore:
- page/DOMWindow.cpp:
(WebCore::DOMWindow::allowPopUp):
- page/Settings.in:
Source/WebKit/mac:
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Use the equivalent existing setting.
Jan 22, 2017:
- 11:28 PM Changeset in webkit [211035] by
-
- 2 edits in trunk/Source/WebCore
Database file not removed for origins after deleting all databases
https://bugs.webkit.org/show_bug.cgi?id=167281
Reviewed by Darin Adler.
When DatabaseTracker::deleteDatabasesModifiedSince() is called with a min time, all databases for every origin
are deleted. For each origin if all databases are removed DatabaseTracker::deleteOrigin() is called to remove
also the origin database file. However, DatabaseTracker::deleteOrigin() returns early if the origin doesn't have
databases and in this particular case it never has databases, because we have just removed them.
This will be covered by GTK+ unit tests.
- Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::deleteDatabasesModifiedSince): Instead of removing the databases while iterating
them, add the ones to be removed to a vector. If after the iteration all databases should be removed call
DatabaseTracker::deleteOrigin() to ensure both the databases and the database file are removed for the origin,
otherwhise call DatabaseTracker::deleteDatabase() for every database to delete.
- 11:25 PM Changeset in webkit [211034] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Update Safari version in user agent
https://bugs.webkit.org/show_bug.cgi?id=167290
Reviewed by Carlos Garcia Campos.
Update Safari version from 10 to 11.
- platform/gtk/UserAgentGtk.cpp:
(WebCore::buildUserAgentString):
- 10:24 PM Changeset in webkit [211033] by
-
- 135 edits in trunk/Source
Remove PassRefPtr from "page" directory of WebCore, also deploy references
https://bugs.webkit.org/show_bug.cgi?id=167224
Reviewed by Chris Dumez.
Source/WebCore:
- Modules/fetch/DOMWindowFetch.cpp:
(WebCore::DOMWindowFetch::fetch): Use DOMWindow::document instead of
scriptExecutionContext.
- Modules/webdatabase/DatabaseContext.cpp:
(WebCore::DatabaseContext::databaseExceededQuota): Pass a reference.
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
Pass a reference.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertySlot): Pass a reference.
- dom/Document.cpp:
(WebCore::Document::childrenChanged): Pass a reference. Also made the
didReceiveDocType code unconditional instead of iOS-only.
(WebCore::Document::platformSuspendOrStopActiveDOMObjects): Ditto.
(WebCore::Document::updateViewportArguments): Ditto.
(WebCore::Document::setFocusedElement): Ditto.
(WebCore::Document::createDOMWindow): Ditto.
(WebCore::Document::takeDOMWindowFrom): Ditto.
(WebCore::Document::requestFullScreenForElement): Ditto.
(WebCore::Document::webkitExitFullscreen): Ditto.
- dom/Element.cpp:
(WebCore::Element::focus): Ditto.
(WebCore::Element::blur): Ditto.
(WebCore::Element::dispatchFocusEvent): Ditto.
(WebCore::Element::dispatchBlurEvent): Ditto.
- dom/Node.cpp:
(WebCore::Node::defaultEventHandler): Ditto.
- editing/EditorCommand.cpp:
(WebCore::executePrint): Ditto.
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::setFocusedElementIfNeeded): Ditto.
- history/CachedFrame.cpp:
(WebCore::CachedFrameBase::restore): Ditto.
(WebCore::CachedFrame::CachedFrame): Ditto.
- html/ColorInputType.cpp:
(WebCore::ColorInputType::handleDOMActivateEvent): Ditto.
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::isKeyboardFocusable): Ditto.
- html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::isKeyboardFocusable): Pass a reference,
and also rewrote to use && for clarity.
- html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::supportsFullscreen): Pass a reference.
- html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::defaultEventHandler): Ditto.
(WebCore::SpinButtonElement::releaseCapture): Ditto.
- html/shadow/mac/ImageControlsButtonElementMac.cpp:
(WebCore::ImageControlsButtonElementMac::defaultEventHandler): Ditto.
- inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::showContextMenu): Ditto.
(WebCore::InspectorFrontendHost::dispatchEventAsContextMenuEvent): Ditto.
- loader/EmptyClients.cpp:
(WebCore::EmptyChromeClient::createPopupMenu): Updated to take reference.
(WebCore::EmptyChromeClient::createSearchPopupMenu): Ditto.
(WebCore::EmptyChromeClient::createColorChooser): Ditto.
- loader/EmptyClients.h: Ditto.
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::submitForm): Pass a reference.
(WebCore::FrameLoader::commitProvisionalLoad): Ditto.
(WebCore::FrameLoader::closeAndRemoveChild): Take a reference.
(WebCore::FrameLoader::detachFromParent): Pass a reference.
(WebCore::FrameLoader::dispatchBeforeUnloadEvent): Ditto.
(WebCore::createWindow): Ditto.
- loader/FrameLoader.h: Updated for the above.
- loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNewWindowPolicy): Pass a reference.
- loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::recalculateAvailableSpaceInQuota): Ditto.
- loader/appcache/ApplicationCacheGroup.h: Return a reference from origin.
- loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::ApplicationCacheStorage::calculateQuotaForOrigin): Take a reference.
(WebCore::ApplicationCacheStorage::calculateRemainingSizeForOriginExcludingCache):
Ditto.
(WebCore::ApplicationCacheStorage::store): Pass a reference.
(WebCore::ApplicationCacheStorage::checkOriginQuota): Updated since origin
now returns areference.
- loader/appcache/ApplicationCacheStorage.h: Updated for the above.
- loader/archive/mhtml/MHTMLArchive.cpp:
(WebCore::MHTMLArchive::generateMHTMLData): Pass a reference.
- mathml/MathMLElement.cpp:
(WebCore::MathMLElement::isKeyboardFocusable): Ditto.
- page/Chrome.cpp:
(WebCore::Chrome::Chrome): Moved initialization of data members to the
class definition.
(WebCore::Chrome::contentsSizeChanged): Take a reference.
(WebCore::Chrome::createWindow): Ditto.
(WebCore::Chrome::runBeforeUnloadConfirmPanel): Ditto.
(WebCore::Chrome::runJavaScriptAlert): Ditto.
(WebCore::Chrome::runJavaScriptConfirm): Ditto.
(WebCore::Chrome::runJavaScriptPrompt): Ditto.
(WebCore::Chrome::setStatusbarText): Ditto.
(WebCore::Chrome::print): Ditto.
(WebCore::Chrome::createColorChooser): Ditto.
(WebCore::Chrome::createPopupMenu): Ditto.
(WebCore::Chrome::createSearchPopupMenu): Ditto.
(WebCore::Chrome::didReceiveDocType): Ditto. Also made unconditional, but
empty for non-iOS platforms.
(WebCore::Chrome::registerPopupOpeningObserver): Take a reference.
(WebCore::Chrome::unregisterPopupOpeningObserver): Ditto.
- page/Chrome.h: Updated for the above.
- page/ChromeClient.h: Take references. Also updated some arguments from
Node to Element.
- page/ContextMenuController.cpp:
(WebCore::ContextMenuController::handleContextMenuEvent): Take a reference.
(WebCore::ContextMenuController::showContextMenu): Ditto.
(WebCore::ContextMenuController::maybeCreateContextMenu): Ditto. Also use
make_unique instead of unique_ptr plus new.
(WebCore::openNewWindow): Ditto.
(WebCore::insertUnicodeCharacter): Ditto.
(WebCore::ContextMenuController::contextMenuItemSelected): Ditto.
(WebCore::ContextMenuController::showContextMenuAt): Ditto.
(WebCore::ContextMenuController::showImageControlsMenu): Ditto.
- page/ContextMenuController.h: Updated for the above.
- page/DOMTimer.cpp:
(WebCore::DOMTimer::fired): Pass a reference.
- page/DOMWindow.cpp:
(WebCore::PostMessageTimer::PostMessageTimer): Take Ref&& instead of
PassRefPtr.
(WebCore::DOMWindow::adjustWindowRect): Use a reference.
(WebCore::DOMWindow::allowPopUp): Ditto. Also rewrite to use instead of successive if statements.
(WebCore::DOMWindow::canShowModalDialog): Ditto.
(WebCore::DOMWindow::DOMWindow): Ditto.
(WebCore::DOMWindow::didSecureTransitionTo): Ditto.
(WebCore::DOMWindow::registerProperty): Ditto.
(WebCore::DOMWindow::unregisterProperty): Ditto.
(WebCore::DOMWindow::postMessageTimerFired): Merge with the function
immediately followed, called only from here.
(WebCore::DOMWindow::dispatchMessageEventWithOriginCheck): Deleted.
(WebCore::DOMWindow::print): Pass a reference.
(WebCore::DOMWindow::alert): Ditto.
(WebCore::DOMWindow::confirm): Ditto.
(WebCore::DOMWindow::prompt): Ditto.
(WebCore::DOMWindow::setStatus): Ditto.
(WebCore::DOMWindow::setDefaultStatus): Ditto.
(WebCore::DOMWindow::moveBy): Ditto.
(WebCore::DOMWindow::moveTo): Ditto.
(WebCore::DOMWindow::resizeBy): Ditto.
(WebCore::DOMWindow::resizeTo): Ditto.
(WebCore::DOMWindow::clearTimeout): Ditto.
(WebCore::DOMWindow::incrementScrollEventListenersCount): Ditto.
(WebCore::DOMWindow::decrementScrollEventListenersCount): Ditto.
(WebCore::DOMWindow::showModalDialog): Ditto.
- page/DOMWindow.h: Updated for the above. ALso made functions private
and final.
- page/DOMWindowProperty.cpp:
(WebCore::DOMWindowProperty::DOMWindowProperty): Pass a reference.
(WebCore::DOMWindowProperty::~DOMWindowProperty): Ditto.
(WebCore::DOMWindowProperty::willDestroyGlobalObjectInCachedFrame): Ditto.
(WebCore::DOMWindowProperty::willDestroyGlobalObjectInFrame): Ditto.
- page/DebugPageOverlays.cpp:
(WebCore::RegionOverlay::create): Return RefPtr instead of PassRefPtr.
(WebCore::RegionOverlay::~RegionOverlay): Pass a reference.
(WebCore::DebugPageOverlays::showRegionOverlay): Ditto.
(WebCore::DebugPageOverlays::hideRegionOverlay): Ditto.
- page/DragController.cpp:
(WebCore::DragController::dragExited): Pass a reference.
(WebCore::DragController::performDragOperation): Ditto.
(WebCore::DragController::concludeEditDrag): Ditto.
(WebCore::DragController::tryDHTMLDrag): Ditto.
- page/EventHandler.cpp: Replaced OptionalCursor with std::optional<Cursor>.
(WebCore::EventHandler::updateCursor): Refactor into two functions so we
can share more code with selectCursor.
(WebCore::EventHandler::selectCursor): Updated to use std::optional.
(WebCore::EventHandler::handleMouseMoveEvent): Use the new updateCursor.
(WebCore::EventHandler::startPanScrolling): Use a reference.
(WebCore::EventHandler::updateDragAndDrop): Ditto.
(WebCore::EventHandler::cancelDragAndDrop): Ditto.
(WebCore::EventHandler::performDragAndDrop): Ditto.
(WebCore::EventHandler::setCapturingMouseEventsElement): Take a raw pointer
instead of a PassRefPtr.
(WebCore::EventHandler::dispatchMouseEvent): Use a reference.
(WebCore::EventHandler::updateDragStateAfterEditDragIfNeeded): Ditto.
(WebCore::EventHandler::isKeyboardOptionTab): Ditto.
(WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult): Ditto.
(WebCore::EventHandler::tabsToLinks): Ditto.
- page/EventHandler.h: Updated for the above.
- page/FocusController.cpp:
(WebCore::FocusController::setFocusedFrame): Take pointer instead
of PassRefPtr.
(WebCore::FocusController::setFocusedElement): Take reference instead of
PassRefPtr.
- page/FocusController.h: Updated for the above changes.
- page/FrameTree.cpp:
(WebCore::FrameTree::transferChild): Deleted. Unused function.
(WebCore::FrameTree::appendChild): Merged with the following function
since it's now only used here. Take reference instead of PassRefPtr.
(WebCore::FrameTree::actuallyAppendChild): Deleted.
(WebCore::FrameTree::removeChild): Take reference instead of pointer.
Use move instead of trickier swap.
- page/FrameTree.h: Updated for the above.
- page/FrameView.cpp:
(WebCore::FrameView::setContentsSize): Use a reference.
- page/MainFrame.cpp:
(WebCore::MainFrame::dropChildren): Ditto.
- page/Page.cpp:
(WebCore::Page::scrollingCoordinator): Ditto.
- page/PageOverlay.cpp:
(WebCore::PageOverlay::fadeAnimationTimerFired): Ditto.
- page/PageOverlayController.cpp:
(WebCore::PageOverlayController::installPageOverlay): Take reference
instead of PassRefPtr.
(WebCore::PageOverlayController::uninstallPageOverlay): Take reference
intead of pointer.
- page/PageOverlayController.h: Updated for the above.
- page/PageSerializer.cpp:
(WebCore::PageSerializer::PageSerializer): Moved most initialization to the
class definition.
(WebCore::PageSerializer::serialize): Use reference.
(WebCore::PageSerializer::serializeFrame): Use initializer list instead of
constructor for resource.
(WebCore::PageSerializer::serializeCSSStyleSheet): Ditto.
(WebCore::PageSerializer::addImageToResources): Ditto.
- page/PageSerializer.h: Removed constructors from PageSerializer::Resource
struct since structures don't really need them. Updated for the above.
Changed SerializerMarkupAccumulator into a nested class.
- page/PerformanceEntry.h:
(WebCore::PerformanceEntry::startTimeCompareLessThan): Use const RefPtr&
instead of PassRefPtr to compare RefPtr in place.
- page/PerformanceUserTiming.cpp:
(WebCore::insertPerformanceEntry): Take Ref&& instead of PassRefPtr.
- page/ResourceUsageOverlay.cpp:
(WebCore::ResourceUsageOverlay::~ResourceUsageOverlay): Use refrence.
(WebCore::ResourceUsageOverlay::initialize): Ditto.
- page/animation/AnimationBase.h: Removed unneeded include.
- page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::clear): Use reference.
(WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle): Ditto.
(WebCore::AnimationControllerPrivate::addEventToDispatch): Use the
append function instead of a hand-written alternative.
(WebCore::AnimationControllerPrivate::addElementChangeToDispatch):
Take a reference rather than a Ref&& since no caller is passing ownership.
- page/animation/AnimationControllerPrivate.h: Updated for the above.
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::blendFunc): Return RefPtr instead of PassRefPtr.
(WebCore::blendFilter): Ditto.
(WebCore::crossfadeBlend): Ditto.
- page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::updateTransitions): Updated to use
animationForProperty, which returns a raw pointer.
(WebCore::CompositeAnimation::animationForProperty): Renamed from
getAnimationForProperty and changed to return raw pointer instead
of PassRefPtr.
- page/animation/CompositeAnimation.h: Updated for the above.
- page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::onAnimationEnd): Use animationForProperty.
(WebCore::ImplicitAnimation::sendTransitionEvent): Pass reference.
- page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::sendAnimationEvent): Ditto.
- page/efl/EventHandlerEfl.cpp:
(WebCore::EventHandler::tabsToAllFormControls): Take reference.
(WebCore::EventHandler::createDraggingDataTransfer): Return Ref.
- page/gtk/EventHandlerGtk.cpp:
(WebCore::EventHandler::tabsToAllFormControls): Ditto.
(WebCore::EventHandler::createDraggingDataTransfer): Ditto.
- page/ios/EventHandlerIOS.mm:
(WebCore::EventHandler::tabsToAllFormControls): Ditto.
- page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::createDraggingDataTransfer): Ditto.
(WebCore::EventHandler::tabsToAllFormControls): Ditto.
(WebCore::EventHandler::platformPrepareForWheelEvents): Ditto.
- page/mac/ServicesOverlayController.h: Take Ref&& for ranges instead
of PassRefPtr. Use references.
- page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::Highlight::createForSelection): Ditto.
(WebCore::ServicesOverlayController::Highlight::createForTelephoneNumber): Ditto.
(WebCore::ServicesOverlayController::Highlight::Highlight): Ditto.
(WebCore::ServicesOverlayController::buildPotentialHighlightsIfNeeded): Ditto.
(WebCore::ServicesOverlayController::buildPhoneNumberHighlights): Ditto.
(WebCore::ServicesOverlayController::buildSelectionHighlight): Ditto.
(WebCore::ServicesOverlayController::highlightsAreEquivalent): Ditto.
(WebCore::ServicesOverlayController::findTelephoneNumberHighlightContainingSelectionHighlight): Ditto.
(WebCore::ServicesOverlayController::handleClick): Ditto.
- page/mac/TextIndicatorWindow.mm:
(-[WebTextIndicatorView initWithFrame:textIndicator:margin:offset:]):
Take a reference instead of PassRefPtr.
(WebCore::TextIndicatorWindow::setTextIndicator): Updated for the above.
- page/scrolling/AsyncScrollingCoordinator.h: Use Ref&& and RefPtr intead
of PsasRefPtr.
- page/scrolling/ScrollLatchingState.cpp:
(WebCore::ScrollLatchingState::ScrollLatchingState): Initialize data members
in class definition.
(WebCore::ScrollLatchingState::setWheelEventElement): Use raw pointer instead
of PassRefPtr.
(WebCore::ScrollLatchingState::setPreviousWheelScrolledElement): Use raw
pointer instead of RefPtr&&.
(WebCore::ScrollLatchingState::setScrollableContainer): Use raw pointer instead
of PassRefPtr.
- page/scrolling/ScrollLatchingState.h: Updated for the above.
- page/scrolling/ScrollingStateNode.cpp:
(WebCore::ScrollingStateNode::cloneAndReset): Use Ref instead of PassRefPtr.
(WebCore::ScrollingStateNode::appendChild): Use Ref&& instead of PassRefPtr.
- page/scrolling/ScrollingStateNode.h: Updated for the above.
- page/scrolling/ScrollingStateTree.cpp:
(WebCore::ScrollingStateTree::createNode): Use Ref instead of PassRefPtr.
(WebCore::ScrollingStateTree::attachNode): Updated for the abve.
(WebCore::ScrollingStateTree::commit): Ditto.
- page/scrolling/ScrollingStateTree.h: Ditto.
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::updateTreeFromStateNode): Use reference.
- page/scrolling/ScrollingTree.h: Return Ref instead of PassRefPtr.
- page/scrolling/ScrollingTreeNode.cpp:
(WebCore::ScrollingTreeNode::appendChild): Take Ref&& instead of PassRefPtr.
(WebCore::ScrollingTreeNode::removeChild): Take reference instead of pointer.
- page/scrolling/ScrollingTreeNode.h: Updated for the above.
- page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::ThreadedScrollingTree): Take reference
instead of pointer.
- page/scrolling/ThreadedScrollingTree.h: Updated for the above.
- page/scrolling/ios/ScrollingCoordinatorIOS.mm:
(WebCore::ScrollingCoordinatorIOS::ScrollingCoordinatorIOS): Pass reference.
- page/scrolling/ios/ScrollingTreeIOS.cpp:
(WebCore::ScrollingTreeIOS::create): Take a reference.
(WebCore::ScrollingTreeIOS::ScrollingTreeIOS): Ditto.
(WebCore::ScrollingTreeIOS::createScrollingTreeNode): Return Ref instead of
PassRefPtr.
- page/scrolling/ios/ScrollingTreeIOS.h: Updated for the above.
- page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::ScrollingCoordinatorMac): Use reference.
- page/scrolling/mac/ScrollingTreeMac.cpp:
(ScrollingTreeMac::create): Take a reference.
(ScrollingTreeMac::ScrollingTreeMac): Ditto.
(ScrollingTreeMac::createScrollingTreeNode): Return a Ref instead of a
PassRefPtr.
- page/scrolling/mac/ScrollingTreeMac.h: Updated for the above.
- page/win/EventHandlerWin.cpp:
(WebCore::EventHandler::tabsToAllFormControls): Take reference.
(WebCore::EventHandler::createDraggingDataTransfer): Return Ref.
- platform/Cursor.h: Rearranged the header a bit. Got rid of the explicit
copy constructor, assignment operator, and destructor. Using the ones
that the compiler automatically generates will work for all platforms and
we then also get move constructor and move assignment operator.
- platform/efl/CursorEfl.cpp:
(WebCore::Cursor::Cursor): Deleted.
(WebCore::Cursor::~Cursor): Deleted.
(WebCore::Cursor::operator=): Deleted.
- platform/gtk/CursorGtk.cpp:
(WebCore::Cursor::Cursor): Deleted.
(WebCore::Cursor::operator=): Deleted.
(WebCore::Cursor::~Cursor): Deleted.
- platform/mac/CursorMac.mm:
(WebCore::Cursor::Cursor): Deleted.
(WebCore::Cursor::operator=): Deleted.
(WebCore::Cursor::~Cursor): Deleted.
- platform/win/CursorWin.cpp:
(WebCore::SharedCursor::SharedCursor): Moved this here from the header
since it is only used within this file.
(WebCore::SharedCursor::create): Ditto.
(WebCore::Cursor::Cursor): Deleted.
(WebCore::Cursor::operator=): Deleted.
(WebCore::Cursor::~Cursor): Deleted.
- rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):
Pass reference.
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking): Get to FrameView
through the render tree itself, rather than through the frame.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateLayerForHeader): Use reference.
(WebCore::RenderLayerCompositor::updateLayerForFooter): Ditto.
(WebCore::RenderLayerCompositor::attachRootLayer): Ditto.
(WebCore::RenderLayerCompositor::detachRootLayer): Ditto.
- rendering/RenderMenuList.cpp:
(RenderMenuList::showPopup): Ditto.
- rendering/RenderSearchField.cpp:
(WebCore::RenderSearchField::addSearchResult): Ditto.
(WebCore::RenderSearchField::showPopup): Ditto.
(WebCore::RenderSearchField::valueChanged): Ditto.
- svg/SVGAElement.cpp:
(WebCore::SVGAElement::isKeyboardFocusable): Ditto.
- testing/MockPageOverlayClient.cpp:
(WebCore::MockPageOverlayClient::installOverlay): Ditto.
(WebCore::MockPageOverlayClient::uninstallAllOverlays): Ditto.
Source/WebKit/ios:
- WebCoreSupport/WebChromeClientIOS.h: Update for changes to ChromeClient.
- WebCoreSupport/WebChromeClientIOS.mm:
(WebChromeClientIOS::runJavaScriptAlert): Ditto.
(WebChromeClientIOS::runJavaScriptConfirm): Ditto.
(WebChromeClientIOS::runJavaScriptPrompt): Ditto.
(WebChromeClientIOS::setNeedsScrollNotifications): Ditto.
(WebChromeClientIOS::observedContentChange): Ditto.
(WebChromeClientIOS::clearContentChangeObservers): Ditto.
(WebChromeClientIOS::notifyRevealedSelectionByScrollingFrame): Ditto.
(WebChromeClientIOS::elementDidFocus): Ditto.
(WebChromeClientIOS::elementDidBlur): Ditto.
(WebChromeClientIOS::createPopupMenu): Ditto.
(WebChromeClientIOS::createSearchPopupMenu): Ditto.
(WebChromeClientIOS::attachRootGraphicsLayer): Ditto.
Source/WebKit/mac:
- WebCoreSupport/WebApplicationCacheQuotaManager.mm:
(-[WebApplicationCacheQuotaManager quota]): Pass reference.
- WebCoreSupport/WebChromeClient.h: Updated for changes to ChromeClient.
- WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::focusedElementChanged): Ditto.
(WebChromeClient::createWindow): Ditto.
(WebChromeClient::runBeforeUnloadConfirmPanel): Ditto.
(WebChromeClient::runJavaScriptAlert): Ditto.
(WebChromeClient::runJavaScriptConfirm): Ditto.
(WebChromeClient::runJavaScriptPrompt): Ditto.
(WebChromeClient::contentsSizeChanged): Ditto.
(WebChromeClient::unavailablePluginButtonClicked): Ditto.
(WebChromeClient::print): Ditto.
(WebChromeClient::exceededDatabaseQuota): Ditto.
(WebChromeClient::reachedApplicationCacheOriginQuota): Ditto.
(WebChromeClient::createColorChooser): Ditto.
(WebChromeClient::elementDidFocus): Ditto.
(WebChromeClient::elementDidBlur): Ditto.
(WebChromeClient::createPopupMenu): Ditto.
(WebChromeClient::createSearchPopupMenu): Ditto.
(WebChromeClient::attachRootGraphicsLayer): Ditto.
(WebChromeClient::attachViewOverlayGraphicsLayer): Ditto.
(WebChromeClient::supportsFullScreenForElement): Ditto.
(WebChromeClient::enterFullScreenForElement): Ditto.
(WebChromeClient::exitFullScreenForElement): Ditto.
- WebView/WebFrame.mm:
(+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):
Updated for change to the appendChild function.
Source/WebKit/win:
- Plugins/PluginView.cpp:
(WebCore::PluginView::status): Pass reference.
(WebCore::PluginView::focusPluginElement): Ditto.
- WebCoreSupport/WebChromeClient.cpp:
(WebChromeClient::createWindow): Updated for change to ChromeClient.
(WebChromeClient::runBeforeUnloadConfirmPanel): Ditto.
(WebChromeClient::runJavaScriptAlert): Ditto.
(WebChromeClient::runJavaScriptConfirm): Ditto.
(WebChromeClient::runJavaScriptPrompt): Ditto.
(WebChromeClient::contentsSizeChanged): Ditto.
(WebChromeClient::unavailablePluginButtonClicked): Ditto.
(WebChromeClient::print): Ditto.
(WebChromeClient::exceededDatabaseQuota): Ditto.
(WebChromeClient::reachedApplicationCacheOriginQuota): Ditto.
(WebChromeClient::attachRootGraphicsLayer): Ditto.
(WebChromeClient::attachViewOverlayGraphicsLayer): Ditto.
(WebChromeClient::enterVideoFullscreenForVideoElement): Ditto.
(WebChromeClient::createPopupMenu): Ditto.
(WebChromeClient::createSearchPopupMenu): Ditto.
(WebChromeClient::supportsFullScreenForElement): Ditto.
(WebChromeClient::enterFullScreenForElement): Ditto.
(WebChromeClient::exitFullScreenForElement): Ditto.
(WebChromeClient::shouldUseTiledBackingForFrameView): Ditto.
- WebCoreSupport/WebChromeClient.h: Ditto.
Source/WebKit2:
- UIProcess/Scrolling/RemoteScrollingTree.cpp:
(WebKit::RemoteScrollingTree::createScrollingTreeNode): Return a Ref
instead of PassRefPtr.
- UIProcess/Scrolling/RemoteScrollingTree.h: Updated for the above.
- WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageInstallPageOverlay): Pass a reference.
(WKBundlePageUninstallPageOverlay): Ditto.
(WKBundlePageInstallPageOverlayWithAnimation): Ditto.
(WKBundlePageUninstallPageOverlayWithAnimation): Ditto.
- WebProcess/Plugins/PDF/DeprecatedPDFPlugin.mm:
(WebKit::PDFPlugin::jsPDFDocPrint): Ditto.
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::focusPluginElement): Ditto.
(WebKit::PluginView::setStatusbarText): Ditto.
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::elementDidFocus): Updated for changes to ChromeClient.
(WebKit::WebChromeClient::elementDidBlur): Ditto.
(WebKit::WebChromeClient::makeFirstResponder): Ditto.
(WebKit::WebChromeClient::createWindow): Ditto.
(WebKit::WebChromeClient::runBeforeUnloadConfirmPanel): Ditto.
(WebKit::WebChromeClient::runJavaScriptAlert): Ditto.
(WebKit::WebChromeClient::runJavaScriptConfirm): Ditto.
(WebKit::WebChromeClient::runJavaScriptPrompt): Ditto.
(WebKit::WebChromeClient::contentsSizeChanged): Ditto.
(WebKit::WebChromeClient::unavailablePluginButtonClicked): Ditto.
(WebKit::WebChromeClient::print): Ditto.
(WebKit::WebChromeClient::exceededDatabaseQuota): Ditto.
(WebKit::WebChromeClient::reachedApplicationCacheOriginQuota): Ditto.
(WebKit::WebChromeClient::createColorChooser): Ditto.
(WebKit::WebChromeClient::createPopupMenu): Ditto.
(WebKit::WebChromeClient::createSearchPopupMenu): Ditto.
(WebKit::WebChromeClient::attachRootGraphicsLayer): Ditto.
(WebKit::WebChromeClient::attachViewOverlayGraphicsLayer): Ditto.
(WebKit::WebChromeClient::createScrollingCoordinator): Ditto.
(WebKit::WebChromeClient::supportsFullScreenForElement): Ditto.
(WebKit::WebChromeClient::enterFullScreenForElement): Ditto.
(WebKit::WebChromeClient::exitFullScreenForElement): Ditto.
(WebKit::WebChromeClient::didAddHeaderLayer): Ditto.
(WebKit::WebChromeClient::didAddFooterLayer): Ditto.
(WebKit::WebChromeClient::shouldUseTiledBackingForFrameView): Ditto.
- WebProcess/WebCoreSupport/WebChromeClient.h: Ditto.
- WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
(WebKit::WebChromeClient::elementDidRefocus): Ditto.
(WebKit::WebChromeClient::didReceiveMobileDocType): Ditto.
(WebKit::WebChromeClient::observedContentChange): Ditto.
(WebKit::WebChromeClient::clearContentChangeObservers): Ditto.
(WebKit::WebChromeClient::notifyRevealedSelectionByScrollingFrame): Ditto.
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchCreatePage): Pass reference.
- WebProcess/WebCoreSupport/WebInspectorClient.cpp:
(WebKit::WebInspectorClient::~WebInspectorClient): Ditto.
(WebKit::WebInspectorClient::hideHighlight): Ditto.
(WebKit::WebInspectorClient::showPaintRect): Ditto.
- WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::updateFindUIAfterPageScroll): Ditto.
(WebKit::FindController::hideFindUI): Ditto.
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::createWithCoreMainFrame): Return Ref instead of
PassRefPtr.
(WebKit::WebFrame::createSubframe): Ditto.
(WebKit::WebFrame::create): Ditto.
- WebProcess/WebPage/WebFrame.h: Updated for the above.
- WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::openInNewTab): Pass reference.
- WebProcess/WebPage/ios/FindControllerIOS.mm:
(WebKit::FindController::updateFindIndicator): Use reference.
(WebKit::FindController::hideFindIndicator): Ditto.
- 10:21 PM Changeset in webkit [211032] by
-
- 2 edits in trunk/LayoutTests
Rebaseline WebKit1 results after r211006.
Unreviewed test gardening.
- platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
- 9:13 PM Changeset in webkit [211031] by
-
- 5 edits in tags/Safari-604.1.4.2/Source
Versioning.
- 9:09 PM Changeset in webkit [211030] by
-
- 1 copy in tags/Safari-604.1.4.2
New tag.
- 7:52 PM Changeset in webkit [211029] by
-
- 7 edits in trunk/Source/WebCore
[Cocoa] Unify FontPlatformData's hashing and equality operators
https://bugs.webkit.org/show_bug.cgi?id=167061
Reviewed by Darin Adler.
On iOS, we were using CFEqual() and CFHash(), while on macOS
we were using pointer hashing and pointer equality. Instead,
we should be consistent about these operators.
Right now, FontPlatformData holds two internal CTFontRefs, and
switching to these higher-level CFEqual() and CFHash()
functions is required for eliminating one of these two
internal font objects.
No new tests because there is no behavior change.
- platform/graphics/FontPlatformData.h:
(WebCore::FontPlatformData::hash): Deleted.
- platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::hash):
(WebCore::FontPlatformData::platformIsEqual):
(WebCore::cascadeToLastResortAttributesDictionary):
- platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::hash):
- platform/graphics/win/FontPlatformDataCGWin.cpp:
(WebCore::FontPlatformData::hash):
- platform/graphics/win/FontPlatformDataCairoWin.cpp:
(WebCore::FontPlatformData::hash):
- platform/graphics/win/FontPlatformDataDirect2D.cpp:
(WebCore::FontPlatformData::hash):
- 10:51 AM Changeset in webkit [211028] by
-
- 2 edits in trunk/Source/WebCore
[WebGL] Do not allow GPU muxing on some old Mac hardware
https://bugs.webkit.org/show_bug.cgi?id=167259
<rdar://problem/30060378>
Reviewed by Simon Fraser and Darin Adler.
Some old Macbook Pro models should never use the
integrated GPU for WebGL, because they are unstable
when swapping between that and the discrete GPU.
Unfortunately this hardware configuration isn't in our
testing infrastructure, so it was confirmed manually.
Meanwhile, our existing tests make sure this patch
doesn't break anything elsewhere.
- platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::attachToAppleGraphicsControl): Helper function
to get a mach port that talks to Apple's Graphics Control
system.
(WebCore::hasMuxCapability): Decides whether a system
can do live GPU switching, based on whether or not it
has a muxable GPU, and if that GPU is not the old hardware
we know is problematic.
(WebCore::hasMuxableGPU): Helper to return the static hasMuxCapability value.
(WebCore::setPixelFormat): Only request the integrated card when the
GPU is muxable.
- 9:24 AM Changeset in webkit [211027] by
-
- 29 edits6 copies20 adds1 delete in trunk
Introducing the Platform Abstraction Layer (PAL)
https://bugs.webkit.org/show_bug.cgi?id=143358
Reviewed by Alex Christensen.
.:
- CMakeLists.txt:
- Source/CMakeLists.txt:
- Source/cmake/WebKitFS.cmake:
Source/WebCore:
In order to enforce layering and promote testability, WebCore/platform files
should be compiled in their own project. This new project can enforce layering
and can be tested with unit tests in addition to layout tests.
The name of this new project is the Platform Abstraction Layer, or "PAL."
This comprises of a new directory in WebCore which will be the destination
for files migrated from WebCore/platform. This new folder, and its associated
project, will maintain layering invariants. These invariants are enforced at
build-time by setting the #include path for PAL to not include the rest of
WebCore (which is the same layering enforcement mechanism for WTF). Files will
be migrated into this new target/directory piece-by-piece, and the migration
of a file will be performed as soon as it can be migrated without violating
layering.
Within WebCore, files should include PAL files using the convention
#include <pal/foo.h>. Symbols within PAL are placed within a new top-level
namespace, "PAL," and therefore when used should be referred to as PAL::Foo.
The first set of files to move into the new platform is the crypto/ subdirectory
because it is both simple but also includes platform-dependent files.
No new tests because there is no behavior change.
- CMakeLists.txt:
- Configurations/WebCore.xcconfig: Add PAL to the include path
- PAL/Configurations/Base.xcconfig: Added.
- PAL/Configurations/DebugRelease.xcconfig: Added.
- PAL/Configurations/PAL.xcconfig: Added. Sets up some PAL-specific
variables.
- PAL/Configurations/FeatureDefines.xcconfig: Added.
- PAL/Configurations/Version.xcconfig: Added.
- PAL/PAL.xcodeproj/project.pbxproj: Added. New project file.
- PAL/config.h: Added. Simplified from WebCore/config.h.
- PAL/pal/CMakeLists.txt: Added.
- PAL/pal/PlatformEfl.cmake: Added.
- PAL/pal/PlatformGTK.cmake: Added.
- PAL/pal/PlatformMac.cmake: Added.
- PAL/pal/PlatformWin.cmake: Added.
- PAL/pal/crypto/CryptoDigest.h: Renamed from Source/WebCore/platform/crypto/CryptoDigest.h.
- PAL/pal/crypto/commoncrypto/CryptoDigestCommonCrypto.cpp: Renamed from Source/WebCore/platform/crypto/commoncrypto/CryptoDigestCommonCrypto.cpp.
- PAL/pal/crypto/gcrypt/CryptoDigestGCrypt.cpp: Renamed from Source/WebCore/platform/crypto/gcrypt/CryptoDigestGCrypt.cpp.
- PAL/pal/crypto/gnutls/CryptoDigestGnuTLS.cpp: Renamed from Source/WebCore/platform/crypto/gnutls/CryptoDigestGnuTLS.cpp.
- PAL/pal/crypto/win/CryptoDigestWin.cpp: Renamed from Source/WebCore/platform/crypto/win/CryptoDigestWin.cpp.
- PlatformEfl.cmake:
- PlatformGTK.cmake:
- PlatformMac.cmake:
- PlatformWin.cmake:
- WebCore.xcodeproj/project.pbxproj: Create a project link so WebCore
knows that it needs to build PAL as a dependency.
- crypto/algorithms/CryptoAlgorithmSHA1.cpp:
(WebCore::CryptoAlgorithmSHA1::digest): Update #include and namespace.
- crypto/algorithms/CryptoAlgorithmSHA224.cpp:
(WebCore::CryptoAlgorithmSHA224::digest): Ditto.
- crypto/algorithms/CryptoAlgorithmSHA256.cpp:
(WebCore::CryptoAlgorithmSHA256::digest): Ditto.
- crypto/algorithms/CryptoAlgorithmSHA384.cpp:
(WebCore::CryptoAlgorithmSHA384::digest): Ditto.
- crypto/algorithms/CryptoAlgorithmSHA512.cpp:
(WebCore::CryptoAlgorithmSHA512::digest): Ditto.
- crypto/mac/CryptoAlgorithmRSASSA_PKCS1_v1_5Mac.cpp:
(WebCore::cryptoDigestAlgorithm): Ditto.
(WebCore::signRSASSA_PKCS1_v1_5): Ditto.
(WebCore::verifyRSASSA_PKCS1_v1_5): Ditto.
- inspector/InspectorDOMAgent.cpp:
(WebCore::computeContentSecurityPolicySHA256Hash): Ditto.
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::toCryptoDigestAlgorithm): Ditto.
(WebCore::ContentSecurityPolicy::findHashOfContentInPolicies): Ditto.
- platform/network/soup/SoupNetworkSession.cpp:
(WebCore::HostTLSCertificateSet::computeCertificateHash): Ditto.
- 12:29 AM Changeset in webkit [211026] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] Clear out m_appsinkCaps in AppendPipeline::appsinkCapsChanged() before using outPtr()
https://bugs.webkit.org/show_bug.cgi?id=167165
Reviewed by Carlos Garcia Campos.
- platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::AppendPipeline::appsinkCapsChanged): Replace the gst_caps_replace() call
with a simple comparison and, in case the current appsink caps differ from the caps
on the sink's pad, move the reference to the latter into the m_appsinkCaps member
variable. This removes the use of GRefPtr<>::outPtr() which asserted in debug
configurations in the case of m_appsinkCaps not being null.