⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Jan 7, 2017:

10:02 PM Changeset in webkit [210495] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Avoid triggering rebuilds for minor changes of CSSProperties.json
https://bugs.webkit.org/show_bug.cgi?id=166810

Post-review cleanup suggested by Darin Adler.

  • css/makeprop.pl:
5:22 PM Changeset in webkit [210494] by timothy_horton@apple.com
  • 4 edits in trunk/Tools

Add a setting to create editable MiniBrowser windows by default
https://bugs.webkit.org/show_bug.cgi?id=166806

Reviewed by Beth Dakin.

  • MiniBrowser/mac/AppDelegate.m:

(-[BrowserAppDelegate createBrowserWindowController:]):
(-[BrowserAppDelegate applicationDidFinishLaunching:]):
(-[BrowserAppDelegate _updateNewWindowKeyEquivalents]):

  • MiniBrowser/mac/SettingsController.h:
  • MiniBrowser/mac/SettingsController.m:

(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
(-[SettingsController toggleCreateEditorByDefault:]):
(-[SettingsController createEditorByDefault]):
Add a setting and update the key equivalents accordingly.
Also make sure to make the right kind of window on launch.

3:39 PM Changeset in webkit [210493] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Avoid triggering rebuilds for minor changes of CSSProperties.json
https://bugs.webkit.org/show_bug.cgi?id=166810

Reviewed by Daniel Bates.

We expect to make lots of metadata-related changes to CSSProperties.json, and
these should not trigger rebuilds.

Have makeprop.pl write to temporary files first, then only replace the generated
files if the contents differ.

  • css/makeprop.pl:

(replaceFileIfChanged):

2:08 PM Changeset in webkit [210492] by Darin Adler
  • 27 edits in trunk/Source

Remove PassRefPtr use from "inspector", "platform/sql", and "platform/text"
https://bugs.webkit.org/show_bug.cgi?id=166797

Reviewed by Alex Christensen.

Source/WebCore:

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::performOpenAndVerify): Pass a reference instead of a pointer.

  • dom/Document.cpp:

(WebCore::canonicalizedTitle): Map backslashes to currency symbols inside the
existing loop through the characters instead of calling a function confusingly
named "displayBuffer" to do it. More straightforward, possibly more efficient,
one less function.
(WebCore::Document::displayStringModifiedByEncoding): Call replace to map
backslashes to currency symbols instead of calling a special displayString
function. There was no real benefit to using that function; the String::replace
function has all the same optimizations, and this was also the only call site.

  • editing/SpellChecker.cpp:

(WebCore::SpellChecker::invokeRequest): Pass a reference instead of a pointer.

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::overlayPage): Call createEmptyEditorClient instead
of using the class EmptyEditorClient directly.

  • loader/EmptyClients.cpp: Moved most of the empty clients here from the header.

Also made lots more things private.
(WebCore::createEmptyEditorClient): Added.
(WebCore::emptyDiagnosticLoggingClient): Added.

  • loader/EmptyClients.h: Updated for above changes. Made more things private.
  • page/DatabaseProvider.h: Removed unneeded include.
  • page/MainFrame.cpp: Ditto.
  • page/Page.cpp:

(WebCore::Page::diagnosticLoggingClient): Call emptyDiagnosticLoggingClient
instead of using the class EmptyDiagnosticLoggingClient directly.

  • platform/sql/SQLiteDatabase.cpp:

(WebCore::SQLiteDatabase::setAuthorizer): Take a reference instead of a
PassRefPtr.

  • platform/sql/SQLiteDatabase.h: Updated for above.
  • platform/text/BidiContext.cpp:

(WebCore::BidiContext::BidiContext): Moved this function here from the header.
(WebCore::copyContextAndRebaselineLevel): Return a Ref instead of a PassRefPtr,
and take a reference rather than a raw pointer.
(WebCore::BidiContext::copyStackRemovingUnicodeEmbeddingContexts): Return a
Ref instead of a PassRefPtr.

  • platform/text/BidiContext.h: Updated for the above changes.
  • platform/text/BidiResolver.h: Simplify initialization, use more references,

auto, modern for loops, refer to derived class as that rather than the non-C++
term subclass.

  • platform/text/TextCheckerClient.h: Changd argument from PassRefPtr to a

reference.

  • platform/text/TextEncoding.h:

(WebCore::TextEncoding::displayString): Deleted.
(WebCore::TextEncoding::displayBuffer): Deleted.

  • rendering/RootInlineBox.cpp: Style tweaks and use a modern for loop.
  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::dataChanged): Call createEmptyEditorClient instead
of using the class EmptyEditorClient directly.

Source/WebKit/mac:

  • WebCoreSupport/WebEditorClient.h: Updated to take a reference.
  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::requestCheckingOfString): Take a reference
instead of a PassRefPtr.

Source/WebKit/win:

  • WebCoreSupport/WebEditorClient.h: Update argument to take a reference

instead of a PassRefPtr.

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::requestCheckingOfString): Take a reference
instead of a PassRefPtr.

  • WebProcess/WebCoreSupport/WebEditorClient.h: Updated for above change.
1:29 PM Changeset in webkit [210491] by aestes@apple.com
  • 16 edits
    9 adds
    21 deletes in trunk

[QuickLook] Update quicklook test expectations
https://bugs.webkit.org/show_bug.cgi?id=166798
<rdar://problem/26477735>

Reviewed by Alex Christensen.

Source/WebCore:

QuickLook uses UUIDs to generate x-apple-ql-id: URLs, so they will differ each time a
document is previewed. Since these URLs are included in QuickLook layout test results,
WebArchiveDumpSupport needs to replace them with predictable values when dumping a web
archive.

  • testing/cocoa/WebArchiveDumpSupport.mm:

(WebCoreTestSupport::quickLookURLReplacements): Created a static Vector of CFStringRef pairs
to store x-apple-ql-id: URLs and their replacement values.
(WebCoreTestSupport::normalizeWebResourceURL): If the URL starts with “x-apple-ql-id://”,
replace the text between the scheme and the file extension with “resource”. Store the
original URL along with its replacement in quickLookURLReplacements().
(WebCoreTestSupport::createXMLStringFromWebArchiveData): Replaced all QuickLook URLs in the
final XML text with their replacement URLs.

LayoutTests:

For documents that generate HTML previews, updated the expected results to be web archives.
Web archives capture the same information that the expected HTML files did, but allow for
easy rebasing with --reset-results.

For documents that generate PDF previews, a webarchive expected result is inappropriate
since the generated PDF will differ between runs due to changing metadata (e.g. creation
date). These tests were kept as reftests but with updated expected results.

  • platform/ios-simulator/TestExpectations: Unskipped quicklook/.
  • quicklook/excel-expected.html: Removed.
  • quicklook/excel-expected.txt: Added.
  • quicklook/excel-legacy-expected.html: Removed.
  • quicklook/excel-legacy-expected.txt: Added.
  • quicklook/excel-legacy.html: Updated to dump as webarchive.
  • quicklook/excel.html: Ditto.
  • quicklook/keynote-09-expected.html: Removed.
  • quicklook/keynote-09-expected.txt: Added.
  • quicklook/keynote-09.html: Updated to dump as webarchive.
  • quicklook/numbers-09-expected.html: Removed.
  • quicklook/numbers-09-expected.txt: Added.
  • quicklook/numbers-09.html: Updated to dump as webarchive.
  • quicklook/pages-09-expected.html: Removed.
  • quicklook/pages-09-expected.txt: Added.
  • quicklook/pages-09.html: Updated to dump as webarchive.
  • quicklook/powerpoint-expected.html: Removed.
  • quicklook/powerpoint-expected.txt: Added.
  • quicklook/powerpoint-legacy-expected.html: Removed.
  • quicklook/powerpoint-legacy-expected.txt: Added.
  • quicklook/powerpoint-legacy.html: Updated to dump as webarchive.
  • quicklook/powerpoint.html: Updated to dump as webarchive.
  • quicklook/resources/excel-expected.html: Removed.
  • quicklook/resources/excel-legacy-expected.html: Removed.
  • quicklook/resources/keynote-09-expected/index.css: Removed.
  • quicklook/resources/keynote-09-expected/index.html: Removed.
  • quicklook/resources/keynote-09-expected/index.js: Removed.
  • quicklook/resources/keynote-expected.pdf: Updated.
  • quicklook/resources/numbers-09-expected/canvas.js: Removed.
  • quicklook/resources/numbers-09-expected/index.html: Removed.
  • quicklook/resources/numbers-09-expected/navigation.css: Removed.
  • quicklook/resources/numbers-09-expected/navigation.html: Removed.
  • quicklook/resources/numbers-09-expected/sheet_1.html: Removed.
  • quicklook/resources/numbers-expected.pdf: Updated.
  • quicklook/resources/pages-09-expected/index.css: Removed.
  • quicklook/resources/pages-09-expected/index.html: Removed.
  • quicklook/resources/pages-expected.pdf: Updated.
  • quicklook/resources/powerpoint-expected.html: Removed.
  • quicklook/resources/powerpoint-legacy-expected.html: Removed.
  • quicklook/resources/webkit-icon.pdf: Removed.
  • quicklook/resources/webkit-icon.png: Removed.
  • quicklook/resources/webkit-icon.tiff: Removed.
  • quicklook/resources/word-expected.html: Removed.
  • quicklook/resources/word-legacy-expected.html: Removed.
  • quicklook/word-expected.html: Removed.
  • quicklook/word-expected.txt: Added.
  • quicklook/word-legacy-expected.html: Removed.
  • quicklook/word-legacy-expected.txt: Added.
  • quicklook/word-legacy.html: Updated to dump as webarchive.
  • quicklook/word.html: Updated to dump as webarchive.
