Timeline
Jul 23, 2016:
- 8:11 PM Changeset in webkit [203660] by
-
- 12 edits in trunk/Source/WebCore
Stop isEmpty() from leaking out of SVG.
https://bugs.webkit.org/show_bug.cgi?id=160121
Reviewed by Simon Fraser.
It's unclear what isEmpty() actually means and it doesn't bring any value to Render* classes.
No change in functionality.
- editing/CompositeEditCommand.cpp:
(WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
- rendering/RenderElement.h:
- rendering/RenderListItem.cpp:
(WebCore::RenderListItem::isEmpty): Deleted.
- rendering/RenderListItem.h:
- rendering/RenderObject.h:
(WebCore::RenderObject::isEmpty): Deleted.
- rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::removeChild):
(WebCore::RenderRubyRun::isEmpty): Deleted.
- rendering/RenderRubyRun.h:
- rendering/mathml/RenderMathMLFenced.cpp:
(WebCore::RenderMathMLFenced::updateFromElement):
(WebCore::RenderMathMLFenced::addChild):
- rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::paint):
- rendering/svg/RenderSVGShape.h:
- 7:16 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 7:15 PM Changeset in webkit [203659] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK test expectations fixups
- platform/gtk/TestExpectations:
- 7:12 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 7:11 PM Changeset in webkit [203658] by
-
- 3 edits in trunk/LayoutTests
Even more unreviewed flaky GTK test gardening
- TestExpectations:
- platform/gtk/TestExpectations:
- 6:39 PM Changeset in webkit [203657] by
-
- 11 edits in trunk/Source/WebCore
table*BorderAdjoiningCell and borderAdjoiningCell* should take reference instead of RenderTableCell*.
https://bugs.webkit.org/show_bug.cgi?id=160123
Reviewed by Simon Fraser.
No change in functionality.
- rendering/RenderTable.cpp:
(WebCore::RenderTable::tableStartBorderAdjoiningCell):
(WebCore::RenderTable::tableEndBorderAdjoiningCell):
- rendering/RenderTable.h:
- rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::computeCollapsedStartBorder):
(WebCore::RenderTableCell::computeCollapsedEndBorder):
- rendering/RenderTableCell.h:
(WebCore::RenderTableCell::borderAdjoiningCellBefore):
(WebCore::RenderTableCell::borderAdjoiningCellAfter):
- rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::borderAdjoiningCellStartBorder):
(WebCore::RenderTableCol::borderAdjoiningCellEndBorder):
(WebCore::RenderTableCol::borderAdjoiningCellBefore):
(WebCore::RenderTableCol::borderAdjoiningCellAfter):
- rendering/RenderTableCol.h:
- rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::borderAdjoiningStartCell):
(WebCore::RenderTableRow::borderAdjoiningEndCell):
- rendering/RenderTableRow.h:
- rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::borderAdjoiningStartCell):
(WebCore::RenderTableSection::borderAdjoiningEndCell):
- rendering/RenderTableSection.h:
- 6:38 PM Changeset in webkit [203656] by
-
- 2 edits in trunk/Source/WebCore
Remove unused enum and stale comment from RenderObject.
https://bugs.webkit.org/show_bug.cgi?id=160122
Reviewed by Simon Fraser.
No change in functionality.
- rendering/RenderBox.h:
- 4:13 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 4:10 PM Changeset in webkit [203655] by
-
- 3 edits in trunk/LayoutTests
Unreviewed flaky test gardening for GTK
Mostly more fallout from threaded compositor
- TestExpectations:
- platform/gtk/TestExpectations:
- 3:02 PM Changeset in webkit [203654] by
-
- 2 edits in trunk/LayoutTests
More unreviewed GTK gardening
Update expectations for tests timing out
- platform/gtk/TestExpectations:
- 2:47 PM Changeset in webkit [203653] by
-
- 2 edits in trunk/LayoutTests
More unreviewed GTK gardening
Mark more flaky crashes after enabling threaded compositor
- platform/gtk/TestExpectations:
- 2:32 PM Changeset in webkit [203652] by
-
- 2 edits in trunk/LayoutTests
More unreviewed GTK gardening, mark even more new passes after enabling threaded compositor
- platform/gtk/TestExpectations:
- 2:09 PM Changeset in webkit [203651] by
-
- 2 edits in trunk/Source/WebKit/win
Unreviewed, fix Windows build after r203623.
- DOMCoreClasses.cpp:
(DOMDocument::getComputedStyle):
- 11:21 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 11:14 AM Changeset in webkit [203650] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK gardening, mark many emoji gender tests passing
- platform/gtk/TestExpectations:
- 11:05 AM Changeset in webkit [203649] by
-
- 3 edits in trunk/LayoutTests
Unreviewed test gardening
These tests are flaky now on GTK, passing about half the time.
- TestExpectations:
- platform/gtk/TestExpectations:
- 10:51 AM Changeset in webkit [203648] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK gardening new passes after enabling threaded compositor
- platform/gtk/TestExpectations:
- 9:41 AM Changeset in webkit [203647] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test expectation gardening
Skip layout test editing/deleting/delete-emoji.html
- platform/gtk/TestExpectations:
- 9:31 AM Changeset in webkit [203646] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, move some GTK expectations to more appropriate locations
- platform/gtk/TestExpectations:
- 9:28 AM Changeset in webkit [203645] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, add GTK expectations for threaded compositor regressions
- platform/gtk/TestExpectations:
- 8:25 AM Changeset in webkit [203644] by
-
- 5 edits in trunk
[Coordinated Graphics] Lots of flaky tests
https://bugs.webkit.org/show_bug.cgi?id=160118
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2016-07-23
Reviewed by Michael Catanzaro.
Source/WebCore:
Since the GTK+ ported to threaded compositor (coordinated graphics) there are a lot of flaky tests in the
bots. In manu of the cases the diff shows a different size in the FrameView layer.
This happens for tests run in the same WTR after fast/fixed-layout/fixed-layout.html. This is what happens:
1.- Test fast/fixed-layout/fixed-layout.html runs and sets fixed layout to true and fixed layout size to 400x400
2.- When it finishes TestController::resetStateToConsistentValues() is called.
3.- Blank URL is loaded after state has been updated
4.- Then Reset message is handled in the web process and Internals::resetToConsistentState() resets the fixed
layout state and size.
5.- onresize happens and the handler set in fast/fixed-layout/fixed-layout.html is invoked setting the fixed
layout to true and size to 400x400 again.
6.- about_blank is then loaded with the fixed layout enabled, as well as other tests after this one.
In addition to this, coordinated graphics uses a fixedVisibleContentRect in ScrollView that is never reset.
- platform/ScrollView.cpp:
(WebCore::ScrollView::unscaledVisibleContentSizeIncludingObscuredArea): Only use m_fixedVisibleContentRect when
fixed layout is enabled.
(WebCore::ScrollView::unscaledUnobscuredVisibleContentSize): Ditto.
(WebCore::ScrollView::visibleContentRectInternal): Ditto.
- testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState): Reset also the m_fixedVisibleContentRect.
LayoutTests:
- fast/fixed-layout/fixed-layout.html: Remove the onresize handler when the test finishes to ensure it can't be
called later affecting other tests.
- 8:23 AM Changeset in webkit [203643] by
-
- 4 edits in trunk
[Coordinated Graphics] Test imported/blink/svg/custom/svg-image-layers-crash.html crashes
https://bugs.webkit.org/show_bug.cgi?id=160078
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2016-07-23
Reviewed by Michael Catanzaro.
Source/WebCore:
This is a merge of Blink r155373.
https://chromiumcodereview.appspot.com/20789004
Disable accelerated compositing for SVGImage content layers. SVGImageChromeClient does not support it.
Fixes imported/blink/svg/custom/svg-image-layers-crash.html.
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged):
LayoutTests:
- platform/efl/TestExpectations: Remove imported/blink/svg/custom/svg-image-layers-crash.html.
- 2:58 AM Changeset in webkit [203642] by
-
- 28 edits7 adds3 deletes in trunk
Unreviewed, rolling out r203641.
https://bugs.webkit.org/show_bug.cgi?id=160116
It broke make-based builds (Requested by youenn on #webkit).
Reverted changeset:
"[Fetch API] Request should be created with any HeadersInit
data"
https://bugs.webkit.org/show_bug.cgi?id=159672
http://trac.webkit.org/changeset/203641
- 1:55 AM Changeset in webkit [203641] by
-
- 27 edits3 copies1 delete in trunk
[Fetch API] Request should be created with any HeadersInit data
https://bugs.webkit.org/show_bug.cgi?id=159672
Patch by Youenn Fablet <youenn@apple.com> on 2016-07-23
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic-expected.txt: Test was previously
failing due to lack of support for HeadersInit data in Request constructor.
- platform/mac-wk1/imported/w3c/web-platform-tests/fetch/api/credentials/authentication-basic-expected.txt: Removed.
- web-platform-tests/fetch/api/request/request-headers-expected.txt:
- web-platform-tests/fetch/api/request/request-headers.html: Adding new test.
Source/JavaScriptCore:
- Scripts/builtins/builtins_generator.py:
(WK_lcfirst): Synchronized with CodeGenerator.pm version.
Source/WebCore:
Made Request use JSBuiltinConstructor.
This allows initializing newly created Request with a JS built-in function, initializeFetchRequest.
initializeFetchRequest can call @fillFetchHeaders internal built-in to handle any HeadersInit data.
Future effort should be made to migrate more initialization code in initializeFetchRequest.
Made window and worker fetch function as a JS built-in.
This becomes more handy as these new functions can construct the Request object.
They can then call a single private function that takes a Request object as input.
Updated DOMWindowFetch and WorkerGlobalScopeFetch code accordingly.
To enable this, the binding generator is updated to support runtime-enabled JS built-in functions and
private functions atttached to global objects.
Covered by existing and modified tests.
Binding generator test covered by updated binding tests.
- CMakeLists.txt: Adding DOMWindowFetch.js, FetchRequest.js and WorkerGlobalScopeFetch.js built-in files.
- DerivedSources.make: Ditto.
- Modules/fetch/DOMWindowFetch.cpp: Removed overloaded fetch and updated according new signature.
(WebCore::DOMWindowFetch::fetch):
- Modules/fetch/DOMWindowFetch.h: Ditto.
- Modules/fetch/DOMWindowFetch.idl: Making fetch a JS built-in and adding a @fetchRequest private function.
- Modules/fetch/DOMWindowFetch.js: Added.
(fetch):
- Modules/fetch/FetchHeaders.h:
(WebCore::FetchHeaders::setGuard): Used by FetchRequest when initializing headers.
- Modules/fetch/FetchRequest.cpp:
(WebCore::buildHeaders): Removed as implemented in JS.
(WebCore::FetchRequest::initializeOptions): Added to handle most of the dictionary initialization.
(WebCore::FetchRequest::initializeWith): Method called from built-in constructor function.
(WebCore::FetchRequest::setBody): Corresponding to @setBody private method.
(WebCore::buildBody): Deleted.
- Modules/fetch/FetchRequest.h:
- Modules/fetch/FetchRequest.idl:
- Modules/fetch/FetchRequest.js: Added.
(initializeFetchRequest): Implements fetch Request(input, init) constructor.
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::fetch): Removed the construction of FetchRequest in fetch method since it is done by JS built-in code.
- Modules/fetch/FetchResponse.h:
- Modules/fetch/WorkerGlobalScopeFetch.cpp: Removed overloaded fetch and updated according new signature.
(WebCore::WorkerGlobalScopeFetch::fetch):
- Modules/fetch/WorkerGlobalScopeFetch.h: Ditto.
- Modules/fetch/WorkerGlobalScopeFetch.idl: Making fetch a JS built-in and adding a @fetchRequest private function.
- Modules/fetch/WorkerGlobalScopeFetch.js: Added.
(fetch):
- bindings/js/WebCoreBuiltinNames.h: Adding fetchRequest, setBody and Request private identifiers.
- bindings/scripts/CodeGenerator.pm:
(WK_lcfirst): Replacing dOM by dom.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation): Adding support for runtime-enabled built-in methods and private methods.
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::JSTestGlobalObject::finishCreation):
(WebCore::jsTestGlobalObjectInstanceFunctionTestPrivateFunction):
- bindings/scripts/test/ObjC/DOMTestGlobalObject.mm:
(-[DOMTestGlobalObject testJSBuiltinFunction]):
- bindings/scripts/test/TestGlobalObject.idl: Adding tests for runtime-enabled global built-in methods and private methods.
- 1:39 AM Changeset in webkit [203640] by
-
- 3 edits2 adds in trunk
Reset font-style on the <math> element
https://bugs.webkit.org/show_bug.cgi?id=160074
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-23
Reviewed by Darin Adler.
Source/WebCore:
Mathematical formulas with italic font-style render poorly (slanted operators, mathvariant
italic etc). We align on Gecko and make the user agent stylesheet reset the font-style to
'normal' by default. This addresses the concrete use case of formula inside theorem or
proposition statements, which are often written in italic.
Test: mathml/presentation/math-font-style.html
- css/mathml.css:
(math): Reset the font-style to normal.
LayoutTests:
- mathml/presentation/math-font-style-expected.html: Added.
- mathml/presentation/math-font-style.html: Added.
- 1:19 AM Changeset in webkit [203639] by
-
- 4 edits2 adds in trunk
Source/WebCore:
[MathML] PaintInfo state is not properly restored after applyTransform.
https://bugs.webkit.org/show_bug.cgi?id=160077
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-23
Reviewed by Simon Fraser.
PaintInfo::applyTransform modifies PaintInfo::rect and the original state is not properly
restored by GraphicsContextStateSaver. To avoid some weird rendering bugs in MathOperator
and RenderMathMLMenclose, we follow what is done in SVG renderers and make a copy of the
original PaintInfo before applying the transform.
Test: mathml/presentation/bug160077.html
- rendering/mathml/MathOperator.cpp:
(WebCore::MathOperator::paint):
- rendering/mathml/RenderMathMLMenclose.cpp:
(WebCore::RenderMathMLMenclose::paint):
LayoutTests:
[MathML] PaintInfo state not properly restored after applyTransform.
https://bugs.webkit.org/show_bug.cgi?id=160077
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-23
Reviewed by Simon Fraser.
- mathml/presentation/bug160077-expected-mismatch.html: Added.
- mathml/presentation/bug160077.html: Added.
- 1:07 AM Changeset in webkit [203638] by
-
- 9 edits in trunk
WPT stash server should be kept running when launching wpt server
https://bugs.webkit.org/show_bug.cgi?id=160052
Patch by Youenn Fablet <youenn@apple.com> on 2016-07-23
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/XMLHttpRequest/send-authentication-basic-setrequestheader-and-arguments-expected.txt:
- web-platform-tests/fetch/api/cors/cors-preflight-expected.txt:
- web-platform-tests/fetch/api/cors/cors-preflight-referrer-expected.txt:
- web-platform-tests/html/semantics/document-metadata/the-link-element/document-without-browsing-context-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/cross_origin_parentage-expected.txt:
- web-platform-tests/html/semantics/embedded-content/the-iframe-element/same_origin_parentage-expected.txt:
Tools:
- Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py:
(main): waiting to read stdin while stash server is started.
- 12:46 AM Changeset in webkit [203637] by
-
- 8 edits in trunk
[Fetch API] Fetch response stream should enqueue Uint8Array
https://bugs.webkit.org/show_bug.cgi?id=160083
Patch by Youenn Fablet <youenn@apple.com> on 2016-07-23
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/resources/utils.js:
Source/WebCore:
Covered by updated tests.
Before enqueuing, ReadableStreamController::enqueue will convert ArrayBuffer as Uint8Array.
It also returns a boolean whether the operation is successful or not.
If returned value is false, calling code will stop loading or if everything is loaded it will refrain from closing the stream.
The enqueuing should be succesful except in OutOfMemory cases. This case is not yet handled in test cases.
Updated the code to remove templated enqueuing as Fetch has no use of it.
- Modules/fetch/FetchBody.cpp:
(WebCore::FetchBody::consumeAsStream): Do not close the stream if enqueuing failed.
- Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::blobChunk): Stop blob loading if enqueuing failed.
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::BodyLoader::didReceiveData): Stop resource loading if enqueuing failed.
(WebCore::FetchResponse::consumeBodyAsStream): Ditto.
- Modules/fetch/FetchResponseSource.h:
- bindings/js/ReadableStreamController.h:
(WebCore::ReadableStreamController::enqueue):
(WebCore::ReadableStreamController::enqueue<RefPtr<JSC::ArrayBuffer>>): Deleted.
- 12:17 AM Changeset in webkit [203636] by
-
- 2 edits in trunk/Source/WebInspectorUI
REGRESSION (r202876): Web Inspector: Switching away from Console tab with a lot of messages is slow
https://bugs.webkit.org/show_bug.cgi?id=160112
Reviewed by Joseph Pecoraro.
Showing NavigationSidebar before removing previous TabContentView can be very slow when
TabContentView is ConsoleTabContentView with a lot of messages. The order of operations
(show sidebar, change content view, show sidebar) caused more forced layouts. This patch
reduces the number of forced layouts by changes the order to: show content view, show sidebar,
show sidebar.
- UserInterface/Views/TabBrowser.js:
(WebInspector.TabBrowser.prototype._tabBarItemSelected):
Jul 22, 2016:
- 11:15 PM Changeset in webkit [203635] by
-
- 5 edits in trunk/Source/WebKit2
Web Automation: All key events should be processed before sending response
https://bugs.webkit.org/show_bug.cgi?id=160114
<rdar://problem/27505943>
Reviewed by Darin Adler.
When evaluating performKeyboardInteractions, we were sending all
NSEvents synchronously, but because WebPageProxy was doing its
own queueing and asynchronous processing of those key events, we
would receive and respond to the next Automation command before
having completed all of the key events.
This change makes performKeyboardInteractions asynchronous. It
will be notified only after WebPageProxy has exhausted its queue
of key events.
- UIProcess/Automation/Automation.json:
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::keyboardEventsFlushedForPage):
(WebKit::WebAutomationSession::evaluateJavaScriptFunction):
(WebKit::WebAutomationSession::performKeyboardInteractions):
- UIProcess/Automation/WebAutomationSession.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveEvent):
- 11:15 PM Changeset in webkit [203634] by
-
- 4 edits in trunk/Source/WebKit2
Web Automation: WebAutomationSession::deleteAllCookies never calls callback, hangs automation session
https://bugs.webkit.org/show_bug.cgi?id=160113
<rdar://problem/27308124>
Reviewed by Darin Adler.
Delete all cookies appears to be a straightforward action
where we don't need to wait for a callback. So drop the
async altogether and implicitly complete the action.
- UIProcess/Automation/Automation.json:
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::deleteAllCookies):
- UIProcess/Automation/WebAutomationSession.h:
- 11:11 PM Changeset in webkit [203633] by
-
- 5 edits in trunk/Websites/perf.webkit.org
REGRESSION(r203035): Marking points as an outlier no longer updates charts
https://bugs.webkit.org/show_bug.cgi?id=160106
Reviewed by Darin Adler.
The bug was caused by MeasurementSet's fetchBetween clearing previously registered callbacks when noCache
option is specified.
- public/v3/components/time-series-chart.js:
(TimeSeriesChart.prototype.setSourceList): Clear this._fetchedTimeSeries when changing chart options.
e.g. need to start including or excluding outliers.
(TimeSeriesChart.prototype.fetchMeasurementSets): Don't skip the fetching when noCache is true.
- public/v3/models/measurement-set.js:
(MeasurementSet): Added this._callbackMap as an instance variable to keep track of all callbacks on every
cluster since we may need to call each callback multiple times per cluster when noCache option is used.
(MeasurementSet.prototype.fetchBetween): Moved the code to add _primaryClusterPromise to _allFetches here
so that now this function and _ensureClusterPromise are only functions that touch _allFetches.
(MeasurementSet.prototype._ensureClusterPromise): Extracted out of fetchBetween. Queue up all callbacks
for each cluster when creating a new promise.
(MeasurementSet.prototype._fetchPrimaryCluster): Removed the code to add _primaryClusterPromise now that
it's done in fetchBetween.
- public/v3/remote.js:
(RemoteAPI.postJSONWithStatus): Removed superfluous call to console.log.
- unit-tests/measurement-set-tests.js: Updated the test case for noCache. The callback registered before
fetchBetween is called with noCache=true is now invoked so callCount must be 3 instead of 2.
- 11:01 PM Changeset in webkit [203632] by
-
- 8 edits1 delete in trunk/Source/WebCore
Use a private property to implement FetchResponse.body getter
https://bugs.webkit.org/show_bug.cgi?id=159808
Patch by Youenn Fablet <youenn@apple.com> on 2016-07-22
Reviewed by Sam Weinig.
Covered by existing test sets.
Previously, body was handled as a CachedAttribute.
Using a private property will allow direct use of this property from JS built-ins which will allow easier
handling of ReadableStream cloning in Response.clone.
Also, this allows removing some binding custom code.
Updated redirect and error static methods to take NewObject keyword, as this removes a search into cached wrappers.
Ditto for createReadableStreamSource.
- CMakeLists.txt: Removing JSFetchResponseCustom.cpp.
- Modules/fetch/FetchResponse.idl: Adding createReadableStreamSource and isDisturbed private functions.
Making body getter a JSBuiltin.
- Modules/fetch/FetchResponse.js:
(body): Adding getter which will call createReadableStreamSource if needed.
- WebCore.xcodeproj/project.pbxproj: Removing JSFetchResponseCustom.cpp.
- bindings/js/JSFetchResponseCustom.cpp: Removed.
- bindings/js/ReadableStreamController.cpp:
(WebCore::createReadableStream): Deleted.
(WebCore::getReadableStreamReader): Deleted.
- bindings/js/ReadableStreamController.h: Removing unneeded ReadableStream helper routine now that they can be
handled within JS built-in code.
- bindings/js/WebCoreBuiltinNames.h: Adding @createReadableStreamSource, @isDisturbed and @Response identifiers.
- 6:56 PM Changeset in webkit [203631] by
-
- 7 edits in trunk/Source
Handle cases when IOSurface initialization fails.
https://bugs.webkit.org/show_bug.cgi?id=160006
<rdar://problem/27495102>
Reviewed by Tim Horton and Simon Fraser.
This is an additional fix to r203514 to check if IOSurface initialization was successful.
Unable to test.
Source/WebCore:
- platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::ImageBuffer::ImageBuffer):
- platform/graphics/cocoa/IOSurface.h: Merge 2 c'tors.
- platform/graphics/cocoa/IOSurface.mm: Remove redundant IOSurface::create() code.
(WebCore::IOSurface::create):
(WebCore::IOSurface::createFromImage):
(WebCore::IOSurface::IOSurface):
(WebCore::IOSurface::convertToFormat):
Source/WebKit2:
- Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::encode):
(WebKit::RemoteLayerBackingStore::display):
(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _takeViewSnapshot]):
(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):
- 6:19 PM Changeset in webkit [203630] by
-
- 3 edits in trunk/Source/WebKit2
[iOS] Clients should be able to decide if they want secure text entry in a form field
https://bugs.webkit.org/show_bug.cgi?id=160109
rdar://problem/27504958
Patch by Chelsea Pugh <cpugh@apple.com> on 2016-07-22
Reviewed by Dan Bernstein.
- UIProcess/API/Cocoa/_WKFormInputSession.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKFormInputSession forceSecureTextEntry]): Getter.
(-[WKFormInputSession setForceSecureTextEntry:]): Setter.
(-[WKContentView textInputTraits]): If the form input session has specified that secure text
entry is desired, we should use secure text entry.
- 5:47 PM Changeset in webkit [203629] by
-
- 4 edits in trunk
Media controls should be displayed for media in media documents
https://bugs.webkit.org/show_bug.cgi?id=160104
<rdar://problem/27438936>
Reviewed by Myles C. Maxfield.
Source/WebCore:
Make videos that would otherwise not have been large enough or have the right
aspect ratio cause media controls to appear. This is because media elements in
a media document are implied to be main content.
Added a new API test.
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::canControlControlsManager):
Tools:
Verifies that even a small video with audio in a media document gets media controls.
- TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm:
(TestWebKitAPI::TEST):
- 4:48 PM Changeset in webkit [203628] by
-
- 1 copy in tags/Safari-602.1.43
New tag.
- 4:48 PM Changeset in webkit [203627] by
-
- 11 edits in branches/safari-602-branch
Merge r203626. rdar://problem/27453479
- 4:45 PM Changeset in webkit [203626] by
-
- 11 edits in trunk
All dancers with bunny ears are female
https://bugs.webkit.org/show_bug.cgi?id=160102
<rdar://problem/27453479>
Reviewed by Simon Fraser.
Source/WebCore:
In r203330 I added support for new emoji group candidates. I accidentally
missed one of the new emoji code points.
Tests: editing/deleting/delete-emoji.html:
fast/text/emoji-gender-2-9.html:
fast/text/emoji-gender-9.html:
fast/text/emoji-gender-fe0f-9.html:
- platform/text/CharacterProperties.h:
(WebCore::isEmojiGroupCandidate):
LayoutTests:
- editing/deleting/delete-emoji.html:
- platform/mac/editing/deleting/delete-emoji-expected.txt:
- fast/text/emoji-gender-2-9-expected.html:
- fast/text/emoji-gender-2-9.html:
- fast/text/emoji-gender-9-expected.html:
- fast/text/emoji-gender-9.html:
- fast/text/emoji-gender-fe0f-9-expected.html:
- fast/text/emoji-gender-fe0f-9.html:
- 4:17 PM Changeset in webkit [203625] by
-
- 2 edits in trunk/Tools
REGRESSION(203616): no FTL testing was inadvertently removed
https://bugs.webkit.org/show_bug.cgi?id=160100
Rubber-stamped by Filip Pizlo.
Added runNoFTL back into the set of tests we run on FTL enabled platforms.
Renamed runLayoutTestNoFTL to runLayoutTestDefault. Restructured the test
logic for the runLayout and runNoisy variants to match the run test logic,
that is we always invoke runXXXDefault and invoke runXXXNoFTL for FTL
enabled platforms.
- Scripts/run-jsc-stress-tests:
- 4:13 PM Changeset in webkit [203624] by
-
- 11 edits in trunk
Parameter to HTMLCollection.item() / namedItem() should be mandatory
https://bugs.webkit.org/show_bug.cgi?id=160099
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Rebaseline several W3C tests now that more checks are passing.
- web-platform-tests/dom/interfaces-expected.txt:
- web-platform-tests/html/dom/interfaces-expected.txt:
Source/WebCore:
Parameter to HTMLCollection.item() / namedItem() should be mandatory:
- https://dom.spec.whatwg.org/#interface-htmlcollection
- https://html.spec.whatwg.org/multipage/infrastructure.html#htmlformcontrolscollection
- https://html.spec.whatwg.org/multipage/infrastructure.html#the-htmloptionscollection-interface
Firefox and Chrome agree with the specification.
No new tests, rebaselined existing tests.
- bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
(WebCore::JSHTMLFormControlsCollection::namedItem):
- html/HTMLCollection.idl:
- html/HTMLFormControlsCollection.idl:
- html/HTMLOptionsCollection.idl:
LayoutTests:
Update existing test to reflect behavior change.
- fast/dom/non-numeric-values-numeric-parameters-expected.txt:
- fast/dom/script-tests/non-numeric-values-numeric-parameters.js:
- 3:56 PM Changeset in webkit [203623] by
-
- 12 edits2 adds in trunk
First parameter to Window.getComputedStyle() should be mandatory and non-nullable
https://bugs.webkit.org/show_bug.cgi?id=160097
Reviewed by Ryosuke Niwa.
Source/WebCore:
First parameter to Window.getComputedStyle() should be mandatory and
non-nullable:
Firefox and Chrome agree with the specification.
Test: fast/dom/Window/getComputedStyle-missing-parameter.html
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::ComputedStyleExtractor):
(WebCore::CSSComputedStyleDeclaration::CSSComputedStyleDeclaration):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
(WebCore::CSSComputedStyleDeclaration::copyProperties):
(WebCore::CSSComputedStyleDeclaration::length):
(WebCore::CSSComputedStyleDeclaration::item):
(WebCore::CSSComputedStyleDeclaration::getPropertyValue):
- css/CSSComputedStyleDeclaration.h:
- dom/Document.idl:
- inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
- page/DOMWindow.cpp:
(WebCore::DOMWindow::getComputedStyle):
- page/DOMWindow.h:
- page/DOMWindow.idl:
- testing/Internals.cpp:
(WebCore::Internals::computedStyleIncludingVisitedInfo):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
Add test coverage.
- fast/dom/Window/getComputedStyle-missing-parameter-expected.txt: Added.
- fast/dom/Window/getComputedStyle-missing-parameter.html: Added.
- 3:32 PM Changeset in webkit [203622] by
-
- 4 edits2 adds in trunk
Removing IndexedDatabases that have stored blobs doesn't remove the blob files.
https://bugs.webkit.org/show_bug.cgi?id=160089
Reviewed by Darin Adler.
Source/WebCore:
Tested by API test IndexedDB.StoreBlobThenDelete.
Blob filenames exist in the IDB directory with the name "[0-9]+.blob".
That is, one or more digits, followed by ".blob".
So when we delete an IndexedDB.sqlite3 and related files, we should delete those blob files as well.
- Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::removeAllDatabasesForOriginPath):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit2Cocoa/StoreBlobThenDelete.mm: Added.
- TestWebKitAPI/Tests/WebKit2Cocoa/StoreBlobToBeDeleted.html: Added.
- 3:14 PM Changeset in webkit [203621] by
-
- 10 edits4 adds in trunk/Source/JavaScriptCore
Teach MarkedSpace how to allocate auxiliary storage
https://bugs.webkit.org/show_bug.cgi?id=160053
Reviewed by Sam Weinig.
Previously, we had two kinds of subspaces in MarkedSpace: destructor and non-destructor. This
was described using "bool needsDestruction" that would get passed around. We'd iterate over
these spaces using duplicated code - one loop for destructors and one for non-destructors, or
a single loop that does one thing for destructors and one for non-destructors.
But now we want a third subspace: non-destructor non-JSCell, aka Auxiliary.
So, this changes all of the reflection and iteration over subspaces to use functors, so that
the looping is written once and reused. Most places don't even have to know that there is a
third subspace; they just know that they must do things for each subspace, for each
allocator, or for each block - and the functor magic handles it for you.
To make this somewhat nice, this change also fixes how we describe subspaces. Instead of a
bool, we now have AllocatorAttributes, which is a struct. If we ever add more subspaces, we
can add fields to AllocatorAttributes to describe how those subspaces differ. For now it just
contains two properties: a DestructionMode and a HeapCell::Kind. The DesctructionMode
replaces bool needsDestruction. I deliberately used a non-class enum to avoid tautologies.
DestructionMode has two members: NeedsDestruction and DoesNotNeedDestruction. I almost went
with DestructionMode::Needed and DestructionMode::NotNeeded, but I felt like that involves
more typing and doesn't actually avoid any kind of namespace issues.
This is intended to have no behavior change other than the addition of a totally unused
space, which should always be empty. So hopefully it doesn't cost anything.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- heap/AllocatorAttributes.cpp: Added.
(JSC::AllocatorAttributes::dump):
- heap/AllocatorAttributes.h: Added.
(JSC::AllocatorAttributes::AllocatorAttributes):
- heap/DestructionMode.cpp: Added.
(WTF::printInternal):
- heap/DestructionMode.h: Added.
- heap/Heap.h:
- heap/MarkedAllocator.cpp:
(JSC::MarkedAllocator::allocateBlock):
(JSC::MarkedAllocator::addBlock):
- heap/MarkedAllocator.h:
(JSC::MarkedAllocator::cellSize):
(JSC::MarkedAllocator::attributes):
(JSC::MarkedAllocator::needsDestruction):
(JSC::MarkedAllocator::destruction):
(JSC::MarkedAllocator::cellKind):
(JSC::MarkedAllocator::heap):
(JSC::MarkedAllocator::takeLastActiveBlock):
(JSC::MarkedAllocator::MarkedAllocator):
(JSC::MarkedAllocator::init):
(JSC::MarkedAllocator::allocate):
- heap/MarkedBlock.cpp:
(JSC::MarkedBlock::create):
(JSC::MarkedBlock::destroy):
(JSC::MarkedBlock::MarkedBlock):
(JSC::MarkedBlock::callDestructor):
(JSC::MarkedBlock::sweep):
(JSC::MarkedBlock::stopAllocating):
(JSC::MarkedBlock::didRetireBlock):
- heap/MarkedBlock.h:
(JSC::MarkedBlock::cellSize):
(JSC::MarkedBlock::attributes):
(JSC::MarkedBlock::needsDestruction):
(JSC::MarkedBlock::destruction):
(JSC::MarkedBlock::cellKind):
(JSC::MarkedBlock::size):
(JSC::MarkedBlock::forEachCell):
(JSC::MarkedBlock::forEachLiveCell):
(JSC::MarkedBlock::forEachDeadCell):
- heap/MarkedSpace.cpp:
(JSC::MarkedSpace::MarkedSpace):
(JSC::MarkedSpace::~MarkedSpace):
(JSC::MarkedSpace::lastChanceToFinalize):
(JSC::MarkedSpace::resetAllocators):
(JSC::MarkedSpace::forEachAllocator):
(JSC::MarkedSpace::stopAllocating):
(JSC::MarkedSpace::resumeAllocating):
(JSC::MarkedSpace::isPagedOut):
(JSC::MarkedSpace::freeBlock):
(JSC::MarkedSpace::shrink):
(JSC::MarkedSpace::clearNewlyAllocated):
(JSC::clearNewlyAllocatedInBlock): Deleted.
- heap/MarkedSpace.h:
(JSC::MarkedSpace::subspaceForObjectsWithDestructor):
(JSC::MarkedSpace::subspaceForObjectsWithoutDestructor):
(JSC::MarkedSpace::subspaceForAuxiliaryData):
(JSC::MarkedSpace::allocatorFor):
(JSC::MarkedSpace::destructorAllocatorFor):
(JSC::MarkedSpace::auxiliaryAllocatorFor):
(JSC::MarkedSpace::allocateWithoutDestructor):
(JSC::MarkedSpace::allocateWithDestructor):
(JSC::MarkedSpace::allocateAuxiliary):
(JSC::MarkedSpace::forEachBlock):
(JSC::MarkedSpace::didAddBlock):
(JSC::MarkedSpace::capacity):
(JSC::MarkedSpace::forEachSubspace):
- 3:14 PM Changeset in webkit [203620] by
-
- 2 edits in trunk/Tools
[GTK] Improved exclusion patterns in make-dist.py manifest.
https://bugs.webkit.org/show_bug.cgi?id=160094
Reviewed by Michael Catanzaro.
- gtk/manifest.txt.in:
Exclude Platform*.cmake files for more ports.
Removed obsolete .gyp and .pro.user patterns.
Exclude 'Configurations' and 'spi' directories.
Exclude CMakeLists.txt.user (Qt Creator IDE).
- 3:07 PM Changeset in webkit [203619] by
-
- 2 edits in trunk/LayoutTests
Marking webaudio/audionode-connect-order.html as a flaky crash on mac-wk1 debug
https://bugs.webkit.org/show_bug.cgi?id=105870
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 3:06 PM Changeset in webkit [203618] by
-
- 2 edits in trunk/Source/WebKit2
Get rid of an unused API typedef
https://bugs.webkit.org/show_bug.cgi?id=160103
Reviewed by Sam Weinig.
- Shared/API/c/WKSharedAPICast.h:
- 2:58 PM Changeset in webkit [203617] by
-
- 2 edits in trunk/LayoutTests
Marking userscripts/window-onerror-for-isolated-world-3.html as a flaky failure on mac-wk1
https://bugs.webkit.org/show_bug.cgi?id=160101
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 1:53 PM Changeset in webkit [203616] by
-
- 2 edits in trunk/Tools
Don't run FTL related JSC stress tests on non-FTL platforms
https://bugs.webkit.org/show_bug.cgi?id=160033
Reviewed by Mark Lam.
Added check for running tests on platforms that don't enable FTL to not run FTL tests.
Refactored several of the runXXX test methods to always runXXXDefault and made those
runXXXDefault to pass FTL_OPTIONS. For platforms that don't enable the FTL, FTL_OPTIONS
doesn't cause a problem.
- Scripts/run-jsc-stress-tests:
- 1:38 PM Changeset in webkit [203615] by
-
- 2 edits in trunk/Source/JavaScriptCore
REGRESSION(r203537): It made many tests crash on ARMv7 Linux platforms
https://bugs.webkit.org/show_bug.cgi?id=160082
Reviewed by Keith Miller.
We were improperly linking the Jump in the link buffer.
It caused us to be linking against the executable address
which always has bit 0 set. We shouldn't be doing that.
This patch fixes this, by using the same idiom that
PolymorphicAccess uses to link a jump to out of line code.
- jit/JITMathIC.h:
(JSC::JITMathIC::generateOutOfLine):
- 1:36 PM Changeset in webkit [203614] by
-
- 3 edits in trunk/LayoutTests
Web Inspector: Remove unused code from Debounce layout test
https://bugs.webkit.org/show_bug.cgi?id=160049
<rdar://problem/27479713>
Reviewed by Joseph Pecoraro.
- inspector/unit-tests/debounce-expected.txt:
Updated with new delay times.
- inspector/unit-tests/debounce.html:
Remove unused code that was copy-pasted from other tests, and reduced
delay times from 100ms to 10ms to speed up test.
- 1:35 PM Changeset in webkit [203613] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, rolling out r203603.
https://bugs.webkit.org/show_bug.cgi?id=160096
Caused CLoop tests to fail with assertions (Requested by
perarne on #webkit).
Reverted changeset:
"[Win] jsc.exe sometimes never exits."
https://bugs.webkit.org/show_bug.cgi?id=158073
http://trac.webkit.org/changeset/203603
- 1:34 PM Changeset in webkit [203612] by
-
- 6 edits in trunk
Fix default parameter values for window.alert() / prompt() / confirm()
https://bugs.webkit.org/show_bug.cgi?id=160085
Reviewed by Ryosuke Niwa.
Source/WebCore:
Fix default parameter values for window.alert() / prompt() / confirm() to
match the specification:
They should default to the empty string, not the string "undefined".
Firefox and chrome agree with the specification.
No new tests, updated existing test.
- page/DOMWindow.h:
- page/DOMWindow.idl:
LayoutTests:
Update existing test to reflect behavior change.
- fast/dom/Window/alert-undefined-expected.txt:
- fast/dom/Window/alert-undefined.html:
- 1:33 PM Changeset in webkit [203611] by
-
- 8 edits16 adds in trunk
CSP: object-src and plugin-types directives are not respected for plugin replacements
https://bugs.webkit.org/show_bug.cgi?id=159761
<rdar://problem/27365724>
Reviewed by Brent Fulgham.
Source/WebCore:
Apply the Content Security Policy (CSP) object-src and plugin-types directives to content that will
load with a plugin replacement.
Tests: security/contentSecurityPolicy/object-src-none-blocks-quicktime-plugin-replacement.html
security/contentSecurityPolicy/object-src-none-blocks-youtube-plugin-replacement.html
security/contentSecurityPolicy/plugins-types-allows-quicktime-plugin-replacement.html
security/contentSecurityPolicy/plugins-types-allows-youtube-plugin-replacement.html
security/contentSecurityPolicy/plugins-types-blocks-quicktime-plugin-replacement-without-mime-type.html
security/contentSecurityPolicy/plugins-types-blocks-quicktime-plugin-replacement.html
security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement-without-mime-type.html
security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement.html
- html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::allowedToLoadPluginContent): Added.
(WebCore::HTMLPlugInImageElement::requestObject): Only request loading plugin content if we
are allowed to load such content.
- html/HTMLPlugInImageElement.h:
- loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::pluginIsLoadable): Removed code to check CSP as we will check CSP
earlier in HTMLPlugInImageElement::requestObject().
(WebCore::SubframeLoader::requestPlugin): Ditto.
(WebCore::SubframeLoader::isPluginContentAllowedByContentSecurityPolicy): Deleted; moved implementation
to HTMLPlugInImageElement::allowedToLoadPluginContent().
(WebCore::SubframeLoader::requestObject): Deleted.
- loader/SubframeLoader.h:
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::upgradeInsecureRequestIfNeeded): Changed signature from a non-const
function to a const function since these functions do not modify |this|.
- page/csp/ContentSecurityPolicy.h:
LayoutTests:
Add layout tests to ensure that we apply the CSP object-src and plugin-types directives to content
that loads with either the QuickTime plugin replacement or YouTube plugin replacement.
- security/contentSecurityPolicy/object-src-none-blocks-quicktime-plugin-replacement-expected.txt: Added.
- security/contentSecurityPolicy/object-src-none-blocks-quicktime-plugin-replacement.html: Added.
- security/contentSecurityPolicy/object-src-none-blocks-youtube-plugin-replacement-expected.txt: Added.
- security/contentSecurityPolicy/object-src-none-blocks-youtube-plugin-replacement.html: Added.
- security/contentSecurityPolicy/plugins-types-allows-quicktime-plugin-replacement-expected.txt: Added.
- security/contentSecurityPolicy/plugins-types-allows-quicktime-plugin-replacement.html: Added.
- security/contentSecurityPolicy/plugins-types-allows-youtube-plugin-replacement-expected.txt: Added.
- security/contentSecurityPolicy/plugins-types-allows-youtube-plugin-replacement.html: Added.
- security/contentSecurityPolicy/plugins-types-blocks-quicktime-plugin-replacement-expected.txt: Added.
- security/contentSecurityPolicy/plugins-types-blocks-quicktime-plugin-replacement-without-mime-type-expected.txt: Added.
- security/contentSecurityPolicy/plugins-types-blocks-quicktime-plugin-replacement-without-mime-type.html: Added.
- security/contentSecurityPolicy/plugins-types-blocks-quicktime-plugin-replacement.html: Added.
- security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement-expected.txt: Added.
- security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement-without-mime-type-expected.txt: Added.
- security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement-without-mime-type.html: Added.
- security/contentSecurityPolicy/plugins-types-blocks-youtube-plugin-replacement.html: Added.
- 12:54 PM Changeset in webkit [203610] by
-
- 11 edits in trunk
Parameters to Node.replaceChild() / insertBefore() should be mandatory
https://bugs.webkit.org/show_bug.cgi?id=160091
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline several W3C tests now that more checks are passing.
- web-platform-tests/dom/interfaces-expected.txt:
- web-platform-tests/html/dom/interfaces-expected.txt:
Source/WebCore:
Parameters to Node.replaceChild() / insertBefore() should be mandatory:
The compatibility risk should be low since Firefox and Chrome both agree
with the specification and because it does not make much sense to omit
parameters when using this API.
No new tests, rebaselined existing tests.
- bindings/js/JSNodeCustom.cpp:
(WebCore::JSNode::insertBefore):
(WebCore::JSNode::replaceChild):
LayoutTests:
Update existing tests due to the behavior change.
- fast/block/basic/empty-anonymous-block-remove-crash.html:
- fast/html/details-summary-document-child.html:
- fast/repaint/focus-ring-with-negative-offset-repaint.html:
- svg/animations/mpath-remove-from-dependents-on-delete-crash.html:
- 12:34 PM Changeset in webkit [203609] by
-
- 5 edits in trunk
Parameter to Node.contains() should be mandatory
https://bugs.webkit.org/show_bug.cgi?id=160084
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline several W3C tests now that more checks are passing.
- web-platform-tests/dom/interfaces-expected.txt:
- web-platform-tests/html/dom/interfaces-expected.txt:
Source/WebCore:
Parameter to Node.contains() should be mandatory as per the
specification:
The compatibility risk should be low because both Firefox and Chrome
both agree with the specification. Also, it does not make much sense
to call this API without parameter.
No new tests, rebaselined existing tests.
- dom/Node.idl:
- 11:58 AM Changeset in webkit [203608] by
-
- 2 edits in branches/safari-602-branch/Source/WebCore
Merge r203606. rdar://problem/27430450
- 11:58 AM Changeset in webkit [203607] by
-
- 10 edits2 adds in branches/safari-602-branch
Merge r203378. rdar://problem/25876032
- 11:45 AM Changeset in webkit [203606] by
-
- 2 edits in trunk/Source/WebCore
[iOS] REGRESSION(203378): PDFDocumentImage::updateCachedImageIfNeeded() uses the unscaled size when deciding whether to cache the PDF image
https://bugs.webkit.org/show_bug.cgi?id=159933
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-07-22
Reviewed by Simon Fraser.
We need to use the scaled size when deciding whether to cache the PDF image
or not. This is because ImageBuffer takes the display resolution into account
which gives higher resolution for the image when zooming.
- platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::updateCachedImageIfNeeded):
- 11:39 AM Changeset in webkit [203605] by
-
- 7 edits2 adds in trunk
First parameter to getElementById() should be mandatory
https://bugs.webkit.org/show_bug.cgi?id=160087
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline several W3C tests now that more checks are passing.
- web-platform-tests/dom/interfaces-expected.txt:
- web-platform-tests/html/dom/interfaces-expected.txt:
Source/WebCore:
First parameter to getElementById() should be mandatory:
- https://dom.spec.whatwg.org/#nonelementparentnode
- https://www.w3.org/TR/SVG/struct.html#InterfaceSVGSVGElement
Both Firefox and Chrome agree with the specification.
Test: svg/dom/SVGSVGElement-getElementById.html
- dom/NonElementParentNode.idl:
- svg/SVGSVGElement.idl:
LayoutTests:
Add layout test coverage for SVGSVGElement.getElementById().
- svg/dom/SVGSVGElement-getElementById-expected.txt: Added.
- svg/dom/SVGSVGElement-getElementById.html: Added.
- 11:34 AM Changeset in webkit [203604] by
-
- 5 edits in trunk
Parameter to Node.lookupPrefix() / lookupNamespaceURI() / isDefaultNamespace() should be mandatory
https://bugs.webkit.org/show_bug.cgi?id=160086
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline several W3C tests now that more checks are passing.
- web-platform-tests/dom/interfaces-expected.txt:
- web-platform-tests/html/dom/interfaces-expected.txt:
Source/WebCore:
Parameter to Node.lookupPrefix() / lookupNamespaceURI() / isDefaultNamespace()
should be mandatory:
Firefox and Chrome both agree with the specification.
No new tests, rebaselined existing tests.
- dom/Node.idl:
- 11:26 AM Changeset in webkit [203603] by
-
- 2 edits in trunk/Source/JavaScriptCore
[Win] jsc.exe sometimes never exits.
https://bugs.webkit.org/show_bug.cgi?id=158073
Reviewed by Mark Lam.
Make sure the VM is deleted after the test has finished. This will gracefully stop the sampling profiler thread,
and give the thread the opportunity to release the machine thread lock aquired in SamplingProfiler::takeSample.
If the sampling profiler thread was terminated while holding the machine thread lock, the machine thread will
not be able to grab the lock afterwards.
- jsc.cpp:
(jscmain):
- 9:57 AM Changeset in webkit [203602] by
-
- 2 edits in trunk/LayoutTests
Correct a TestExpectation by changing it from Failure to ImageOnlyFailure
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 9:01 AM Changeset in webkit [203601] by
-
- 12 edits in trunk
Parameter to Node.compareDocumentPosition() should be mandatory and non-nullable
https://bugs.webkit.org/show_bug.cgi?id=160071
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
Rebaseline several W3C tests now that more checks are passing.
- web-platform-tests/dom/interfaces-expected.txt:
- web-platform-tests/html/dom/interfaces-expected.txt:
Source/WebCore:
Parameter to Node.compareDocumentPosition() should be mandatory and
non-nullable:
Firefox and Chrome agree with the specification so the compatibility
risk should be low. Also, it does not make much sense to call this
operation without parameter.
No new tests, rebaselined existing tests.
- accessibility/AccessibilityObject.cpp:
(WebCore::rangeClosestToRange):
- dom/AuthorStyleSheets.cpp:
(WebCore::AuthorStyleSheets::addStyleSheetCandidateNode):
- dom/Node.cpp:
(WebCore::compareDetachedElementsPosition):
(WebCore::Node::compareDocumentPosition):
- dom/Node.h:
- dom/Node.idl:
- dom/Position.h:
(WebCore::operator<):
- html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::formElementIndexWithFormAttribute):
(WebCore::HTMLFormElement::formElementIndex):
- rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::nextRendererForElement):
(WebCore::compareRenderNamedFlowFragments):
(WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
- 8:55 AM Changeset in webkit [203600] by
-
- 2 edits in trunk/Source/JavaScriptCore
Fix the Windows 64-bit build after r203537
https://bugs.webkit.org/show_bug.cgi?id=160080
Reviewed by Csaba Osztrogonác.
Added new version of setupArgumentsWithExecState method.
- jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState):
- 8:52 AM Changeset in webkit [203599] by
-
- 2 edits in trunk/Source/WebCore
[cmake] Removed obsolete plugins/win directory
https://bugs.webkit.org/show_bug.cgi?id=160081
Reviewed by Per Arne Vollan.
It was removed in r178219.
No new tests needed.
- PlatformWin.cmake:
- 8:11 AM Changeset in webkit [203598] by
-
- 5 edits in trunk/Source/WebKit2
run-safari doesn't work with Safari 10 on 10.11
https://bugs.webkit.org/show_bug.cgi?id=159958
<rdar://problem/27422805>
Reviewed by Alexey Proskuryakov.
Safari’s injected bundle may depend on the newer versions of frameworks installed in a
staging location. Have the engineering builds of the Web Content service look for newer
versions in that location.
- Configurations/BaseTarget.xcconfig: Shortened a linker flag.
- Configurations/BaseXPCService.xcconfig: Increased Mach-O header padding in production builds to allow for more dyld environment commands to be added after the fact.
- Configurations/DebugRelease.xcconfig: Have the new WK_WEBCONTENT_SERVICE_NEEDS_VERSIONED_FRAMEWORK_PATH_LDFLAG set to YES for macOS engineering builds.
- Configurations/WebContentService.xcconfig: Include the versioned frameworks whenever WK_WEBCONTENT_SERVICE_NEEDS_VERSIONED_FRAMEWORK_PATH_LDFLAG is set to YES. Have the value of WK_WEBCONTENT_SERVICE_NEEDS_VERSIONED_FRAMEWORK_PATH_LDFLAG default to the value of USE_STAGING_INSTALL_PATH, while letting DebugRelease.xcconfig override it.
- 5:40 AM Changeset in webkit [203597] by
-
- 4 edits in trunk
IWebView::mainFrame crashes if called after IWebView::close
https://bugs.webkit.org/show_bug.cgi?id=32868
Reviewed by Brent Fulgham.
Source/WebKit/win:
After deleting the page in WebView::close the mainframe object may be deleted.
Test: Tools/TestWebKitAPI/Tests/WebKit/win/WebViewDestruction.cpp (CloseThenGetMainFrame).
- WebView.cpp:
(WebView::close): set mainframe pointer member to null.
Tools:
- TestWebKitAPI/Tests/WebKit/win/WebViewDestruction.cpp:
(TestWebKitAPI::TEST_F): Added test.
- 3:24 AM Changeset in webkit [203596] by
-
- 4 edits in trunk
[GTK] Enable threaded compositor by default
https://bugs.webkit.org/show_bug.cgi?id=160079
Reviewed by Žan Doberšek.
.:
- Source/cmake/OptionsGTK.cmake:
Tools:
- Scripts/webkitperl/FeatureList.pm:
- 3:00 AM Changeset in webkit [203595] by
-
- 2 edits in trunk/Source/JavaScriptCore
[ARM] Unreviewed EABI buildfix after r203537.
- jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState): Added.
- 2:50 AM Changeset in webkit [203594] by
-
- 2 edits in branches/safari-602-branch/Source/WebCore
Merge r203548. rdar://problem/27474031
- 2:50 AM Changeset in webkit [203593] by
-
- 3 edits in branches/safari-602-branch
Merge r203511. rdar://problem/27474031
- 2:38 AM Changeset in webkit [203592] by
-
- 24 edits in branches/safari-602-branch
Merge r203545. rdar://problem/26964090
- 2:38 AM Changeset in webkit [203591] by
-
- 3 edits in branches/safari-602-branch/Tools
Merge r203540. rdar://problem/26964090
- 2:38 AM Changeset in webkit [203590] by
-
- 26 edits2 deletes in branches/safari-602-branch
Merge r203520. rdar://problem/26964090
- 2:26 AM Changeset in webkit [203589] by
-
- 1 edit1 move1 add in branches/safari-602-branch/LayoutTests
Merge r203536. rdar://problem/27430111
- 2:26 AM Changeset in webkit [203588] by
-
- 3 edits2 copies1 move1 add in branches/safari-602-branch
Merge r203533. rdar://problem/27430111
- 2:26 AM Changeset in webkit [203587] by
-
- 2 edits in branches/safari-602-branch/Source/WebCore
Merge r203473. rdar://problem/27180657
- 2:26 AM Changeset in webkit [203586] by
-
- 2 edits in branches/safari-602-branch/Tools
Merge r203468. rdar://problem/27180657
- 2:26 AM Changeset in webkit [203585] by
-
- 5 edits1 add in branches/safari-602-branch
Merge r203464. rdar://problem/27180657
- 2:26 AM Changeset in webkit [203584] by
-
- 2 edits in branches/safari-602-branch/Source/WebKit2
Merge r203483. rdar://problem/27455589
- 2:26 AM Changeset in webkit [203583] by
-
- 2 edits in branches/safari-602-branch/Source/WebKit2
Merge r203462. rdar://problem/27453189
- 2:26 AM Changeset in webkit [203582] by
-
- 2 edits in branches/safari-602-branch/Tools
Merge r203447. rdar://problem/27056844
- 2:26 AM Changeset in webkit [203581] by
-
- 2 edits in branches/safari-602-branch/Tools
Merge r203436. rdar://problem/27056844
- 2:26 AM Changeset in webkit [203580] by
-
- 2 edits in branches/safari-602-branch/Tools
Merge r203429. rdar://problem/27056844
- 2:26 AM Changeset in webkit [203579] by
-
- 3 edits2 moves3 adds in branches/safari-602-branch/Tools
Merge r203426. rdar://problem/27056844
- 2:26 AM Changeset in webkit [203578] by
-
- 5 edits in branches/safari-602-branch/Source
Merge r203392. rdar://problem/27056844
- 2:26 AM Changeset in webkit [203577] by
-
- 3 edits3 adds in branches/safari-602-branch
Merge r203543. rdar://problem/27429465
- 2:26 AM Changeset in webkit [203576] by
-
- 4 edits1 add in branches/safari-602-branch
Merge r203541. rdar://problem/27450825
- 2:25 AM Changeset in webkit [203575] by
-
- 3 edits2 adds in branches/safari-602-branch
Merge r203538. rdar://problem/27462960
- 2:25 AM Changeset in webkit [203574] by
-
- 2 edits in branches/safari-602-branch/Source/WebCore
Merge r203518. rdar://problem/21400186
- 2:25 AM Changeset in webkit [203573] by
-
- 2 edits in branches/safari-602-branch/Source/WebCore
Merge r203514. rdar://problem/27208636
- 2:25 AM Changeset in webkit [203572] by
-
- 9 edits1 add in branches/safari-602-branch/Source/JavaScriptCore
Merge r203488. rdar://problem/27439330
- 2:25 AM Changeset in webkit [203571] by
-
- 3 edits in branches/safari-602-branch/Source/WebCore
Merge r203482. rdar://problem/27442806
- 2:25 AM Changeset in webkit [203570] by
-
- 2 edits2 adds in branches/safari-602-branch/Tools
Merge r203478. rdar://problem/27411085
- 2:25 AM Changeset in webkit [203569] by
-
- 4 edits in branches/safari-602-branch/Source/WebCore
Merge r203450. rdar://problem/21439264
- 2:25 AM Changeset in webkit [203568] by
-
- 2 edits in branches/safari-602-branch/Source/WebKit2
Merge r203442. rdar://problem/27376446
- 2:25 AM Changeset in webkit [203567] by
-
- 6 edits in branches/safari-602-branch
Merge r203435. rdar://problem/27438734
- 2:25 AM Changeset in webkit [203566] by
-
- 2 edits in branches/safari-602-branch/Source/WebCore
Merge r203425. rdar://problem/27488703
- 2:25 AM Changeset in webkit [203565] by
-
- 3 edits in branches/safari-602-branch/Source/WebCore
Merge r203424. rdar://problem/27391012
- 2:25 AM Changeset in webkit [203564] by
-
- 3 edits2 adds in branches/safari-602-branch
Merge r203415. rdar://problem/27409483
- 2:25 AM Changeset in webkit [203563] by
-
- 7 edits in branches/safari-602-branch/Source
Merge r203414. rdar://problem/26756701
- 2:25 AM Changeset in webkit [203562] by
-
- 4 edits2 adds in branches/safari-602-branch
Merge r203412. rdar://problem/26898984
- 2:25 AM Changeset in webkit [203561] by
-
- 3 edits6 adds in branches/safari-602-branch
Merge r203409. rdar://problem/27182267
- 2:25 AM Changeset in webkit [203560] by
-
- 6 edits2 adds in branches/safari-602-branch
Merge r203388. rdar://problem/25740804
- 2:25 AM Changeset in webkit [203559] by
-
- 2 edits in branches/safari-602-branch/Source/WebKit2
Merge r203387. rdar://problem/27018065
- 2:25 AM Changeset in webkit [203558] by
-
- 2 edits in branches/safari-602-branch/Source/WebKit2
Merge r203385. rdar://problem/27192350
- 2:25 AM Changeset in webkit [203557] by
-
- 15 edits in branches/safari-602-branch
Merge r203380. rdar://problem/27391725
- 2:25 AM Changeset in webkit [203556] by
-
- 5 edits in branches/safari-602-branch/Source/WebKit2
Merge r203371. rdar://problem/26973202
- 2:24 AM Changeset in webkit [203555] by
-
- 3 edits in branches/safari-602-branch/Source/WebCore
Merge r203362. rdar://problem/27371624
- 1:32 AM Changeset in webkit [203554] by
-
- 12 edits1 copy2 adds in trunk
run-builtins-generator-tests should be able to test WebCore builtins wrapper with more than one file
https://bugs.webkit.org/show_bug.cgi?id=159921
Patch by Youenn Fablet <youenn@apple.com> on 2016-07-22
Reviewed by Brian Burg.
Source/JavaScriptCore:
Updated built-in generator to generate only wrapper files when passed the --wrappers-only option.
When this option is used, wrapper files are generated but no individual file is generated.
When this option is not used, individual files are generated but not wrapper file is generated.
This allows the builtin generator test runner to generate a single WebCore-Wrappers.h-result generated for all
WebCore test files, like used for real in WebCore.
Previously wrapper code was generated individually for each WebCore test file.
Added new built-in test file to cover the case of concatenating several guards in generated WebCore wrapper files.
- Scripts/generate-js-builtins.py:
(concatenated_output_filename): Compute a decent name for wrapper files in case of test mode.
(generate_bindings_for_builtins_files): When --wrappers-only is activated, this generates only the wrapper files, not the individual files.
- Scripts/tests/builtins/WebCore-AnotherGuardedInternalBuiltin-Separate.js: Added.
- Scripts/tests/builtins/expected/WebCore-AnotherGuardedInternalBuiltin-Separate.js-result: Added.
- Scripts/tests/builtins/expected/WebCore-ArbitraryConditionalGuard-Separate.js-result: Removed wrapper code.
- Scripts/tests/builtins/expected/WebCore-GuardedBuiltin-Separate.js-result: Ditto.
- Scripts/tests/builtins/expected/WebCore-GuardedInternalBuiltin-Separate.js-result: Ditto.
- Scripts/tests/builtins/expected/WebCore-UnguardedBuiltin-Separate.js-result: Ditto.
- Scripts/tests/builtins/expected/WebCore-xmlCasingTest-Separate.js-result: Removed wrapper code.
- Scripts/tests/builtins/expected/WebCoreJSBuiltins.h-result: Added, contains wrapper code for all WebCore valid test cases.
Source/WebCore:
Covered by existing and added built-ins tests.
Updating built system according ---wrappers-only new meaning.
builtin generator is now called for each individual built-in file plus once for WebCore wrapper files.
WebCore wrapper files allow handling things like conditionally guarded features.
They also remove the need to use built-ins macros outside generated code.
- CMakeLists.txt:
- DerivedSources.make:
Tools:
Updated builtin generator test runner to generate WebCore wrapper files based on all WebCore valid separate files.
- Scripts/webkitpy/codegen/main.py:
(BuiltinsGeneratorTests.generate_from_js_builtins): Passing a list of builtin files to the script.
(BuiltinsGeneratorTests):
(BuiltinsGeneratorTests.single_builtin_test): Added to handle the case of single builtin generation.
(BuiltinsGeneratorTests.wrappers_builtin_test): Added to handle the case of WebCore wrappers builtin generation.
(BuiltinsGeneratorTests.run_test): Helper routine to run a test in reset mode or normal check mode.
(BuiltinsGeneratorTests.run_tests): Updated to add WebCore wrappers builtin generation test.