Timeline
Feb 11, 2016:
- 11:28 PM Changeset in webkit [196466] by
-
- 88 edits in trunk
[Web IDL] interfaces should inherit EventTarget instead of duplicating the EventTarget API
https://bugs.webkit.org/show_bug.cgi?id=154121
<rdar://problem/24613234>
Reviewed by Gavin Barraclough.
LayoutTests/imported/w3c:
Rebaseline several W3C tests now that more checks are passing.
- web-platform-tests/dom/interfaces-expected.txt:
- web-platform-tests/html/dom/interfaces-expected.txt:
Source/WebCore:
Interfaces should inherit EventTarget instead of duplicating the
EventTarget API in their IDL. Not only the duplication is ugly and
error-prone, but this also does not match the specifications and
have subtle web-exposed differences.
This patch takes care of all interfaces except for DOMWindow and
WorkerGlobalScope. Those will be updated in the follow-up patch
as they will require a little bit more work and testing.
We should also be able to get rid of the [EventTarget] WebKit IDL
attribute in a follow-up.
No new tests, already covered by existing tests.
- Modules/battery/BatteryManager.idl:
- Modules/encryptedmedia/MediaKeySession.idl:
- Modules/indexeddb/IDBDatabase.h:
- Modules/indexeddb/IDBDatabase.idl:
- Modules/indexeddb/IDBRequest.h:
- Modules/indexeddb/IDBRequest.idl:
- Modules/indexeddb/IDBTransaction.h:
- Modules/indexeddb/IDBTransaction.idl:
- Modules/mediasession/MediaRemoteControls.idl:
- Modules/mediasource/MediaSource.h:
- Modules/mediasource/MediaSource.idl:
- Modules/mediasource/SourceBuffer.h:
- Modules/mediasource/SourceBuffer.idl:
- Modules/mediasource/SourceBufferList.h:
- Modules/mediasource/SourceBufferList.idl:
- Modules/mediastream/MediaStream.h:
- Modules/mediastream/MediaStream.idl:
- Modules/mediastream/MediaStreamTrack.h:
- Modules/mediastream/MediaStreamTrack.idl:
- Modules/mediastream/RTCDTMFSender.h:
- Modules/mediastream/RTCDTMFSender.idl:
- Modules/mediastream/RTCDataChannel.h:
- Modules/mediastream/RTCDataChannel.idl:
- Modules/mediastream/RTCPeerConnection.h:
- Modules/mediastream/RTCPeerConnection.idl:
- Modules/notifications/Notification.idl:
- Modules/speech/SpeechSynthesisUtterance.idl:
- Modules/webaudio/AudioContext.idl:
- Modules/webaudio/AudioNode.idl:
- Modules/websockets/WebSocket.idl:
- css/FontLoader.idl:
- dom/EventTarget.h:
- dom/MessagePort.idl:
- dom/Node.h:
- dom/Node.idl:
- dom/WebKitNamedFlow.idl:
- fileapi/FileReader.idl:
- html/MediaController.idl:
- html/track/AudioTrackList.idl:
- html/track/TextTrack.idl:
- html/track/TextTrackCue.idl:
- html/track/TextTrackList.idl:
- html/track/VideoTrackList.idl:
- loader/appcache/DOMApplicationCache.h:
- loader/appcache/DOMApplicationCache.idl:
- page/EventSource.idl:
- page/Performance.h:
- page/Performance.idl:
- workers/Worker.idl:
- xml/XMLHttpRequest.h:
- xml/XMLHttpRequest.idl:
- xml/XMLHttpRequestUpload.idl:
- Drop hardcoded EventTarget operations and inherit EventTarget instead.
- Drop JSGenerateToNativeObject / JSGenerateToJSObject IDL extended attributes for interfaces inheriting the EventTarget interface as the bindings generator now does this automatically for us.
- On native side, have EventTarget subclass ScriptWrappable instead of each of its subclasses doing so. The issue was that EventTargetOwner::finalize() was calling uncacheWrapper() with an EventTarget*, which would not clear inlined cached wrapped (see clearInlineCachedWrapper()) because EventTarget did not subclass ScriptWrappable. However, cacheWrapper() is called is a specific subtype pointer (e.g. Node*) and we would decide to create an inline cached wrapper because Node subclassed ScriptWrappable (as well as EventTarget).
- WebCore.xcodeproj/project.pbxproj:
Export JSEventTarget.h as private header to fix the build.
- bindings/js/JSDOMBinding.h:
(WebCore::wrapperKey):
(WebCore::getCachedWrapper):
(WebCore::cacheWrapper):
(WebCore::uncacheWrapper):
Use new wrapperKey() function that is generated for each bindings
class that also has wrapperOwner(). This is used instead of the
C cast to void* in order to cast to the base wrapped type to fix
issues with multiple inheritance. The issue was that cacheWrapper()
was getting called with a DOM object subtype pointer (e.g.
AudioContext*) but uncacheWrapper() was getting called with a base
wrapped type pointer (e.g. EventTarget*). Most of our DOM classes
use multiple inheritance and thus the pointer values (used as keys
in the weak map) may differ.
- bindings/js/JSTrackCustom.cpp:
(WebCore::toJS):
Call CREATE_DOM_WRAPPER() with an actual wrapped type (e.g. AudioTrack)
instead of TrackBase type. TrackBase does not have corresponding
generated bindings and therefore does not have a wrapperKey()
function.
- bindings/scripts/CodeGeneratorJS.pm:
(ShouldGenerateToWrapped):
(ShouldGenerateToJSDeclaration):
(GenerateHeader):
- Generate a wrapperKey() utility function along-side wrapperOwner() to help cast to the base wrapped type.
- Generate toWrapped() / toJS() utility functions for interfaces that inherit EventTarget as those are required by our implementation and this avoids having to explicitly have them in the IDL.
- bindings/scripts/test/*:
Rebaseline bindings tests.
LayoutTests:
Rebaseline a couple of layout tests now that interfaces inherit EventTarget
instead of duplicating the EventTarget API in their IDL.
- fast/dom/Window/window-properties-performance-expected.txt:
- fast/dom/prototype-chain-expected.txt:
- 9:21 PM Changeset in webkit [196465] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Land the change that was supposed to be the part of r196463.
- public/v3/pages/analysis-task-page.js:
(AnalysisTaskPage.prototype._didFetchTestGroups): Select the latest test group by default.
- 9:17 PM Changeset in webkit [196464] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: SourceCodeTextEditor close() generates removeEventListener warnings
https://bugs.webkit.org/show_bug.cgi?id=154150
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-02-11
Reviewed by Timothy Hatcher.
- UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype.close):
Remove the event listeners in the cases that we would have added them.
If we have SourceMap information we should remove the key listener,
and if we don't we should remove the SourceMapAdded listener.
- 9:14 PM Changeset in webkit [196463] by
-
- 7 edits in trunk/Websites/perf.webkit.org
Refine v3 UI's analysis task page
https://bugs.webkit.org/show_bug.cgi?id=154152
Reviewed by Chris Dumez.
This patch makes the following refinements to the analysis task page:
- Always show the relative different of in-progress A/B testing.
- Make the annotations (colored bars) in the chart open other analysis tasks.
- Order the A/B testing groups in the reverse chronological order.
- Select the time range corresponding to the current test group.
- public/v3/components/analysis-results-viewer.js:
(AnalysisResultsViewer.cssTemplate): Fixed the bug that pending and running testing groups are no longer
colored after r196440. Use a slightly more opaque color for currently running groups compared to pending ones.
- public/v3/components/chart-pane-base.js:
(ChartPaneBase.prototype.setMainSelection): Added.
(ChartPaneBase.prototype._openAnalysisTask): Moved the code from ChartPane._openAnalysisTask so that it can be
reused in both AnalysisTaskChartPane and ChartPane (in charts page).
(ChartPaneBase.prototype.router): Added. Overridden by each subclass.
- public/v3/components/test-group-results-table.js:
(TestGroupResultsTable.prototype.buildRowGroups): Always show the summary (relative difference of A to B) as
long as there are some results in each set.
- public/v3/models/test-group.js:
(TestGroup.prototype.compareTestResults): Always set .label and .fullLabel with the relative change as long as
there are some values. Keep using "pending" and "running" in .status since that would determine the color of
stacking blocks representing those A/B testing groups.
- public/v3/pages/analysis-task-page.js:
(AnalysisTaskChartPane):
(AnalysisTaskChartPane.prototype.setPage): Added.
(AnalysisTaskChartPane.prototype.router): Added.
(AnalysisTaskPage):
(AnalysisTaskPage.prototype.render): Show the list of A/B testing groups in the reverse chronological order.
Also set the main chart's selection to the time range of the current test group.
- public/v3/pages/chart-pane.js:
(ChartPane.prototype.router): Added.
(ChartPane.prototype._openAnalysisTask): Moved to ChartPaneBase.prototype._openAnalysisTask.
- 7:24 PM Changeset in webkit [196462] by
-
- 2 edits in trunk/Source/WebKit
Fix internal Windows build.
rdar://problem/24622882
- WebKit.vcxproj/WebKit.proj:
Don't define DEBUG_SUFFIX in release builds.
- 5:30 PM Changeset in webkit [196461] by
-
- 11 edits2 deletes in trunk/Source/WebKit2
Unreviewed, rolling out r196453.
https://bugs.webkit.org/show_bug.cgi?id=154142
This change broke internal iOS builds (Requested by ryanhaddad
on #webkit).
Reverted changeset:
"Move Download authentication code to AuthenticationManager"
https://bugs.webkit.org/show_bug.cgi?id=154132
http://trac.webkit.org/changeset/196453
Patch by Commit Queue <commit-queue@webkit.org> on 2016-02-11
- 5:05 PM Changeset in webkit [196460] by
-
- 3 edits in trunk/Source/WebCore
Optimize texture-complete checks
https://bugs.webkit.org/show_bug.cgi?id=98308
Reviewed by Dean Jackson.
No new tests: No change in behavior.
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::initializeNewContext): Initially consider all
textures as suspect.
(WebCore::WebGLRenderingContextBase::extensions): New helper function.
(WebCore::WebGLRenderingContextBase::reshape): Mark textures as invalid when appropriate.
(WebCore::WebGLRenderingContextBase::bindTexture): Identify invalid textures and mark
them for later fix-up. Likewise, remove 'known good' textures from the fix-up pass.
(WebCore::WebGLRenderingContextBase::deleteTexture): Remove instances of the deleted texture
from our set of invalid textures.
(WebCore::WebGLRenderingContextBase::checkTextureCompleteness): Only iterate through
the 'bad' textures, rather than checking every single texture.
- html/canvas/WebGLRenderingContextBase.h:
- 5:05 PM Changeset in webkit [196459] by
-
- 2 edits1 add in trunk/Websites/perf.webkit.org
Add a script to process backlogs created while perf dashboard was in the maintenance mode
https://bugs.webkit.org/show_bug.cgi?id=154140
Reviewed by Chris Dumez.
Added a script to process the backlog JSONs created while the perf dashboard was put in the maintenance mode.
It re-submits each JSON file to the perf dashboard using the same server config file used by syncing scripts.
- public/include/report-processor.php:
(TestRunsGenerator::test_value_list_to_values_by_iterations): Fixed a bug in the error message code. It was
referencing an undeclared variable.
- tools/process-maintenance-backlog.py: Added.
- 4:59 PM Changeset in webkit [196458] by
-
- 3 edits in trunk/Source/WTF
Need WTFCrash workaround for shipping SafariForWebKitDevelopment binaries.
https://bugs.webkit.org/show_bug.cgi?id=154125
Reviewed by Joseph Pecoraro.
Presently shipping SafariForWebKitDevelopment binaries still expect to link to a
WTFCrash function. We need to provide this function as a workaround until we can
update SafariForWebKitDevelopment to use the new inlined version.
We do this by doing:
- Make WTFCrashImpl() the sole function for implementing a crash. The CRASH() macro is now defined to be WTFCrashImpl() instead of WTFCrash().
- Renamed the legacy WTFCrash() to WTFCrashImpl() for debug or non-Darwin builds. For (non-debug && OS(DARWIN)) builds, WTFCrashImpl() will be an inlined function with an asm statement that issues a breakpoint trap.
- Implement WTFCrash() as a function that calls CRASH(). This satisfies the need of shipping SafariForWebKitDevelopment binaries.
- Change WTFCrashWithSecurityImplication() to call CRASH(). This ensures that we have a consistent implementation of how we crash.
- Changed WTFLogAlwaysAndCrash() to call CRASH() instead of WTFCrash(). This is just to have consistency in that all code in the WebKit project now crashes by calling CRASH(), not WTFCrash().
- wtf/Assertions.cpp:
- wtf/Assertions.h:
- 4:40 PM Changeset in webkit [196457] by
-
- 2 edits in trunk/Source/WebKit2
Use the system PluginProcess.app for generating plug-in MIME type preferences
https://bugs.webkit.org/show_bug.cgi?id=154139
Reviewed by Dan Bernstein.
- UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::createPropertyListFile):
- 4:31 PM Changeset in webkit [196456] by
-
- 10 edits in trunk/Source
EditingRangeIsRelativeTo::Document and NSRangeIsRelativeTo::Document should
be called EditableRoot instead
https://bugs.webkit.org/show_bug.cgi?id=154138
Reviewed by Alexey Proskuryakov.
EditableRoot is much more accurate than Document.
Source/WebKit/mac:
- WebView/WebFrame.mm:
(-[WebFrame _convertToDOMRange:]):
(-[WebFrame _convertToDOMRange:rangeIsRelativeTo:]):
- WebView/WebFrameInternal.h:
- WebView/WebHTMLView.mm:
(-[WebHTMLView insertText:]):
Source/WebKit2:
- Shared/EditingRange.h:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::insertText):
(WebKit::WebViewImpl::selectedRangeWithCompletionHandler):
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::rangeFromEditingRange):
- WebProcess/WebPage/WebPage.h:
- 4:17 PM Changeset in webkit [196455] by
-
- 2 edits in trunk/Source/WebCore
Assert that IDBTransaction::transitionedToFinishing transitions to finishing.
https://bugs.webkit.org/show_bug.cgi?id=154061
- Modules/indexeddb/client/IDBTransactionImpl.cpp:
(WebCore::IDBClient::IDBTransaction::transitionedToFinishing):
Added assertion that we are transitioning to a finished or finishing state, based on Darin's feedback.
- 4:02 PM Changeset in webkit [196454] by
-
- 5 edits in trunk/Source/JavaScriptCore
Web Inspector: RemoteInspector's listings should include whether an AutomationTarget is paired
https://bugs.webkit.org/show_bug.cgi?id=154077
<rdar://problem/24589133>
Reviewed by Joseph Pecoraro.
Instead of not generating a listing for the target when it is occupied,
generate the listing with a 'paired' flag. The old flag was redundant
because a _WKAutomationDelegate will not create a session if it doesn't
support automation or it already has an active session.
- inspector/remote/RemoteAutomationTarget.cpp:
(Inspector::RemoteAutomationTarget::setIsPaired):
(Inspector::RemoteAutomationTarget::setAutomationAllowed): Deleted.
- inspector/remote/RemoteAutomationTarget.h:
Return false for remoteControlAllowed() if the target is already paired.
This function is used by RemoteInspector to deny incoming connections.
- inspector/remote/RemoteInspector.mm:
(Inspector::RemoteInspector::listingForAutomationTarget):
- inspector/remote/RemoteInspectorConstants.h:
- 4:02 PM Changeset in webkit [196453] by
-
- 11 edits4 adds in trunk/Source/WebKit2
Move Download authentication code to AuthenticationManager
https://bugs.webkit.org/show_bug.cgi?id=154132
Reviewed by Sam Weinig.
When a video element makes a request that receives an authentication challenge, the
AuthenticationManager receives an AuthenticationChallenge without an AuthenticationClient.
As a result, Download::receivedCredential and other functions were being called, which
sent a message to the challenge's sender. This functionality is not specific to downloads,
so I moved it from Download to AuthenticationManager.
This fixes http/tests/media/video-auth.html when using NetworkSession
because I use AuthenticationManager::receivedCredential if there is no AuthenticationClient
instead of improperly asserting that there is always an AuthenticationClient if there is no
completionHandler.
- NetworkProcess/Downloads/Download.h:
- NetworkProcess/Downloads/ios/DownloadIOS.mm:
(WebKit::Download::platformDidFinish):
(WebKit::Download::receivedCredential): Deleted.
(WebKit::Download::receivedRequestToContinueWithoutCredential): Deleted.
(WebKit::Download::receivedCancellation): Deleted.
(WebKit::Download::receivedRequestToPerformDefaultHandling): Deleted.
(WebKit::Download::receivedChallengeRejection): Deleted.
- NetworkProcess/Downloads/mac/DownloadMac.mm:
(WebKit::Download::platformDidFinish):
(WebKit::Download::receivedCredential): Deleted.
(WebKit::Download::receivedRequestToContinueWithoutCredential): Deleted.
(WebKit::Download::receivedCancellation): Deleted.
(WebKit::Download::receivedRequestToPerformDefaultHandling): Deleted.
(WebKit::Download::receivedChallengeRejection): Deleted.
- NetworkProcess/Downloads/soup/DownloadSoup.cpp:
(WebKit::Download::platformDidFinish):
(WebKit::Download::receivedCredential): Deleted.
(WebKit::Download::receivedRequestToContinueWithoutCredential): Deleted.
(WebKit::Download::receivedCancellation): Deleted.
(WebKit::Download::continueWithoutCredential): Deleted.
(WebKit::Download::useCredential): Deleted.
(WebKit::Download::cancelAuthenticationChallenge): Deleted.
(WebKit::Download::receivedRequestToPerformDefaultHandling): Deleted.
(WebKit::Download::receivedChallengeRejection): Deleted.
- PlatformEfl.cmake:
- PlatformGTK.cmake:
- PlatformMac.cmake:
- Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
(WebKit::AuthenticationManager::useCredentialForSingleChallenge):
(WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
(WebKit::AuthenticationManager::continueWithoutCredentialForSingleChallenge):
(WebKit::AuthenticationManager::cancelChallenge):
(WebKit::AuthenticationManager::cancelSingleChallenge):
(WebKit::AuthenticationManager::performDefaultHandling):
(WebKit::AuthenticationManager::performDefaultHandlingForSingleChallenge):
(WebKit::AuthenticationManager::rejectProtectionSpaceAndContinue):
(WebKit::AuthenticationManager::rejectProtectionSpaceAndContinueForSingleChallenge):
- Shared/Authentication/AuthenticationManager.h:
(WebKit::AuthenticationManager::outstandingAuthenticationChallengeCount):
- Shared/Authentication/cocoa: Added.
- Shared/Authentication/cocoa/AuthenticationManagerCocoa.mm: Added.
(WebKit::AuthenticationManager::receivedCredential):
(WebKit::AuthenticationManager::receivedRequestToContinueWithoutCredential):
(WebKit::AuthenticationManager::receivedCancellation):
(WebKit::AuthenticationManager::receivedRequestToPerformDefaultHandling):
(WebKit::AuthenticationManager::receivedChallengeRejection):
- Shared/Authentication/soup: Added.
- Shared/Authentication/soup/AuthenticationManagerSoup.cpp: Added.
(WebKit::AuthenticationManager::receivedCredential):
(WebKit::AuthenticationManager::receivedRequestToContinueWithoutCredential):
(WebKit::AuthenticationManager::receivedCancellation):
(WebKit::AuthenticationManager::receivedRequestToPerformDefaultHandling):
(WebKit::AuthenticationManager::receivedChallengeRejection):
- WebKit2.xcodeproj/project.pbxproj:
- 3:39 PM Changeset in webkit [196452] by
-
- 18 edits in trunk/Source
Soft spaces are often tracked in the wrong spot
https://bugs.webkit.org/show_bug.cgi?id=154127
-and corresponding-
rdar://problem/24493140
Reviewed by Sam Weinig.
Soft spaces are in the wrong space now for two reasons. First of all, the
NSRange we get from the accepted candidate is relative to the paragraph
start, so without this patch, soft spaces are only ever right for the first
paragraph. Secondly, if focus changes for any reason other than text
insertion, soft spaces are also wrong because they need to be re-set.
Source/WebKit/mac:
New version of _convertToDOMRange takes a NSRangeIsRelativeTo so that it can
handle ranges relative to both the document and the paragraph.
- WebView/WebFrame.mm:
(-[WebFrame _convertToDOMRange:rangeIsRelativeTo:]):
(-[WebFrame _convertNSRangeToDOMRange:]):
New enum NSRangeIsRelativeTo.
- WebView/WebFrameInternal.h:
Re-set the softSpaceRange on selection changes so long as the WebCore::Editor
is not currently handling an accepted candidate.
- WebView/WebHTMLView.mm:
(-[WebHTMLView _selectionChanged]):
If needToRemoveSoftSpace is true, then the replacementRange is
relative to the paragraph.
(-[WebHTMLView insertText:]):
Source/WebKit2:
New enum can be used to indicate what an EditingRange is relative to.
- Shared/EditingRange.h:
(WebKit::EditingRange::EditingRange):
didHandleAcceptedCandidate is a new message that gets sent from the
WebProcess. This lets us track a bool m_isHandlingAcceptedCandidate.
- UIProcess/Cocoa/WebViewImpl.h:
(WebKit::WebViewImpl::didHandleAcceptedCandidate):
Re-set the m_softSpaceRange on selection changes so long as
m_isHandlingAcceptedCandidate is false.
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::selectionDidChange):
Set m_isHandlingAcceptedCandidate to true.
(WebKit::WebViewImpl::handleAcceptedCandidate):
Set m_isHandlingAcceptedCandidate to false.
(WebKit::WebViewImpl::didHandleAcceptedCandidate):
insertTextAsync takes a new parameter indicating what the replacementRange is
relative to. If needToRemoveSoftSpace is true, then the replacementRange is
relative to the paragraph.
(WebKit::WebViewImpl::insertText):
Pipe didHandleAcceptedCandidate through to WebViewImpl.
- UIProcess/PageClient.h:
insertTextAsync takes an EditingRangeIsRelativeTo.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::insertTextAsync):
Pipe didHandleAcceptedCandidate through to WebViewImpl.
(WebKit::WebPageProxy::didHandleAcceptedCandidate):
- UIProcess/WebPageProxy.h:
New message lets the WebProcess tell the UIProcess when the candidate has
been accepted.
- UIProcess/WebPageProxy.messages.in:
Pipe didHandleAcceptedCandidate through to WebViewImpl.
- UIProcess/mac/PageClientImpl.h:
- UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::didHandleAcceptedCandidate):
insertTextAsync takes an EditingRangeIsRelativeTo. Pass that through to
rangeFromEditingRange to get the correct range.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::insertTextAsync):
Use the EditingRangeIsRelativeTo to find the right WebCore::Range.
(WebKit::WebPage::rangeFromEditingRange):
Take EditingRangeIsRelativeTo in a few places.
- WebProcess/WebPage/WebPage.h:
InsertTextAsync takes a EditingRangeIsRelativeTo.
- WebProcess/WebPage/WebPage.messages.in:
Send didHandleAccpetedCandidate to the UIProcess
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::handleAcceptedCandidate):
- 3:17 PM Changeset in webkit [196451] by
-
- 2 edits in tags/Safari-602.1.18.0.4/Source/WebCore
Merged r196445. rdar://problem/24511860
- 3:13 PM Changeset in webkit [196450] by
-
- 5 edits in tags/Safari-602.1.18.8/Source
Versioning.
- 3:12 PM Changeset in webkit [196449] by
-
- 5 edits in tags/Safari-602.1.18.0.4/Source
Versioning.
- 3:11 PM Changeset in webkit [196448] by
-
- 1 copy in tags/Safari-602.1.18.8
New tag.
- 3:07 PM Changeset in webkit [196447] by
-
- 1 copy in tags/Safari-602.1.18.0.4
New tag.
- 3:06 PM Changeset in webkit [196446] by
-
- 4 edits in trunk/Source/JavaScriptCore
DFG::ByteCodeParser needs to null check the result of presenceLike()
https://bugs.webkit.org/show_bug.cgi?id=154135
rdar://problem/24291586
Reviewed by Geoffrey Garen.
ByteCodeParser::presenceLike() could return a null object property condition if it detects a
contradiction. That could happen due to bogus profiling. It's totally OK - we just need to
bail from using a property condition when that happens.
- bytecode/ObjectPropertyCondition.h:
(JSC::ObjectPropertyCondition::equivalence):
(JSC::ObjectPropertyCondition::operator bool):
(JSC::ObjectPropertyCondition::object):
(JSC::ObjectPropertyCondition::condition):
(JSC::ObjectPropertyCondition::operator!): Deleted.
- bytecode/PropertyCondition.h:
(JSC::PropertyCondition::equivalence):
(JSC::PropertyCondition::operator bool):
(JSC::PropertyCondition::kind):
(JSC::PropertyCondition::uid):
(JSC::PropertyCondition::operator!): Deleted.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::check):
(JSC::DFG::ByteCodeParser::load):
- 3:04 PM Changeset in webkit [196445] by
-
- 2 edits in trunk/Source/WebCore
WebContent process crashes when performing data detection on content with existing data detector links.
https://bugs.webkit.org/show_bug.cgi?id=154118
rdar://problem/24511860
Reviewed by Tim Horton.
The DOM mutation caused by removing the existing links, can shift the range endpoints.
We now save the range enpoints as positions so that we can recreate the ranges,
if a DOM mutation occurred.
- editing/cocoa/DataDetection.mm:
(WebCore::removeResultLinksFromAnchor):
(WebCore::searchForLinkRemovingExistingDDLinks):
(WebCore::DataDetection::detectContentInRange):
- 3:01 PM Changeset in webkit [196444] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] SqrtFloat and CeilFloat also suffer from partial register stalls
https://bugs.webkit.org/show_bug.cgi?id=154131
Reviewed by Filip Pizlo.
Looks like I forgot to update this when adding Float support.
Credit to Filip for finding this issue.
- b3/air/AirFixPartialRegisterStalls.cpp:
- 2:52 PM Changeset in webkit [196443] by
-
- 3 edits in trunk/Websites/perf.webkit.org
AnalysisResultsViewer never uses this._smallerIsBetter
https://bugs.webkit.org/show_bug.cgi?id=154134
Reviewed by Chris Dumez.
Removed the unused instance variable _smallerIsBetter from AnalysisResultsViewer and TestGroupStackingBlock.
- public/v3/components/analysis-results-viewer.js:
(AnalysisResultsViewer): Removed the unused _smallerIsBetter.
(AnalysisResultsViewer.prototype.setSmallerIsBetter): Deleted.
(AnalysisResultsViewer.prototype.buildRowGroups):
(AnalysisResultsViewer.TestGroupStackingBlock): Removed the unused _smallerIsBetter.
- public/v3/pages/analysis-task-page.js:
(AnalysisTaskPage.prototype._didFetchTask):
- 2:34 PM Changeset in webkit [196442] by
-
- 9 edits in trunk/Source/WebCore
Make MediaResourceLoader behave more like a CachedResourceLoader.
https://bugs.webkit.org/show_bug.cgi?id=154117
Reviewed by Alex Christensen.
MediaResourceLoader currently can only handle a single request at a time. Split the class
into two, MediaResourceLoader and MediaResource, effectively wrapping CachedResourceLoader
and CachedRawResource respectively. With this devision, the same loader can be used to issue
multiple simultaneous resource requests.
This necessecitates splitting PlatformMediaResource into two classes as well. To simplify
the HTMLMediaElement, MediaPlayer, and MediaPlayerClient APIs, do not require a client
object when creating the loader; instead, the client is required to create the resource.
This also matches the CachedRawResource API.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerCreateResourceLoader): Remove the client parameter.
- html/HTMLMediaElement.h:
- loader/MediaResourceLoader.cpp:
(WebCore::MediaResourceLoader::MediaResourceLoader):
(WebCore::MediaResourceLoader::~MediaResourceLoader):
(WebCore::MediaResourceLoader::requestResource): Renamed from start().
(WebCore::MediaResourceLoader::removeResource): Remove resource from live resource list.
(WebCore::MediaResource::create): Utility factory.
(WebCore::MediaResource::MediaResource):
(WebCore::MediaResource::~MediaResource):
(WebCore::MediaResource::stop): Moved from MediaResourceLoader.
(WebCore::MediaResource::setDefersLoading): Ditto.
(WebCore::MediaResource::responseReceived): Ditto.
(WebCore::MediaResource::redirectReceived): Ditto.
(WebCore::MediaResource::dataSent): Ditto.
(WebCore::MediaResource::dataReceived): Ditto.
(WebCore::MediaResource::notifyFinished): Ditto.
(WebCore::MediaResource::getOrCreateReadBuffer): Ditto.
- loader/MediaResourceLoader.h:
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::createResourceLoader):
- platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerCreateResourceLoader):
- platform/graphics/PlatformMediaResourceLoader.h:
(WebCore::PlatformMediaResourceClient::~PlatformMediaResourceClient): Renamed from PlatformMediaResourceLoaderClient.
(WebCore::PlatformMediaResourceClient::responseReceived): Client methods now take a reference to the resource.
(WebCore::PlatformMediaResourceClient::redirectReceived): Ditto.
(WebCore::PlatformMediaResourceClient::dataSent): Ditto.
(WebCore::PlatformMediaResourceClient::dataReceived): Ditto.
(WebCore::PlatformMediaResourceClient::accessControlCheckFailed): Ditto.
(WebCore::PlatformMediaResourceClient::loadFailed): Ditto.
(WebCore::PlatformMediaResourceClient::loadFinished): Ditto.
(WebCore::PlatformMediaResourceClient::getOrCreateReadBuffer): Ditto.
(WebCore::PlatformMediaResourceLoader::PlatformMediaResourceLoader): Ditto.
(WebCore::PlatformMediaResource::PlatformMediaResource):
(WebCore::PlatformMediaResource::~PlatformMediaResource):
(WebCore::PlatformMediaResource::setClient):
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcStart):
(webKitWebSrcNeedData):
(webKitWebSrcEnoughData):
(CachedResourceStreamingClient::getOrCreateReadBuffer):
(CachedResourceStreamingClient::responseReceived):
(CachedResourceStreamingClient::dataReceived):
(CachedResourceStreamingClient::accessControlCheckFailed):
(CachedResourceStreamingClient::loadFailed):
(CachedResourceStreamingClient::loadFinished):
- 2:28 PM Changeset in webkit [196441] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Build fix after r196440.
- public/v3/models/test-group.js:
(TestGroup.prototype.addBuildRequest): Clear the map instead of setting the property to null.
- 2:17 PM Changeset in webkit [196440] by
-
- 9 edits in trunk/Websites/perf.webkit.org
Perf dashboard should have UI to retry A/B testing
https://bugs.webkit.org/show_bug.cgi?id=154090
Reviewed by Chris Dumez.
Added a button to re-try an existing A/B testing group with a custom repetition count. The same button functions
as a way of confirming the progression/regression when there have been no A/B testing scheduled in the task.
Also fixed the bug that A/B testing groups that have been waiting for other test groups will be shown as "running".
- public/v3/components/results-table.js:
(ResultsTable.cssTemplate): Don't pad the list of extra repositories when it's empty.
- public/v3/components/test-group-results-table.js:
(TestGroupResultsTable.prototype.buildRowGroups): Use TestGroup.labelForRootSet instead of manually
computing the letter for each configuration set.
- public/v3/models/build-request.js:
(BuildRequest.prototype.hasStarted): Added.
- public/v3/models/data-model.js:
(DataModelObject.ensureSingleton): Added.
(DataModelObject.cachedFetch): Added noCache option. This is used when re-fetching the test groups after
creating one.
- public/v3/models/measurement-cluster.js:
(MeasurementCluster.prototype.startTime): Added.
- public/v3/models/measurement-set.js:
(MeasurementSet.prototype.hasFetchedRange): Added. Returns true only if there are no "holes" (cluster
yet to be fetched) between the specified time range. This was added to fix a bug in AnalysisTaskPage's
_didFetchMeasurement.
- public/v3/models/test-group.js:
(TestGroup): Added this._rootSetToLabel.
(TestGroup.prototype.addBuildRequest): Reset this._rootSetToLabel along with this._requestedRootSets.
(TestGroup.prototype.repetitionCount): Added. Returns the number of iterations executed per set. We assume that
every root set in the test group shares a single repetition count.
(TestGroup.prototype.requestedRootSets): Now populates this._rootSetToLabel for labelForRootSet.
(TestGroup.prototype.labelForRootSet): Added.
(TestGroup.prototype.hasStarted): Added.
(TestGroup.prototype.compareTestResults): Use 'running' and 'pending' to differentiate test groups that are waiting
for other groups to finish running from the ones that are actually running ('incomplete' before this patch).
(TestGroup.fetchByTask):
(TestGroup.createAndRefetchTestGroups): Added. Creates a new test group using the privileged-api/create-test-group
and fetches the list of test groups for the specified analysis task.
(TestGroup._createModelsFromFetchedTestGroups): Extracted from TestGroup.fetchByTask.
- public/v3/pages/analysis-task-page.js:
(AnalysisTaskPage): Initialize _renderedCurrentTestGroup to undefined so that we'd always can differentiate
the initial call to AnalysisTaskPage.render and subsequent calls in which it's identical to _currentTestGroup.
(AnalysisTaskPage.prototype._didFetchMeasurement): Fixed a bug that we don't exit early even when some
clusters in between startPoint and endPoint are still being fetched via newly added hasFetchedRange.
(AnalysisTaskPage.prototype.render): Update the default repetition count based on the current test group.
Also update the label of the button to "Confirm the change" if there is no A/B testing in this task.
(AnalysisTaskPage.prototype._retryCurrentTestGroup): Added. Re-triggers an existing A/B testing group or creates
the A/B testing for the entire range of the analysis task.
(AnalysisTaskPage.prototype._hasDuplicateTestGroupName): Added.
(AnalysisTaskPage.prototype._createRetryNameForTestGroup): Added.
(AnalysisTaskPage.htmlTemplate): Added form controls to re-trigger A/B testing.
(AnalysisTaskPage.cssTemplate): Updated the style.
- 2:15 PM Changeset in webkit [196439] by
-
- 37 edits in trunk
Subpixel rendering: Make focusring painting subpixel aware.
https://bugs.webkit.org/show_bug.cgi?id=154111
Reviewed by David Hyatt.
Do not integral snap focusring rects while collecting them (use device pixel snapping instead
right before passing them to GraphicsContext::drawFocusRing).
Source/WebCore:
Unable to test.
- platform/graphics/GraphicsContext.h:
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::DrawFocusRingRects::create):
(WebCore::DisplayList::DrawFocusRingRects::rects):
(WebCore::DisplayList::DrawFocusRingRects::DrawFocusRingRects):
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::drawFocusRing):
- platform/graphics/displaylists/DisplayListRecorder.h:
- platform/graphics/mac/GraphicsContextMac.mm:
(WebCore::GraphicsContext::drawFocusRing):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addFocusRingRectsForInlineChildren):
(WebCore::RenderBlock::addFocusRingRects):
- rendering/RenderBlock.h:
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):
- rendering/RenderBlockFlow.h:
- rendering/RenderBox.cpp:
(WebCore::RenderBox::addFocusRingRects):
- rendering/RenderBox.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::paintFocusRing):
(WebCore::RenderElement::issueRepaintForOutlineAuto):
- rendering/RenderInline.cpp:
(WebCore::RenderInline::absoluteRects):
(WebCore::RenderInline::addFocusRingRects):
- rendering/RenderInline.h:
- rendering/RenderListBox.cpp:
(WebCore::RenderListBox::addFocusRingRects):
- rendering/RenderListBox.h:
- rendering/RenderObject.cpp:
(WebCore::RenderObject::addPDFURLRect):
(WebCore::RenderObject::absoluteFocusRingQuads):
- rendering/RenderObject.h:
(WebCore::RenderObject::addFocusRingRects):
- rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::addFocusRingRects):
- rendering/RenderTextControl.h:
- rendering/svg/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::addFocusRingRects):
- rendering/svg/RenderSVGContainer.h:
- rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::addFocusRingRects):
- rendering/svg/RenderSVGImage.h:
- rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::addFocusRingRects):
- rendering/svg/RenderSVGShape.h:
LayoutTests:
- platform/mac/accessibility/image-link-expected.txt:
- platform/mac/accessibility/mac/aria-columnrowheaders-expected.txt: Copied from LayoutTests/platform/mac/accessibility/table-cells-expected.txt.
- platform/mac/accessibility/mac/document-links-expected.txt: Added.
- platform/mac/accessibility/table-attributes-expected.txt:
- platform/mac/accessibility/table-cells-expected.txt:
- platform/mac/accessibility/table-sections-expected.txt:
- platform/mac/accessibility/table-with-rules-expected.txt:
- 2:12 PM Changeset in webkit [196438] by
-
- 3 edits in trunk/Source/WebCore
Addressing post-review comments after r196393
Unreviewed.
- css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::getFontFace):
- css/CSSSegmentedFontFace.h:
- 2:09 PM Changeset in webkit [196437] by
-
- 2 edits in trunk/Source/JavaScriptCore
Cannot call initializeIndex() if we didn't create the array using tryCreateUninitialized()
https://bugs.webkit.org/show_bug.cgi?id=154126
Reviewed by Saam Barati.
- runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncSplice):
- 1:45 PM Changeset in webkit [196436] by
-
- 2 edits in trunk/Tools
Large logs can bring down the webkit master
https://bugs.webkit.org/show_bug.cgi?id=122112
Reviewed by Lucas Forschler.
Implement the suggested fix of throwing away stdout / stderr.
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(RunWebKit1LeakTests):
- 1:43 PM Changeset in webkit [196435] by
-
- 2 edits in trunk/Source/WebKit/win
Try to fix windows build.
- DOMCoreClasses.cpp:
(DOMElement::style):
(DOMElement::offsetLeft):
- 1:24 PM Changeset in webkit [196434] by
-
- 11 edits in trunk
[INTL] Implement Intl.NumberFormat.prototype.resolvedOptions ()
https://bugs.webkit.org/show_bug.cgi?id=147602
Reviewed by Darin Adler.
Source/JavaScriptCore:
This patch implements Intl.NumberFormat.prototype.resolvedOptions() according
to the ECMAScript 2015 Internationalization API spec (ECMA-402 2nd edition.)
- runtime/IntlDateTimeFormat.cpp:
(JSC::localeData):
- runtime/IntlNumberFormat.cpp:
(JSC::localeData):
(JSC::computeCurrencySortKey):
(JSC::extractCurrencySortKey):
(JSC::computeCurrencyDigits):
(JSC::IntlNumberFormat::initializeNumberFormat):
(JSC::IntlNumberFormat::styleString):
(JSC::IntlNumberFormat::currencyDisplayString):
(JSC::IntlNumberFormat::resolvedOptions):
(JSC::IntlNumberFormat::setBoundFormat):
- runtime/IntlNumberFormat.h:
- runtime/IntlNumberFormatConstructor.cpp:
(JSC::constructIntlNumberFormat):
(JSC::callIntlNumberFormat):
- runtime/IntlNumberFormatPrototype.cpp:
(JSC::IntlNumberFormatPrototypeFuncResolvedOptions):
- runtime/IntlObject.cpp:
(JSC::intlNumberOption):
(JSC::numberingSystemsForLocale):
(JSC::getNumberingSystemsForLocale): Deleted.
- runtime/IntlObject.h:
LayoutTests:
- js/intl-numberformat-expected.txt:
- js/script-tests/intl-numberformat.js:
(testNumberFormat):
- 1:22 PM Changeset in webkit [196433] by
-
- 4 edits in trunk/Source/JavaScriptCore
MacroAssemblerX86 should be happy with shift(cx, cx)
https://bugs.webkit.org/show_bug.cgi?id=154124
Reviewed by Saam Barati.
Prior to this change the assembler asserted that shift_amount and dest cannot be the same.
That's a good assertion for when shift_amount is not in cx. But if it's in cx already then
it's OK for them to be the same. Air will sometimes do shift(cx, cx) if you do "x << x" and
the coalescing got particularly clever.
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::lshift32):
(JSC::MacroAssemblerX86Common::rshift32):
(JSC::MacroAssemblerX86Common::urshift32):
- assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::lshift64):
(JSC::MacroAssemblerX86_64::rshift64):
(JSC::MacroAssemblerX86_64::urshift64):
- b3/testb3.cpp:
(JSC::B3::testLShiftSelf32):
(JSC::B3::testRShiftSelf32):
(JSC::B3::testURShiftSelf32):
(JSC::B3::testLShiftSelf64):
(JSC::B3::testRShiftSelf64):
(JSC::B3::testURShiftSelf64):
(JSC::B3::run):
- 1:04 PM Changeset in webkit [196432] by
-
- 2 edits in trunk/Source/JavaScriptCore
The sampling profiler's stack walker methods should be marked with SUPPRESS_ASAN
https://bugs.webkit.org/show_bug.cgi?id=154123
Reviewed by Mark Lam.
The entire premise of the sampling profiler is to load from
another thread's memory. We should SUPPRESS_ASAN on the
methods that do this.
- runtime/SamplingProfiler.cpp:
(JSC::FrameWalker::FrameWalker):
(JSC::FrameWalker::walk):
(JSC::FrameWalker::advanceToParentFrame):
(JSC::FrameWalker::isAtTop):
(JSC::FrameWalker::resetAtMachineFrame):
- 12:50 PM Changeset in webkit [196431] by
-
- 2 edits in trunk/LayoutTests
Rebaseline imported/w3c/web-platform-tests/html/dom/interfaces.html for ios-simulator after r196423
Unreviewed test gardening.
- platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:
- 12:33 PM Changeset in webkit [196430] by
-
- 12 edits in trunk/Source/WebCore
Rename Element::style() to Element::cssomStyle()
https://bugs.webkit.org/show_bug.cgi?id=154107
Reviewed by Alex Christensen.
It implements the IDL "style" attribute that returns a CSSOM object.
Inside WebCore "style" generally refers to a RenderStyle.
- dom/Element.cpp:
(WebCore::Element::hasAttributeNS):
(WebCore::Element::cssomStyle):
(WebCore::Element::focus):
(WebCore::Element::style): Deleted.
- dom/Element.h:
(WebCore::Element::tagQName):
- dom/Element.idl:
- dom/StyledElement.cpp:
(WebCore::StyledElement::~StyledElement):
(WebCore::StyledElement::cssomStyle):
(WebCore::StyledElement::style): Deleted.
- dom/StyledElement.h:
(WebCore::StyledElement::synchronizeStyleAttributeInternal):
(WebCore::StyledElement::collectStyleForPresentationAttribute):
- editing/Editor.cpp:
(WebCore::Editor::applyEditingStyleToElement):
- inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
(WebCore::InspectorCSSAgent::getInlineStylesForNode):
(WebCore::InspectorCSSAgent::asInspectorStyleSheet):
- inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheetForInlineStyle::didModifyElementAttribute):
(WebCore::InspectorStyleSheetForInlineStyle::inlineStyle):
(WebCore::InspectorStyleSheetForInlineStyle::elementStyleText):
- svg/SVGElement.idl:
- 11:52 AM Changeset in webkit [196429] by
-
- 8 edits1 add in trunk
[cmake] Consolidate TextureMapper file and include dir lists.
https://bugs.webkit.org/show_bug.cgi?id=154106
Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-02-11
Reviewed by Michael Catanzaro.
.:
- Source/cmake/OptionsEfl.cmake: Expose USE_TEXTURE_MAPPER_GL to
CMake code.
- Source/cmake/OptionsWinCairo.cmake: Ditto.
Source/WebCore:
No new tests needed.
- CMakeLists.txt: Moved texmap include dir and source list to
TextureMapper.cmake, removed non-existent include dir "filters/texmap".
- PlatformEfl.cmake: Moved texmap and coordinatedgraphics include
dirs and source list to TextureMapper.cmake.
- PlatformGTK.cmake: Ditto, also removed non-existent include dir
"texmap/threadedcompositor"
- PlatformWinCairo.cmake: Moved texmap files to TextureMapper.cmake.
- platform/TextureMapper.cmake: Added.
- 11:49 AM Changeset in webkit [196428] by
-
- 6 edits in trunk/Source/WebKit2
Use BlobResourceHandle when loading blob urls, even when using NetworkSession
https://bugs.webkit.org/show_bug.cgi?id=154096
Reviewed by Brady Eidson.
This fixes at least http/tests/xmlhttprequest/blob-request-byte-range.html.
- NetworkProcess/NetworkDataTask.h:
Renamed NetworkDataTaskClient::didReceiveResponse to didReceiveResponseNetworkSession
to avoid conflicting with ResourceHandleClient::didReceiveResponse.
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::NetworkLoad):
Make a BlobResourceHandle instead of a NetworkDataTask if we have a request for a blob url.
(WebKit::NetworkLoad::~NetworkLoad):
(WebKit::NetworkLoad::setDefersLoading):
(WebKit::NetworkLoad::cancel):
(WebKit::NetworkLoad::continueWillSendRequest):
(WebKit::NetworkLoad::continueDidReceiveResponse):
(WebKit::NetworkLoad::sharedDidReceiveResponse):
(WebKit::NetworkLoad::convertTaskToDownload):
(WebKit::NetworkLoad::setPendingDownloadID):
(WebKit::NetworkLoad::didReceiveChallenge):
(WebKit::NetworkLoad::didReceiveResponseNetworkSession):
(WebKit::NetworkLoad::cannotShowURL):
(WebKit::NetworkLoad::didReceiveResponseAsync):
(WebKit::NetworkLoad::willSendRequestAsync):
(WebKit::NetworkLoad::canAuthenticateAgainstProtectionSpaceAsync):
(WebKit::NetworkLoad::continueCanAuthenticateAgainstProtectionSpace):
(WebKit::NetworkLoad::supportsDataArray):
(WebKit::NetworkLoad::didReceiveDataArray):
(WebKit::NetworkLoad::didSendData):
(WebKit::NetworkLoad::receivedCancellation):
(WebKit::NetworkLoad::didReceiveResponse): Deleted.
Compile ResourceHandleClient when using NetworkSession because it is used for blobs now.
Also, add null checks because we now have NetworkLoads where either m_task or m_handle is always null.
- NetworkProcess/NetworkLoad.h:
(WebKit::NetworkLoad::pendingDownloadID):
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
- NetworkProcess/mac/NetworkLoadMac.mm:
(WebKit::NetworkLoad::willCacheResponseAsync):
- 11:43 AM Changeset in webkit [196427] by
-
- 2 edits in tags/Safari-602.1.18.7/Source/WebKit/win
Merged r195828. rdar://problem/24611721
- 11:39 AM Changeset in webkit [196426] by
-
- 5 edits in tags/Safari-602.1.18.7/Source
Versioning.
- 11:36 AM Changeset in webkit [196425] by
-
- 1 copy in tags/Safari-602.1.18.7
New tag.
- 10:51 AM Changeset in webkit [196424] by
-
- 2 edits in trunk/Source/bmalloc
Unreviewed build fix after r196421.
Removed BASSERTs that are firing to eliminate Debug build crashes. I'll debug locally and
enable or alter after the issue is understood.
- bmalloc/LargeObject.h:
(bmalloc::LargeObject::merge): Removed BASSERTs that are firing.
- 10:23 AM Changeset in webkit [196423] by
-
- 40 edits in trunk
Move 'length' property to the prototype
https://bugs.webkit.org/show_bug.cgi?id=154051
<rdar://problem/24577385>
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline several W3C tests now that more checks are passing.
- web-platform-tests/dom/collections/HTMLCollection-supported-property-names-expected.txt:
- web-platform-tests/dom/collections/namednodemap-supported-property-names-expected.txt:
- web-platform-tests/dom/interfaces-expected.txt:
- web-platform-tests/dom/nodes/Element-children-expected.txt:
- web-platform-tests/dom/nodes/Element-getElementsByTagName-expected.txt:
- web-platform-tests/dom/nodes/attributes-expected.txt:
- web-platform-tests/html/dom/documents/dom-tree-accessors/document.forms-expected.txt:
- web-platform-tests/html/dom/interfaces-expected.txt:
Source/WebCore:
Move 'length' property to the prototype, where it should be. We used to
keep it on the instance because our implementation of
getOwnPropertySlot() was wrong for interfaces with a named property
getter. However, our implementation of getOwnPropertySlot() is now
spec-compliant so this should be OK.
Moving 'length' to the prototype is also a little bit risky in terms of
performance, especially for HTMLCollection / NodeList. However, I did
not see an impact on realistic benchmarks like Speedometer and only saw
a small impact (< 5%) on micro-benchmarks. I propose we make our behavior
correct and monitor performance. If we see any benchmark we care about
regress then we should try and optimize while keeping the attribute on
the prototype.
No new tests, already covered by existing tests.
- bindings/js/JSDOMBinding.h:
(WebCore::getStaticValueSlotEntryWithoutCaching):
- bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::getOwnPropertySlot):
(WebCore::JSHTMLDocument::nameGetter): Deleted.
- bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::putDelegate):
- bindings/js/JSPluginElementFunctions.h:
(WebCore::pluginElementCustomGetOwnPropertySlot):
- bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::deleteProperty):
(WebCore::JSStorage::deletePropertyByIndex):
(WebCore::JSStorage::putDelegate):
Leverage the new hasStaticPropertyTable static property in the
generated bindings for performance.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
Generate a "hasStaticPropertyTable" static const boolean property
for each bindings class so we can check at build time if
ClassInfo::staticPropHashTable is null.
(AttributeShouldBeOnInstance):
Move "length" to the prototype.
- bindings/scripts/test/JS/JSTestActiveDOMObject.h:
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h:
- bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.h:
- bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
- bindings/scripts/test/JS/JSTestEventConstructor.h:
- bindings/scripts/test/JS/JSTestEventTarget.h:
- bindings/scripts/test/JS/JSTestException.h:
- bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
- bindings/scripts/test/JS/JSTestInterface.h:
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h:
- bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
- bindings/scripts/test/JS/JSTestNamedConstructor.h:
- bindings/scripts/test/JS/JSTestNode.h:
- bindings/scripts/test/JS/JSTestNondeterministic.h:
- bindings/scripts/test/JS/JSTestObj.h:
- bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
- bindings/scripts/test/JS/JSTestOverrideBuiltins.h:
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
- bindings/scripts/test/JS/JSTestTypedefs.h:
- bindings/scripts/test/JS/JSattribute.h:
- bindings/scripts/test/JS/JSreadonly.h:
Rebaseline bindings tests.
LayoutTests:
Rebaseline a couple of existing layout tests now that 'length' is
on the prototype.
- fast/dom/htmlcollection-getownpropertynames-expected.txt:
- storage/domstorage/localstorage/delete-defineproperty-removal-expected.txt:
- 10:19 AM Changeset in webkit [196422] by
-
- 2 edits in trunk/Source/WebCore
Fix the !(ENABLE(SHADOW_DOM) ENABLE(DETAILS_ELEMENT)) after r196281 https://bugs.webkit.org/show_bug.cgi?id=154035
Reviewed by Antti Koivisto.
Follow-up fix after r196365. Removed guards around slotNodeIndex.
- dom/ComposedTreeIterator.h:
(WebCore::ComposedTreeIterator::Context::Context):
- 8:01 AM Changeset in webkit [196421] by
-
- 4 edits in trunk/Source/bmalloc
bmalloc: large aligned allocations will put 1 or 2 free object on free list without merging with free neighbors
https://bugs.webkit.org/show_bug.cgi?id=154091
Reviewed by Geoffrey Garen.
If we split off any unused free object in the aligned version of Heap::allocateLarge(), we merge them with
free neighbors before putting them back on the free list. Added helpers to verify that when we
add LargeObjects to the free list their neighbors are allocated.
- bmalloc/Heap.cpp:
(bmalloc::Heap::allocateLarge): Deleted private helper version and rolled it into the two the
two public versions of allocateLarge().
- bmalloc/Heap.h:
- bmalloc/LargeObject.h:
(bmalloc::LargeObject::prevIsAllocated): New helper.
(bmalloc::LargeObject::nextIsAllocated): New helper.
(bmalloc::LargeObject::merge): Check that the merge object has allocated neighbors.
- 6:30 AM Changeset in webkit [196420] by
-
- 3 edits in trunk/Source/WebKit2
Bug 154103 - [GTK] Build error after bug 154046
https://bugs.webkit.org/show_bug.cgi?id=154103
Reviewed by Carlos Garcia Campos.
- UIProcess/API/gtk/WebKitUserContent.cpp:
(_WebKitUserStyleSheet::_WebKitUserStyleSheet):
(webkitUserStyleSheetGetUserStyleSheet):
- UIProcess/API/gtk/WebKitUserContentPrivate.h:
- 3:52 AM Changeset in webkit [196419] by
-
- 6 edits in trunk/Source/JavaScriptCore
Unreviewed typo fix after r190063.
- dfg/DFGSpeculativeJIT.cpp: Removed property svn:executable.
- dfg/DFGSpeculativeJIT.h: Removed property svn:executable.
- jit/JIT.h: Removed property svn:executable.
- jit/JITInlines.h: Removed property svn:executable.
- jit/JITOpcodes.cpp: Removed property svn:executable.
- 3:49 AM Changeset in webkit [196418] by
-
- 1 edit in trunk/Source/JavaScriptCore/ChangeLog
Unreviewed typo fix after r190063.
- dfg/DFGSpeculativeJIT.cpp: Removed property svn:executable.
- dfg/DFGSpeculativeJIT.h: Removed property svn:executable.
- jit/JIT.h: Removed property svn:executable.
- jit/JITInlines.h: Removed property svn:executable.
- jit/JITOpcodes.cpp: Removed property svn:executable.
- 2:40 AM Changeset in webkit [196417] by
-
- 11 edits in trunk/LayoutTests
Use Testharness.js for the MathML script tests
https://bugs.webkit.org/show_bug.cgi?id=154065
Reviewed by Darin Adler.
- mathml/opentype/large-operators-munderover-expected.txt:
- mathml/opentype/large-operators-munderover.html:
- mathml/presentation/inferred-mrow-baseline-expected.txt:
- mathml/presentation/inferred-mrow-baseline.html:
- mathml/presentation/inferred-mrow-stretchy-expected.txt:
- mathml/presentation/inferred-mrow-stretchy.html:
- mathml/presentation/stretchy-depth-height-expected.txt:
- mathml/presentation/stretchy-depth-height-symmetric-expected.txt:
- mathml/presentation/stretchy-depth-height-symmetric.html:
- mathml/presentation/stretchy-depth-height.html:
- 12:11 AM Changeset in webkit [196416] by
-
- 2 edits in trunk/PerformanceTests
Fix a missing refactoring.
- Animometer/tests/master/resources/multiply.js:
(animate): Move to Utilities.lerp.
(_lerp): Deleted.
Feb 10, 2016:
- 11:42 PM Changeset in webkit [196415] by
-
- 6 edits6 adds in trunk/PerformanceTests
Add new benchmark tests.
https://bugs.webkit.org/show_bug.cgi?id=154063
Provisionally reviewed by Said Abou-Hallawa.
Add tests for get/put image data, filters, opacity, and css transforms.
- Animometer/resources/runner/benchmark-runner.js:
(_runBenchmarkAndRecordResults): Update the body background color to match that of
the stage.
(this._runNextIteration): Clear the background color style for the results page.
- Animometer/resources/runner/tests.js:
- Animometer/tests/master/focus.html: Added.
- Animometer/tests/master/image-data.html: Added.
- Animometer/tests/master/multiply.html: Added.
- Animometer/tests/master/resources/focus.js: Added.
- Animometer/tests/master/resources/image-data.js: Added.
- Animometer/tests/master/resources/multiply.js: Added.
- Animometer/tests/master/resources/stage.css: Move common styles out.
- Animometer/tests/resources/main.js: Update Stage.randomBool to use Math.random.
Add Stage.randomSign for randomly setting a direction. Add the notion of the
current timestamp of the test to Benchmark, since some animations cycle through
colors and rely on an incremental counter like the time.
- 8:06 PM Changeset in webkit [196414] by
-
- 11 edits1 add in trunk/Source/JavaScriptCore
Symbol.species accessors on builtin constructors should be configurable
https://bugs.webkit.org/show_bug.cgi?id=154097
Reviewed by Benjamin Poulain.
We did not have the Symbol.species accessors on our builtin constructors
marked as configurable. This does not accurately follow the ES6 spec as
the ES6 spec states that all default accessors on builtins should be
configurable. This means that we need an additional watchpoint on
ArrayConstructor to make sure that no users re-configures Symbol.species.
- runtime/ArrayConstructor.cpp:
(JSC::ArrayConstructor::finishCreation):
- runtime/ArrayPrototype.cpp:
(JSC::speciesConstructArray):
(JSC::ArrayPrototype::setConstructor):
(JSC::ArrayPrototypeAdaptiveInferredPropertyWatchpoint::handleFire):
- runtime/ArrayPrototype.h:
(JSC::ArrayPrototype::didChangeConstructorOrSpeciesProperties):
(JSC::ArrayPrototype::didChangeConstructorProperty): Deleted.
- runtime/JSArrayBufferConstructor.cpp:
(JSC::JSArrayBufferConstructor::finishCreation):
- runtime/JSPromiseConstructor.cpp:
(JSC::JSPromiseConstructor::finishCreation):
- runtime/JSTypedArrayViewConstructor.cpp:
(JSC::JSTypedArrayViewConstructor::finishCreation):
- runtime/MapConstructor.cpp:
(JSC::MapConstructor::finishCreation):
- runtime/RegExpConstructor.cpp:
(JSC::RegExpConstructor::finishCreation):
- runtime/SetConstructor.cpp:
(JSC::SetConstructor::finishCreation):
- tests/stress/array-species-config-array-constructor.js: Added.
(A):
- tests/stress/symbol-species.js:
(testSymbolSpeciesOnConstructor):
- 7:20 PM Changeset in webkit [196413] by
-
- 5 edits in branches/safari-601.1.46-branch/Source
Versioning.
- 7:20 PM Changeset in webkit [196412] by
-
- 5 edits in branches/safari-601-branch/Source
Versioning.
- 6:21 PM Changeset in webkit [196411] by
-
- 1 copy in tags/Safari-601.1.46.98
New tag.
- 6:21 PM Changeset in webkit [196410] by
-
- 1 copy in tags/Safari-601.5.16
New tag.
- 5:35 PM Changeset in webkit [196409] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] The destination of Sqrt should be Def, not UseDef
https://bugs.webkit.org/show_bug.cgi?id=154086
Reviewed by Geoffrey Garen.
An unfortunate copy-paste: the destination of SqrtDouble and SqrtFloat
was defined as UseDef. As a result, the argument would be interfering
with everything defined prior.
- b3/air/AirOpcode.opcodes:
- 5:18 PM Changeset in webkit [196408] by
-
- 2 edits in trunk/LayoutTests
Removing deleted tests from ios-simulator TestExpectations
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 5:00 PM Changeset in webkit [196407] by
-
- 2 edits in trunk/Source/WebCore
Updating bindings test reference file for JSTestEventConstructor.cpp after r196400
Unreviewed test gardening.
No new tests needed.
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructorConstructor::construct):
- 4:52 PM Changeset in webkit [196406] by
-
- 2 edits1 add2 deletes in trunk/Source/WebInspectorUI
Web Inspector: Add new icon for the Timeline Recording navigation bar item
https://bugs.webkit.org/show_bug.cgi?id=154089
rdar://problem/24595652
Reviewed by Brian Burg.
- UserInterface/Images/Stopwatch.png: Removed.
- UserInterface/Images/Stopwatch@2x.png: Removed.
- UserInterface/Images/Stopwatch.svg: Added.
- UserInterface/Views/TimelineIcons.css:
(.stopwatch-icon .icon): Use Stopwatch.svg.
(body:not(.mac-platform, .windows-platform) .stopwatch-icon .icon): Added for GTK+.
- 4:44 PM Changeset in webkit [196405] by
-
- 1 edit1 add in trunk/LayoutTests
Adding an ios-simulator expectation for fast/dom/event-handler-attributes.html
https://bugs.webkit.org/show_bug.cgi?id=153763
Unreviewed test gardening.
- platform/ios-simulator/fast/dom/event-handler-attributes-expected.txt: Added.
- 4:32 PM Changeset in webkit [196404] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Switching actions in Edit Breakpoint popover causes a jerk
https://bugs.webkit.org/show_bug.cgi?id=154093
<rdar://problem/24597869>
Reviewed by Timothy Hatcher.
Adjusted CodeMirror eval editor styles to match vanilla input field.
- UserInterface/Views/BreakpointActionView.css:
(.breakpoint-action-eval-editor):
- 4:29 PM Changeset in webkit [196403] by
-
- 6 edits in trunk/Tools
Remove calls to parseInt in order to work with non-integer revisions
https://bugs.webkit.org/show_bug.cgi?id=153820
Reviewed by Daniel Bates.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
(BuildbotIteration.prototype.sourceStampChanges): Remove calls to parseInt in order to work with non-integer
revisions.
(BuildbotIteration.prototype._parseData): Ditto.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
(BuildbotQueue.prototype.update): Ditto.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/MockBuildbotQueueView.js:
(MockBuildbotQueueView.prototype._latestProductiveIteration): Change integers to strings in test code.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/MockTrac.js:
(MockTrac.prototype.get oldestRecordedRevisionNumber): Ditto.
(MockTrac.prototype.get latestRecordedRevisionNumber): Ditto.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/tests.js: Ditto.
- 4:29 PM Changeset in webkit [196402] by
-
- 5 edits in trunk/Tools
Teach dashboard code to compare non-integer revisions
https://bugs.webkit.org/show_bug.cgi?id=152345
Reviewed by Daniel Bates.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
(BuildbotQueue.prototype.compareIterationsByRevisions): Compare non-integer revisions.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:
(BuildbotQueueView.prototype._appendPendingRevisionCount): Use Trac.indexOfRevision in order to compare non-integer
revisions. Also uses new Trac.commitsOnBranchLaterThanRevision method.
(BuildbotQueueView.prototype._popoverLinesForCommitRange): Ditto.
(BuildbotQueueView.prototype._presentPopoverForPendingCommits): Use Trac.indexOfRevision in order to compare non-integer
revisions. Also uses new Trac.nextRevision method to calculate a revision range.
(BuildbotQueueView.prototype._revisionContentWithPopoverForIteration): Ditto.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:
(Trac.prototype._commitsOnBranch): Renamed this to indicate that it should be a private method used by the latter two new
methods.
(Trac.prototype.commitsOnBranchLaterThanRevision): Finds revisions on a branch later than the specified revision.
(Trac.prototype.commitsOnBranchInRevisionRange): Finds revisions on a branch within a specified range.
(Trac.prototype.nextRevision): Finds the next revision after a given revision on a specific branch.
(Trac.prototype.indexOfRevision): Finds the index of a given revision within the recordedCommits array.
(Trac.prototype.commitsOnBranch): Deleted. Renamed to _commitsOnBranch.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/tests.js: Added unit tests.
- 4:10 PM Changeset in webkit [196401] by
-
- 12 edits in trunk
Update "manual" caption track logic
https://bugs.webkit.org/show_bug.cgi?id=154084
<rdar://problem/24530516>
Reviewed by Dean Jackson.
No new tests, media/track/track-manual-mode.html was updated.
- English.lproj/Localizable.strings: Add new string.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::addTextTrack): track.setManualSelectionMode is no more.
(WebCore::HTMLMediaElement::configureTextTrackGroup): Never enable a track automatically when
in manual selection mode.
(WebCore::HTMLMediaElement::captionPreferencesChanged): track.setManualSelectionMode is no more.
- html/track/TextTrack.cpp:
(WebCore::TextTrack::containsOnlyForcedSubtitles): Return true for forced tracks.
(WebCore::TextTrack::kind): Deleted.
- html/track/TextTrack.h:
- html/track/TrackBase.h:
(WebCore::TrackBase::kind): De-virtualize, nobody overrides it.
- page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::trackDisplayName): Include "forced" in the name of forced tracks.
- platform/LocalizedStrings.cpp:
(WebCore::forcedTrackMenuItemText): New.
- platform/LocalizedStrings.h:
- 4:03 PM Changeset in webkit [196400] by
-
- 100 edits in trunk/Source
Rename *Event::create* which creates events for bindings to *Event::createForBindings* and cleanup corresponding paths
https://bugs.webkit.org/show_bug.cgi?id=153903
<rdar://problem/24518146>
Reviewed by Darin Adler.
Source/WebCore:
Rename Event::create(const AtomicString&, const EventInit&) to Event::createForBindings
(const AtomicString&, const EventInit&) and for all the subclasses as well in order to
support Event.isTrusted. Besides, some of the subclasses use the create method for bindings
to create events not for bindings and vice versa. Therefore, this patch also cleanup
corresponding paths to ensure no misuse of the create mehtod. The same for Event::create()
as it is combined with Event::initEvent to create an event for bindings for legacy content.
After this patch, all call sites of *Event::create* are supposed to use *Event::create
to create events for user agent and *Event::createForBindings for bindings.
No change in behavior.
- Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.h:
(WebCore::WebKitPlaybackTargetAvailabilityEvent::create):
(WebCore::WebKitPlaybackTargetAvailabilityEvent::createForBindings):
(WebCore::WebKitPlaybackTargetAvailabilityEventInit::WebKitPlaybackTargetAvailabilityEventInit): Deleted.
- Modules/encryptedmedia/MediaKeyMessageEvent.cpp:
(WebCore::MediaKeyMessageEvent::MediaKeyMessageEvent):
(WebCore::MediaKeyMessageEventInit::MediaKeyMessageEventInit): Deleted.
- Modules/encryptedmedia/MediaKeyMessageEvent.h:
(WebCore::MediaKeyMessageEvent::create):
(WebCore::MediaKeyMessageEvent::createForBindings):
- Modules/encryptedmedia/MediaKeyNeededEvent.cpp:
(WebCore::MediaKeyNeededEvent::MediaKeyNeededEvent):
(WebCore::MediaKeyNeededEventInit::MediaKeyNeededEventInit): Deleted.
- Modules/encryptedmedia/MediaKeyNeededEvent.h:
(WebCore::MediaKeyNeededEvent::create):
(WebCore::MediaKeyNeededEvent::createForBindings):
- Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::sendMessage):
- Modules/gamepad/GamepadEvent.h:
(WebCore::GamepadEvent::create):
(WebCore::GamepadEvent::createForBindings):
(WebCore::GamepadEventInit::GamepadEventInit): Deleted.
- Modules/indieui/UIRequestEvent.cpp:
(WebCore::UIRequestEvent::createForBindings):
(WebCore::UIRequestEvent::UIRequestEvent):
(WebCore::UIRequestEventInit::UIRequestEventInit): Deleted.
(WebCore::UIRequestEvent::create): Deleted.
- Modules/indieui/UIRequestEvent.h:
- Modules/mediastream/MediaStreamEvent.cpp:
(WebCore::MediaStreamEvent::createForBindings):
(WebCore::MediaStreamEventInit::MediaStreamEventInit): Deleted.
(WebCore::MediaStreamEvent::create): Deleted.
- Modules/mediastream/MediaStreamEvent.h:
- Modules/mediastream/MediaStreamTrackEvent.cpp:
(WebCore::MediaStreamTrackEvent::createForBindings):
(WebCore::MediaStreamTrackEventInit::MediaStreamTrackEventInit): Deleted.
(WebCore::MediaStreamTrackEvent::create): Deleted.
- Modules/mediastream/MediaStreamTrackEvent.h:
- Modules/mediastream/RTCDTMFToneChangeEvent.cpp:
(WebCore::RTCDTMFToneChangeEvent::createForBindings):
(WebCore::RTCDTMFToneChangeEvent::create): Deleted.
- Modules/mediastream/RTCDTMFToneChangeEvent.h:
- Modules/mediastream/RTCDataChannelEvent.cpp:
(WebCore::RTCDataChannelEvent::createForBindings):
(WebCore::RTCDataChannelEvent::create): Deleted.
- Modules/mediastream/RTCDataChannelEvent.h:
- Modules/mediastream/RTCIceCandidateEvent.cpp:
(WebCore::RTCIceCandidateEvent::createForBindings):
(WebCore::RTCIceCandidateEvent::create): Deleted.
- Modules/mediastream/RTCIceCandidateEvent.h:
- Modules/mediastream/RTCTrackEvent.cpp:
(WebCore::RTCTrackEvent::createForBindings):
(WebCore::RTCTrackEventInit::RTCTrackEventInit): Deleted.
(WebCore::RTCTrackEvent::create): Deleted.
- Modules/mediastream/RTCTrackEvent.h:
- Modules/speech/SpeechSynthesisEvent.cpp:
(WebCore::SpeechSynthesisEvent::createForBindings):
(WebCore::SpeechSynthesisEvent::create):
(WebCore::SpeechSynthesisEvent::SpeechSynthesisEvent):
- Modules/speech/SpeechSynthesisEvent.h:
- Modules/webaudio/AudioProcessingEvent.cpp:
(WebCore::AudioProcessingEvent::create): Deleted.
- Modules/webaudio/AudioProcessingEvent.h:
(WebCore::AudioProcessingEvent::create):
(WebCore::AudioProcessingEvent::createForBindings):
- Modules/webaudio/OfflineAudioCompletionEvent.cpp:
(WebCore::OfflineAudioCompletionEvent::createForBindings):
(WebCore::OfflineAudioCompletionEvent::create): Deleted.
- Modules/webaudio/OfflineAudioCompletionEvent.h:
- Modules/websockets/CloseEvent.h:
(WebCore::CloseEvent::create):
(WebCore::CloseEvent::createForBindings):
(WebCore::CloseEvent::CloseEvent):
(WebCore::CloseEventInit::CloseEventInit): Deleted.
- bindings/objc/DOM.mm:
(-[DOMNode nextFocusNode]):
(-[DOMNode previousFocusNode]):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateConstructorDefinition):
- dom/AnimationEvent.cpp:
(WebCore::AnimationEventInit::AnimationEventInit): Deleted.
- dom/AnimationEvent.h:
- dom/BeforeLoadEvent.h:
(WebCore::BeforeLoadEventInit::BeforeLoadEventInit): Deleted.
- dom/ClipboardEvent.h:
- dom/CompositionEvent.cpp:
(WebCore::CompositionEventInit::CompositionEventInit): Deleted.
- dom/CompositionEvent.h:
- dom/CustomEvent.cpp:
(WebCore::CustomEventInit::CustomEventInit): Deleted.
- dom/CustomEvent.h:
- dom/DeviceMotionEvent.h:
- dom/DeviceOrientationEvent.h:
- dom/Document.cpp:
(WebCore::Document::createEvent):
- dom/Element.cpp:
(WebCore::Element::dispatchMouseEvent):
- dom/ErrorEvent.cpp:
(WebCore::ErrorEventInit::ErrorEventInit): Deleted.
- dom/ErrorEvent.h:
- dom/Event.cpp:
(WebCore::EventInit::EventInit): Deleted.
- dom/Event.h:
(WebCore::Event::createForBindings):
(WebCore::Event::create): Deleted.
- dom/FocusEvent.cpp:
(WebCore::FocusEventInit::FocusEventInit): Deleted.
- dom/FocusEvent.h:
- dom/HashChangeEvent.h:
(WebCore::HashChangeEventInit::HashChangeEventInit): Deleted.
- dom/KeyboardEvent.cpp:
(WebCore::KeyboardEvent::KeyboardEvent):
(WebCore::KeyboardEventInit::KeyboardEventInit): Deleted.
- dom/KeyboardEvent.h:
- dom/MessageEvent.cpp:
(WebCore::MessageEvent::MessageEvent):
(WebCore::MessageEventInit::MessageEventInit): Deleted.
- dom/MessageEvent.h:
- dom/MouseEvent.cpp:
(WebCore::MouseEvent::createForBindings):
(WebCore::MouseEvent::create):
(WebCore::MouseEvent::MouseEvent):
(WebCore::MouseEvent::cloneFor):
(WebCore::MouseEventInit::MouseEventInit): Deleted.
- dom/MouseEvent.h:
(WebCore::MouseEvent::createForBindings):
(WebCore::MouseEvent::create): Deleted.
- dom/MouseRelatedEvent.cpp:
(WebCore::MouseRelatedEvent::MouseRelatedEvent):
(WebCore::MouseRelatedEvent::init):
- dom/MouseRelatedEvent.h:
(WebCore::MouseRelatedEvent::screenX):
(WebCore::MouseRelatedEvent::screenY):
(WebCore::MouseRelatedEvent::screenLocation):
(WebCore::MouseRelatedEvent::clientX):
(WebCore::MouseRelatedEvent::clientY):
(WebCore::MouseRelatedEvent::movementX):
(WebCore::MouseRelatedEvent::movementY):
(WebCore::MouseRelatedEvent::clientLocation):
(WebCore::MouseRelatedEvent::isSimulated):
(WebCore::MouseRelatedEvent::absoluteLocation):
(WebCore::MouseRelatedEvent::setAbsoluteLocation):
- dom/MutationEvent.h:
- dom/OverflowEvent.cpp:
(WebCore::OverflowEvent::OverflowEvent):
(WebCore::OverflowEvent::initOverflowEvent):
(WebCore::OverflowEventInit::OverflowEventInit): Deleted.
- dom/OverflowEvent.h:
- dom/PageTransitionEvent.cpp:
(WebCore::PageTransitionEventInit::PageTransitionEventInit): Deleted.
- dom/PageTransitionEvent.h:
- dom/PopStateEvent.cpp:
(WebCore::PopStateEvent::createForBindings):
(WebCore::PopStateEventInit::PopStateEventInit): Deleted.
(WebCore::PopStateEvent::PopStateEvent): Deleted.
(WebCore::PopStateEvent::create): Deleted.
- dom/PopStateEvent.h:
- dom/ProgressEvent.cpp:
(WebCore::ProgressEventInit::ProgressEventInit): Deleted.
- dom/ProgressEvent.h:
(WebCore::ProgressEvent::createForBindings):
(WebCore::ProgressEvent::create): Deleted.
- dom/SecurityPolicyViolationEvent.h:
(WebCore::SecurityPolicyViolationEventInit::SecurityPolicyViolationEventInit): Deleted.
- dom/TextEvent.cpp:
(WebCore::TextEvent::createForBindings):
(WebCore::TextEvent::create): Deleted.
- dom/TextEvent.h:
- dom/TouchEvent.h:
- dom/TransitionEvent.cpp:
(WebCore::TransitionEventInit::TransitionEventInit): Deleted.
- dom/TransitionEvent.h:
- dom/UIEvent.cpp:
(WebCore::UIEventInit::UIEventInit): Deleted.
- dom/UIEvent.h:
(WebCore::UIEvent::createForBindings):
(WebCore::UIEvent::create): Deleted.
- dom/UIEventWithKeyState.h:
(WebCore::UIEventWithKeyState::ctrlKey):
(WebCore::UIEventWithKeyState::shiftKey):
(WebCore::UIEventWithKeyState::altKey):
(WebCore::UIEventWithKeyState::metaKey):
(WebCore::UIEventWithKeyState::UIEventWithKeyState):
- dom/WebKitAnimationEvent.cpp:
(WebCore::WebKitAnimationEventInit::WebKitAnimationEventInit): Deleted.
- dom/WebKitAnimationEvent.h:
- dom/WebKitTransitionEvent.cpp:
(WebCore::WebKitTransitionEventInit::WebKitTransitionEventInit): Deleted.
- dom/WebKitTransitionEvent.h:
- dom/WheelEvent.h:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerKeyAdded):
(WebCore::HTMLMediaElement::mediaPlayerKeyError):
(WebCore::HTMLMediaElement::mediaPlayerKeyMessage):
(WebCore::HTMLMediaElement::mediaPlayerKeyNeeded):
- html/MediaKeyEvent.cpp:
(WebCore::MediaKeyEvent::MediaKeyEvent):
(WebCore::MediaKeyEventInit::MediaKeyEventInit): Deleted.
- html/MediaKeyEvent.h:
- html/canvas/WebGLContextEvent.cpp:
(WebCore::WebGLContextEventInit::WebGLContextEventInit): Deleted.
- html/canvas/WebGLContextEvent.h:
- html/track/TrackEvent.cpp:
(WebCore::TrackEvent::TrackEvent):
(WebCore::TrackEventInit::TrackEventInit): Deleted.
- html/track/TrackEvent.h:
- html/track/TrackListBase.cpp:
(TrackListBase::scheduleTrackEvent):
(TrackListBase::scheduleChangeEvent):
- page/EventSource.cpp:
(WebCore::EventSource::createMessageEvent):
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::reportViolation):
(WebCore::gatherSecurityPolicyViolationEventData): Deleted.
- storage/StorageEvent.cpp:
(WebCore::StorageEvent::createForBindings):
(WebCore::StorageEventInit::StorageEventInit): Deleted.
(WebCore::StorageEvent::create): Deleted.
- storage/StorageEvent.h:
- svg/SVGZoomEvent.h:
(WebCore::SVGZoomEvent::createForBindings):
(WebCore::SVGZoomEvent::create): Deleted.
- xml/XMLHttpRequestProgressEvent.h:
(WebCore::XMLHttpRequestProgressEvent::createForBindings):
(WebCore::XMLHttpRequestProgressEvent::create): Deleted.
Source/WebKit2:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::nextAssistableElement):
- 3:57 PM Changeset in webkit [196399] by
-
- 8 edits in trunk/Source/WebKit2
Add SPI to remove individual user scripts or user style sheets
https://bugs.webkit.org/show_bug.cgi?id=154046
rdar://problem/23596352
Reviewed by Sam Weinig.
- UIProcess/API/Cocoa/WKUserContentController.mm:
(-[WKUserContentController _removeUserScript:]):
(-[WKUserContentController _userStyleSheets]):
(-[WKUserContentController _addUserStyleSheet:]):
(-[WKUserContentController _removeUserStyleSheet:]):
- UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:
- UIProcess/UserContent/WebUserContentControllerProxy.cpp:
(WebKit::WebUserContentControllerProxy::WebUserContentControllerProxy):
(WebKit::WebUserContentControllerProxy::addProcess):
(WebKit::WebUserContentControllerProxy::removeUserScript):
(WebKit::WebUserContentControllerProxy::addUserStyleSheet):
(WebKit::WebUserContentControllerProxy::removeUserStyleSheet):
(WebKit::WebUserContentControllerProxy::removeAllUserStyleSheets):
- UIProcess/UserContent/WebUserContentControllerProxy.h:
(WebKit::WebUserContentControllerProxy::userStyleSheets):
- WebProcess/UserContent/WebUserContentController.cpp:
(WebKit::WebUserContentController::removeUserScript):
(WebKit::WebUserContentController::removeUserStyleSheet):
- WebProcess/UserContent/WebUserContentController.h:
- WebProcess/UserContent/WebUserContentController.messages.in:
- 3:31 PM Changeset in webkit [196398] by
-
- 2 edits in trunk/LayoutTests
Rebaseline imported/w3c/web-platform-tests/html/dom/interfaces.html for ios-simulator after 196392
Unreviewed test gardening.
- platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:
- 3:02 PM Changeset in webkit [196397] by
-
- 3 edits in trunk/Source/WTF
Changed WTFCrash to not trash the crash site register state.
https://bugs.webkit.org/show_bug.cgi?id=153996
Reviewed by Geoffrey Garen.
When doing post-mortem crash site analysis using data from crash reports, it is
immensely valuable to be able to infer the crashing program's state from the
register values at crash time. However, for RELEASE_ASSERT failures, we crash
using WTFCrash(), and WTFCrash() is currently implemented as a function call
that, in turn, calls a lot of other functions to do crash handling before
actually crashing. As a result, the register values captured in the crash
reports are not likely to still contain the values used by the caller function
that failed the RELEASE_ASSERT.
This patch aims to remedy this issue for non-debug builds on OS(DARWIN) ports.
It does so by changing WTFCrash() into an inlined function that has an inlined
asm statement to issues the CPU specific breakpoint trap instruction. As a
result, for non-debug OS(DARWIN) builds, crashes due to failed RELEASE_ASSERTs
will now show up in crash reports as crashing due to EXC_BREAKPOINT (SIGTRAP)
instead of a EXC_BAD_ACCESS (SIGSEGV) on address 0xbbadbeef.
For debug and non-DARWIN builds, WTFCrash() behavior currently remains unchanged.
- wtf/Assertions.cpp:
- wtf/Assertions.h:
- 2:50 PM Changeset in webkit [196396] by
-
- 22 edits in trunk/Source/WebCore
Rebaselining bindings tests
Unreviewed test gardening.
No new tests needed.
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
- bindings/scripts/test/JS/JSTestCallback.cpp:
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
- bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
- bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
- bindings/scripts/test/JS/JSTestException.cpp:
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
- bindings/scripts/test/JS/JSTestInterface.cpp:
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
- bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
- bindings/scripts/test/JS/JSTestNondeterministic.cpp:
- bindings/scripts/test/JS/JSTestObj.cpp:
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
- bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
- bindings/scripts/test/JS/JSattribute.cpp:
- bindings/scripts/test/JS/JSreadonly.cpp:
- 2:16 PM Changeset in webkit [196395] by
-
- 2 edits in trunk/Source/WebKit/mac
WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture: should assert that it is being called from the "main" thread.
https://bugs.webkit.org/show_bug.cgi?id=154059
Reviewed by Geoffrey Garen.
This makes it so that misbehaving clients which call it (indirectly) from another
thread (not the main thread) will fail faster. Otherwise, we get potential
memory corruption that results in strange crashes elsewhere later.
- WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
- 2:01 PM Changeset in webkit [196394] by
-
- 5 edits1 add in trunk/Source/WebCore
[cmake] Consolidate CMake code related to image decoders.
https://bugs.webkit.org/show_bug.cgi?id=154074
Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-02-10
Reviewed by Alex Christensen.
Common image decoder sources, includes and libs are moved to
platform/ImageDecoders.cmake.
Also, added include directories of libjpeg and libpng to
WebCore_SYSTEM_INCLUDE_DIRECTORIES.
No new tests needed.
- CMakeLists.txt: Moved common include paths to ImageDecoders.cmake.
- PlatformEfl.cmake: Moved common sources and libs to ImageDecoders.cmake.
- PlatformGTK.cmake: Ditto.
- PlatformWinCairo.cmake: Moved common sources to ImageDecoders.cmake.
- platform/ImageDecoders.cmake: Added.
- 1:57 PM Changeset in webkit [196393] by
-
- 4 edits in trunk/Source/WebCore
CSSSegmentedFontFace does not need to be reference counted
https://bugs.webkit.org/show_bug.cgi?id=154083
Reviewed by Antti Koivisto.
...There is only ever a single reference to one.
No new tests because there is no behavior change.
- css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::getFontFace):
- css/CSSFontSelector.h:
- css/CSSSegmentedFontFace.h:
(WebCore::CSSSegmentedFontFace::create): Deleted.
- 1:51 PM Changeset in webkit [196392] by
-
- 107 edits2 adds in trunk
[Web IDL] interface objects should be Function objects
https://bugs.webkit.org/show_bug.cgi?id=154038
<rdar://problem/24569358>
Reviewed by Geoffrey Garen.
LayoutTests/imported/w3c:
Rebaseline W3C tests now that more checks are passing. Some checks still
fail because a lot of our interfaces should inherit EventTarget and
currently don't (they duplicate the EventTarget API instead).
Also, as per WebIDL, window.NodeFilter's proto should be ObjectPrototype
instead of FunctionPrototype but this is an exceptional case and our new
behavior is consistent with Firefox and Chrome.
- web-platform-tests/XMLHttpRequest/interfaces-expected.txt:
- web-platform-tests/dom/events/Event-constructors-expected.txt:
- web-platform-tests/dom/historical-expected.txt:
- web-platform-tests/dom/interfaces-expected.txt:
- web-platform-tests/fetch/api/headers/headers-idl-expected.txt:
- web-platform-tests/fetch/api/request/request-idl-expected.txt:
- web-platform-tests/html/dom/interfaces-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-audio-element/audio_constructor-expected.txt:
Source/JavaScriptCore:
Update functionProtoFuncToString() to handle JSObjects that
have the TypeOfShouldCallGetCallData flag and are callable,
as these behave like functions and use ClassInfo::className()
as function name in this case.
- runtime/FunctionPrototype.cpp:
(JSC::functionProtoFuncToString):
Source/WebCore:
interface objects should be Function objects as per Web IDL:
So window.Event should be a Function object for e.g. but in WebKit it
is a regular EventConstructor JSObject.
Firefox and Chrome match the specification.
Test: js/interface-objects.html
- bindings/js/JSDOMBinding.cpp:
(WebCore::callThrowTypeError):
(WebCore::DOMConstructorObject::getCallData):
When calling the interface object as a function, we throw a TypeError
with a message asking to use the 'new' operator to match the behavior
of Firefox and Chrome.
- bindings/js/JSDOMBinding.h:
Add JSC::TypeOfShouldCallGetCallData structure flag and implement
getCallData() so that typeof returns "function", as per the
specification and the behavior of other browsers.
(WebCore::DOMConstructorObject::className):
Implement className() and return "Function" to match the specification and
other browsers. Otherwise, it would fall back to using ClassInfo::className
which os the function name and interface name (e.g. "Event").
- bindings/js/JSDOMConstructor.h:
(WebCore::JSDOMConstructorNotConstructable::callThrowTypeError):
(WebCore::JSDOMConstructorNotConstructable::getCallData):
As per the specification, interfaces that do not have a [Constructor]
should throw a TypeError when called as a function. Use the "Illegal
constructor" error message to match Firefox and Chrome.
- bindings/js/JSDOMGlobalObject.h:
(WebCore::getDOMConstructor):
Instead of using objectPrototype as prototype for all DOM constructors,
we now call the prototypeForStructure() static function that is
generated for each bindings class. As per the Web IDL specification,
The Prototype internal property of an interface object for a
non-callback interface is determined as follows:
- If the interface inherits from some other interface, the value of Prototype is the interface object for that other interface.
- If the interface doesn't inherit from any other interface, the value of Prototype is %FunctionPrototype% ([ECMA-262], section 6.1.7.4).
- bindings/js/JSImageConstructor.cpp:
(WebCore::JSImageConstructor::prototypeForStructure):
Have the Image's interface object use HTMLElement's interface object
as prototype as HTMLImageElement inherits HTMLElement.
- bindings/scripts/CodeGenerator.pm:
(getInterfaceExtendedAttributesFromName):
Add a utility function to cheaply retrieve an interface's IDL extended
attributes without actually parsing the IDL. This is used to check if
an interface's parent is marked as [NoInterfaceObject] currently.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
(GenerateCallbackHeader):
(GenerateCallbackImplementation):
Mark JSGlobalObject* parameter as const as the implementation does not
alter the globalObject.
(GenerateConstructorHelperMethods):
- Generate prototypeForStructure() function for each bindings class that is not marked as [NoInterfaceObject] so getDOMConstructor() knows which prototype to use for the interface object / constructor when constructing it.
- Use the interface name for the interface object, without the "Constructor" suffix, to match the behavior of Firefox and Chrome.
- bindings/scripts/test/*:
Rebaseline bindings tests.
LayoutTests:
Rebaseline / update existing layout tests now that interface objects
are now Function objects. Also add a layout test to cover various
aspects of interface objects.
- css3/blending/background-blend-mode-property-parsing-expected.txt:
- css3/blending/blend-mode-property-parsing-expected.txt:
- css3/blending/script-tests/background-blend-mode-property-parsing.js:
(shouldBeType):
- css3/blending/script-tests/blend-mode-property-parsing.js:
(shouldBeType):
- css3/filters/backdrop/backdropfilter-property-parsing-expected.txt:
- css3/filters/backdrop/script-tests/backdropfilter-property-parsing.js:
(shouldBeType):
- css3/filters/filter-property-parsing-expected.txt:
- css3/filters/script-tests/filter-property-parsing.js:
(shouldBeType):
- fast/css/image-set-parsing-expected.txt:
- fast/css/script-tests/image-set-parsing.js:
(shouldBeType):
- fast/dom/DOMException/XPathException-expected.txt:
- fast/dom/DOMException/prototype-object-expected.txt:
- fast/dom/DOMException/prototype-object.html:
- fast/dom/DOMException/resources/XPathException.js:
- fast/dom/MutationObserver/mutation-record-constructor-expected.txt:
- fast/dom/MutationObserver/mutation-record-constructor.html:
- fast/dom/Window/element-constructors-on-window-expected.txt:
- fast/dom/call-a-constructor-as-a-function-expected.txt:
- fast/dom/constructor-proto-expected.txt:
- fast/dom/constructor-proto.html:
- fast/dom/wrapper-classes-expected.txt:
- fast/dom/wrapper-classes.html:
- fast/mediastream/MediaStreamConstructor-expected.txt:
- fast/mediastream/MediaStreamConstructor.html:
- fast/workers/constructor-proto-expected.txt:
- fast/workers/worker-location-expected.txt:
- http/tests/xmlhttprequest/XMLHttpRequestException-expected.txt:
- http/tests/xmlhttprequest/XMLHttpRequestException.html:
- js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
- js/dom/script-tests/global-constructors-attributes-idb.js:
(constructorPropertiesOnGlobalObject):
- js/dom/script-tests/global-constructors-attributes.js:
(constructorPropertiesOnGlobalObject):
- js/interface-objects-expected.txt: Added.
- js/interface-objects.html: Added.
- media/encrypted-media/encrypted-media-v2-syntax-expected.txt:
- media/encrypted-media/encrypted-media-v2-syntax.html:
- media/track/track-vttcue-expected.txt:
- platform/mac/fast/dom/Window/window-lookup-precedence-expected.txt:
- platform/mac/js/dom/global-constructors-attributes-expected.txt:
- svg/custom/SVGException-expected.txt:
- svg/custom/global-constructors-expected.txt:
- svg/custom/script-tests/SVGException.js:
- svg/custom/script-tests/global-constructors.js:
(shouldBeDefined):
- transforms/2d/transform-value-types-expected.txt:
- transforms/2d/transform-value-types.html:
- 1:45 PM Changeset in webkit [196391] by
-
- 2 edits in trunk/Source/WebCore
[Mac] Graphical corruption in videos when enabling custom loading path
https://bugs.webkit.org/show_bug.cgi?id=154044
Reviewed by Alex Christensen.
Revert the "Drive-by fix" in r196345 as it breaks the WebCoreNSURLSessionTests.BasicOperation API test.
- platform/network/cocoa/WebCoreNSURLSession.mm:
(-[WebCoreNSURLSessionDataTask resource:receivedData:length:]):
- 1:18 PM Changeset in webkit [196390] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Removed the duplicated definition of ChartPaneBase.
- public/v3/components/chart-pane-base.js:
- 1:10 PM Changeset in webkit [196389] by
-
- 2 edits in trunk/LayoutTests
Marking fast/css-generated-content/details-summary-before-after.html as failing on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=153029
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 1:07 PM Changeset in webkit [196388] by
-
- 4 edits in trunk/Source/WebCore
CSSSegmentedFontFace does not need to be reference counted
https://bugs.webkit.org/show_bug.cgi?id=154083
Reviewed by Antti Koivisto.
...There is only ever a single reference to one.
No new tests because there is no behavior change.
- css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::getFontFace):
- css/CSSFontSelector.h:
- css/CSSSegmentedFontFace.h:
(WebCore::CSSSegmentedFontFace::create): Deleted.
- 1:07 PM Changeset in webkit [196387] by
-
- 9 edits1 move1 add in trunk/Websites/perf.webkit.org
Analysis task page on v3 UI should show charts
https://bugs.webkit.org/show_bug.cgi?id=154057
Reviewed by Chris Dumez.
Extracted ChartPaneBase out of ChartPane and added an instance of its new subclass, AnalysisTaskChartPane,
to the analysis task page. The main difference is that ChartPaneBase doesn't depend on the presence of
this._chartsPage unlike ChartPane. It also doesn't have the header with toolbar (to show breakdown, etc...).
- public/v3/components/base.js:
(ComponentBase.prototype._constructShadowTree): Call htmlTemplate() and cssTemplate() with the right "this".
- public/v3/components/chart-pane-base.js: Added.
(ChartPaneBase): Extracted from ChartPane.
(ChartPaneBase.prototype.configure): Extracted from the constructor. Separating this function allows the
component to be instantiated inside a HTML template.
(ChartPaneBase.prototype._fetchAnalysisTasks): Moved from ChartPane._fetchAnalysisTasks.
(ChartPaneBase.prototype.platformId): Ditto.
(ChartPaneBase.prototype.metricId): Ditto.
(ChartPaneBase.prototype.setOverviewDomain): Ditto.
(ChartPaneBase.prototype.setMainDomain): Ditto.
(ChartPaneBase.prototype._overviewSelectionDidChange): Extracted from the constructor. This is overridden in
ChartPane and unused in AnalysisTaskChartPane.
(ChartPaneBase.prototype._mainSelectionDidChange): Extracted from ChartPane._mainSelectionDidChange.
(ChartPaneBase.prototype._mainSelectionDidZoom): Extracted from ChartPane._mainSelectionDidZoom.
(ChartPaneBase.prototype._indicatorDidChange): Extracted from ChartPane._indicatorDidChange.
(ChartPaneBase.prototype._didFetchData): Moved from ChartPane._fetchAnalysisTasks.
(ChartPaneBase.prototype._openAnalysisTask): Ditto.
(ChartPaneBase.prototype._openCommitViewer): Ditto. Also fixed a bug that we don't show the spinner while
waiting for the data to be fetched by calling this.render() here.
(ChartPaneBase.prototype._keyup): Moved from ChartPane._keyup. Also fixed the bug that the revisions list
doesn't update by calling this.render() here.
(ChartPaneBase.prototype.render): Extracted from ChartPane.render.
(ChartPaneBase.htmlTemplate): Extracted from ChartPane.htmlTemplate.
(ChartPaneBase.paneHeaderTemplate): Added. This is overridden in ChartPane and unused in AnalysisTaskChartPane.
(ChartPaneBase.cssTemplate): Extracted from ChartPane.htmlTemplate.
- public/v3/components/chart-styles.js: Renamed from public/v3/pages/page-with-charts.js.
(PageWithCharts): Renamed from PageWithCharts since it no longer extends PageWithHeading.
(ChartStyles.createChartSourceList):
- public/v3/components/commit-log-viewer.js:
(CommitLogViewer.prototype.view): Set this._repository right away instead of waiting for the fetched data
so that spinner will be shown while the data is being fetched.
- public/v3/index.html:
- public/v3/pages/analysis-task-page.js:
(AnalysisTaskChartPane): Added extends ChartPaneBase.
(AnalysisTaskPage): Added. this._chartPane.
(AnalysisTaskPage.prototype._didFetchTask): Initialize this._chartPane with a domain.
(AnalysisTaskPage.prototype.render): Render this._chartPane.
(AnalysisTaskPage.htmlTemplate):
- public/v3/pages/chart-pane-status-view.js:
(ChartPaneStatusView): Removed the unused router from the argument list.
(ChartPaneStatusView.prototype.pointsRangeForAnalysis): Renamed from analyzeData() since it was ambiguous.
(ChartPaneStatusView.prototype.moveRepositoryWithNotification): Fixed the bug that we don't update the list
of the revisions here.
(ChartPaneStatusView.prototype.computeChartStatusLabels):
- public/v3/pages/chart-pane.js:
(ChartPane): Now extends ChartPaneBase.
(ChartPane.prototype._overviewSelectionDidChange): Extracted from the constructor.
(ChartPane.prototype._mainSelectionDidChange):
(ChartPane.prototype._mainSelectionDidZoom):
(ChartPane.prototype._indicatorDidChange):
(ChartPane.prototype.render):
(ChartPane.prototype._renderActionToolbar):
(ChartPane.paneHeaderTemplate): Extracted from htmlTemplate.
(ChartPane.cssTemplate):
(ChartPane.overviewOptions.selection.onchange): Deleted.
(ChartPane.prototype._fetchAnalysisTasks): Deleted.
(ChartPane.prototype.platformId): Deleted.
(ChartPane.prototype.metricId): Deleted.
(ChartPane.prototype.setOverviewDomain): Deleted.
(ChartPane.prototype.setMainDomain): Deleted.
(ChartPane.prototype._openCommitViewer): Deleted.
(ChartPane.prototype._didFetchData): Deleted.
(ChartPane.prototype._keyup): Deleted.
- public/v3/pages/charts-page.js:
(ChartsPage):
(ChartsPage.createDomainForAnalysisTask): Extracted by createDomainForAnalysisTask; used to set the domain
of the charts in the analysis task page.
(ChartsPage.createStateForAnalysisTask):
- public/v3/pages/dashboard-page.js:
(DashboardPage):
(DashboardPage.prototype._createChartForCell):
- 1:05 PM Changeset in webkit [196386] by
-
- 4 edits in trunk/Websites/perf.webkit.org
Add the support for maintenance mode
https://bugs.webkit.org/show_bug.cgi?id=154072
Reviewed by Chris Dumez.
Added the crude support for maintenance mode whereby which the reports are stored in the filesystem
instead of the database.
- config.json: Added maintenanceMode and maintenanceDirectory as well as forgotten siteTitle and
remoteServer.httpdMutexDir.
- public/api/report.php:
(main): Don't connect to the database or modify database when maintenanceMode is set.
- public/include/json-header.php:
(ensure_privileged_api_data): Exit with InMaintenanceMode when maintenanceMode is set. This prevents
privileged API such as creating analysis tasks and new A/B testing groups from modifying the database.
- 12:56 PM Changeset in webkit [196385] by
-
- 2 edits in trunk/LayoutTests
Reaseline imported/w3c/web-platform-tests/html/dom/interfaces.html for ios-simulator after r196374
Unreviewed test gardening.
- platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt:
- 12:56 PM Changeset in webkit [196384] by
-
- 8 edits in trunk/Source/WebKit2
Fix assertions when loading from WebProcess
https://bugs.webkit.org/show_bug.cgi?id=154079
Reviewed by Anders Carlsson.
Assertions were failing, mostly when using NetworkProcess, and mostly involving Top Sites.
When we do loading from the WebProcess (which we should eventually not allow), we were sometimes
using a private browsing session that did not exist because the UIProcess had told the NetworkProcess
to create a private browsing session with the given SessionID, but the WebProcess was not told about
the private browsing session.
Also, sometimes we were calling NetworkProcess::singleton() from the WebProcess, which caused problems
with the PlatformStrategies object being reset. This prevents that, too.
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::NetworkLoad):
Added an assertion that we have a network session when we have just made a NetworkingContext with the given SessionID.
- NetworkProcess/NetworkSession.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSession::defaultSession):
(WebKit::NetworkSession::NetworkSession):
- NetworkProcess/mac/RemoteNetworkingContext.mm:
(WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
Call NetworkProcess::singleton only when we know we are in the network process.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
- WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
Tell the WebProcesses about the new private session, too. Sometimes they use the new private session.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::ensurePrivateBrowsingSession):
(WebKit::WebProcess::destroyPrivateBrowsingSession):
Removed useless macros that were always true for all WK2 clients.
- 12:47 PM Changeset in webkit [196383] by
-
- 13 edits in trunk/Source/WebCore
Optimize style invalidation after class attribute change
https://bugs.webkit.org/show_bug.cgi?id=154075
rdar://problem/12526450
Reviewed by Andreas Kling.
Currently a class attribute change invalidates style for the entire element subtree for any class found in the
active stylesheet set.
This patch optimizes class changes by building a new optimization structure called ancestorClassRules. It contains
rules that have class selectors in the portion of the complex selector that matches ancestor elements. The sets
of rules are hashes by the class name.
On class attribute change the existing StyleInvalidationAnalysis mechanism is used with ancestorClassRules to invalidate
exactly those descendants that are affected by the addition or removal of the class name. This is fast because the CSS JIT
makes selector matching cheap and the number of relevant rules is typically small.
This optimization is very effective on many dynamic pages. For example when focusing and unfocusing the web inspector it
cuts down the number of resolved elements from ~1000 to ~50. Even in PLT it reduces the number of resolved elements by ~11%.
- css/DocumentRuleSets.cpp:
(WebCore::DocumentRuleSets::collectFeatures):
(WebCore::DocumentRuleSets::ancestorClassRules):
Create optimization RuleSets on-demand when there is an actual dynamic class change.
- css/DocumentRuleSets.h:
(WebCore::DocumentRuleSets::features):
(WebCore::DocumentRuleSets::sibling):
(WebCore::DocumentRuleSets::uncommonAttribute):
- css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::ElementRuleCollector):
Add a new constructor that doesn't requires DocumentRuleSets. Only the user and author style is required.
(WebCore::ElementRuleCollector::matchAuthorRules):
(WebCore::ElementRuleCollector::matchUserRules):
- css/ElementRuleCollector.h:
- css/RuleFeature.cpp:
(WebCore::RuleFeatureSet::recursivelyCollectFeaturesFromSelector):
Collect class names that show up in the ancestor portion of the selector.
Make this a member.
(WebCore::RuleFeatureSet::collectFeatures):
Move this code from RuleData.
Add the rule to ancestorClassRules if needed.
(WebCore::RuleFeatureSet::add):
(WebCore::RuleFeatureSet::clear):
(WebCore::RuleFeatureSet::shrinkToFit):
(WebCore::recursivelyCollectFeaturesFromSelector): Deleted.
(WebCore::RuleFeatureSet::collectFeaturesFromSelector): Deleted.
- css/RuleFeature.h:
(WebCore::RuleFeature::RuleFeature):
(WebCore::RuleFeatureSet::RuleFeatureSet): Deleted.
- css/RuleSet.cpp:
(WebCore::RuleData::RuleData):
(WebCore::RuleSet::RuleSet):
(WebCore::RuleSet::~RuleSet):
(WebCore::RuleSet::addToRuleSet):
(WebCore::RuleSet::addRule):
(WebCore::RuleSet::addRulesFromSheet):
(WebCore::collectFeaturesFromRuleData): Deleted.
- css/RuleSet.h:
(WebCore::RuleSet::tagRules):
(WebCore::RuleSet::RuleSet): Deleted.
- css/StyleInvalidationAnalysis.cpp:
(WebCore::shouldDirtyAllStyle):
(WebCore::StyleInvalidationAnalysis::StyleInvalidationAnalysis):
Add a new constructor that takes a ready made RuleSet instead of a stylesheet.
(WebCore::StyleInvalidationAnalysis::invalidateIfNeeded):
(WebCore::StyleInvalidationAnalysis::invalidateStyleForTree):
(WebCore::StyleInvalidationAnalysis::invalidateStyle):
(WebCore::StyleInvalidationAnalysis::invalidateStyle):
New function for invalidating a subtree instead of the whole document.
- css/StyleInvalidationAnalysis.h:
(WebCore::StyleInvalidationAnalysis::dirtiesAllStyle):
(WebCore::StyleInvalidationAnalysis::hasShadowPseudoElementRulesInAuthorSheet):
- dom/Element.cpp:
(WebCore::classStringHasClassName):
(WebCore::collectClasses):
(WebCore::computeClassChange):
Factor to return the changed classes.
(WebCore::invalidateStyleForClassChange):
First filter out classes that don't show up in stylesheets. If something remains invalidate the current
element for inline style change (that is a style change that doesn't affect descendants).
Next check if there are any ancestorClassRules for the changed class. If so use the StyleInvalidationAnalysis
to find any affected descendants and invalidate them with inline style change as well.
(WebCore::Element::classAttributeChanged):
Invalidate for removed classes before setting new attribute value, invalidate for added classes afterwards.
(WebCore::Element::absoluteLinkURL):
(WebCore::checkSelectorForClassChange): Deleted.
- dom/ElementData.h:
(WebCore::ElementData::setClassNames):
(WebCore::ElementData::classNames):
(WebCore::ElementData::classNamesMemoryOffset):
(WebCore::ElementData::clearClass): Deleted.
(WebCore::ElementData::setClass): Deleted.
- 12:46 PM Changeset in webkit [196382] by
-
- 2 edits in tags/Safari-602.1.18.6/Source/WebKit
Merged r196377. rdar://problem/24584417
- 12:45 PM Changeset in webkit [196381] by
-
- 6 edits in trunk/PerformanceTests
Add internal benchmark tests for CSS mix-blend-modes and filters
https://bugs.webkit.org/show_bug.cgi?id=154058
Provisionally reviewed by Jon Lee.
- Animometer/resources/debug-runner/tests.js: Include the new tests in the
"HTML suite" of the debug runner.
- Animometer/resources/extensions.js:
(Utilities.browserPrefix):
(Utilities.setElementPrefixedProperty): Utility functions to allow setting
prefixed style properties.
- Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js:
Set the mix-blend-mode and the filter to some random values if the options
of the test requested that.
- Animometer/tests/bouncing-particles/resources/bouncing-particles.js:
(parseShapeParameters): Parse the url options "blend" and "filter" and set
the corresponding flags.
- Animometer/tests/resources/main.js:
(randomStyleMixBlendMode):
(randomStyleFilter): Return random mix-blend-mode and filter.
- 12:33 PM Changeset in webkit [196380] by
-
- 3 edits in branches/safari-601-branch/Source/WebCore
Merge r196226. rdar://problem/24417430
- 12:33 PM Changeset in webkit [196379] by
-
- 2 edits in branches/safari-601-branch/Source/WebCore
Merge r196208. rdar://problem/24417430
- 12:33 PM Changeset in webkit [196378] by
-
- 2 edits in branches/safari-601-branch/Source/WebCore
Merge r196206. rdar://problem/24417430
- 11:56 AM Changeset in webkit [196377] by
-
- 2 edits in trunk/Source/WebKit
Fix internal Windows build
https://bugs.webkit.org/show_bug.cgi?id=154080
rdar://problem/24584417
Reviewed by Brent Fulgham.
- CMakeLists.txt:
Explicitly make WebKit dependent on WebKitGUID so that WebKit will not start building
before WebKitGUID is finished generating and copying all headers, including WebKit/WebKit.h.
- 11:54 AM Changeset in webkit [196376] by
-
- 3 edits in trunk/Source/WebCore
Addressing post-review comments after r196322
Unreviwed.
- css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::font):
- css/CSSFontFaceSource.h:
- 11:53 AM Changeset in webkit [196375] by
-
- 2 edits in branches/safari-601-branch/Source/WebInspectorUI
Merge patch for rdar://problem/24267980.
- 11:47 AM Changeset in webkit [196374] by
-
- 17 edits5 adds in trunk
Attributes on the Window instance should be configurable unless [Unforgeable]
https://bugs.webkit.org/show_bug.cgi?id=153920
<rdar://problem/24563211>
Reviewed by Darin Adler.
Source/JavaScriptCore:
Marking the Window instance attributes as configurable but cause
getOwnPropertyDescriptor() to report them as configurable, as
expected. However, trying to delete them would actually lead to
unexpected behavior because:
- We did not reify custom accessor properties (most of the Window properties are custom accessors) upon deletion.
- For non-reified static properties marked as configurable, JSObject::deleteProperty() would attempt to call the property setter with undefined. As a result, calling delete window.name would cause window.name to become the string "undefined" instead of the undefined value.
- runtime/JSObject.cpp:
(JSC::getClassPropertyNames):
Now that we reify ALL properties, we only need to check the property table
if we have not reified. As a result, I dropped the 'didReify' parameter for
this function and instead only call this function if we have not yet reified.
(JSC::JSObject::putInlineSlow):
Only call putEntry() if we have not reified: Drop the
' !(entry->attributes() & BuiltinOrFunctionOrAccessor)' check as such properties now get reified as well.
(JSC::JSObject::deleteProperty):
- Call reifyAllStaticProperties() instead of reifyStaticFunctionsForDelete() so that we now reify all properties upon deletion, including the custom accessors. reifyStaticFunctionsForDelete() is now removed and the same reification function is now used by: deletion, getOwnPropertyDescriptor() and eager reification of the prototype objects in the bindings.
- Drop code that falls back to calling the static property setter with undefined if we cannot find the property in the property storage. As we now reify ALL properties, the code removing the property from the property storage should succeed, provided that the property actually exists.
(JSC::JSObject::getOwnNonIndexPropertyNames):
Only call getClassPropertyNames() if we have not reified. We should no longer
check the static property table after reifying now that we reify all
properties.
(JSC::JSObject::reifyAllStaticProperties):
Merge with reifyStaticFunctionsForDelete(). The only behavior change is the
flattening to an uncacheable dictionary, like reifyStaticFunctionsForDelete()
used to do.
- runtime/JSObject.h:
Source/WebCore:
Attributes on the Window instance should be configurable unless [Unforgeable]:
- 'constructor' property:
- Constructor properties (e.g. window.Node):
- IDL attributes:
- http://heycam.github.io/webidl/#es-attributes (configurable unless [Unforgeable], e.g. window.location)
Firefox complies with the WebIDL specification but WebKit does not for 1. and 3.
Test: fast/dom/Window/window-properties-configurable.html
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertySlot):
For known Window properties (i.e. properties in the static property table),
if we have reified and this is same-origin access, then call
Base::getOwnPropertySlot() to get the property from the local property
storage. If we have not reified yet, or this is cross-origin access, query
the static property table. This is to match the behavior of Firefox and
Chrome which seem to keep returning the original properties upon cross
origin access, even if those were deleted or redefined.
(WebCore::JSDOMWindow::put):
The previous code used to call the static property setter for properties in
the static table. However, this does not do the right thing if properties
were reified. For example, deleting window.name and then trying to set it
again would not work. Therefore, update this code to only do this if the
properties have not been reified, similarly to what is done in
JSObject::putInlineSlow().
- bindings/scripts/CodeGeneratorJS.pm:
(ConstructorShouldBeOnInstance):
Add a FIXME comment indicating that window.constructor should be on
the prototype as per the Web IDL specification.
(GenerateAttributesHashTable):
- Mark 'constructor' property as configurable for Window, as per the specification and consistently with other 'constructor' properties: http://www.w3.org/TR/WebIDL/#interface-prototype-object
- Mark properties as configurable even though they are on the instance.
Window has its properties on the instance as per the specification:
- http://heycam.github.io/webidl/#es-attributes
- http://heycam.github.io/webidl/#PrimaryGlobal (window is [PrimaryGlobal] However, these properties should be configurable as long as they are not marked as [Unforgeable], as per 1.
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
- bindings/scripts/test/JS/JSTestException.cpp:
- bindings/scripts/test/JS/JSTestObj.cpp:
Rebaseline bindings tests.
LayoutTests:
- fast/dom/Window/window-properties-configurable-expected.txt: Added.
- fast/dom/Window/window-properties-configurable.html: Added.
Add a test to check that Window properties are reported as configurable
unless the [Unforgeable] ones and that deleting them actually works.
- fast/dom/global-constructors.html:
Update test so it no longer expects window.Node to be shadowable. As per
the specification, the "Node" property is on the window instance, not its
prototype. Therefore, it should cannot be shadowed and setting it to
something actually overwites the previous value, given that the property
is writable as per:
I have verified that the new behavior is consistent with Firefox.
- http/tests/security/cross-origin-reified-window-property-access-expected.txt: Added.
- http/tests/security/cross-origin-reified-window-property-access.html: Added.
- http/tests/security/resources/reify-window.html: Added.
Add a test case to cover cross-origin access of Window properties after
reification.
- js/getOwnPropertyDescriptor-unforgeable-attributes-expected.txt:
- js/getOwnPropertyDescriptor-unforgeable-attributes.html:
Drop window.self from the list of unforgeable attributes. This attribute
is not unforgeable in our implementation or in the specification:
- js/getOwnPropertyDescriptor-window-attributes-expected.txt:
- js/getOwnPropertyDescriptor-window-attributes.html:
- Add coverage for window.self which is a regular Window property.
- Add coverage for window.Node which is a constructor property
- Add coverage for window.constructor. It should really be on the prototype as per the specification but this at least checks that the property is configurable, as per the specification.
- Rebaseline the test as more checks are passing now that Window properties are marked as configurable.
- 11:27 AM Changeset in webkit [196373] by
-
- 3 edits in trunk/Source/WebCore
Modern IDB: Ref cycle between IDBObjectStore and IDBTransaction.
https://bugs.webkit.org/show_bug.cgi?id=154061
Reviewed by Alex Christensen.
No new tests (Currently untestable).
- Modules/indexeddb/client/IDBTransactionImpl.cpp:
(WebCore::IDBClient::IDBTransaction::transitionedToFinishing): Make sure the new state makes sense,
set the new state, and then clear the set of referenced object stores which is no longer needed.
(WebCore::IDBClient::IDBTransaction::abort):
(WebCore::IDBClient::IDBTransaction::commit):
- Modules/indexeddb/client/IDBTransactionImpl.h:
- 11:22 AM Changeset in webkit [196372] by
-
- 9 edits in trunk/PerformanceTests
Add a ramp controller
https://bugs.webkit.org/show_bug.cgi?id=154028
Provisionally reviewed by Said Abou-Hallawa.
Enhance the graph to include a complexity-fps graph, in addition
to the time graph.
- Animometer/developer.html: Add a ramp option.
- Animometer/resources/debug-runner/animometer.css: Update the style.
- Animometer/resources/strings.js: Flatten the Strings.text constants.
- Animometer/resources/debug-runner/animometer.js:
(ResultsTable.call._addGraphButton): Refactor.
(ResultsTable.call._addTest): Add regression data.
(benchmarkController): Add a form that allows the user to switch between the two forms,
Add a form that allows the user to toggle different data. Hide certain header columns
depending on the selected controller.
- Animometer/resources/debug-runner/graph.js: Add the complexity regressions.
- Animometer/resources/debug-runner/tests.js: Add headers for the ramp results.
- Animometer/resources/runner/animometer.js:
(ResultsTable): If a header is disabled don't include them in _flattenedHeaders.
- Animometer/tests/resources/main.js:
(Controller): Allow options to specify the capacity for sample arrays.
(Regression): A piecewise regression that tries to fit a slope and a flat profile.
(_calculateRegression): Options can fix the slope and bias when calculating the minimal
error. Sweep across the samples in time (which could be backward depending on the controller)
and calculate the intersection point.
(RampController): This controller assumes that the target frame rate is below
58 FPS. It runs in two stages. The first stage quickly determines the order of
magnitude of objects needed to stress the system by the setting the complexity
to increasingly difficult tiers. Perform a series of ramps descending from a
high-water mark of complexity. The complexity needed to reach the target frame
length is done by performing a piecewise regression on each ramp, and track a
running average of these values. For the next ramp, make that running average
the center of the ramp. With a minimum complexity of 0, the high-water mark is
twice that average. The score is based on the highest complexity that can
reach 60 fps.
- 11:22 AM Changeset in webkit [196371] by
-
- 2 edits in trunk/LayoutTests
Skop fast/regions/text-break-properties.html on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=153762
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 10:20 AM Changeset in webkit [196370] by
-
- 4 edits in trunk/Source/WebKit2
[Mac] Stop installing the legacy processes
https://bugs.webkit.org/show_bug.cgi?id=154062
Reviewed by Anders Carlsson.
- Configurations/All.xcconfig: Removed the legacy processes from EXCLUDED_SOURCE_FILE_NAMES for iOS, now that they are no longer included in a Copy Files build phase.
- Configurations/BaseLegacyProcess.xcconfig: Set SKIP_INSTALL to YES for OS X as well.
- WebKit2.xcodeproj/project.pbxproj: Removed the Copy Files build phase that copied the processes into the framework in engineering builds. Renamed the “Add current version symlinks” script build phase to “Add XPCServices symlink”, and changed it to do just that.
- 10:13 AM Changeset in webkit [196369] by
-
- 3 edits in trunk/Source/JavaScriptCore
Unreviewed, rolling out r196251.
https://bugs.webkit.org/show_bug.cgi?id=154078
Large regression on Dromaeo needs explanation (Requested by
kling on #webkit).
Reverted changeset:
"Visiting a WeakBlock should report bytes visited, since we
reported them allocated."
https://bugs.webkit.org/show_bug.cgi?id=153978
http://trac.webkit.org/changeset/196251
- 9:50 AM Changeset in webkit [196368] by
-
- 5 edits in trunk/Source/JavaScriptCore
REGRESSION(r196331): It made ~180 JSC tests crash on ARMv7 Linux
https://bugs.webkit.org/show_bug.cgi?id=154064
Reviewed by Mark Lam.
- bytecode/PolymorphicAccess.cpp:
(JSC::AccessCase::generate): Added EABI_32BIT_DUMMY_ARG where it is necessary.
- dfg/DFGSpeculativeJIT.h: Fixed the comment.
- jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState): Added.
- wasm/WASMFunctionCompiler.h: Fixed the comment.
- 9:23 AM Changeset in webkit [196367] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r195770): Use-after-free in ResourceLoaderOptions::cachingPolicy
https://bugs.webkit.org/show_bug.cgi?id=153727
<rdar://problem/24429886>
Reviewed by Darin Adler.
Follow-up after r195965. Only protect those parts of CachedResource::removeClient() which
affect the MemoryCache when allowsCaching() is false.
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::removeClient):
- 8:53 AM Changeset in webkit [196366] by
-
- 6 edits2 copies in branches/safari-601-branch/Source/JavaScriptCore
Merged r196179. rdar://problem/24574519
- 2:28 AM Changeset in webkit [196365] by
-
- 2 edits in trunk/Source/WebCore
Fix the !(ENABLE(SHADOW_DOM) ENABLE(DETAILS_ELEMENT)) after r196281 https://bugs.webkit.org/show_bug.cgi?id=154035
Reviewed by Antti Koivisto.
- dom/ComposedTreeIterator.h:
(WebCore::ComposedTreeIterator::Context::Context):