1:23 PM Changeset in webkit [210490] by timothy_horton@apple.com
  • 3 edits in trunk/Tools

Fix the 32-bit build.

  • MiniBrowser/mac/BrowserWindowController.h:
  • MiniBrowser/mac/BrowserWindowController.m:
1:18 PM Changeset in webkit [210489] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Fix the 32-bit build.

  • MiniBrowser/mac/BrowserWindowController.m:
1:15 PM Changeset in webkit [210488] by timothy_horton@apple.com
  • 3 edits in trunk/Tools

Make it possible to drop HTML files on the MiniBrowser icon
https://bugs.webkit.org/show_bug.cgi?id=166802

Reviewed by Simon Fraser.

  • MiniBrowser/mac/AppDelegate.m:

(-[BrowserAppDelegate application:openFile:]):

  • MiniBrowser/mac/Info.plist:

If you're using an editable window, the usual trick of dropping on the
window doesn't work anymore (it makes an <attachment> instead).

1:13 PM Changeset in webkit [210487] by timothy_horton@apple.com
  • 3 edits in trunk/Tools

MiniBrowser window gets smaller each time it is instantiated
https://bugs.webkit.org/show_bug.cgi?id=166807

Reviewed by Andy Estes.

  • MiniBrowser/mac/BrowserWindowController.m:

(-[BrowserWindowController windowDidLoad]):

  • MiniBrowser/mac/BrowserWindow.xib:

Turn on full-window content view support with IB, instead of waiting
until after the views have been loaded. This seems to resolve the
longstanding ever-shrinking-window problem.

1:12 PM Changeset in webkit [210486] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Add indent/outdent items to MiniBrowser's new format menu
https://bugs.webkit.org/show_bug.cgi?id=166805

Reviewed by Dan Bernstein.

  • MiniBrowser/mac/MainMenu.xib:
1:11 PM Changeset in webkit [210485] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Add a stock Format menu to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=166804

Reviewed by Andy Estes.

  • MiniBrowser/mac/MainMenu.xib:

Many of the features automatically work with editable web views.
However, this seems to expose a bug where none of the font-related features
(Cmd-B, for example) work until the first time the font panel is shown,
per process, which will need to be investigated separately.

1:11 PM Changeset in webkit [210484] by timothy_horton@apple.com
  • 6 edits in trunk/Tools

Remove unused applicationWillTerminate methods from MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=166803

Reviewed by Andy Estes.

  • MiniBrowser/mac/AppDelegate.m:

(-[BrowserAppDelegate applicationWillTerminate:]): Deleted.

  • MiniBrowser/mac/BrowserWindowController.h:
  • MiniBrowser/mac/BrowserWindowController.m:

(-[BrowserWindowController applicationTerminating]): Deleted.

  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController applicationTerminating]): Deleted.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController applicationTerminating]): Deleted.

1:10 PM Changeset in webkit [210483] by timothy_horton@apple.com
  • 8 edits in trunk/Tools

Add the ability to create empty contentEditable windows in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=166801

Reviewed by Wenson Hsieh.

  • MiniBrowser/mac/AppDelegate.h:
  • MiniBrowser/mac/AppDelegate.m:

(-[BrowserAppDelegate createBrowserWindowController:]):
(-[BrowserAppDelegate newWindow:]):
(-[BrowserAppDelegate newEditorWindow:]):
(-[BrowserAppDelegate openDocument:]):
(-[BrowserAppDelegate _updateNewWindowKeyEquivalents]):

  • MiniBrowser/mac/BrowserWindowController.h:
  • MiniBrowser/mac/BrowserWindowController.m:

(-[BrowserWindowController loadHTMLString:]):
(-[BrowserWindowController toggleEditable:]):

  • MiniBrowser/mac/MainMenu.xib:
  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController awakeFromNib]):
(-[WK1BrowserWindowController loadHTMLString:]):
(-[WK1BrowserWindowController validateMenuItem:]):
(-[WK1BrowserWindowController setEditable:]):
(-[WK1BrowserWindowController updateTitle:]):

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController awakeFromNib]):
(-[WK2BrowserWindowController validateMenuItem:]):
(-[WK2BrowserWindowController setEditable:]):
(-[WK2BrowserWindowController updateTitle:]):
(-[WK2BrowserWindowController loadHTMLString:]):
Merge more functionality from WebEditingTester.
Add two menu items for creating empty editable WebKit1/2 windows.
Add a menu item to the Edit menu to toggle editability on any window.

1:09 PM Changeset in webkit [210482] by timothy_horton@apple.com
  • 7 edits in trunk/Tools

Implement find-in-page in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=166799

Reviewed by Andy Estes.

  • MiniBrowser/mac/BrowserWindow.xib:
  • MiniBrowser/mac/BrowserWindowController.h:
  • MiniBrowser/mac/BrowserWindowController.m:

(-[BrowserWindowController find:]): Deleted.

  • MiniBrowser/mac/MainMenu.xib:
  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController toggleShrinkToFit:]):
(-[WK1BrowserWindowController find:]): Deleted.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController awakeFromNib]):
(-[WK2BrowserWindowController dealloc]):
(-[WK2BrowserWindowController validateMenuItem:]):
(-[WK2BrowserWindowController performTextFinderAction:]):
(-[WK2BrowserWindowController findBarView]):
(-[WK2BrowserWindowController setFindBarView:]):
(-[WK2BrowserWindowController isFindBarVisible]):
(-[WK2BrowserWindowController setFindBarVisible:]):
(-[WK2BrowserWindowController contentView]):
(-[WK2BrowserWindowController findBarViewDidChangeHeight]):
(-[WK2BrowserWindowController performFindPanelAction:]): Deleted.
(-[WK2BrowserWindowController find:]): Deleted.
Implement find-in-page using WKWebView's conformance to the NSTextFinderClient
protocol. At first glance, it's pretty broken, but vaguely works.

1:08 PM Changeset in webkit [210481] by timothy_horton@apple.com
  • 4 edits in trunk/Tools

Share the implementation of MiniBrowser view hiding functionality
https://bugs.webkit.org/show_bug.cgi?id=166800

Reviewed by Andy Estes.

  • MiniBrowser/mac/BrowserWindowController.m:

(-[BrowserWindowController showHideWebView:]):
(-[BrowserWindowController removeReinsertWebView:]):

  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController showHideWebView:]): Deleted.
(-[WK1BrowserWindowController removeReinsertWebView:]): Deleted.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController showHideWebView:]): Deleted.
(-[WK2BrowserWindowController removeReinsertWebView:]): Deleted.
Move the implementation of these two things to the shared superclass,
since they don't depend on WebKit-specific things.
Also, there was no reason to retain the (WK)WebView while it was unparented,
as the BrowserWindowController maintains a reference the entire time.

1:00 PM Changeset in webkit [210480] by aestes@apple.com
  • 16 edits in trunk/Source

[QuickLook] Consolidate usage of QuickLookHandle into SubresourceLoader
https://bugs.webkit.org/show_bug.cgi?id=166713

Reviewed by Alex Christensen.

Source/WebCore:

QuickLook conversion was originally implemented by intercepting document loads at the
ResourceHandle level, with separate paths for NSURLConnection and CFURLConnection handles.
When QuickLook was ported to WebKit2, a third path was added in WebResourceLoader.

This change removes these three separate paths and implements a single conversion path in
SubresourceLoader, where QuickLook can intercept document loads regardless of the networking
API being used.

No change in behavior. Covered by existing tests.

  • loader/ResourceLoader.h: Removed override from didCreateQuickLookHandle() since this

function is no longer declared in ResourceHandleClient.

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::shouldCreateQuickLookHandleForResponse): Added a helper
function to check if a QuickLookHandle should be created for a response.
(WebCore::SubresourceLoader::didReceiveResponse): Created a QuickLookHandle if necessary
and stored it in the DocumentLoader.
(WebCore::SubresourceLoader::didReceiveData): If there is a QuickLookHandle, call
QuickLookHandle::didReceiveBuffer(), and return early if QuickLook is converting.
(WebCore::SubresourceLoader::didReceiveBuffer): Ditto for QuickLookHandle::didReceiveBuffer().
(WebCore::SubresourceLoader::didFinishLoading): Ditto for QuickLookHandle::didFinishLoading().
(WebCore::SubresourceLoader::didFail): If there is a QuickLookHandle, call QuickLookHandle::didFail().

  • loader/SubresourceLoader.h: Declared shouldCreateQuickLookHandleForResponse().
  • loader/ios/QuickLook.h: Removed declarations used by the ResourceHandles and declared new

functions used by SubresourceLoader.

  • loader/ios/QuickLook.mm:

