Timeline
Dec 27, 2015:
- 7:01 PM Changeset in webkit [194427] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: improve pre-filled bugzilla link on Uncaught Exception reporter sheet
https://bugs.webkit.org/show_bug.cgi?id=152402
Reviewed by Joseph Pecoraro.
Include the UA string, inspected page URL, and a template that includes
steps to reproduce and notes. Other common headings (regression, expected,
results, summary) are omitted because they are unlikely to be known when
an uncaught exception occurs, or are obvious ("shouldn't throw exception").
- UserInterface/Debug/UncaughtExceptionReporter.js:
- 2:56 PM Changeset in webkit [194426] by
-
- 3 edits2 adds in trunk
Should never be reached failure in WebCore::RenderElement::clearLayoutRootIfNeeded
https://bugs.webkit.org/show_bug.cgi?id=151590
Reviewed by Simon Fraser.
We should always set the layoutroot when a new subtree layout is requested (and convert it
to a full layout when needed). It ensures that renderers are detached cleanly even when
they are set as layoutroot.
Source/WebCore:
Test: fast/block/assert-when-layout-root-is-not-cleared.html
- page/FrameView.cpp:
(WebCore::FrameView::scheduleRelayoutOfSubtree):
LayoutTests:
- fast/block/assert-when-layout-root-is-not-cleared-expected.txt: Added.
- fast/block/assert-when-layout-root-is-not-cleared.html: Added.
Dec 26, 2015:
- 11:21 PM Changeset in webkit [194425] by
-
- 3 edits in trunk/Source/WebKit2
[WK2][EFL] Use eina_file_path_join at platformDefaultIconDatabasePath in WebProcessPoolEfl
https://bugs.webkit.org/show_bug.cgi?id=152565
Reviewed by Gyuyoung Kim.
Use eina_file_path_join and EINA_PATH_SEP_S at platformDefaultIconDatabasePath
instead of operator+ and separator "/" respectively
to concatenate paths.
- UIProcess/API/efl/APIWebsiteDataStoreEfl.cpp:
- UIProcess/efl/WebProcessPoolEfl.cpp:
(WebKit::WebProcessPool::platformDefaultIconDatabasePath):
- 10:34 PM Changeset in webkit [194424] by
-
- 2 edits in trunk/Source/WebCore
[CMake] Rearrange new gamepad files with deprecated files
https://bugs.webkit.org/show_bug.cgi?id=152564
Reviewed by Alex Christensen.
New gamepad files have been commented out in CMakeLists.txt so far. This patch
rearrange the files with deprecated files using ENABLE_GAMEPAD.
- CMakeLists.txt:
- 10:27 PM Changeset in webkit [194423] by
-
- 4 edits in trunk/Source/JavaScriptCore
Rename NodeMayOverflowInXXX to NodeMayOverflowInt32InXXX.
https://bugs.webkit.org/show_bug.cgi?id=152555
Reviewed by Alex Christensen.
That's because the NodeMayOverflowInBaseline and NodeMayOverflowInDFG flags only
indicates potential overflowing of Int32 values. We'll be adding overflow
profiling for Int52 values later, and we should disambiguate between the 2 types.
This is purely a renaming patch. There are no semantic changes.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::makeSafe):
(JSC::DFG::ByteCodeParser::makeDivSafe):
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
- dfg/DFGNodeFlags.cpp:
(JSC::DFG::dumpNodeFlags):
- dfg/DFGNodeFlags.h:
(JSC::DFG::nodeMayOverflowInt32):
(JSC::DFG::nodeCanSpeculateInt32):
(JSC::DFG::nodeMayOverflow): Deleted.
- 6:24 PM Changeset in webkit [194422] by
-
- 2 edits in trunk/Source/WebCore
[Curl] Compile errors.
https://bugs.webkit.org/show_bug.cgi?id=152563
Reviewed by Alex Christensen.
The ResourceError constructor has changed signature.
- platform/network/curl/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::downloadTimerCallback):
(WebCore::ResourceHandleManager::dispatchSynchronousJob):
Dec 25, 2015:
- 9:28 PM Changeset in webkit [194421] by
-
- 16 edits2 adds in trunk
Subpixel rendering: Add subpixel support for outline.
https://bugs.webkit.org/show_bug.cgi?id=152560
Source/WebCore:
Reviewed by Simon Fraser.
This patch adds support for subpixel outline-width/outline-offset.
Test: fast/borders/hidpi-outline-hairline-painting.html
- css/CSSPropertyNames.in:
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
- platform/graphics/GraphicsContext.h:
- platform/graphics/mac/GraphicsContextMac.mm:
(WebCore::GraphicsContext::drawFocusRing):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::computeMaxOutlineSize):
(WebCore::RenderElement::paintOutline):
- rendering/RenderImage.cpp:
(WebCore::RenderImage::paintAreaElementFocusRing):
- rendering/RenderInline.cpp:
(WebCore::RenderInline::paintOutlineForLine):
- rendering/RenderObject.cpp:
(WebCore::RenderObject::adjustRectForOutlineAndShadow):
- rendering/RenderView.cpp:
(WebCore::RenderView::setMaximalOutlineSize):
- rendering/RenderView.h:
- rendering/style/OutlineValue.h:
(WebCore::OutlineValue::offset):
(WebCore::OutlineValue::OutlineValue): Deleted.
- rendering/style/RenderStyle.h:
LayoutTests:
Unable to ref-test other outline types.
Reviewed by Simon Fraser.
- fast/borders/hidpi-outline-hairline-painting-expected.html: Added.
- fast/borders/hidpi-outline-hairline-painting.html: Added.
- 12:46 PM Changeset in webkit [194420] by
-
- 2 edits in trunk/Source/WebCore
ASSERT(m_nsResponse) in ResourceResponse::platformCertificateInfo() when running tests in iOS simulator
https://bugs.webkit.org/show_bug.cgi?id=152559
Reviewed by Andy Estes.
Fix a regression from r194378.
- platform/network/cocoa/ResourceResponseCocoa.mm:
(WebCore::ResourceResponse::platformCertificateInfo):
- 4:22 AM Changeset in webkit [194419] by
-
- 35 edits in trunk/Source
ResourceError should store failingURL as URL instead of String to avoid reparsing and to address FIXME comments in ResourceErrorCF.cpp and ResourceErrorMac.mm
<http://webkit.org/b/146391>
Reviewed by Antti Koivisto.
Source/WebCore:
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
(WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
(WebCore::DocumentThreadableLoader::didReceiveResponse):
(WebCore::DocumentThreadableLoader::preflightFailure):
- loader/DocumentThreadableLoader.h:
(WebCore::DocumentThreadableLoader::preflightFailure):
- Switch type of 'url' argument of preflightFailure() from String to URL.
- Update for type change of 'failingURL' argument to ResourceError().
- loader/EmptyClients.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadResourceSynchronously):
- loader/MediaResourceLoader.cpp:
(WebCore::MediaResourceLoader::responseReceived):
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::loadDataURL):
- loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
- Update for type change of 'failingURL' argument to ResourceError().
- page/EventSource.cpp:
(WebCore::EventSource::didFailAccessControlCheck):
- Convert failingURL() to String explicitly.
- platform/efl/ErrorsEfl.cpp:
(WebCore::cancelledError):
(WebCore::blockedError):
(WebCore::blockedByContentBlockerError):
(WebCore::cannotShowURLError):
(WebCore::interruptedForPolicyChangeError):
(WebCore::cannotShowMIMETypeError):
(WebCore::fileDoesNotExistError):
(WebCore::pluginWillHandleLoadError):
(WebCore::downloadCancelledByUserError):
(WebCore::downloadDestinationError):
- platform/gtk/ErrorsGtk.cpp:
(WebCore::cancelledError):
(WebCore::blockedError):
(WebCore::blockedByContentBlockerError):
(WebCore::cannotShowURLError):
(WebCore::interruptedForPolicyChangeError):
(WebCore::cannotShowMIMETypeError):
(WebCore::fileDoesNotExistError):
(WebCore::pluginWillHandleLoadError):
(WebCore::downloadCancelledByUserError):
(WebCore::downloadDestinationError):
- Update for type change of 'failingURL' argument to ResourceError().
- platform/network/ResourceErrorBase.h:
(WebCore::ResourceErrorBase::failingURL):
- Change return type from String to URL.
(WebCore::ResourceErrorBase::ResourceErrorBase):
- platform/network/cf/ResourceError.h:
(WebCore::ResourceError::ResourceError):
- Change type of 'failingURL' from String to URL.
- platform/network/cf/ResourceErrorCF.cpp:
(WebCore::ResourceError::ResourceError):
- Change type of 'failingURL' from String to URL.
(WebCore::ResourceError::platformLazyInit):
- Clean up code and address FIXME by parsing CFURLRef using URL() constructor.
(WebCore::ResourceError::cfError):
- Clean up code and address FIXME after switching type of m_failingURL.
- platform/network/curl/ResourceError.h:
(WebCore::ResourceError::ResourceError):
- Change type of 'failingURL' from String to URL.
- platform/network/mac/ResourceErrorMac.mm:
(WebCore::createNSErrorFromResourceErrorBase):
(WebCore::ResourceError::platformLazyInit):
- Clean up code and address FIXME after switching type of m_failingURL.
- platform/network/soup/ResourceError.h:
(WebCore::ResourceError::ResourceError):
(WebCore::ResourceError::timeoutError):
- platform/network/soup/ResourceErrorSoup.cpp:
(WebCore::failingURI):
(WebCore::ResourceError::timeoutError):
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::ResourceHandle::timeoutFired):
- Change type of 'failingURL' from String to URL.
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::didFail):
- Convert failingURL() to String explicitly.
- Also switch to using makeString().
Source/WebKit/win:
- WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::cancelledError):
(WebFrameLoaderClient::blockedError):
(WebFrameLoaderClient::cannotShowURLError):
(WebFrameLoaderClient::interruptedForPolicyChangeError):
(WebFrameLoaderClient::cannotShowMIMETypeError):
(WebFrameLoaderClient::fileDoesNotExistError):
(WebFrameLoaderClient::pluginWillHandleLoadError):
(WebFrameLoaderClient::dispatchDidFailToStartPlugin):
(WebFrameLoaderClient::createJavaAppletWidget):
- WebDownloadCFNet.cpp:
(WebDownload::cancelAuthenticationChallenge):
- WebError.cpp:
(WebError::init):
- Update for type change of 'failingURL' argument to ResourceError().
Source/WebKit2:
- NetworkProcess/Downloads/efl/DownloadSoupErrorsEfl.cpp:
(WebKit::platformDownloadNetworkError):
- NetworkProcess/Downloads/gtk/DownloadSoupErrorsGtk.cpp:
(WebKit::platformDownloadNetworkError):
- NetworkProcess/Downloads/soup/DownloadSoup.cpp:
(WebKit::DownloadClient::didReceiveResponse):
- NetworkProcess/Downloads/soup/DownloadSoupErrors.h:
- Shared/soup/WebCoreArgumentCodersSoup.cpp:
(IPC::ArgumentCoder<ResourceError>::encodePlatformData):
(IPC::ArgumentCoder<ResourceError>::decodePlatformData):
- UIProcess/API/gtk/WebKitLoaderClient.cpp:
(LoaderClient::didFailProvisionalLoadWithErrorForFrame):
(LoaderClient::didFailLoadWithErrorForFrame):
- UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
(webkit_uri_scheme_request_finish_error):
- WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
(WebKit::internalError):
- WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
(WebKit::internalError):
- Update for type change of 'failingURL' argument to ResourceError().
Dec 24, 2015:
- 11:25 PM Changeset in webkit [194418] by
-
- 3 edits4 adds in trunk
ASSERTION FAILED: x2 >= x1 in WebCore::RenderElement::drawLineForBoxSide
https://bugs.webkit.org/show_bug.cgi?id=151210
Reviewed by Simon Fraser.
Source/WebCore:
"IntRect outer = snappedIntRect(inner)" explicitly converts inner to LayoutRect first and
returns a snapped IntRect. When inner (after the inflate) overflows LayoutUnit,
the snapped rect might become smaller than the inner rect.
This patch also enables outline painting on subpixel positions.
Tests: fast/borders/hidpi-outline-on-subpixel-position.html
fast/borders/outline-offset-overflow.html
- rendering/RenderElement.cpp:
(WebCore::RenderElement::paintOutline):
LayoutTests:
"IntRect outer = snappedIntRect(inner)" explicitly converts inner to LayoutRect and
returns a snapped IntRect. When inner (after the inflate) overflows LayoutUnit,
the snapped outer rect becomes smaller than the inner rect.
This patch also enables outline painting on subpixel positions.
- fast/borders/hidpi-outline-on-subpixel-position-expected.html: Added.
- fast/borders/hidpi-outline-on-subpixel-position.html: Added.
- fast/borders/outline-offset-overflow-expected.txt: Added.
- fast/borders/outline-offset-overflow.html: Added.
- 9:37 PM Changeset in webkit [194417] by
-
- 11 edits in trunk/Source/WebCore
Use an enum for RenderElement's baseTypeFlags
https://bugs.webkit.org/show_bug.cgi?id=152553
Reviewed by Zalan Bujtas.
Use an enum, rather than unsigned, for the BaseTypeFlags bit mask.
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::RenderBlock):
- rendering/RenderBlock.h:
- rendering/RenderBox.cpp:
(WebCore::RenderBox::RenderBox):
- rendering/RenderBox.h:
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::RenderBoxModelObject):
- rendering/RenderBoxModelObject.h:
- rendering/RenderElement.cpp:
(WebCore::RenderElement::RenderElement):
- rendering/RenderElement.h:
- rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::RenderLayerModelObject):
- rendering/RenderLayerModelObject.h:
- 12:47 PM Changeset in webkit [194416] by
-
- 7 edits in trunk
Remove the unused #define _USE_MATH_DEFINES
https://bugs.webkit.org/show_bug.cgi?id=152034
Reviewed by Tim Horton.
Source/WebCore:
_USE_MATH_DEFINES was added in r123968 but no longer does anything.
- platform/graphics/cg/GraphicsContextCG.cpp:
- platform/graphics/cg/PDFDocumentImage.cpp:
- rendering/mathml/RenderMathMLMenclose.cpp:
- rendering/mathml/RenderMathMLOperator.cpp:
Tools:
Update this test to use piDouble from MathExtras.h, and
std::numeric_limits<>.
- TestWebKitAPI/Tests/WTF/MediaTime.cpp:
- 2:42 AM Changeset in webkit [194415] by
-
- 3 edits in trunk/Tools
Python SCM should be able to retrieve untracked files - Generic changes
https://bugs.webkit.org/show_bug.cgi?id=152536
Reviewed by Brent Fulgham.
This patch introduces SCM.untracked_files to retrieve a list of untracked files.
No support is yet added to GIT and SVN specific implementations.
- Scripts/webkitpy/common/checkout/scm/scm.py:
(SCM.untracked_files):
- Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
(SCMTest._shared_test_untracked_files):
Dec 23, 2015:
- 11:40 PM Changeset in webkit [194414] by
-
- 19 edits in trunk
Modern IDB: Don't open any new connections until after version change transactions are completely handled.
https://bugs.webkit.org/show_bug.cgi?id=152441
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (At least 4 failing tests now pass).
When a version change transaction is in progress for a database, the server should not open any new connections
to that database until the version change transaction has been 100% completed.
This means *all* events related to finishing the transaction must fire.
To support this, a new message from client -> server is added.
- Modules/indexeddb/client/IDBConnectionToServer.cpp:
(WebCore::IDBClient::IDBConnectionToServer::didFinishHandlingVersionChangeTransaction):
- Modules/indexeddb/client/IDBConnectionToServer.h:
- Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
- Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:
(WebCore::IDBClient::IDBOpenDBRequest::dispatchEvent):
- Modules/indexeddb/client/IDBOpenDBRequestImpl.h:
- Modules/indexeddb/client/IDBRequestImpl.h:
- Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::didFinishHandlingVersionChangeTransaction):
- Modules/indexeddb/server/IDBServer.h:
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::handleDatabaseOperations):
(WebCore::IDBServer::UniqueIDBDatabase::didFinishHandlingVersionChange):
(WebCore::IDBServer::UniqueIDBDatabase::commitTransaction): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::didPerformAbortTransaction): Deleted.
(WebCore::IDBServer::UniqueIDBDatabase::inProgressTransactionCompleted): Deleted.
- Modules/indexeddb/server/UniqueIDBDatabase.h:
- Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::didFinishHandlingVersionChange):
- Modules/indexeddb/server/UniqueIDBDatabaseTransaction.h:
- Modules/indexeddb/shared/IDBTransactionInfo.cpp:
(WebCore::IDBTransactionInfo::loggingString):
- Modules/indexeddb/shared/IDBTransactionInfo.h:
- Modules/indexeddb/shared/InProcessIDBServer.cpp:
(WebCore::InProcessIDBServer::didFinishHandlingVersionChangeTransaction):
- Modules/indexeddb/shared/InProcessIDBServer.h:
LayoutTests:
- platform/mac-wk1/TestExpectations: Enable 4 now-passing tests.
- 11:39 PM Changeset in webkit [194413] by
-
- 6 edits in trunk
Modern IDB: storage/indexeddb/transaction-basics.html fails.
https://bugs.webkit.org/show_bug.cgi?id=152481
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (Failing test now passes).
- Modules/indexeddb/client/IDBDatabaseImpl.cpp:
(WebCore::IDBClient::IDBDatabase::transaction): Include the invalid string argument
in the error message.
LayoutTests:
- platform/mac-wk1/TestExpectations:
- storage/indexeddb/modern/idbdatabase-transaction-failures-expected.txt:
- storage/indexeddb/transaction-basics-expected.txt:
- 10:39 PM Changeset in webkit [194412] by
-
- 2 edits in trunk/LayoutTests
Unreviewed EFL gardening.
Mark shadow dom to Pass with incorrect result. Additionally remove
disappeared storage tests in TestExpectations.
Unskip MSE tests because MSE functionalities have been supported by gstreamer.
- platform/efl/TestExpectations:
- 8:26 PM Changeset in webkit [194411] by
-
- 2 edits2 adds in trunk/PerformanceTests
Add an Animometer developer test which animates text-rich boxes
https://bugs.webkit.org/show_bug.cgi?id=152544
Reviewed by Zalan Bujtas.
Add a test that draws lots of international text. This is a particle test,
moving the boxes around with absolution positioning.
- Animometer/resources/debug-runner/tests.js:
- Animometer/tests/text/resources/text-boxes.js: Added.
(BouncingTextBox):
(BouncingTextBox.prototype._move):
(BouncingTextBox.prototype.animate):
(BouncingTextBoxStage):
(BouncingTextBoxStage.prototype.createParticle):
(BouncingTextBoxStage.prototype.particleWillBeRemoved):
(BouncingTextBoxsBenchmark):
(BouncingTextBoxsBenchmark.prototype.createStage):
(window.benchmarkClient.create):
- Animometer/tests/text/text-boxes.html: Added.
- 7:43 PM Changeset in webkit [194410] by
-
- 11 edits in trunk/Source
Use "constrainedBetween" in more places
https://bugs.webkit.org/show_bug.cgi?id=152543
Reviewed by Zalan Bujtas.
Replace code that contrains points via shrunkTo/expandedTo() with calls
to constrainedBetween(), and implement constrainedBetween() on IntPoint,
FloatPoint and LayoutPoint.
Convert some functions that return points to more modern syntax.
Source/WebCore:
- page/scrolling/ScrollingTreeFrameScrollingNode.cpp:
(WebCore::ScrollingTreeFrameScrollingNode::setScrollPosition):
- page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::setScrollPosition):
- platform/ScrollView.cpp:
(WebCore::ScrollView::adjustScrollPositionWithinRange):
- platform/graphics/FloatPoint.cpp:
(WebCore::FloatPoint::constrainedBetween):
- platform/graphics/FloatPoint.h:
(WebCore::FloatPoint::shrunkTo):
(WebCore::FloatPoint::expandedTo):
(WebCore::FloatPoint::transposedPoint):
- platform/graphics/IntPoint.cpp:
- platform/graphics/LayoutPoint.cpp:
(WebCore::LayoutPoint::constrainedBetween):
- platform/graphics/LayoutPoint.h:
(WebCore::LayoutPoint::expandedTo):
(WebCore::LayoutPoint::shrunkTo):
(WebCore::LayoutPoint::transposedPoint):
(WebCore::LayoutPoint::fraction):
(WebCore::LayoutPoint::operator FloatPoint):
Source/WebKit2:
- UIProcess/API/Cocoa/WKWebView.mm:
(constrainContentOffset):
- 6:17 PM Changeset in webkit [194409] by
-
- 3 edits in trunk/Source/JavaScriptCore
jsc CLI tool crashes on EOF.
<https://webkit.org/b/152522>
Reviewed by Benjamin Poulain.
SourceProvider should treat String() like the empty string for hashing purposes.
This was a subtle behavior change in r194017 due to how zero-length strings are
treated by StringImpl::createSubstringSharingImpl().
I made these SourceProviders store a Ref<StringImpl> internally instead of a
String, to codify the fact that these strings can't be null strings.
I couldn't find a way to cause this crash through the API.
- API/JSScriptRef.cpp:
(OpaqueJSScript::OpaqueJSScript):
- parser/SourceProvider.h:
(JSC::StringSourceProvider::StringSourceProvider):
- 5:36 PM Changeset in webkit [194408] by
-
- 2 edits6 adds in trunk/PerformanceTests
Split benchmark into two different pages
https://bugs.webkit.org/show_bug.cgi?id=152458
Reviewed by Simon Fraser.
Add tests to 'animometer' suite.
- Animometer/resources/runner/tests.js:
- Animometer/tests/master/canvas-stage.html: Added.
- Animometer/tests/master/resources/canvas-stage.js: Added.
- Animometer/tests/master/resources/canvas-tests.js: Added.
- Animometer/tests/master/resources/stage.css: Added.
- 5:31 PM Changeset in webkit [194407] by
-
- 36 edits5 copies8 adds2 deletes in trunk/PerformanceTests
Split benchmark into two different pages
https://bugs.webkit.org/show_bug.cgi?id=152458
Reviewed by Simon Fraser.
Address comments.
- Animometer/resources/debug-runner/benchmark-runner.js:
(BenchmarkRunner.prototype._runTestAndRecordResults): When the testing is complete the frame owning the
sampler goes away, and a later call to get the JSON data is no longer available. Process the data
right here, instead, and just reference it when displaying the results in ResultsDashboard.prototype._processData.
- Animometer/resources/extensions.js:
(Array.prototype.fill.Array.prototype.fill): Add a null check. Remove braces around single-line clause.
(Array.prototype.find.Array.prototype.find): Update the null check.
(ResultsDashboard.prototype._processData): Use the already-processed data.
- Animometer/resources/runner/animometer.css:
(.frame-container > iframe): Remove calc().
Move Array functions to extensions.js since that is included by the harness.
Add ES6 Array polyfills.
- Animometer/resources/algorithm.js:
(Array.prototype.swap): Moved to extensions.js.
- Animometer/resources/extensions.js:
(Array.prototype.swap):
(Array.prototype.fill): Added.
(Array.prototype.find): Added.
Adjust styles for iPad.
- Animometer/resources/runner/animometer.css:
(@media screen and (min-device-width: 768px)): Apply to iPad as well.
(@media screen and (max-device-width: 1024px)): Update width for iPads.
Adjustment styles for iOS.
- Animometer/developer.html: Different divs contain the iframe, so use a class instead and
update the style rules.
- Animometer/index.html:
- Animometer/resources/debug-runner/animometer.css: Remove extraneous rules.
(@media screen and (min-device-width: 1800px)): Move this up.
- Animometer/resources/runner/animometer.css: Add rules to accomodate iOS.
Get rid of prefixed flex properties for now.
- Animometer/resources/debug-runner/animometer.css:
- Animometer/resources/runner/animometer.css:
Update the structure of the harness. Remove the JSON-per-test but keep
the JSON of the whole test run. Use the full page in order to display
the graph.
- Animometer/developer.html: Update several of the JS file includes to UTF-8. Remove header and footer. Test results screen includes score,
average, and worst 5% statistics.
- Animometer/index.html: Make structure similar to developer.html.
- Animometer/resources/debug-runner/animometer.css: Remove most of the
button rules since they are superfluous. Move the progress bar to the
top, fixed. Update the results page rules.
- Animometer/resources/debug-runner/animometer.js: Remove most of the
additions to sectionsManager since they are no longer needed.
(setSectionHeader): Updates header of the section.
(window.suitesManager._updateStartButtonState): Update selector.
(showResults): Add keypress event for selecting different data for
copy/paste. Update how the results are populated. Include full test
JSON in a textarea, rather than requiring a button press.
(showTestGraph):
- Animometer/resources/debug-runner/tests.js: Update structure of Headers. Define different kinds of headers. Headers can control their
title, and the text used as the cell contents, including class name.
- Animometer/resources/extensions.js:
(ResultsTable): Update to include a flattened version of the headers,
used while populating table contents. Remove unneeded helper functions
for creating the table. Rename "show" to "add".
- Animometer/resources/runner/animometer.css: Update rules to
accommodate the new structure.
- Animometer/resources/runner/animometer.js:
(window.sectionsManager.setSectionScore): Helper function to set the
score and mean for a section.
(window.sectionsManager.populateTable): Helper function to set the table.
(window.benchmarkController.showResults): Refactor.
(window.benchmarkController.selectResults): Update selectors.
- Animometer/resources/runner/tests.js: Set Headers. Debug harness
extends it.
Update debug runner to have similar names to the basic runner. Include
that page's CSS and remove extraneous CSS rules.
Get rid of the statistics table #record.
- Animometer/developer.html: Rename #home to #intro. Rename .spacer to hr.
- Animometer/resources/debug-runner/animometer.css: Set to flexbox when selected.
- Animometer/resources/debug-runner/animometer.js: Remove recordTable.
(window.suitesManager._updateStartButtonState): Update selector to #intro.
(setupRunningSectionStyle): Deleted.
- Animometer/resources/runner/animometer.css:
(#test-container.selected): Change to flex-box only when visible.
Remove recordTable.
- Animometer/resources/debug-runner/benchmark-runner.js:
(BenchmarkRunner.prototype._runTestAndRecordResults):
- Animometer/resources/runner/tests.js:
- Animometer/tests/bouncing-particles/resources/bouncing-canvas-images.js:
- Animometer/tests/bouncing-particles/resources/bouncing-canvas-particles.js:
- Animometer/tests/bouncing-particles/resources/bouncing-canvas-shapes.js:
- Animometer/tests/bouncing-particles/resources/bouncing-css-images.js:
- Animometer/tests/bouncing-particles/resources/bouncing-css-shapes.js:
- Animometer/tests/bouncing-particles/resources/bouncing-particles.js:
- Animometer/tests/bouncing-particles/resources/bouncing-svg-images.js:
- Animometer/tests/bouncing-particles/resources/bouncing-svg-shapes.js:
- Animometer/tests/examples/resources/canvas-electrons.js:
- Animometer/tests/examples/resources/canvas-stars.js:
- Animometer/tests/misc/resources/compositing-transforms.js:
- Animometer/tests/resources/main.js:
- Animometer/tests/resources/stage.js:
(StageBenchmark): Remove _recordTable.
- Animometer/tests/simple/resources/simple-canvas-paths.js:
- Animometer/tests/simple/resources/simple-canvas.js:
- Animometer/tests/template/resources/template-canvas.js:
- Animometer/tests/template/resources/template-css.js:
- Animometer/tests/template/resources/template-svg.js:
- Animometer/tests/text/resources/layering-text.js:
- Animometer/resources/debug-runner/animometer.js:
(willStartFirstIteration): Fix selector, since results-table is used
in multiple places, so it cannot be an id.
Make it possible to select the scores, or the whole table data,
by cycling through different selections through key press of 's'.
- Animometer/resources/runner/animometer.js:
(window.benchmarkController.showResults): Attach a keypress handler
if it hasn't been added already.
(window.benchmarkController.selectResults):
- Animometer/resources/runner/tests.js: Cycle through different
ranges.
Fix a few fly-by errors.
- Animometer/resources/debug-runner/benchmark-runner.js:
(BenchmarkRunnerState.prototype.prepareCurrentTest): Update the frame relative path
since the files are now in the top directory instead of inside runner/.
(BenchmarkRunner.prototype._runTestAndRecordResults): Incorrect reference to function.
(BenchmarkRunner.prototype.step): Member variable is never used.
A little stylistic cleanup.
- Animometer/resources/debug-runner/benchmark-runner.js:
- Animometer/resources/extensions.js:
(window.DocumentExtension.createElement):
- Animometer/tests/resources/main.js:
(Benchmark.prototype.record):
- Animometer/tests/resources/stage.js:
(StageBenchmark.prototype.showResults): Reverse progress and message.
The message appears less frequently than the progress.
- Animometer/tests/simple/resources/simple-canvas.js:
(SimpleCanvasBenchmark): Remove unused options.
Add newer version of harness in a new page. Consolidate differences between the two
pages.
- Animometer/developer.html: Include runner/animometer.js. Rename the JS function
to run the benchmark to startBenchmark() instead of startTest(). Rename #running to
#test-container.
- Animometer/index.html: Added. Similarly calls startBenchmark() and has #test-container.
- Animometer/resources/debug-runner/animometer.css: Make the canvas 2:1 (1200px x 800px)
instead of 4:3.
Split out benchmarkRunnerClient and benchmarkController.
- Animometer/resources/debug-runner/animometer.js: Move needed functions out of
benchmarkRunnerClient, and leave the rest here to extend that object. Get rid of _resultsTable
and move populating the results table into benchmarkController. Rename _resultsDashboard
to results and make it accessible for other objects to use.
(willAddTestFrame): This is unnecessary. Remove.
(window.sectionsManager.showScore): Grab it from the results object instead of
benchmarkRunnerClient.
(window.sectionsManager.showSection): Deleted. Moved to runner/animometer.js.
(window.benchmarkController._runBenchmark): Deleted. Mostly moved into _startBenchmark.
(window.benchmarkController.startBenchmark): Refactor to call _startBenchmark.
(window.benchmarkController.showResults): Include most of benchmarkRunnerClient.didFinishLastIteration()
here.
- Animometer/resources/debug-runner/benchmark-runner.js:
(BenchmarkRunner.prototype._appendFrame): Remove unneeded call to willAddTestFrame.
- Animometer/resources/extensions.js:
(ResultsDashboard): Change the class to process the sampler data on-demand and hold onto that data
for later referencing.
(ResultsDashboard.prototype.toJSON): Deleted.
(ResultsDashboard.prototype._processData): Rename toJSON to _processData since it's not really
outputting JSON. Store the processed data into a member variable that can be referenced later.
(ResultsDashboard.prototype.get data): Process the data if it hasn't already.
(ResultsDashboard.prototype.get score): Process the data if it hasn't already, then return the
aggregate score.
(ResultsTable.prototype._showHeader): When outputting the results to a table, don't force the
need for an empty children array. This was to allow for a header row in the table that spanned
multiple columns. In the simpler harness, this is not needed.
(ResultsTable.prototype._showEmptyCells):
(ResultsTable.prototype._showTest): This hardcoded the columns. At least for the name and score,
which is the bare minimum needed for the simpler harness, key off of the header name provided.
- Animometer/resources/runner/animometer.css: Added. Use a similar 2:1 ratio. The score tables are
split into the data and the headers, and are also displayed RTL so that a later patch allows a
user to copy-paste the data easily.
- Animometer/resources/runner/animometer.js: Added. Use a simpler version of benchmarkRunnerClient.
The debug harness will extend these classes.
(window.benchmarkController._startBenchmark): Used by both harnesses.
(window.benchmarkController.startBenchmark): Set hard-coded options.
(window.benchmarkController.showResults): Includes most of benchmarkRunnerClient.didFinishLastIteration()
here.
Get rid of utilities.js. Move it all into extensions.js.
- Animometer/resources/extensions.js:
- Animometer/tests/resources/utilities.js: Removed.
- Animometer/tests/bouncing-particles/bouncing-canvas-images.html: Remove script link.
- Animometer/tests/bouncing-particles/bouncing-canvas-shapes.html: Ditto.
- Animometer/tests/bouncing-particles/bouncing-css-images.html: Ditto.
- Animometer/tests/bouncing-particles/bouncing-css-shapes.html: Ditto.
- Animometer/tests/bouncing-particles/bouncing-svg-images.html: Ditto.
- Animometer/tests/bouncing-particles/bouncing-svg-shapes.html: Ditto.
- Animometer/tests/examples/canvas-electrons.html: Ditto.
- Animometer/tests/examples/canvas-stars.html: Ditto.
- Animometer/tests/misc/compositing-transforms.html: Ditto.
- Animometer/tests/simple/simple-canvas-paths.html: Ditto.
- Animometer/tests/template/template-canvas.html: Ditto.
- Animometer/tests/template/template-css.html: Ditto.
- Animometer/tests/template/template-svg.html: Ditto.
- Animometer/tests/text/layering-text.html: Ditto.
Split tests.js into two. Add a new suite to runner/tests.js.
- Animometer/developer.html: Update the script order. Scripts from
debug-runner/ will always build on those from runner/, and have the
same name.
- Animometer/resources/debug-runner/tests.js: Move "complex examples"
suite into "miscellaneous tests".
(Suite): Deleted.
(Suite.prototype.prepare): Deleted.
(Suite.prototype.run): Deleted.
(suiteFromName): Deleted.
- Animometer/resources/runner/tests.js: Added. Take definitions and
functions needed by the test harness. Leave the test suites behind.
(Suite): Moved from debug script.
(Suite.prototype.prepare): Ditto.
(Suite.prototype.run): Ditto.
(suiteFromName): Ditto.
(testFromName): Ditto.
Move benchmark resources out into resources/debug-runner, and update URLs.
- Animometer/developer.html: Renamed from PerformanceTests/Animometer/runner/animometer.html.
- Animometer/resources/debug-runner/animometer.css: Renamed from PerformanceTests/Animometer/runner/resources/animometer.css.
- Animometer/resources/debug-runner/animometer.js: Renamed from PerformanceTests/Animometer/runner/resources/animometer.js.
- Animometer/resources/debug-runner/benchmark-runner.js: Renamed from PerformanceTests/Animometer/runner/resources/benchmark-runner.js.
- Animometer/resources/debug-runner/d3.min.js: Renamed from PerformanceTests/Animometer/runner/resources/d3.min.js.
- Animometer/resources/debug-runner/graph.js: Renamed from PerformanceTests/Animometer/runner/resources/graph.js.
- Animometer/resources/debug-runner/tests.js: Renamed from PerformanceTests/Animometer/runner/resources/tests.js.
- 5:10 PM Changeset in webkit [194406] by
-
- 2 edits in trunk/Tools
SVN checkout used by RunBenchmark should be non-interactive
https://bugs.webkit.org/show_bug.cgi?id=152542
Reviewed by Ryosuke Niwa.
RunBenchmark should not require user interaction while running.
- Scripts/webkitpy/benchmark_runner/benchmark_builder.py:
(BenchmarkBuilder._checkout_with_subversion):
- 4:35 PM Changeset in webkit [194405] by
-
- 13 edits2 adds in trunk
REGRESSION (r187593): Scroll position jumps when selecting text in an iframe
https://bugs.webkit.org/show_bug.cgi?id=152541
rdar://problem/23886181
Reviewed by Tim Horton.
Source/WebCore:
r154382 added code that modifies parentLayer traversal, looking for ancestor
scrollable layers. However, it confusingly added another code path in which
the ancestor layer traversal cross a frame boundary, when RenderLayer::scrollRectToVisible()
already has one. I fixed this new location to adjust the rect coordinates in r187593,
but then code that hit both crossing points double-mapped the coordinates, causing
autoscroll jumping.
Fix by reverting r154382 and r187593, going back to doing the ancestor walk in
one place. Re-fix r154382 by implementing RenderLayer::allowsCurrentScroll(),
which contains the logic for line clamp, autoscroll and ensuring that overflow:hidden
can be programmatically scrolled.
Form controls are special; they can have overflow:hidden but still be user-scrollable
during autoscroll; this is handled via the confusingly-named canBeProgramaticallyScrolled().
RenderTextControlSingleLine implements this to ensure that readonly text inputs
autoscroll (which is exercised by a test).
The frame-to-parent-frame rect mapping in RenderLayer::scrollRectToVisible() is
fixed to use the coordinate mapping functions from Widget/ScrollView, with the
addition of a new utility function contentsToContainingViewContents().
A "Scrolling" logging channel is added with a few log points.
Test: fast/events/autoscroll-in-iframe-body.html
- page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::absoluteNonFastScrollableRegionForFrame):
use contentsToContainingViewContents().
- platform/Logging.h:
- platform/ScrollView.cpp:
(WebCore::ScrollView::contentsToContainingViewContents):
- platform/ScrollView.h:
- platform/graphics/IntPoint.cpp:
(WebCore::IntPoint::constrainedBetween): New helper to constrain a point between
two other points.
- platform/graphics/IntPoint.h:
(WebCore::IntPoint::expandedTo):
(WebCore::IntPoint::shrunkTo):
- rendering/RenderBox.cpp:
- rendering/RenderLayer.cpp:
(WebCore::parentLayerCrossFrame):
(WebCore::RenderLayer::enclosingScrollableLayer):
(WebCore::frameElementAndViewPermitScroll):
(WebCore::RenderLayer::allowsCurrentScroll):
(WebCore::RenderLayer::scrollRectToVisible):
- rendering/RenderLayer.h:
- rendering/RenderTextControlSingleLine.h:
LayoutTests:
New test for autoscrolling iframe contents (an existing test scrolled an overflow:scroll
inside an iframe, and didn't catch the bug).
- fast/events/autoscroll-in-iframe-body-expected.txt: Added.
- fast/events/autoscroll-in-iframe-body.html: Added.
- fast/forms/input-readonly-autoscroll.html: Fix a missing double quote.
- 4:34 PM Changeset in webkit [194404] by
-
- 4 edits2 adds in trunk
Minor cleanup in RenderBox::canBeProgramaticallyScrolled()
https://bugs.webkit.org/show_bug.cgi?id=152515
Reviewed by Tim Horton.
Source/WebCore:
Remove the scrollsOverflow() check in RenderBox::canBeProgramaticallyScrolled(),
since if hasScrollableOverflow is true, scrollsOverflow() must also be true.
Factor clientWidth/Height vs. scrollWidth/Height checks into separate functions,
and call them from two places.
Added a test which is not affected by this particular change, but will verify
that a later change doesn't break anything.
Test: fast/overflow/overflow-hidden-scroll-into-view.html
- rendering/RenderBox.cpp:
(WebCore::RenderBox::canBeScrolledAndHasScrollableArea):
(WebCore::RenderBox::canBeProgramaticallyScrolled):
- rendering/RenderBox.h:
(WebCore::RenderBox::hasHorizontalOverflow):
(WebCore::RenderBox::hasVerticalOverflow):
(WebCore::RenderBox::hasScrollableOverflowX):
(WebCore::RenderBox::hasScrollableOverflowY):
LayoutTests:
Test that programmatic scrolling works inside overflow:hidden.
- fast/overflow/overflow-hidden-scroll-into-view-expected.html: Added.
- fast/overflow/overflow-hidden-scroll-into-view.html: Added.
- 4:30 PM Changeset in webkit [194403] by
-
- 2 edits in trunk/LayoutTests
Rebaselining storage/domstorage/localstorage/delete-defineproperty-removal.html
https://bugs.webkit.org/show_bug.cgi?id=149179
Unreviewed test gardening.
- storage/domstorage/localstorage/delete-defineproperty-removal-expected.txt:
- 4:26 PM Changeset in webkit [194402] by
-
- 10 edits1 add in trunk/Source/JavaScriptCore
FTL B3 should be able to run crypto-sha1 in eager mode
https://bugs.webkit.org/show_bug.cgi?id=152539
Reviewed by Saam Barati.
This patch contains one real bug fix and some other fixes that are primarily there for sanity
because I don't believe they are symptomatic.
The real fix is the instruction selector's handling of Phi. It was assuming that the correct
lowering of Phi is to do nothing and the correct lowering of Upsilon is to store into the tmp
that the Phi uses. But this fails for code patterns like:
@a = Phi()
Upsilon(@x, a)
use(@a) this should see the value that @a had at the point that "@a = Phi()" executed.
This arises when we have a lot of Upsilons in a row and they are trying to perform a
shuffling. Prior to this change, "use(@a)" would see the new value of @a, i.e. @x. That's
wrong. So, this changes the lowering to make each Phi have a special shadow Tmp, and Upsilon
stores to it while Phi loads from it. Most of these assignments get copy-propagated by IRC,
so it doesn't really hurt us. I couldn't find any benchmarks that slowed down because of
this. In fact, I believe that the only time that this would lead to extra interference or
extra assignments is when it's actually needed to be correct.
This also contains other fixes, which are probably not for real bugs, but they make me feel
all warm and fuzzy:
- spillEverything() works again. Previously, it didn't have all of IRC's smarts for handling a spill of a ZDef. I fixed this by creating a helper phase that finds all subwidth ZDefs to spill slots and amends them with zero-fills of the top bits.
- IRC no longer requires precise TmpWidth analysis. Previously, if TmpWidth gave pessimistic results, the subwidth ZDef bug would return. That probably means that it was never fixed to begin with, since it's totally cool for just a single def or use of a tmp to cause it to become pessimistic. But there may still have been some subwidth ZDefs. The way that I fixed this bug is to have IRC also run the ZDef fixup code that spillEverything() uses. This is abstracted behind the beautifully named Air::fixSpillSlotZDef().
- B3::validate() does dominance checks! So, if you shoot yourself in the foot by using something before defining it, validate() will tell you.
- Air::TmpWidth is now easy to "turn off" - i.e. to make it go fully conservative. It's not an Option; you have to hack code. But that's better than nothing, and it's consistent with what we do for other super-internal compiler options that we use rarely.
- You can now run spillEverything() without hacking code. Just use Options::airSpillSeverything().
- JavaScriptCore.xcodeproj/project.pbxproj:
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::LowerToAir):
(JSC::B3::Air::LowerToAir::run):
(JSC::B3::Air::LowerToAir::lower):
- b3/B3Validate.cpp:
- b3/air/AirCode.h:
(JSC::B3::Air::Code::specials):
(JSC::B3::Air::Code::forAllTmps):
(JSC::B3::Air::Code::isFastTmp):
- b3/air/AirFixSpillSlotZDef.h: Added.
(JSC::B3::Air::fixSpillSlotZDef):
- b3/air/AirGenerate.cpp:
(JSC::B3::Air::prepareForGeneration):
- b3/air/AirIteratedRegisterCoalescing.cpp:
- b3/air/AirSpillEverything.cpp:
(JSC::B3::Air::spillEverything):
- b3/air/AirTmpWidth.cpp:
(JSC::B3::Air::TmpWidth::recompute):
- jit/JITOperations.cpp:
- runtime/Options.h:
- 4:14 PM Changeset in webkit [194401] by
-
- 5 edits in trunk/Source/JavaScriptCore
Need a story for platform-specific Args
https://bugs.webkit.org/show_bug.cgi?id=152529
Reviewed by Michael Saboff.
This teaches Arg that some Arg forms are not valid on some targets. The instruction selector now
uses this to avoid immediates and addresses that the target wouldn't like.
This shouldn't change code generation on X86, but is meant as a step towards ARM64 support.
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::crossesInterference):
(JSC::B3::Air::LowerToAir::effectiveAddr):
(JSC::B3::Air::LowerToAir::addr):
(JSC::B3::Air::LowerToAir::loadPromise):
(JSC::B3::Air::LowerToAir::imm):
(JSC::B3::Air::LowerToAir::lower):
- b3/air/AirAllocateStack.cpp:
(JSC::B3::Air::allocateStack):
- b3/air/AirArg.h:
(JSC::B3::Air::Arg::Arg):
(JSC::B3::Air::Arg::imm):
(JSC::B3::Air::Arg::imm64):
(JSC::B3::Air::Arg::callArg):
(JSC::B3::Air::Arg::isValidScale):
(JSC::B3::Air::Arg::tmpIndex):
(JSC::B3::Air::Arg::withOffset):
(JSC::B3::Air::Arg::isValidImmForm):
(JSC::B3::Air::Arg::isValidAddrForm):
(JSC::B3::Air::Arg::isValidIndexForm):
(JSC::B3::Air::Arg::isValidForm):
(JSC::B3::Air::Arg::forEachTmpFast):
- b3/air/opcode_generator.rb:
- 3:45 PM Changeset in webkit [194400] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
[JSC] Bugfix for intrinsic getters with dictionary structures.
https://bugs.webkit.org/show_bug.cgi?id=152538
Reviewed by Mark Lam.
Intrinsic getters did not check if an object was a dictionary. This meant, if a property on
the prototype chain of a dictionary was an intrinsic getter we would IC it. Later, if a
property is added to the dictionary the IC would still return the result of the intrinsic.
The fix is to no longer IC intrinsic getters if the base object is a dictionary.
- jit/Repatch.cpp:
(JSC::tryCacheGetByID):
- tests/stress/typedarray-length-dictionary.js: Added.
(len):
- 3:31 PM Changeset in webkit [194399] by
-
- 3 edits2 adds in trunk
Source/WebCore:
Avoids stack recursion when indexed propertyNames defined using Object.defineProperty are deleted.
https://bugs.webkit.org/show_bug.cgi?id=149179
<rdar://problem/22708019>.
Patch by Pranjal Jumde <pjumde@apple.com> on 2015-12-23
Reviewed by Filip Pizlo.
- runtime/JSObject.cpp:
(JSStorage::deletePropertyByIndex was invoking Base::deleteProperty for indexed propertyNames instead of Base::deletePropertyByIndex leading to a stack recursion)
LayoutTests:
Test to check for stack recursion when indexed propertyNames defined using Object.defineProperty are deleted.
https://bugs.webkit.org/show_bug.cgi?id=149179
<rdar://problem/22708019>.
Patch by Pranjal Jumde <pjumde@apple.com> on 2015-12-23
Reviewed by Filip Pizlo.
- storage/domstorage/localstorage/delete-defineproperty-removal-expected.txt: Added.
- storage/domstorage/localstorage/delete-defineproperty-removal.html: Added.
- 3:25 PM Changeset in webkit [194398] by
-
- 5 edits in trunk
Web Inspector: add support for running protocol-test.js tests on Windows
https://bugs.webkit.org/show_bug.cgi?id=148037
<rdar://problem/22292237>
Reviewed by Simon Fraser.
Source/WebKit/win:
Provide API for WebKit.dll clients to request its CFBundleRef.
- WebKitCOMAPI.cpp:
(webKitBundle): Added.
- WebKitCOMAPI.h:
Tools:
- DumpRenderTree/win/TestRunnerWin.cpp:
(TestRunner::inspectorTestStubURL): Provide implementation.
- 2:51 PM Changeset in webkit [194397] by
-
- 26 edits in trunk
[MediaStream] MediaDeviceInfo.label must be empty in some situations
https://bugs.webkit.org/show_bug.cgi?id=152000
Reviewed by Brent Fulgham.
Source/WebCore:
No new tests, updated fast/mediastream/MediaDevices-enumerateDevices.html.
- Modules/mediastream/CaptureDeviceManager.cpp:
(CaptureDeviceManager::getSourcesInfo): TrackSourceInfo constructor takes persistent ID.
- Modules/mediastream/MediaDevicesRequest.cpp:
(WebCore::MediaDevicesRequest::start): If Document had an active stream track, don't bother
checking for a persistent permission to access devices.
(WebCore::MediaDevicesRequest::didCompleteCheck): m_hasUserMediaPermission -> m_canShowLabels.
(WebCore::MediaDevicesRequest::getTrackSources): New, factored out of didCompleteCheck so it
can be called when we don't need to check permissions.
(WebCore::MediaDevicesRequest::didCompleteRequest): m_hasUserMediaPermission -> m_canShowLabels.
- Modules/mediastream/MediaDevicesRequest.h:
- Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::MediaStream): Call setIsActive. Register new stream with MediaStreamRegistry.
(WebCore::MediaStream::~MediaStream): Unregister stream with MediaStreamRegistry.
(WebCore::MediaStream::setIsActive): New. Set m_isActive and call Document if stream is active.
(WebCore::MediaStream::scheduleActiveStateChange): Call setIsActive.
(WebCore::MediaStream::registry): MediaStreamRegistry::registry -> MediaStreamRegistry::shared.
(WebCore::mediaStreams): Deleted. Drive-by cleanup: moved list of all streams to MediaStreamRegistry.
(WebCore::registerMediaStream): Ditto.
(WebCore::unRegisterMediaStream): Ditto.
(WebCore::MediaStream::lookUp): Ditto.
(WebCore::MediaStream::setRegistry): Ditto.
- Modules/mediastream/MediaStream.h:
- Modules/mediastream/MediaStreamRegistry.cpp:
(WebCore::MediaStreamRegistry::shared): Renamed from "registry".
(WebCore::MediaStreamRegistry::MediaStreamRegistry):
(WebCore::MediaStreamRegistry::lookUp): Moved here from MediaStream.
(WebCore::mediaStreams): Ditto.
(WebCore::MediaStreamRegistry::registerStream): Ditto.
(WebCore::MediaStreamRegistry::unregisterStream): Ditto.
(WebCore::MediaStreamRegistry::registry): Deleted.
- Modules/mediastream/MediaStreamRegistry.h:
- dom/Document.h:
(WebCore::Document::setHasActiveMediaStreamTrack): New, set m_hasHadActiveMediaStreamTrack.
(WebCore::Document::hasHadActiveMediaStreamTrack): New, return m_hasHadActiveMediaStreamTrack.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadResource): MediaStream::lookUp -> MediaStreamRegistry::shared().lookUp.
- platform/mediastream/MediaStreamTrackSourcesRequestClient.h:
(WebCore::TrackSourceInfo::create): Take track persistent ID.
(WebCore::TrackSourceInfo::persistentId): New.
(WebCore::TrackSourceInfo::TrackSourceInfo): Take track persistent ID.
- platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
(WebCore::RealtimeMediaSourceCenterMac::sourceWithUID): TrackSourceInfo::create takes persistent ID.
- platform/mock/MockRealtimeMediaSource.cpp:
(WebCore::MockRealtimeMediaSource::trackSourceWithUID): Ditto.
- platform/mediastream/openwebrtc/RealtimeMediaSourceOwr.cpp:
(WebCore::RealtimeMediaSourceCenterMac::sourceWithUID): TrackSourceInfo::create takes persistent ID.
Tools:
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::setUserMediaPermission):
(WTR::InjectedBundle::setUserMediaPermissionForOrigin): New.
- WebKitTestRunner/InjectedBundle/InjectedBundle.h:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setUserMediaPermissionForOrigin): New.
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::setUserMediaPermissionForOrigin):
(WTR::TestController::handleCheckOfUserMediaPermissionForOrigin): Add NULL check.
(WTR::TestController::decidePolicyForUserMediaPermissionRequestIfPossible): Don't add
persistent permission for origin, that can be done from script now.
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle): Add support for
SetUserMediaPermissionForOrigin.
LayoutTests:
- fast/mediastream/MediaDevices-enumerateDevices-expected.txt:
- fast/mediastream/MediaDevices-enumerateDevices.html:
- 2:26 PM Changeset in webkit [194396] by
-
- 2 edits in trunk/Tools
[Win] Unreviewed build fix: Recognize Windows 10 variants.
- Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo._determine_win_version):
- 1:50 PM Changeset in webkit [194395] by
-
- 7 edits in trunk
[INTL] Implement DateTime Format Functions
https://bugs.webkit.org/show_bug.cgi?id=147606
Patch by Andy VanWagoner <andy@instructure.com> on 2015-12-23
Reviewed by Benjamin Poulain.
Source/JavaScriptCore:
Initialize a UDateFormat from the generated pattern. Use udat_format()
to format the value. Make sure that the UDateFormat is cleaned up when
the DateTimeFormat is deconstructed.
- runtime/IntlDateTimeFormat.cpp:
(JSC::IntlDateTimeFormat::~IntlDateTimeFormat):
(JSC::IntlDateTimeFormat::initializeDateTimeFormat):
(JSC::IntlDateTimeFormat::format):
- runtime/IntlDateTimeFormat.h:
LayoutTests:
- js/intl-datetimeformat-expected.txt: Added format tests.
- js/intl-datetimeformat.html: Used utf-8.
- js/script-tests/intl-datetimeformat.js: Added format tests.
- 12:02 PM Changeset in webkit [194394] by
-
- 11 edits1 add in trunk
[INTL] Implement String.prototype.localeCompare in ECMA-402
https://bugs.webkit.org/show_bug.cgi?id=147607
Patch by Andy VanWagoner <thetalecrafter@gmail.com> on 2015-12-23
Reviewed by Benjamin Poulain.
Source/JavaScriptCore:
Add localeCompare in builtin JavaScript that delegates comparing to Intl.Collator.
Keep existing native implementation for use if INTL flag is disabled.
For the common case where no locale or options are specified, avoid creating
a new collator and just use the prototype which is initialized with the defaults.
- CMakeLists.txt:
- DerivedSources.make:
- JavaScriptCore.xcodeproj/project.pbxproj:
- builtins/StringPrototype.js: Added.
(localeCompare):
- runtime/StringPrototype.cpp:
(JSC::StringPrototype::finishCreation):
LayoutTests:
- js/script-tests/string-localeCompare.js:
- js/script-tests/string-prototype-properties.js: Update error message.
- js/string-localeCompare-expected.txt:
- js/string-prototype-properties-expected.txt: Update error message.
- js/string-localeCompare.html:
- 11:15 AM Changeset in webkit [194393] by
-
- 2 edits in trunk/LayoutTests
Rebaselining fast/text/emoji.html for Windows
https://bugs.webkit.org/show_bug.cgi?id=152147
Unreviewed test gardening.
- platform/win/fast/text/emoji-expected.txt:
- 11:06 AM Changeset in webkit [194392] by
-
- 2 edits in trunk/LayoutTests
Marking http/tests/contentdispositionattachmentsandbox/referer-header-stripped-with-meta-referer-* as failing on Win
https://bugs.webkit.org/show_bug.cgi?id=152411
Unreviewed test gardening.
- platform/win/TestExpectations:
- 10:13 AM Changeset in webkit [194391] by
-
- 6 edits in trunk
[Streams API] In RS during enqueuing error should be reported only if readable
https://bugs.webkit.org/show_bug.cgi?id=152505
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Updated imported spec tests.
- web-platform-tests/streams-api/README.txt: Updated spec version.
- web-platform-tests/streams-api/readable-streams/bad-strategies-expected.txt: Expectations.
- web-platform-tests/streams-api/readable-streams/bad-strategies.js: Added two new tests.
Source/WebCore:
This commit fixes last spec change done in
https://github.com/whatwg/streams/commit/4ba861e6f60c248060811830e11271c84b439cc3.
Test: imported/w3c/web-platform-tests/streams-api/readable-streams/bad-strategies.html
- Modules/streams/ReadableStreamInternals.js:
(enqueueInReadableStream): Call @errorReadableStream only if state is readable.
- 8:57 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 8:56 AM Changeset in webkit [194390] by
-
- 2 edits2 adds in trunk/LayoutTests
[GTK] Unreviewed gardening
RTCPeerConnection-state.html is removed after r194112. Remove failure expectations
for tests which have been passing. Add new expectations for text-combine-shrink-on-color-change.html
- platform/gtk/TestExpectations:
- platform/gtk/fast/text/text-combine-shrink-on-color-change-expected.png: Added.
- platform/gtk/fast/text/text-combine-shrink-on-color-change-expected.txt: Added.
- 6:03 AM Changeset in webkit [194389] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix x86_64 after r194388
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::appendShift):
(JSC::B3::Air::LowerToAir::lower):
(JSC::B3::Air::LowerToAir::lowerX86Div):
- 3:52 AM Changeset in webkit [194388] by
-
- 10 edits in trunk/Source/JavaScriptCore
[JSC] Get the JavaScriptCore framework to build on ARM64 with B3 enabled
https://bugs.webkit.org/show_bug.cgi?id=152503
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-12-23
Reviewed by Filip Pizlo.
It is not working but it builds.
- assembler/ARM64Assembler.h:
(JSC::ARM64Assembler::vand):
(JSC::ARM64Assembler::vectorDataProcessing2Source):
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::add32):
(JSC::MacroAssemblerARM64::add64):
(JSC::MacroAssemblerARM64::countLeadingZeros64):
(JSC::MacroAssemblerARM64::not32):
(JSC::MacroAssemblerARM64::not64):
(JSC::MacroAssemblerARM64::zeroExtend16To32):
(JSC::MacroAssemblerARM64::signExtend16To32):
(JSC::MacroAssemblerARM64::zeroExtend8To32):
(JSC::MacroAssemblerARM64::signExtend8To32):
(JSC::MacroAssemblerARM64::addFloat):
(JSC::MacroAssemblerARM64::ceilFloat):
(JSC::MacroAssemblerARM64::branchDouble):
(JSC::MacroAssemblerARM64::branchFloat):
(JSC::MacroAssemblerARM64::divFloat):
(JSC::MacroAssemblerARM64::moveZeroToDouble):
(JSC::MacroAssemblerARM64::moveFloatTo32):
(JSC::MacroAssemblerARM64::move32ToFloat):
(JSC::MacroAssemblerARM64::moveConditionallyDouble):
(JSC::MacroAssemblerARM64::moveConditionallyFloat):
(JSC::MacroAssemblerARM64::moveConditionallyAfterFloatingPointCompare):
(JSC::MacroAssemblerARM64::mulFloat):
(JSC::MacroAssemblerARM64::andDouble):
(JSC::MacroAssemblerARM64::andFloat):
(JSC::MacroAssemblerARM64::sqrtFloat):
(JSC::MacroAssemblerARM64::subFloat):
(JSC::MacroAssemblerARM64::signExtend32ToPtr):
(JSC::MacroAssemblerARM64::moveConditionally32):
(JSC::MacroAssemblerARM64::moveConditionally64):
(JSC::MacroAssemblerARM64::moveConditionallyTest32):
(JSC::MacroAssemblerARM64::moveConditionallyTest64):
(JSC::MacroAssemblerARM64::test32):
(JSC::MacroAssemblerARM64::setCarry):
(JSC::MacroAssemblerARM64::jumpAfterFloatingPointCompare):
- assembler/MacroAssemblerX86.h:
(JSC::MacroAssemblerX86::moveDoubleToInts):
(JSC::MacroAssemblerX86::moveIntsToDouble):
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::move32ToFloat):
(JSC::MacroAssemblerX86Common::moveFloatTo32):
(JSC::MacroAssemblerX86Common::moveInt32ToPacked): Deleted.
(JSC::MacroAssemblerX86Common::movePackedToInt32): Deleted.
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::appendShift):
(JSC::B3::Air::LowerToAir::lower):
- b3/air/AirInstInlines.h:
(JSC::B3::Air::isX86DivHelperValid):
- b3/air/AirOpcode.opcodes:
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::emitFunctionEpilogueWithEmptyFrame):
(JSC::AssemblyHelpers::emitFunctionEpilogue):
- jit/FPRInfo.h:
(JSC::FPRInfo::toArgumentRegister):
- 2:48 AM Changeset in webkit [194387] by
-
- 14 edits2 adds in trunk
[INTL] Implement Intl.DateTimeFormat.prototype.resolvedOptions ()
https://bugs.webkit.org/show_bug.cgi?id=147603
Patch by Andy VanWagoner <andy@instructure.com> on 2015-12-23
Reviewed by Benjamin Poulain.
.:
- Source/cmake/OptionsWin.cmake: Disable INTL on Windows for now
Source/JavaScriptCore:
Implements InitializeDateTimeFormat and related abstract operations
using ICU. Lazy initialization is used for DateTimeFormat.prototype.
Refactor to align with Collator work.
- icu/unicode/udatpg.h: Added.
- icu/unicode/unumsys.h: Added.
- runtime/CommonIdentifiers.h:
- runtime/IntlDateTimeFormat.cpp:
(JSC::defaultTimeZone):
(JSC::canonicalizeTimeZoneName):
(JSC::localeData):
(JSC::toDateTimeOptions):
(JSC::IntlDateTimeFormat::setFormatsFromPattern):
(JSC::IntlDateTimeFormat::initializeDateTimeFormat):
(JSC::IntlDateTimeFormat::weekdayString):
(JSC::IntlDateTimeFormat::eraString):
(JSC::IntlDateTimeFormat::yearString):
(JSC::IntlDateTimeFormat::monthString):
(JSC::IntlDateTimeFormat::dayString):
(JSC::IntlDateTimeFormat::hourString):
(JSC::IntlDateTimeFormat::minuteString):
(JSC::IntlDateTimeFormat::secondString):
(JSC::IntlDateTimeFormat::timeZoneNameString):
(JSC::IntlDateTimeFormat::resolvedOptions):
(JSC::IntlDateTimeFormat::format):
(JSC::IntlDateTimeFormatFuncFormatDateTime): Deleted.
- runtime/IntlDateTimeFormat.h:
- runtime/IntlDateTimeFormatConstructor.cpp:
(JSC::constructIntlDateTimeFormat):
(JSC::callIntlDateTimeFormat):
- runtime/IntlDateTimeFormatPrototype.cpp:
(JSC::IntlDateTimeFormatFuncFormatDateTime):
(JSC::IntlDateTimeFormatPrototypeGetterFormat):
(JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions):
- runtime/IntlObject.cpp:
(JSC::resolveLocale):
(JSC::getNumberingSystemsForLocale):
- runtime/IntlObject.h:
LayoutTests:
- js/intl-datetimeformat-expected.txt: Added resolvedOptions tests.
- js/script-tests/intl-datetimeformat.js: Added resolvedOptions tests.
(string_appeared_here):
- 2:04 AM Changeset in webkit [194386] by
-
- 12 edits3 adds in trunk
Content blockers should be able to promote http to https
https://bugs.webkit.org/show_bug.cgi?id=148966
Patch by Chris Aljoudi <chris@chrismatic.io> and Alex Christensen <achristensen@webkit.org> on 2015-12-23
Reviewed by Benjamin Poulain.
Source/WebCore:
Test: http/tests/contentextensions/make-https.html
- contentextensions/ContentExtensionActions.h:
- contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::serializeActions):
- contentextensions/ContentExtensionParser.cpp:
(WebCore::ContentExtensions::loadAction):
- contentextensions/ContentExtensionRule.cpp:
(WebCore::ContentExtensions::Action::deserialize):
(WebCore::ContentExtensions::Action::deserializeType):
(WebCore::ContentExtensions::Action::serializedLength):
- contentextensions/ContentExtensionsBackend.cpp:
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
- loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
- platform/URL.cpp:
(WebCore::URL::isBlankURL):
(WebCore::defaultPortsMap):
(WebCore::defaultPortForProtocol):
(WebCore::isDefaultPortForProtocol):
(WebCore::portAllowed):
- platform/URL.h:
Tools:
- TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(WebCore::ContentExtensions::operator<<):
(TestWebKitAPI::TEST_F):
LayoutTests:
- http/tests/contentextensions/make-https-expected.txt: Added.
- http/tests/contentextensions/make-https.html: Added.
- http/tests/contentextensions/make-https.html.json: Added.