(WebCore::QuickLookHandle::QuickLookHandle): Removed the NSURLConnection * parameter, since
we’d now always pass nil.
(WebCore::QuickLookHandle::create): Removed create() functions used by ResourceHandles.
(WebCore::QuickLookHandle::didReceiveData): Added. Copies the data into an NSData, wraps it
in an NSArray, and passes it to didReceiveDataArray().
(WebCore::QuickLookHandle::didReceiveBuffer): Added. Creates a NSArray of NSData from the
SharedBuffer and passes it to didReceiveDataArray().
(-[WebQuickLookHandleAsDelegate initWithConnectionDelegate:]): Deleted.
(-[WebQuickLookHandleAsDelegate connection:didReceiveDataArray:]): Deleted.
(-[WebQuickLookHandleAsDelegate connection:didReceiveData:lengthReceived:]): Deleted.
(-[WebQuickLookHandleAsDelegate connectionDidFinishLoading:]): Deleted.
(-[WebQuickLookHandleAsDelegate connection:didFailWithError:]): Deleted.
(-[WebQuickLookHandleAsDelegate detachHandle]): Deleted.
(WebCore::QuickLookHandle::cfResponse): Deleted.
(WebCore::QuickLookHandle::didReceiveDataArray): Passed dataArray to m_converter and m_client.

  • platform/SharedBuffer.h: Const-qualified createNSDataArray().
  • platform/cocoa/SharedBufferCocoa.mm:

(WebCore::SharedBuffer::createNSDataArray): Ditto.

  • platform/network/ResourceHandle.cpp: Stopped including QuickLook.h.
  • platform/network/ResourceHandle.h: Removed m_quickLook.

(WebCore::ResourceHandle::quickLookHandle): Deleted.

  • platform/network/ResourceHandleClient.h:

(WebCore::ResourceHandleClient::didCreateQuickLookHandle): Deleted.

  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:

(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse): Removed QuickLook code.
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveData): Ditto.
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didFinishLoading): Ditto.
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didFail): Ditto.
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveDataArray): Ditto.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::setQuickLookHandle): Deleted.

  • platform/network/mac/WebCoreResourceHandleAsDelegate.mm:

(-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Removed QuickLook code.
(-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]): Ditto.
(-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]): Ditto.
(-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]): Ditto.
(-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]): Ditto.

Source/WebKit2:

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::didReceiveResponse): Removed QuickLook code.
(WebKit::WebResourceLoader::didReceiveData): Ditto.
(WebKit::WebResourceLoader::didFinishResourceLoad): Ditto.
(WebKit::WebResourceLoader::didFailResourceLoad): Ditto.
(WebKit::WebResourceLoader::didReceiveResource): Ditto.

10:51 AM Changeset in webkit [210479] by aestes@apple.com
  • 2 edits in trunk/Tools

Another attempt to fix the Mac CMake build after r210467.

  • DumpRenderTree/PlatformMac.cmake:
  • WebKitTestRunner/PlatformMac.cmake:
10:30 AM Changeset in webkit [210478] by aestes@apple.com
  • 1 edit in trunk/Source/WebCore/testing/cocoa/WebArchiveDumpSupport.h

Attempt to fix the Mac CMake build after r210467.

  • testing/cocoa/WebArchiveDumpSupport.h:
5:55 AM Changeset in webkit [210477] by aestes@apple.com
  • 1 edit in trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

Attempt to fix the iOS Production build after r210467.

  • WebCore.xcodeproj/project.pbxproj:

Jan 6, 2017:

11:53 PM Changeset in webkit [210476] by sbarati@apple.com
  • 23 edits
    4 adds in trunk

Add a slice intrinsic to the DFG/FTL
https://bugs.webkit.org/show_bug.cgi?id=166707

Reviewed by Filip Pizlo.

JSTests:

  • stress/array-slice-intrinsic.js: Added.

(assert):
(shallowEq):
(runTest1):
(runTest2):

  • stress/array-slice-jettison-on-constructor-change.js: Added.

(assert):
(runTest1):
(runTest2):
(addRandomProperties):
(runTests):

  • stress/array-slice-osr-exit-2.js: Added.

(assert):
(Foo):
(shallowEq):
(runTest1):
(runTest2):
(addRandomProperties):
(runTests):

  • stress/array-slice-osr-exit.js: Added.

(assert):
(Foo):
(shallowEq):
(runTest1):
(runTest2):
(addRandomProperties):
(runTests):

Source/JavaScriptCore:

The gist of this patch is to inline Array.prototype.slice
into the DFG/FTL. The implementation in the DFG-backend
and FTLLowerDFGToB3 is just a straight forward implementation
of what the C function is doing. The more interesting bits
of this patch are setting up the proper watchpoints and conditions
in the executing code to prove that its safe to skip all of the
observable JS actions that Array.prototype.slice normally does.

We perform the following proofs:

  1. Array.prototype.constructor has not changed (via a watchpoint).
  2. That Array.prototype.constructor[Symbol.species] has not changed (via a watchpoint).
  3. The global object is not having a bad time.
  4. The array that is being sliced has an original array structure.
  5. Array.prototype/Object.prototype have not transitioned.

Conditions 1, 2, and 3 are strictly required.

4 is ensuring a couple things:

  1. That a "constructor" property hasn't been added to the array

we're slicing since we're supposed to perform a Get(array, "constructor").

  1. That we're not slicing an instance of a subclass of Array.

We could relax 4.1 in the future if we find other ways to test if
the incoming array hasn't changed the "constructor" property.

I'm seeing a 5% speedup on crypto-pbkdf2 and often a 1% speedup on
the total benchmark (the results are sometimes noisy).

  • bytecode/ExitKind.cpp:

(JSC::exitKindToString):

  • bytecode/ExitKind.h:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsicCall):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasHeapPrediction):
(JSC::DFG::Node::hasArrayMode):

  • dfg/DFGNodeType.h:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileArraySlice):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileArraySlice):

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::emitLoadStructure):

  • runtime/ArrayPrototype.cpp:

(JSC::ArrayPrototype::finishCreation):
(JSC::speciesWatchpointIsValid):
(JSC::speciesConstructArray):
(JSC::arrayProtoFuncSlice):
(JSC::arrayProtoPrivateFuncConcatMemcpy):
(JSC::ArrayPrototype::initializeSpeciesWatchpoint):
(JSC::ArrayPrototypeAdaptiveInferredPropertyWatchpoint::handleFire):
(JSC::speciesWatchpointsValid): Deleted.
(JSC::ArrayPrototype::attemptToInitializeSpeciesWatchpoint): Deleted.

  • runtime/ArrayPrototype.h:

(JSC::ArrayPrototype::speciesWatchpointStatus): Deleted.
(): Deleted.

  • runtime/Intrinsic.h:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::JSGlobalObject):
(JSC::JSGlobalObject::init):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::arraySpeciesWatchpoint):

11:42 PM Changeset in webkit [210475] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit2

Attempt to fix the EFL build following <http://trac.webkit.org/changeset/210461>
(https://bugs.webkit.org/show_bug.cgi?id=166781)

  • UIProcess/API/C/WKWebsitePolicies.cpp:

(WKWebsitePoliciesGetAutoplayPolicy): Invoke ASSERT_NOT_REACHED() and return kWKWebsiteAutoplayPolicyUseHeuristics
if the specified policy is not covered by a switch case.
(WKWebsitePoliciesSetAutoplayPolicy): Substituted "return" for "break" in each switch case and
invoke ASSERT_NOT_REACHED() if the specified policy is not covered by a switch case.

11:14 PM Changeset in webkit [210474] by dbates@webkit.org
  • 7 edits in trunk/Source/WebCore

Ensure navigation only allowed for documents not in the page cache
https://bugs.webkit.org/show_bug.cgi?id=166773
<rdar://problem/29762809>

Reviewed by Brent Fulgham.

It is wise to ensure that navigation is only allowed when initiated from a document that
is not in- or about to be put in- the page cache. Such a navigation would surprise a
person that had navigated away from the initiating document among other issues.

  • dom/Document.cpp:

(WebCore::Document::canNavigate): Only allow navigation if the document is not in the
page cache.

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::handleClick): Ditto.

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::handleClick): Ditto.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::urlSelected): Assert triggering event's document is not in the
page cache.
(WebCore::FrameLoader::submitForm): Allow submission if the document is not in the
page cache.
(WebCore::FrameLoader::loadFrameRequest): Assert triggering event's document is not in
the page cache.

  • mathml/MathMLElement.cpp:

(WebCore::MathMLElement::defaultEventHandler): Only allow navigation if the document is
not in the page cache.

  • svg/SVGAElement.cpp:

(WebCore::SVGAElement::defaultEventHandler): Ditto.

11:12 PM Changeset in webkit [210473] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Crash in WebCore::MediaPlayerPrivateMediaSourceAVFObjC::sizeWillChangeAtTime(const MediaTime&, const FloatSize&)::block_invoke
https://bugs.webkit.org/show_bug.cgi?id=166738

Reviewed by Eric Carlson.

AVFoundation can potentially call the same boundary time observer multiple times, and
in that case, it's possible that the observer queue will be empty when we attempt
to remove the first item from the queue. There's an ASSERT() in Deque for this case,
but we need to explicitly protect against this case.

Drive-by fix: Explicitly unregister the observer before releasing it.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::sizeWillChangeAtTime):

10:53 PM Changeset in webkit [210472] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION(r208886) Web Inspector: Toggling CSS Properties in Styles Sidebar (comment / uncomment)
https://bugs.webkit.org/show_bug.cgi?id=166786
<rdar://problem/29767412>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-01-06
Reviewed by Brian Burg.

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyle::populateAllProperties):
Match earlier behavior and don't send the frontend information about
disabled (commented out) properties. Follow-up later to send this
information when implementing proper handling of them in the frontend.

10:52 PM Changeset in webkit [210471] by Chris Dumez
  • 2 edits in trunk/LayoutTests/imported/w3c

Unreviewed, rebaseline W3C test after r210468.

The test now fails differently due the the behavior change in r210468.
The test fails because we do not support History.scrollRestoration.

  • web-platform-tests/html/browsers/browsing-the-web/history-traversal/persisted-user-state-restoration/scroll-restoration-fragment-scrolling-cross-origin-expected.txt:
10:19 PM Changeset in webkit [210470] by weinig@apple.com
  • 6 edits in trunk/Source/WebCore

[WebIDL] Remove custom bindings from CanvasRenderingContext2D
https://bugs.webkit.org/show_bug.cgi?id=166793

Reviewed by Darin Adler.

  • WebCore.xcodeproj/project.pbxproj:

Move JSCanvasRenderingContext2DCustom.cpp to the GC only group.

  • bindings/js/JSCanvasRenderingContext2DCustom.cpp:

(WebCore::toJS): Deleted.
(WebCore::toHTMLCanvasStyle): Deleted.
(WebCore::JSCanvasRenderingContext2D::strokeStyle): Deleted.
(WebCore::JSCanvasRenderingContext2D::setStrokeStyle): Deleted.
(WebCore::JSCanvasRenderingContext2D::fillStyle): Deleted.
(WebCore::JSCanvasRenderingContext2D::setFillStyle): Deleted.
Remove non-GC related custom bindings.

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::setStrokeStyle):
(WebCore::CanvasRenderingContext2D::setFillStyle):
(WebCore::toStyle):
(WebCore::CanvasRenderingContext2D::strokeStyle):
(WebCore::CanvasRenderingContext2D::fillStyle):

  • html/canvas/CanvasRenderingContext2D.h:
  • html/canvas/CanvasRenderingContext2D.idl:

Made existing setStrokeStyle/setFillStyle functions (which take CanvasStyle's)
private, and implemented new ones that operate on Variants, matching the spec.

9:23 PM Changeset in webkit [210469] by Darin Adler
  • 17 edits in trunk/Source/WebCore

Remove PassRefPtr use from "rendering" directory, other improvements
https://bugs.webkit.org/show_bug.cgi?id=166717

Reviewed by Sam Weinig.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::shapePropertyValue): Use auto.

  • css/CSSFilterImageValue.cpp:

(WebCore::CSSFilterImageValue::image): Use auto. Pass references.
(WebCore::CSSFilterImageValue::filterImageChanged): Use modern for loop.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertShapeValue): Use overloaded
ShapeValue::create function instead of differently named functions.

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc): Ditto.

  • platform/graphics/filters/Filter.h: Added a protected constructor that takes

a filter resolution.

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::FilterEffectRenderer): Use new constructor so
we don't have to call setFilterResolution and can initialize m_sourceGraphic.
(WebCore::FilterEffectRenderer::create): Moved here from the header.
(WebCore::FilterEffectRenderer::buildReferenceFilter): Take references and not
PssRefPtr. Use auto and references.
(WebCore::FilterEffectRenderer::build): Take a reference. Updated to work with
references rather than pointer. Use auto.
(WebCore::FilterEffectRenderer::allocateBackingStoreIfNeeded): Use early return.
(WebCore::FilterEffectRenderer::clearIntermediateResults): Use modern for loop.
(WebCore::FilterEffectRenderer::apply): Use references.
(WebCore::FilterEffectRenderer::output): Moved here from header.
(WebCore::FilterEffectRenderer::setMaxEffectRects): Moved here from header.
(WebCore::FilterEffectRenderer::outputRect): Moved here from header.
(WebCore::FilterEffectRendererHelper::prepareFilterEffect): Take references.
(WebCore::FilterEffectRendererHelper::beginFilterEffect): Use auto and references.
(WebCore::FilterEffectRendererHelper::applyFilterEffect): Ditto.

  • rendering/FilterEffectRenderer.h: Updated for the above changes. Made a lot more

things private.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::filterPainter): Added. Helper so setupFilters does not
have to do things twice.
(WebCore::RenderLayer::hasFilterThatIsPainting): Updated to call filterPainter.
(WebCore::RenderLayer::setupFilters): Ditto.
(WebCore::RenderLayer::calculateClipRects): Pass reference.

  • rendering/RenderLayer.h: Updated for the above changes.
  • rendering/style/ContentData.cpp:

(WebCore::ContentData::clone): Use auto.
(WebCore::ImageContentData::createContentRenderer): Updated for reference.

  • rendering/style/ContentData.h: Use Ref&& instead of PassRefPtr. Made more

things private.

  • rendering/style/NinePieceImage.cpp:

(WebCore::NinePieceImage::defaultData): Made this a static member so it can
get at the now-private class NinePieceImage::Data.
(WebCore::NinePieceImage::NinePieceImage): Use RefPtr&& instead of PassRefPtr.
Use construction instead of calling m_data.access() over and over again.
(WebCore::NinePieceImage::Data::Data): Renamed from NinePieceImageData.
Moved initialization to class definition. Added a new overload for the normal
creation case.
(WebCore::NinePieceImage::Data::create): Ditto.
(WebCore::NinePieceImage::Data::copy): Ditto.
(WebCore::NinePieceImage::Data::operator==): Ditto.

  • rendering/style/NinePieceImage.h: Cut down on includes. Moved the class

named NinePieceImageData in to become the private struct NinePieceImage::Data.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setContent): Pass Ref&& instead of RefPtr&& when
creating ImageContentData.

  • rendering/style/ShapeValue.cpp:

(WebCore::ShapeValue::isImageValid): Tighten up by using data member directly
and using a local variabel.
(WebCore::pointersOrValuesEqual): Deleted.
(WebCore::ShapeValue::operator==): Use arePointingToEqualData instead the
above deleted function template. Wrote as a single return statement for clarity.

  • rendering/style/ShapeValue.h: Changed all the create function names to just

create, using overloading instead of separate names. Use Ref&& instead of PassRefPtr.
Removed unused constructor that took a type but no data.

8:02 PM Changeset in webkit [210468] by Chris Dumez
  • 8 edits
    3 adds in trunk

Regression(r189230): DOM Callbacks may use wrong global object
https://bugs.webkit.org/show_bug.cgi?id=166784

Reviewed by Mark Lam.

Source/WebCore:

DOM Callbacks could end up using the wrong global object after r189230
because we were getting the globalObject from the callback object
instead of the one at the point the callback object was passed in by
JavaScript. This patch fixes the issue.

Test: fast/frames/frame-window-as-callback.html

  • bindings/js/JSCallbackData.cpp:

(WebCore::JSCallbackData::invokeCallback):

  • bindings/js/JSCallbackData.h:

(WebCore::JSCallbackData::globalObject):
(WebCore::JSCallbackData::JSCallbackData):
(WebCore::JSCallbackDataStrong::JSCallbackDataStrong):
(WebCore::JSCallbackDataStrong::callback):
(WebCore::JSCallbackDataStrong::invokeCallback):
(WebCore::JSCallbackDataWeak::JSCallbackDataWeak):
(WebCore::JSCallbackDataWeak::callback):
(WebCore::JSCallbackDataWeak::invokeCallback):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateCallbackImplementationContent):

LayoutTests:

Add layout test coverage.

  • fast/frames/frame-window-as-callback-expected.txt: Added.
  • fast/frames/frame-window-as-callback.html: Added.
  • fast/frames/resources/wrong-global-object.html: Added.
7:49 PM Changeset in webkit [210467] by aestes@apple.com
  • 12 edits
    1 copy
    2 adds
    4 deletes in trunk

[Cocoa] Consolidate duplicate copies of WebArchiveDumpSupport in DRT and WKTR into WebCoreTestSupport
https://bugs.webkit.org/show_bug.cgi?id=166789

Reviewed by Alex Christensen.

Source/WebCore:

There were duplicate implementations of WebArchiveDumpSupport in DumpRenderTree and
WebKitTestRunner. This change consolidates these into a single implementation in
WebCoreTestSupport.

  • PlatformMac.cmake: Added WebArchiveDumpSupport.mm to WebCoreTestSupport.
  • WebCore.xcodeproj/project.pbxproj: Ditto. Also made WebArchiveDumpSupport.h a Private header.
  • platform/spi/cf/CFNetworkSPI.h: Moved CFNetwork forward declarations from

WebArchiveDumpSupport to here.

  • testing/cocoa/WebArchiveDumpSupport.h: Added.
  • testing/cocoa/WebArchiveDumpSupport.mm: Merged WebArchiveDumpSupport.cpp and

WebArchiveDumpSupport{Cocoa,Mac}.mm into a single file.

Tools:

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/PlatformMac.cmake:
  • DumpRenderTree/cf/WebArchiveDumpSupport.cpp: Removed.
  • DumpRenderTree/cf/WebArchiveDumpSupport.h: Removed.
  • DumpRenderTree/mac/DumpRenderTree.mm:

Called WebCoreTestSupport::createXMLStringFromWebArchiveData() instead of
createXMLStringFromWebArchiveData().

  • DumpRenderTree/mac/WebArchiveDumpSupportMac.mm: Removed.
  • WebKitTestRunner/Configurations/Base.xcconfig:

Added $(BUILT_PRODUCTS_DIR)/WebCoreTestSupport to HEADER_SEARCH_PATHS.

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::dumpDOMAsWebArchive):
Called WebCoreTestSupport::createXMLStringFromWebArchiveData() instead of
createXMLStringFromWebArchiveData().

  • WebKitTestRunner/InjectedBundle/cocoa/WebArchiveDumpSupportCocoa.mm: Removed.
  • WebKitTestRunner/PlatformMac.cmake:
  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
  • WebKitTestRunner/cf/WebArchiveDumpSupport.h: Removed.
6:59 PM Changeset in webkit [210466] by timothy_horton@apple.com
  • 8 edits in trunk

Minor cleanups to IndentOutdentCommand and related code
https://bugs.webkit.org/show_bug.cgi?id=166791

Reviewed by Simon Fraser.

Source/WebCore:

  • editing/IndentOutdentCommand.cpp:

(WebCore::IndentOutdentCommand::IndentOutdentCommand):
(WebCore::IndentOutdentCommand::outdentRegion):

  • editing/IndentOutdentCommand.h:

(WebCore::IndentOutdentCommand::create):
Remove the unused m_marginInPixels and fix the copyright header.

Tools:

  • WebEditingTester/EditingOperations.m:

(editingOperations):
Add the outdent operation to WebEditingTester.

LayoutTests:

  • editing/execCommand/19653-1-expected.txt:
  • editing/execCommand/19653-1.html:

Adjust this indenting test. It had a mislabeled test case (it outdents, not indents),
and also was copy-pasted wrong (it wasn't indented in the first place).

However, since this technically reduces test coverage, keep the existing
(but now correctly labeled) test case, since it caught a bug in code I was changing.

6:41 PM Changeset in webkit [210465] by achristensen@apple.com
  • 3 edits in trunk/Source/WebCore

Fix WinCairo build after r210319.
https://bugs.webkit.org/show_bug.cgi?id=166635

  • DerivedSources.cpp:

A toJS call was ambiguous, but only if the generated IndexedDB bindings are compiled all-in-one in DerivedSources.cpp.
Compiling these few files separately (which happens automatically in the CMake build) fixes the build and won't increase
the total object files beyond MSVC's current 2GB limit.

  • bindings/js/JSWebGLRenderingContextBaseCustom.cpp:

(WebCore::JSWebGLRenderingContextBaseOwner::isReachableFromOpaqueRoots):
Unknown was an ambiguous symbol. It's also defined in winioctl.h.

6:13 PM Changeset in webkit [210464] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-603.1.19

New tag.

5:41 PM Changeset in webkit [210463] by commit-queue@webkit.org
  • 1 edit
    2 moves in trunk/Tools

Create a plan and a patch files for MotionMark and delete the Animometer's ones
https://bugs.webkit.org/show_bug.cgi?id=166785

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-01-06
Reviewed by Ryosuke Niwa.

  • Scripts/webkitpy/benchmark_runner/data/patches/MotionMark.patch: Renamed from Tools/Scripts/webkitpy/benchmark_runner/data/patches/Animometer.patch.
  • Scripts/webkitpy/benchmark_runner/data/plans/motionmark.plan: Renamed from Tools/Scripts/webkitpy/benchmark_runner/data/plans/animometer.plan.
5:20 PM Changeset in webkit [210462] by matthew_hanson@apple.com
  • 3 edits in tags/Safari-603.1.18.0.1/Source/JavaScriptCore

Merge r210458. rdar://problem/29761198

5:06 PM Changeset in webkit [210461] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebKit2

Add infrastructure for sending autoplay website policies to WebKit
https://bugs.webkit.org/show_bug.cgi?id=166781

Patch by Matt Rajca <mrajca@apple.com> on 2017-01-06
Reviewed by Alex Christensen.

  • Shared/WebsitePolicies.h:

(WebKit::WebsitePolicies::encode):
(WebKit::WebsitePolicies::decode):

  • UIProcess/API/APIWebsitePolicies.h:
  • UIProcess/API/C/WKWebsitePolicies.cpp:

(WKWebsitePoliciesGetAutoplayPolicy):
(WKWebsitePoliciesSetAutoplayPolicy):

  • UIProcess/API/C/WKWebsitePolicies.h:
  • UIProcess/API/Cocoa/_WKWebsitePolicies.h:
  • UIProcess/API/Cocoa/_WKWebsitePolicies.mm:

(-[_WKWebsitePolicies setAutoplayPolicy:]):
(-[_WKWebsitePolicies autoplayPolicy]):

4:34 PM Changeset in webkit [210460] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Unreviewed, rolling out r210110.
https://bugs.webkit.org/show_bug.cgi?id=166783

Introduced a regression commenting out individual properties
(Requested by JoePeck on #webkit).

Reverted changeset:

"Web Inspector: Styles sidebar: Uncommenting CSS rules of
pseudo-elements doesn't work"
https://bugs.webkit.org/show_bug.cgi?id=165831
http://trac.webkit.org/changeset/210110

3:38 PM Changeset in webkit [210459] by commit-queue@webkit.org
  • 1 edit
    108 copies
    18 adds
    1 delete in trunk/PerformanceTests

Rename the directory and the files of MotionMark from Animometer to MotionMark
https://bugs.webkit.org/show_bug.cgi?id=166659

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-01-06
Reviewed by Jon Lee.

Rename the directory and the files of the benchmark to its new name.

  • MotionMark/developer.html: Renamed from PerformanceTests/Animometer/developer.html.
  • MotionMark/index.html: Renamed from PerformanceTests/Animometer/index.html.
  • MotionMark/resources/debug-runner/d3.min.js: Renamed from PerformanceTests/Animometer/resources/debug-runner/d3.min.js.
  • MotionMark/resources/debug-runner/graph.js: Renamed from PerformanceTests/Animometer/resources/debug-runner/graph.js.
  • MotionMark/resources/debug-runner/motionmark.css: Renamed from PerformanceTests/Animometer/resources/debug-runner/animometer.css.
  • MotionMark/resources/debug-runner/motionmark.js: Renamed from PerformanceTests/Animometer/resources/debug-runner/animometer.js.
  • MotionMark/resources/debug-runner/tests.js: Renamed from PerformanceTests/Animometer/resources/debug-runner/tests.js.
  • MotionMark/resources/extensions.js: Renamed from PerformanceTests/Animometer/resources/extensions.js.
  • MotionMark/resources/runner/benchmark-runner.js: Renamed from PerformanceTests/Animometer/resources/runner/benchmark-runner.js.
  • MotionMark/resources/runner/crystal.svg: Renamed from PerformanceTests/Animometer/resources/runner/crystal.svg.
  • MotionMark/resources/runner/lines.svg: Renamed from PerformanceTests/Animometer/resources/runner/lines.svg.
  • MotionMark/resources/runner/logo.svg: Renamed from PerformanceTests/Animometer/resources/runner/logo.svg.
  • MotionMark/resources/runner/motionmark.css: Renamed from PerformanceTests/Animometer/resources/runner/animometer.css.
  • MotionMark/resources/runner/motionmark.js: Renamed from PerformanceTests/Animometer/resources/runner/animometer.js.
  • MotionMark/resources/runner/tests.js: Renamed from PerformanceTests/Animometer/resources/runner/tests.js.
  • MotionMark/resources/statistics.js: Renamed from PerformanceTests/Animometer/resources/statistics.js.
  • MotionMark/resources/strings.js: Renamed from PerformanceTests/Animometer/resources/strings.js.
  • MotionMark/tests/3d/resources/webgl.js: Renamed from PerformanceTests/Animometer/tests/3d/resources/webgl.js.
  • MotionMark/tests/3d/webgl.html: Renamed from PerformanceTests/Animometer/tests/3d/webgl.html.
  • MotionMark/tests/bouncing-particles/bouncing-canvas-images.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-canvas-images.html.
  • MotionMark/tests/bouncing-particles/bouncing-canvas-shapes.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-canvas-shapes.html.
  • MotionMark/tests/bouncing-particles/bouncing-css-images.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-css-images.html.
  • MotionMark/tests/bouncing-particles/bouncing-css-shapes.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-css-shapes.html.
  • MotionMark/tests/bouncing-particles/bouncing-svg-images.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-svg-images.html.
  • MotionMark/tests/bouncing-particles/bouncing-svg-shapes.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-svg-shapes.html.
  • MotionMark/tests/bouncing-particles/bouncing-tagged-images.html: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/bouncing-tagged-images.html.
  • MotionMark/tests/bouncing-particles/resources/bouncing-canvas-images.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-canvas-images.js.
  • MotionMark/tests/bouncing-particles/resources/bouncing-canvas-particles.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-canvas-particles.js.
  • MotionMark/tests/bouncing-particles/resources/bouncing-canvas-shapes.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js.
  • MotionMark/tests/bouncing-particles/resources/bouncing-css-images.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-css-images.js.
  • MotionMark/tests/bouncing-particles/resources/bouncing-css-shapes.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js.
  • MotionMark/tests/bouncing-particles/resources/bouncing-svg-images.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-svg-images.js.
  • MotionMark/tests/bouncing-particles/resources/bouncing-svg-particles.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-svg-particles.js.
  • MotionMark/tests/bouncing-particles/resources/bouncing-svg-shapes.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js.
  • MotionMark/tests/bouncing-particles/resources/bouncing-tagged-images.js: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/bouncing-tagged-images.js.
  • MotionMark/tests/bouncing-particles/resources/image1.jpg: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/image1.jpg.
  • MotionMark/tests/bouncing-particles/resources/image2.jpg: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/image2.jpg.
  • MotionMark/tests/bouncing-particles/resources/image3.jpg: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/image3.jpg.
  • MotionMark/tests/bouncing-particles/resources/image4.jpg: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/image4.jpg.
  • MotionMark/tests/bouncing-particles/resources/image5.jpg: Renamed from PerformanceTests/Animometer/tests/bouncing-particles/resources/image5.jpg.
  • MotionMark/tests/dom/compositing-transforms.html: Renamed from PerformanceTests/Animometer/tests/dom/compositing-transforms.html.
  • MotionMark/tests/dom/focus.html: Renamed from PerformanceTests/Animometer/tests/dom/focus.html.
  • MotionMark/tests/dom/leaves.html: Renamed from PerformanceTests/Animometer/tests/dom/leaves.html.
  • MotionMark/tests/dom/particles.html: Renamed from PerformanceTests/Animometer/tests/dom/particles.html.
  • MotionMark/tests/dom/resources/compositing-transforms.js: Renamed from PerformanceTests/Animometer/tests/dom/resources/compositing-transforms.js.
  • MotionMark/tests/dom/resources/dom-particles.js: Renamed from PerformanceTests/Animometer/tests/dom/resources/dom-particles.js.
  • MotionMark/tests/dom/resources/focus.js: Renamed from PerformanceTests/Animometer/tests/dom/resources/focus.js.
  • MotionMark/tests/dom/resources/leaves.js: Renamed from PerformanceTests/Animometer/tests/dom/resources/leaves.js.
  • MotionMark/tests/master/canvas-stage.html: Renamed from PerformanceTests/Animometer/tests/master/canvas-stage.html.
  • MotionMark/tests/master/focus.html: Renamed from PerformanceTests/Animometer/tests/master/focus.html.
  • MotionMark/tests/master/image-data.html: Renamed from PerformanceTests/Animometer/tests/master/image-data.html.
  • MotionMark/tests/master/leaves.html: Renamed from PerformanceTests/Animometer/tests/master/leaves.html.
  • MotionMark/tests/master/multiply.html: Renamed from PerformanceTests/Animometer/tests/master/multiply.html.
  • MotionMark/tests/master/resources/canvas-stage.js: Renamed from PerformanceTests/Animometer/tests/master/resources/canvas-stage.js.
  • MotionMark/tests/master/resources/canvas-tests.js: Renamed from PerformanceTests/Animometer/tests/master/resources/canvas-tests.js.
  • MotionMark/tests/master/resources/compass.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/compass.svg.
  • MotionMark/tests/master/resources/compass100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/compass100.png.
  • MotionMark/tests/master/resources/console.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/console.svg.
  • MotionMark/tests/master/resources/console100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/console100.png.
  • MotionMark/tests/master/resources/contribute.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/contribute.svg.
  • MotionMark/tests/master/resources/contribute100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/contribute100.png.
  • MotionMark/tests/master/resources/debugger.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/debugger.svg.
  • MotionMark/tests/master/resources/debugger100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/debugger100.png.
  • MotionMark/tests/master/resources/focus.js: Renamed from PerformanceTests/Animometer/tests/master/resources/focus.js.
  • MotionMark/tests/master/resources/image-data.js: Renamed from PerformanceTests/Animometer/tests/master/resources/image-data.js.
  • MotionMark/tests/master/resources/inspector.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/inspector.svg.
  • MotionMark/tests/master/resources/inspector100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/inspector100.png.
  • MotionMark/tests/master/resources/layout.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/layout.svg.
  • MotionMark/tests/master/resources/layout100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/layout100.png.
  • MotionMark/tests/master/resources/leaves.js: Renamed from PerformanceTests/Animometer/tests/master/resources/leaves.js.
  • MotionMark/tests/master/resources/multiply.js: Renamed from PerformanceTests/Animometer/tests/master/resources/multiply.js.
  • MotionMark/tests/master/resources/particles.js: Renamed from PerformanceTests/Animometer/tests/master/resources/particles.js.
  • MotionMark/tests/master/resources/performance.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/performance.svg.
  • MotionMark/tests/master/resources/performance100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/performance100.png.
  • MotionMark/tests/master/resources/script.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/script.svg.
  • MotionMark/tests/master/resources/script100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/script100.png.
  • MotionMark/tests/master/resources/shortcuts.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/shortcuts.svg.
  • MotionMark/tests/master/resources/shortcuts100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/shortcuts100.png.
  • MotionMark/tests/master/resources/standards.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/standards.svg.
  • MotionMark/tests/master/resources/standards100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/standards100.png.
  • MotionMark/tests/master/resources/storage.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/storage.svg.
  • MotionMark/tests/master/resources/storage100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/storage100.png.
  • MotionMark/tests/master/resources/styles.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/styles.svg.
  • MotionMark/tests/master/resources/styles100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/styles100.png.
  • MotionMark/tests/master/resources/svg-particles.js: Renamed from PerformanceTests/Animometer/tests/master/resources/svg-particles.js.
  • MotionMark/tests/master/resources/text.js: Renamed from PerformanceTests/Animometer/tests/master/resources/text.js.
  • MotionMark/tests/master/resources/timeline.svg: Renamed from PerformanceTests/Animometer/tests/master/resources/timeline.svg.
  • MotionMark/tests/master/resources/timeline100.png: Renamed from PerformanceTests/Animometer/tests/master/resources/timeline100.png.
  • MotionMark/tests/master/svg-particles.html: Renamed from PerformanceTests/Animometer/tests/master/svg-particles.html.
  • MotionMark/tests/master/text.html: Renamed from PerformanceTests/Animometer/tests/master/text.html.
  • MotionMark/tests/resources/main.js: Renamed from PerformanceTests/Animometer/tests/resources/main.js.
  • MotionMark/tests/resources/math.js: Renamed from PerformanceTests/Animometer/tests/resources/math.js.
  • MotionMark/tests/resources/stage.css: Renamed from PerformanceTests/Animometer/tests/resources/stage.css.
  • MotionMark/tests/resources/star.svg: Renamed from PerformanceTests/Animometer/tests/resources/star.svg.
  • MotionMark/tests/resources/yin-yang.png: Renamed from PerformanceTests/Animometer/tests/resources/yin-yang.png.
  • MotionMark/tests/resources/yin-yang.svg: Renamed from PerformanceTests/Animometer/tests/resources/yin-yang.svg.
  • MotionMark/tests/simple/resources/simple-canvas-paths.js: Renamed from PerformanceTests/Animometer/tests/simple/resources/simple-canvas-paths.js.
  • MotionMark/tests/simple/resources/simple-canvas.js: Renamed from PerformanceTests/Animometer/tests/simple/resources/simple-canvas.js.
  • MotionMark/tests/simple/resources/tiled-canvas-image.js: Renamed from PerformanceTests/Animometer/tests/simple/resources/tiled-canvas-image.js.
  • MotionMark/tests/simple/simple-canvas-paths.html: Renamed from PerformanceTests/Animometer/tests/simple/simple-canvas-paths.html.
  • MotionMark/tests/simple/tiled-canvas-image.html: Renamed from PerformanceTests/Animometer/tests/simple/tiled-canvas-image.html.
  • MotionMark/tests/template/resources/template-canvas.js: Renamed from PerformanceTests/Animometer/tests/template/resources/template-canvas.js.
  • MotionMark/tests/template/resources/template-css.js: Renamed from PerformanceTests/Animometer/tests/template/resources/template-css.js.
  • MotionMark/tests/template/resources/template-svg.js: Renamed from PerformanceTests/Animometer/tests/template/resources/template-svg.js.
  • MotionMark/tests/template/template-canvas.html: Renamed from PerformanceTests/Animometer/tests/template/template-canvas.html.
  • MotionMark/tests/template/template-css.html: Renamed from PerformanceTests/Animometer/tests/template/template-css.html.
  • MotionMark/tests/template/template-svg.html: Renamed from PerformanceTests/Animometer/tests/template/template-svg.html.
3:38 PM Changeset in webkit [210458] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

The ObjC API's JSVirtualMachine's map tables need to be guarded by a lock.
https://bugs.webkit.org/show_bug.cgi?id=166778
<rdar://problem/29761198>

Reviewed by Filip Pizlo.

Now that we have a concurrent GC, access to JSVirtualMachine's
m_externalObjectGraph and m_externalRememberedSet need to be guarded by a lock
since both the GC marker thread and the mutator thread may access them at the
same time.

  • API/JSVirtualMachine.mm:

(-[JSVirtualMachine addExternalRememberedObject:]):
(-[JSVirtualMachine addManagedReference:withOwner:]):
(-[JSVirtualMachine removeManagedReference:withOwner:]):
(-[JSVirtualMachine externalDataMutex]):
(scanExternalObjectGraph):
(scanExternalRememberedSet):

  • API/JSVirtualMachineInternal.h:
  • Deleted externalObjectGraph method. There's no need to expose this.
3:30 PM Changeset in webkit [210457] by msaboff@apple.com
  • 3 edits
    1 add in trunk

@putByValDirect in Array.of and Array.from overwrites non-writable/configurable properties
https://bugs.webkit.org/show_bug.cgi?id=153486

Reviewed by Saam Barati.

JSTests:

New regression test.

  • stress/regress-153486.js: Added.

(shouldEqual):
(makeUnwriteableUnconfigurableObject):
(testArrayOf):
(testArrayFrom):
(runTest):

Source/JavaScriptCore:

Moved read only check in putDirect() to all paths.

  • runtime/SparseArrayValueMap.cpp:

(JSC::SparseArrayValueMap::putDirect):

3:29 PM Changeset in webkit [210456] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Text highlight causes Yoon Gothic webfont to reflow.
https://bugs.webkit.org/show_bug.cgi?id=166753

Reviewed by Darin Adler.

Add word-break: keep-all; support for CJK and breaking NBSPs.

Add test later. Need to figure out what font file to use.

  • rendering/SimpleLineLayoutTextFragmentIterator.cpp:

(WebCore::SimpleLineLayout::TextFragmentIterator::Style::Style):
(WebCore::SimpleLineLayout::TextFragmentIterator::nextBreakablePosition): Use BreakingContext's helper functions
to figure out the next breakable position.
(WebCore::SimpleLineLayout::TextFragmentIterator::skipToNextPosition):

  • rendering/SimpleLineLayoutTextFragmentIterator.h:
12:46 PM Changeset in webkit [210455] by bshafiei@apple.com
  • 2 edits in tags/Safari-603.1.18.0.1/Source/JavaScriptCore

Merge r210444. rdar://problem/29906144

12:38 PM Changeset in webkit [210454] by bshafiei@apple.com
  • 5 edits in tags/Safari-603.1.18.0.1/Source

Versioning.

12:38 PM Changeset in webkit [210453] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking fast/text/variations/advances.html as failing on Sierra.
https://bugs.webkit.org/show_bug.cgi?id=166672

Unreviewed test gardening.

  • platform/mac/TestExpectations:
12:36 PM Changeset in webkit [210452] by bshafiei@apple.com
  • 1 copy in tags/Safari-603.1.18.0.1

New tag.

12:23 PM Changeset in webkit [210451] by fpizlo@apple.com
  • 10 edits in trunk

DeferGC::~DeferGC should be super cheap
https://bugs.webkit.org/show_bug.cgi?id=166626

Reviewed by Saam Barati.
JSTests:

  • stress/slow-path-generator-updating-current-node-dfg.js:
  • stress/unshift-array-storage.js:

Source/JavaScriptCore:


Right now, ~DeferGC requires running the collector's full collectIfNecessaryOrDefer()
hook, which is super big. Normally, that hook would only be called from GC slow paths,
so it ought to be possible to add complex logic to it. It benefits the GC algorithm to
make that code smart, not necessarily fast.

The right thing for it to do is to have ~DeferGC check a boolean to see if
collectIfNecessaryOrDefer() had previously deferred anything, and only call it if that
is true. That's what this patch does.

Unfortunately, this means that we lose the collectAccordingToDeferGCProbability mode,
which we used for two tests. Since I could only see two tests that used this mode, I
felt that it was better to enhance the GC than to keep the tests. I filed bug 166627 to
bring back something like that mode.

Although this patch does make some paths faster, its real goal is to ensure that bug
165963 can add more logic to collectIfNecessaryOrDefer() without introducing a big
regression. Until then, I wouldn't be surprised if this patch was a progression, but I'm
not betting on it.

  • heap/Heap.cpp:

(JSC::Heap::collectIfNecessaryOrDefer):
(JSC::Heap::decrementDeferralDepthAndGCIfNeededSlow):
(JSC::Heap::canCollect): Deleted.
(JSC::Heap::shouldCollectHeuristic): Deleted.
(JSC::Heap::shouldCollect): Deleted.
(JSC::Heap::collectAccordingToDeferGCProbability): Deleted.
(JSC::Heap::decrementDeferralDepthAndGCIfNeeded): Deleted.

  • heap/Heap.h:
  • heap/HeapInlines.h:

(JSC::Heap::incrementDeferralDepth):
(JSC::Heap::decrementDeferralDepth):
(JSC::Heap::decrementDeferralDepthAndGCIfNeeded):
(JSC::Heap::mayNeedToStop):
(JSC::Heap::stopIfNecessary):

  • runtime/Options.h:
12:17 PM Changeset in webkit [210450] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Skip editing/caret/emoji.html on ios-simulator since it relies on EventSender.keydown().

Unreviewed test gardening.

  • platform/ios-simulator/TestExpectations:
12:02 PM Changeset in webkit [210449] by commit-queue@webkit.org
  • 10 edits in trunk

Add some missing longhand properties to CSSComputedStyleDeclaration and fix default values
https://bugs.webkit.org/show_bug.cgi?id=166674
<rdar://problem/6026159>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-01-06
Reviewed by Darin Adler.

Source/WebCore:

  • css/CSSComputedStyleDeclaration.cpp:

Add some missing longhand properties to the list of all longhand properties.

(WebCore::counterToCSSValue):
The default value for counter-increment and counter-reset should be "none"
not the empty string.

LayoutTests:

  • fast/css/getComputedStyle/computed-style-font-family.html:

Skip font-variation-settings which is only available if the feature flag is enabled.

  • fast/css/getComputedStyle/counterIncrement-without-counter-expected.txt:
  • fast/css/getComputedStyle/counterIncrement-without-counter.html:

Fix the default value to be "none" instead of the empty string.

  • svg/css/getComputedStyle-basic-expected.txt:
  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/getComputedStyle/resources/property-names.js:

Add some always expected to be available longhand properties to check.

11:54 AM Changeset in webkit [210448] by matthew_hanson@apple.com
  • 90 edits
    80 deletes in branches/safari-603-branch

Roll out r209979-r210282 and r210259 as part of disabling Web Assembly. rdar://problem/29890343

10:55 AM Changeset in webkit [210447] by Chris Dumez
  • 9 edits
    3 adds in trunk

[Form Validation] "character" in maxlength validation message should be singular when maxlength is 1
https://bugs.webkit.org/show_bug.cgi?id=166712
<rdar://problem/29872292>

Reviewed by Darin Adler.

Source/WebCore:

Fix validation message to use singular form of "character" when maxLength value is 1.

Test: fast/forms/validation-message-maxLength.html

  • English.lproj/Localizable.strings:
  • English.lproj/Localizable.stringsdict: Added.
  • WebCore.xcodeproj/project.pbxproj:
  • extract-localizable-strings.pl:
  • platform/LocalizedStrings.cpp:
  • platform/LocalizedStrings.h:
  • platform/cocoa/LocalizedStringsCocoa.mm:

(WebCore::localizedNString):
(WebCore::localizedString):
(WebCore::validationMessageTooLongText):

LayoutTests:

Add layout test coverage.

  • fast/forms/validation-message-maxLength-expected.txt: Added.
  • fast/forms/validation-message-maxLength.html: Added.
  • platform/ios-simulator/TestExpectations:
10:50 AM Changeset in webkit [210446] by commit-queue@webkit.org
  • 5 edits in trunk/Tools

Support webkit-test-runner key-value pairs in http tests
https://bugs.webkit.org/show_bug.cgi?id=149812

Patch by Antoine Quint <Antoine Quint> on 2017-01-06
Reviewed by Alex Christensen.

We pass the absolute path for a test through to WKTR so that we can parse
tests that are running as URLs for webkit-test-runner options.

  • DumpRenderTree/DumpRenderTreeCommon.cpp:

(parseInputLine):

Explicitly skip the --absolute-path option in DRT or else we'd crash.

  • Scripts/webkitpy/port/driver.py:

(Driver._command_from_driver_input):

Pass the absolute path to the file through the CLI.

  • WebKitTestRunner/TestController.cpp:

(WTR::updateTestOptionsFromTestHeader):
(WTR::TestController::testOptionsForTest):
(WTR::parseInputLine):
(WTR::TestController::runTest):

  • WebKitTestRunner/TestController.h:
10:48 AM Changeset in webkit [210445] by jer.noble@apple.com
  • 16 edits
    1 copy
    2 adds in trunk

Add support for MediaKeySystemAccess.createMediaKeys()
https://bugs.webkit.org/show_bug.cgi?id=166749

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/encrypted-media/mock-MediaKeySystemAccess.html

Implement MediaKeySystemAccess::createMediaKeys(). This requires some
additions to CDM, CDMPrivate, and a new interface CDMInstance to support
eventual platform adoption and to implement mock support for testing.

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::CDM::loadAndInitialize):
(WebCore::CDM::createInstance):

  • Modules/encryptedmedia/CDM.h:
  • Modules/encryptedmedia/CDMInstance.h:

(WebCore::CDMInstance::~CDMInstance):

  • Modules/encryptedmedia/CDMPrivate.h:
  • Modules/encryptedmedia/MediaKeySystemAccess.cpp:

(WebCore::MediaKeySystemAccess::createMediaKeys):

  • Modules/encryptedmedia/MediaKeySystemAccess.h:
  • Modules/encryptedmedia/MediaKeys.cpp:

(WebCore::MediaKeys::MediaKeys):

  • Modules/encryptedmedia/MediaKeys.h:

(WebCore::MediaKeys::create):

  • Modules/encryptedmedia/MediaKeys.idl:
  • Modules/encryptedmedia/NavigatorEME.cpp:

(WebCore::tryNextSupportedConfiguration):

  • WebCore.xcodeproj/project.pbxproj:
  • testing/MockCDMFactory.cpp:

(WebCore::MockCDM::MockCDM):
(WebCore::MockCDM::createInstance):
(WebCore::MockCDM::loadAndInitialize):
(WebCore::MockCDMInstance::MockCDMInstance):
(WebCore::MockCDMInstance::initializeWithConfiguration):
(WebCore::MockCDMInstance::setDistinctiveIdentifiersAllowed):
(WebCore::MockCDMInstance::setPersistentStateAllowed):

  • testing/MockCDMFactory.h:

(WebCore::MockCDMFactory::canCreateInstances):
(WebCore::MockCDMFactory::setCanCreateInstances):
(WebCore::MockCDM::factory):

  • testing/MockCDMFactory.idl:

LayoutTests:

  • media/encrypted-media/mock-MediaKeySystemAccess-expected.txt: Added.
  • media/encrypted-media/mock-MediaKeySystemAccess.html: Added.
  • platform/mac/TestExpectations:
9:55 AM Changeset in webkit [210444] by matthew_hanson@apple.com
  • 2 edits in branches/safari-603-branch/Source/JavaScriptCore

Disable WebAssembly. rdar://problem/29890343

9:32 AM Changeset in webkit [210443] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Add pass expectation for fast/text/emoji-num-glyphs.html on Sierra.

Unreviewed test gardening.

  • platform/mac/TestExpectations:
9:23 AM Changeset in webkit [210442] by Ryan Haddad
  • 2 edits in branches/safari-603-branch/LayoutTests

Merge r210377.

9:13 AM Changeset in webkit [210441] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Marking three pointer-lock tests as crashing on mac-wk2 debug.
https://bugs.webkit.org/show_bug.cgi?id=166765

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
7:38 AM Changeset in webkit [210440] by matthew_hanson@apple.com
  • 2 edits in branches/safari-603-branch/JSTests

Merge r210285. rdar://problem/29779182

7:38 AM Changeset in webkit [210439] by matthew_hanson@apple.com
  • 4 edits
    1 add in branches/safari-603-branch

Merge r210276. rdar://problem/28867002

7:38 AM Changeset in webkit [210438] by matthew_hanson@apple.com
  • 2 edits in branches/safari-603-branch/Source/JavaScriptCore

Merge r210259. rdar://problem/29856455

7:38 AM Changeset in webkit [210437] by matthew_hanson@apple.com
  • 19 edits in branches/safari-603-branch

Merge r210221. rdar://problem/29449474

6:05 AM Changeset in webkit [210436] by akling@apple.com
  • 30 edits in trunk/Source/WebCore

Give RenderObject a Page& getter.
<https://webkit.org/b/166735>

Reviewed by Darin Adler.

The render tree should now only ever be live while in a Frame that's connected to a Page.
Hence we can give RenderObject a Page& getter and simplify a lot of code that previously
had to get the Page from Document (or Frame) and perform null checks on it.

  • dom/Document.cpp:

(WebCore::Document::destroyRenderTree): Assert that the Page is present when we tear the render tree down.

  • page/Frame.cpp:

(WebCore::Frame::willDetachPage): Assert that there's no render tree when we're about to detach from the Page.
Also added a comment explaining the two main ways that render trees die.

  • rendering/RenderObject.h:

(WebCore::RenderObject::page): Added. So neat!

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::estimatedLoadingProgress):

  • rendering/ImageQualityController.cpp:

(WebCore::ImageQualityController::chooseInterpolationQuality):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paint):

  • rendering/RenderAttachment.cpp:

(WebCore::RenderAttachment::layout):
(WebCore::RenderAttachment::baselinePosition):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintCaret):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::styleDidChange):
(WebCore::setupWheelEventTestTrigger):
(WebCore::RenderBox::setScrollLeft):
(WebCore::RenderBox::setScrollTop):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::paintFocusRing):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::shouldUnavailablePluginMessageBeButton):
(WebCore::RenderEmbeddedObject::paint):
(WebCore::RenderEmbeddedObject::paintReplaced):
(WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
(WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):
(WebCore::RenderEmbeddedObject::getCursor):

  • rendering/RenderHTMLCanvas.cpp:

(WebCore::RenderHTMLCanvas::paintReplaced):

  • rendering/RenderIFrame.cpp:

(WebCore::RenderIFrame::flattenFrame):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::paintReplaced):
(WebCore::RenderImage::paintAreaElementFocusRing):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::~RenderLayer):
(WebCore::RenderLayer::forceUpdateScrollbarsOnMainThreadForPerformanceTesting):
(WebCore::RenderLayer::scrollRectToVisible):
(WebCore::RenderLayer::isActive):
(WebCore::RenderLayer::didStartScroll):
(WebCore::RenderLayer::didEndScroll):
(WebCore::RenderLayer::didUpdateScroll):
(WebCore::RenderLayer::createScrollbar):
(WebCore::RenderLayer::setupFontSubpixelQuantization):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::RenderLayerBacking):
(WebCore::RenderLayerBacking::createGraphicsLayer):
(WebCore::RenderLayerBacking::updateOverflowControlsLayers):
(WebCore::RenderLayerBacking::detachFromScrollingCoordinator):
(WebCore::RenderLayerBacking::paintContents):
(WebCore::RenderLayerBacking::shouldAggressivelyRetainTiles):
(WebCore::RenderLayerBacking::shouldTemporarilyRetainTileCohorts):
(WebCore::RenderLayerBacking::useGiantTiles):
(WebCore::RenderLayerBacking::verifyNotPainting):
(WebCore::RenderLayerBacking::startAnimation):
(WebCore::scrollingCoordinatorFromLayer): Deleted.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
(WebCore::RenderLayerCompositor::scheduleLayerFlushNow):
(WebCore::RenderLayerCompositor::flushPendingLayerChanges):
(WebCore::updateScrollingLayerWithClient):
(WebCore::RenderLayerCompositor::updateCustomLayersAfterFlush):
(WebCore::RenderLayerCompositor::notifyFlushBeforeDisplayRefresh):
(WebCore::RenderLayerCompositor::layerTiledBackingUsageChanged):
(WebCore::RenderLayerCompositor::updateCompositingLayers):
(WebCore::RenderLayerCompositor::appendDocumentOverlayLayers):
(WebCore::RenderLayerCompositor::layerBecameNonComposited):
(WebCore::RenderLayerCompositor::updateBacking):
(WebCore::RenderLayerCompositor::pageScaleFactor):
(WebCore::RenderLayerCompositor::zoomedOutPageScaleFactor):
(WebCore::RenderLayerCompositor::contentsScaleMultiplierForNewTiles):
(WebCore::RenderLayerCompositor::updateLayerForHeader):
(WebCore::RenderLayerCompositor::updateLayerForFooter):
(WebCore::RenderLayerCompositor::setRootExtendedBackgroundColor):
(WebCore::RenderLayerCompositor::attachRootLayer):
(WebCore::RenderLayerCompositor::detachRootLayer):
(WebCore::RenderLayerCompositor::rootLayerAttachmentChanged):
(WebCore::RenderLayerCompositor::registerAllScrollingLayers):
(WebCore::RenderLayerCompositor::scrollingCoordinator):
(WebCore::RenderLayerCompositor::graphicsLayerFactory):
(WebCore::RenderLayerCompositor::createDisplayRefreshMonitor):
(WebCore::RenderLayerCompositor::page):

  • rendering/RenderLayerCompositor.h:
  • rendering/RenderListBox.cpp:

(WebCore::setupWheelEventTestTrigger):
(WebCore::RenderListBox::setScrollTop):
(WebCore::RenderListBox::isActive):
(WebCore::RenderListBox::forceUpdateScrollbarsOnMainThreadForPerformanceTesting):
(WebCore::RenderListBox::createScrollbar):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::theme):

  • rendering/RenderObject.h:

(WebCore::RenderObject::page):

  • rendering/RenderSearchField.cpp:

(WebCore::RenderSearchField::addSearchResult):
(WebCore::RenderSearchField::showPopup):
(WebCore::RenderSearchField::valueChanged):

  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore::RenderSnapshottedPlugIn::updateSnapshot):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::updateControlStatesForRenderer):
(WebCore::RenderTheme::isActive):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintCellAndSetFocusedElementNeedsRepaintIfNecessary):
(WebCore::RenderThemeMac::paintSliderThumb):

  • rendering/RenderVideo.cpp:

(WebCore::RenderVideo::paintReplaced):

  • rendering/RenderView.cpp:

(WebCore::RenderView::pageNumberForBlockProgressionOffset):
(WebCore::RenderView::pageCount):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::paintReplaced):

  • style/StyleResolveForDocument.cpp:

(WebCore::Style::resolveForDocument):

1:47 AM Changeset in webkit [210435] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Fixed duplicate test expectation entries on Windows.

Unreviewed test gardening.

  • platform/win/TestExpectations:
1:16 AM Changeset in webkit [210434] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Warning about unconnectable outlets when opening a MiniBrowser window
https://bugs.webkit.org/show_bug.cgi?id=166756

Reviewed by Dan Bernstein.

  • MiniBrowser/mac/BrowserWindow.xib:

When launching MiniBrowser, it says:
Failed to connect (Share) outlet from (WK1BrowserWindowController) to

(MBToolbarItem): missing setter or instance variable

Failed to connect (shareButton) outlet from (WK1BrowserWindowController) to

(NSButtonCell): missing setter or instance variable.

It looks like someone added the connection from the share button
to the BrowserWindowController three times; only one of the connections
is valid. Remove the other two.

Note: See TracTimeline for information about the timeline view.