Timeline
Jul 11, 2016:
- 11:24 PM Changeset in webkit [203109] by
-
- 24 edits in trunk/Source
Purge PassRefPtr in platform/efl and platform/mac
https://bugs.webkit.org/show_bug.cgi?id=159548
Reviewed by Alex Christensen.
Remove all use of PassRefPtr and clean up unnecessary tabs and spaces.
Source/WebCore:
WebKit2 codes are also changed because of setBufferForType()'s modification.
No new tests, no behavior changes.
- platform/PasteboardStrategy.h:
- platform/PlatformPasteboard.h:
- platform/PlatformSpeechSynthesizer.h:
- platform/SerializedPlatformRepresentation.h:
- platform/efl/PlatformSpeechSynthesisProviderEfl.cpp:
(WebCore::PlatformSpeechSynthesisProviderEfl::speak):
- platform/efl/PlatformSpeechSynthesisProviderEfl.h:
- platform/efl/PlatformSpeechSynthesizerEfl.cpp:
(WebCore::PlatformSpeechSynthesizer::speak):
- platform/ios/PlatformPasteboardIOS.mm:
(WebCore::PlatformPasteboard::setBufferForType):
- platform/ios/PlatformSpeechSynthesizerIOS.mm:
(SOFT_LINK_CONSTANT):
(-[WebSpeechSynthesisWrapper initWithSpeechSynthesizer:]):
(-[WebSpeechSynthesisWrapper mapSpeechRateToPlatformRate:]):
(-[WebSpeechSynthesisWrapper speakUtterance:]):
(-[WebSpeechSynthesisWrapper pause]):
(-[WebSpeechSynthesisWrapper resume]):
(-[WebSpeechSynthesisWrapper cancel]):
(-[WebSpeechSynthesisWrapper speechSynthesizer:didStartSpeechUtterance:]):
(-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeechUtterance:]):
(-[WebSpeechSynthesisWrapper speechSynthesizer:didPauseSpeechUtterance:]):
(-[WebSpeechSynthesisWrapper speechSynthesizer:didContinueSpeechUtterance:]):
(-[WebSpeechSynthesisWrapper speechSynthesizer:didCancelSpeechUtterance:]):
(-[WebSpeechSynthesisWrapper speechSynthesizer:willSpeakRangeOfSpeechString:utterance:]):
(WebCore::PlatformSpeechSynthesizer::speak):
- platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::write):
- platform/mac/PlatformPasteboardMac.mm:
(WebCore::PlatformPasteboard::getTypes):
(WebCore::PlatformPasteboard::getPathnamesForType):
(WebCore::PlatformPasteboard::color):
(WebCore::PlatformPasteboard::copy):
(WebCore::PlatformPasteboard::setBufferForType):
(WebCore::PlatformPasteboard::setPathnamesForType):
- platform/mac/PlatformSpeechSynthesizerMac.mm:
(-[WebSpeechSynthesisWrapper initWithSpeechSynthesizer:]):
(-[WebSpeechSynthesisWrapper speakUtterance:]):
(-[WebSpeechSynthesisWrapper pause]):
(-[WebSpeechSynthesisWrapper resume]):
(-[WebSpeechSynthesisWrapper cancel]):
(-[WebSpeechSynthesisWrapper speechSynthesizer:didFinishSpeaking:]):
(WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
(WebCore::PlatformSpeechSynthesizer::speak):
- platform/mac/SerializedPlatformRepresentationMac.h:
- platform/mac/SerializedPlatformRepresentationMac.mm:
(WebCore::SerializedPlatformRepresentationMac::data):
(WebCore::jsValueWithValueInContext):
- platform/mock/PlatformSpeechSynthesizerMock.cpp:
(WebCore::PlatformSpeechSynthesizerMock::speakingFinished):
(WebCore::PlatformSpeechSynthesizerMock::speak):
(WebCore::PlatformSpeechSynthesizerMock::cancel):
- platform/mock/PlatformSpeechSynthesizerMock.h:
Source/WebKit/mac:
- WebCoreSupport/WebPlatformStrategies.h:
- WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::setBufferForType):
Source/WebKit2:
WebKit2 codes are also changed because of setBufferForType()'s modification.
- UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:
(WebKit::WebPasteboardProxy::setPasteboardBufferForType):
- WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::setBufferForType):
- WebProcess/WebCoreSupport/WebPlatformStrategies.h:
- 11:04 PM MathML/Early_2016_Refactoring edited by
- (diff)
- 10:59 PM Changeset in webkit [203108] by
-
- 9 edits1 copy1 add in trunk/Source/WebCore
Move parsing of mspace attributes to a MathMLSpaceElement class
https://bugs.webkit.org/show_bug.cgi?id=156795
Patch by Frederic Wang <fwang@igalia.org> on 2016-07-11
Reviewed by Brent Fulgham.
No new tests, already covered by existing tests.
- CMakeLists.txt: Add MathMLSpaceElement to the build system.
- WebCore.xcodeproj/project.pbxproj: Ditto.
- mathml/MathMLElement.cpp:
(WebCore::MathMLElement::cachedMathMLLength): Helper function to returned the cached parsed
value of a MathML length and parsing the corresponding attribute value if the cache is dirty.
- mathml/MathMLElement.h: Add a dirty boolean to MathML Length structure. Declare cachedMathMLLength.
- mathml/MathMLSpaceElement.cpp: New class for the <mspace> element.
(WebCore::MathMLSpaceElement::MathMLSpaceElement):
(WebCore::MathMLSpaceElement::create):
(WebCore::MathMLSpaceElement::parseAttribute): Make width, height, depth attributes dirty.
(WebCore::MathMLSpaceElement::createElementRenderer):
- mathml/MathMLSpaceElement.h: New class for the <mspace> element.
We define MathML lengths for width, height and depth attributes are on the class and expose
with the corresponding helper functions via memoization.
- mathml/MathMLTextElement.cpp: Remove handling of mspace from this class.
(WebCore::MathMLTextElement::createElementRenderer):
- mathml/mathtags.in: Change the interface for mspace to use the new class.
- rendering/mathml/RenderMathMLSpace.cpp: Do not store width/height/depth values on the
renderer and instead just use the corresponding MathML lengths on the element class.
(WebCore::RenderMathMLSpace::RenderMathMLSpace): Use MathMLSpaceElement and remove member
initialization.
(WebCore::RenderMathMLSpace::computePreferredLogicalWidths): Use spaceWidth().
(WebCore::RenderMathMLSpace::spaceWidth): Helper function to resolve the width attribute value.
(WebCore::RenderMathMLSpace::getSpaceHeightAndDepth): Ditto for height and depth.
(WebCore::RenderMathMLSpace::layoutBlock): Use the helper functions to get the mspace metrics.
(WebCore::RenderMathMLSpace::firstLineBaseline): Ditto.
(WebCore::RenderMathMLSpace::updateFromElement): Deleted.
(WebCore::RenderMathMLSpace::styleDidChange): Deleted.
- rendering/mathml/RenderMathMLSpace.h: Use MathMLSpaceElement, replace members with helper
functions and and make element() usable from a const instance.
- 10:06 PM Changeset in webkit [203107] by
-
- 7 edits3 adds in trunk
ECMAScript 2016: %TypedArray%.prototype.includes implementation
https://bugs.webkit.org/show_bug.cgi?id=159385
Patch by Caio Lima <Caio Lima> on 2016-07-11
Reviewed by Benjamin Poulain.
Source/JavaScriptCore:
This patch implements the ECMAScript 2016:
%TypedArray%.prototype.includes
following spec 22.2.3.14
https://tc39.github.io/ecma262/2016/#sec-%typedarray%.prototype.includes
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::genericTypedArrayViewProtoFuncIncludes):
- runtime/JSTypedArrayViewPrototype.cpp:
(JSC::typedArrayViewProtoFuncIncludes):
(JSC::JSTypedArrayViewPrototype::finishCreation):
LayoutTests:
This patch implements test case to ECMAScript 2016:
%TypedArray%.prototype.includes implementation
following spec 22.2.3.14
https://tc39.github.io/ecma262/2016/#sec-%typedarray%.prototype.includes
- js/regress/script-tests/typed-array-includes.js: Added.
(assertProperError):
(testIntTypedArray):
(testFloatTypedArray):
- js/typed-array-includes-expected.txt: Added.
- js/typed-array-includes.html: Added.
- 9:47 PM Changeset in webkit [203106] by
-
- 5 edits in trunk/Source/WebCore
Create a MathMLLength struct to handle the parsing of MathML length.
https://bugs.webkit.org/show_bug.cgi?id=156792
Patch by Frederic Wang <fwang@igalia.org> on 2016-07-11
Reviewed by Brent Fulgham.
We introduce a structure for MathML lengths that will be used in the future to store the
parsed values in the MathElement class. We also rewrite the parsing function for MathML
lengths in order to improve efficiency and code reuse. This function is moved into the
MathElement class and only the conversion to LayoutUnit remains in the renderer classes.
No new tests, already covered by existing tests.
- mathml/MathMLElement.cpp:
(WebCore::parseNamedSpace): Helper function to parse a named space.
(WebCore::MathMLElement::parseMathMLLength): Parsing function for MathML lengths.
- mathml/MathMLElement.h: Declare new function and structure to handle MathML lengths.
- rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::toUserUnits): Helper function to resolve a MathML length.
(WebCore::parseMathMLLength): Remove the old parsing code and just use MathMLElement::parseMathMLLength and toUserUnits instead.
(WebCore::parseMathMLNamedSpace): Deleted.
- rendering/mathml/RenderMathMLBlock.h: Remove unused function.
- 9:34 PM Changeset in webkit [203105] by
-
- 2 edits in trunk/LayoutTests
Disable some a failing test.
Unreviewed test gardening.
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-11
- imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-1.html:
- 9:28 PM Changeset in webkit [203104] by
-
- 9 edits13 adds in trunk
Add support for @href attribute in MathML
https://bugs.webkit.org/show_bug.cgi?id=85733
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-11
Reviewed by Brent Fulgham.
Source/WebCore:
We add support for the href attribute from MathML 3 but ignore the deprecated XLink version.
We also use the code from HTMLAnchorElement SVGAElement to make MathMLElement with a href
attribute behave as a link.
Finally, we adjust mathml.css based on rules from the html and svg user agent stylesheets.
Tests: mathml/mathml-in-html5/href-click-1.html
mathml/mathml-in-html5/href-click-2.html
mathml/presentation/href-enter.html
mathml/presentation/href-style.html
mathml/presentation/maction-toggle-href.html
mathml/presentation/semantics-href.html
- css/mathml.css:
(:any-link): Set color and mouse cursor of links.
(:any-link:active): Set color of active links.
(:focus): Set outline of focused links.
- mathml/MathMLElement.cpp:
(WebCore::MathMLElement::parseAttribute): Parse the href attribute.
(WebCore::MathMLElement::willRespondToMouseClickEvents): Based on HTMLAnchorElement/SVGAElement.
(WebCore::MathMLElement::defaultEventHandler): Based on HTMLAnchorElement/SVGAElement.
(WebCore::MathMLElement::canStartSelection): Based on HTMLAnchorElement/SVGAElement.
(WebCore::MathMLElement::isFocusable): Based on HTMLAnchorElement/SVGAElement.
(WebCore::MathMLElement::isKeyboardFocusable): Based on HTMLAnchorElement/SVGAElement.
(WebCore::MathMLElement::isMouseFocusable): Based on HTMLAnchorElement/SVGAElement.
(WebCore::MathMLElement::isURLAttribute): Based on HTMLAnchorElement/SVGAElement.
(WebCore::MathMLElement::supportsFocus): Based on HTMLAnchorElement/SVGAElement.
(WebCore::MathMLElement::tabIndex): Based on HTMLAnchorElement/SVGAElement.
- mathml/MathMLElement.h: Define new members.
- mathml/MathMLSelectElement.cpp:
(WebCore::MathMLSelectElement::willRespondToMouseClickEvents): We also verify whether
the parent class will respond.
- mathml/mathattrs.in: Add href attribute.
LayoutTests:
We import some tests from the MathML in HTML5 test suite to
test clicks on href attributes and write similar tests.
We also test tab/enter keys and user agent style with links.
- mathml/mathml-in-html5/href-click-1.html: Added. Verify mouse click on a MathML link.
- mathml/mathml-in-html5/href-click-1-expected.html: Added.
- mathml/mathml-in-html5/href-click-2.html: Added.
Verify mouse click on a descendant of a MathML link.
- mathml/mathml-in-html5/href-click-2-expected.html: Added.
- mathml/presentation/href-enter.html: Added.
Verify tab navigation and activing link with enter.
- mathml/presentation/href-enter-expected.html: Added.
- mathml/presentation/href-style.html: Added.
Verify default style of links and of focused links.
- mathml/presentation/href-style-expected.html: Added.
- mathml/presentation/maction-toggle-href.html: Added.
Verify conflicts between maction toggle and href link.
- mathml/presentation/maction-toggle-href-expected.html: Added.
- mathml/presentation/semantics-href.html: Added. Verify mouse click on a <semantics> link.
- mathml/presentation/semantics-href-expected.html: Added.
- platform/mac/TestExpectations: Disable MathML link tests that rely on keyboard events.
- platform/ios-simulator/TestExpectations: Ditto.
- 9:03 PM Changeset in webkit [203103] by
-
- 2 edits2 adds2 deletes in trunk/LayoutTests
Replace reftest mathml/presentation/fractions-positions.html with script tests
https://bugs.webkit.org/show_bug.cgi?id=159558
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-11
Reviewed by Martin Robinson.
- TestExpectations: Remove fractions-positions.html
- imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-1-expected.txt: Added.
- imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-1.html: Added.
- mathml/presentation/fractions-positions-expected.html: Removed.
- mathml/presentation/fractions-positions.html: Removed.
- 8:30 PM Changeset in webkit [203102] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: ProfileView sometimes shows Top Functions data despite Top Functions being disabled
https://bugs.webkit.org/show_bug.cgi?id=159660
<rdar://problem/27291647>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-07-11
Reviewed by Timothy Hatcher.
- UserInterface/Views/ScriptProfileTimelineView.js:
(WebInspector.ScriptProfileTimelineView.prototype._profileOrientationButtonClicked):
Pass the value of the setting, not the setting itself.
- 5:57 PM Changeset in webkit [203101] by
-
- 7 edits in trunk
[JSC] Array.from() and Array.of() try to build objects even if "this" is not a constructor
https://bugs.webkit.org/show_bug.cgi?id=159604
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
The spec says IsConstructor(), we were just checking if "this"
is any function.
- builtins/ArrayConstructor.js:
(of):
(from):
LayoutTests:
- js/array-from-expected.txt:
- js/array-of-expected.txt:
- js/script-tests/array-from.js:
- js/script-tests/array-of.js:
- 5:16 PM Changeset in webkit [203100] by
-
- 4 edits in trunk/Source/bmalloc
Crash due to abort() calling libc++.1.dylib: std::1::thread::detach()
https://bugs.webkit.org/show_bug.cgi?id=159655
Reviewed by Sam Weinig.
It's not entirely clear what was happening in these crashes, but our
use of detach() was 100% forward-looking, so we can just remove it for
now.
This patch removes the ability for the scavenger owner to die before
the scavenger thread dies (which was unused) and also removes the
ability for the scavenger thread to exit (which was used, but we
messed up and did thread joining lazily, so we never got any benefit
from thread exit.)
We can add these features back when we need them, and make them work then.
- bmalloc/AsyncTask.h:
(bmalloc::Function>::AsyncTask): We start out in the running state now
because we know that starting our thread will run it.
(bmalloc::Function>::~AsyncTask): We don't support destruction anymore.
(bmalloc::Function>::runSlowCase): I removed the Exited state.
(bmalloc::Function>::threadRunLoop): I removed the Exited and
ExitRequested states.
- bmalloc/Heap.h:
- bmalloc/VMHeap.h:
- 4:53 PM Changeset in webkit [203099] by
-
- 3 edits in trunk/Source/WebCore
Speech Synthesis: getting list of voices no longer works
<rdar://problem/22954120>
https://bugs.webkit.org/show_bug.cgi?id=159656
Reviewed by Tim Horton.
- platform/PlatformSpeechSynthesizer.h:
- platform/mac/PlatformSpeechSynthesizerMac.mm:
Default initialize m_voiceListIsInitialized to false so it is
initialized on both Mac and iOS. Remove the explicit initialization
from the Mac.
- 4:44 PM Changeset in webkit [203098] by
-
- 2 edits in trunk/Source/WebCore
<rdar://problem/27285599> REGRESSION: Assertion under CertificateInfo::trust() every time I focus a text field
Reviewed by Sam Weinig.
The assertion added to CertificateInfo::trust() in r203040 is wrong, and is triggered when
focusing a form field via calls to -[WKWebProcessPlugInFrame _serverTrust], so remove it.
- platform/network/cf/CertificateInfo.h:
(WebCore::CertificateInfo::trust):
- 4:44 PM Changeset in webkit [203097] by
-
- 3 edits2 adds in trunk
Deleting in a text input inside an iframe causes the page to scroll incorrectly
https://bugs.webkit.org/show_bug.cgi?id=159654
rdar://problem/26805722
Reviewed by Zalan Bujtas.
Source/WebCore:
Editor::revealSelectionAfterEditingOperation() needs the same iOS-specific reveal
behavior as was added for typing in r202295.
Test: fast/forms/ios/delete-in-input-in-iframe.html
- editing/Editor.cpp:
(WebCore::Editor::revealSelectionAfterEditingOperation):
LayoutTests:
- fast/forms/ios/delete-in-input-in-iframe-expected.txt: Added.
- fast/forms/ios/delete-in-input-in-iframe.html: Added.
- 4:39 PM Changeset in webkit [203096] by
-
- 4 edits1 add in trunk/Source/JavaScriptCore
defineProperty on a index of a TypedArray should throw if configurable
https://bugs.webkit.org/show_bug.cgi?id=159653
Reviewed by Saam Barati.
When I fixed this before I misread the spec and thought it said we
should throw if the descriptor said the proprety is not
configurable. This is the opposite. We should throw if the
descriptor says the property is configurable.
- runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView<Adaptor>::defineOwnProperty):
- tests/stress/typedarray-access-monomorphic-neutered.js:
- tests/stress/typedarray-access-neutered.js:
- tests/stress/typedarray-configure-index.js: Added.
(assert):
(assertThrows):
(makeDescriptor):
(test):
- 4:34 PM Changeset in webkit [203095] by
-
- 2 edits in trunk/Tools
SVN.create_patch should find svn-create-patch relative to the WebKit root.
https://bugs.webkit.org/show_bug.cgi?id=159652
Reviewed by Daniel Bates.
- Scripts/webkitpy/common/checkout/scm/svn.py:
(SVN.create_patch): Use WebKitFinder to find the WebKit checkout so that we can find svn-create-patch relative to it.
- 4:29 PM Changeset in webkit [203094] by
-
- 2 edits in trunk/Source/WebKit2
[WK2][iOS] Intermittent crash in [UIApplication beginBackgroundTaskWithName] expiration handler
https://bugs.webkit.org/show_bug.cgi?id=159648
<rdar://problem/27219361>
Reviewed by Anders Carlsson.
We see an intermittent crash in [UIApplication beginBackgroundTaskWithName] expiration handler.
From the traces, we noticed the expiration handler can get called on a non-main thread under
certain conditions, which our code is designed to deal with.
In particular, we get called on a non-main thread when UIKit fails to acquire the assertion.
Update our expiration handler to always notify the clients on the main thread.
- UIProcess/ios/ProcessAssertionIOS.mm:
(-[WKProcessAssertionBackgroundTaskManager _updateBackgroundTask]):
- 4:25 PM Changeset in webkit [203093] by
-
- 2 edits in trunk/Source/WebCore
Fix indentation in FrameLoaderTypes.h
https://bugs.webkit.org/show_bug.cgi?id=159650
Reviewed by Brady Eidson.
- loader/FrameLoaderTypes.h:
- 4:23 PM Changeset in webkit [203092] by
-
- 9 edits2 adds in trunk
Honor the second argument to FontFaceSet.load and FontFaceSet.check
https://bugs.webkit.org/show_bug.cgi?id=159607
<rdar://problem/27284902>
Reviewed by Zalan Bujtas.
Source/WebCore:
This second argument is used in conjunction with the unicode-range CSS property, so that
loading from a FontFaceSet only loads the fonts which actually match the characters given.
Previously, we hadn't implemented proper support for this unicode-range property, but now
that we have implemented it, we should honor this second argument.
Test: fast/text/unicode-range-javascript.html
- css/CSSFontFace.cpp:
(WebCore::CSSFontFace::rangesMatchCodePoint):
- css/CSSFontFace.h:
- css/CSSFontFaceSet.cpp:
(WebCore::codePointsFromString):
(WebCore::CSSFontFaceSet::matchingFaces):
LayoutTests:
- fast/text/font-face-set-document-expected.txt:
- fast/text/font-face-set-document.html:
- fast/text/font-face-set-javascript-expected.txt:
- fast/text/font-face-set-javascript.html:
- fast/text/unicode-range-javascript-expected.txt: Added.
- fast/text/unicode-range-javascript.html: Added.
- 4:18 PM Changeset in webkit [203091] by
-
- 3 edits in trunk/Source/WebCore
Unable to edit fields or drag to select text in Dashboard widgets.
https://bugs.webkit.org/show_bug.cgi?id=159647
<rdar://problem/26941698>
Reviewed by Brent Fulgham.
RenderObject::computeAbsoluteRepaintRect's first paramenter is no longer in/out. Use the return
value to set the clip on the dashboard region.
Not testable.
- rendering/RenderInline.cpp:
(WebCore::RenderInline::addAnnotatedRegions):
- rendering/RenderObject.cpp:
(WebCore::RenderObject::addAnnotatedRegions):
- 4:05 PM Changeset in webkit [203090] by
-
- 2 edits in trunk/Source/WebKit/win
Build fix.
Unreviewed.
- WebDropSource.cpp:
(generateMouseEvent):
- 3:51 PM Changeset in webkit [203089] by
-
- 2 edits in trunk/Source/WebKit2
Tried to fix the macOS build.
- UIProcess/API/Cocoa/WKNavigationAction.mm:
(-[WKNavigationAction description]):
- 3:35 PM Changeset in webkit [203088] by
-
- 2 edits in trunk/Source/WebCore
Potential null dereference under DocumentLoader::mainReceivedError()
https://bugs.webkit.org/show_bug.cgi?id=159640
<rdar://problem/27283372>
Reviewed by Brady Eidson.
Move frameLoader() null check a bit earlier in DocumentLoader::mainReceivedError()
as it was dereferenced before the check.
- loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::mainReceivedError):
- 3:08 PM Changeset in webkit [203087] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
some paths in Array.prototype.splice don't account for the array not having certain indexed properties
https://bugs.webkit.org/show_bug.cgi?id=159641
<rdar://problem/27171999>
Reviewed by Filip Pizlo and Keith Miller.
Array.prototype.splice was incorrectly putting properties on
the result array even if the |this| array didn't have those
properties. This is not the behavior of the spec. However, this
could also cause a crash because we can construct a program where
we would putByIndex on a typed array where the value we are
putting is JSValue(). This is bad because the typed array will
try to convert JSValue() into an integer.
- runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncSplice):
- tests/stress/array-prototype-splice-making-typed-array.js: Added.
(assert):
(test):
- 3:02 PM Changeset in webkit [203086] by
-
- 3 edits in trunk/Source/WebKit2
Cleaned up API availability.
Requested by Tim Horton.
- UIProcess/API/Cocoa/WKNavigationAction.mm:
- UIProcess/API/Cocoa/WKNavigationActionPrivate.h:
- 2:34 PM Changeset in webkit [203085] by
-
- 38 edits in trunk/Source
Add synthetic click origin to WKNavigationAction.
https://bugs.webkit.org/show_bug.cgi?id=159584
rdar://problem/25610422
Reviewed by Tim Horton.
Source/WebCore:
Adding plumbing code to pass synthetic click type
through WebCore.
- dom/Element.cpp:
(WebCore::Element::dispatchMouseEvent):
(WebCore::Element::dispatchMouseForceWillBegin):
- dom/MouseEvent.cpp:
(WebCore::MouseEvent::create):
(WebCore::MouseEvent::MouseEvent):
(WebCore::MouseEvent::initMouseEvent):
(WebCore::MouseEvent::cloneFor):
- dom/MouseEvent.h:
(WebCore::MouseEvent::createForBindings):
(WebCore::MouseEvent::button):
(WebCore::MouseEvent::syntheticClickType):
(WebCore::MouseEvent::buttonDown):
(WebCore::MouseEvent::setRelatedTarget):
- dom/SimulatedClick.cpp:
- dom/WheelEvent.cpp:
(WebCore::WheelEvent::WheelEvent):
- page/ContextMenuController.cpp:
(WebCore::ContextMenuController::showContextMenuAt):
- page/DragController.cpp:
(WebCore::createMouseEvent):
(WebCore::DragController::DragController):
- page/EventHandler.cpp:
(WebCore::EventHandler::dispatchDragEvent):
(WebCore::EventHandler::sendContextMenuEventForKey):
(WebCore::EventHandler::fakeMouseMoveEventTimerFired):
- platform/PlatformMouseEvent.h:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
(WebCore::PlatformMouseEvent::clickCount):
(WebCore::PlatformMouseEvent::modifierFlags):
(WebCore::PlatformMouseEvent::force):
(WebCore::PlatformMouseEvent::syntheticClickType):
- replay/SerializationMethods.cpp:
(JSC::EncodingTraits<PlatformMouseEvent>::decodeValue):
Source/WebKit/ios:
- WebView/WebPDFViewPlaceholder.mm:
(-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]):
Source/WebKit/mac:
- WebView/WebFrame.mm:
(-[WebFrame _dragSourceEndedAt:operation:]):
- WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):
Source/WebKit/win:
- WebDropSource.cpp:
(generateMouseEvent):
Source/WebKit2:
Adds a private property to WKNavigationAction to retrieve
the origin of the synthetic click.
- Shared/NavigationActionData.cpp:
(WebKit::NavigationActionData::encode):
(WebKit::NavigationActionData::decode):
- Shared/NavigationActionData.h:
- Shared/WebEvent.h:
(WebKit::WebMouseEvent::button):
(WebKit::WebMouseEvent::menuTypeForEvent):
(WebKit::WebMouseEvent::force):
(WebKit::WebMouseEvent::syntheticClickType):
- Shared/WebMouseEvent.cpp:
(WebKit::WebMouseEvent::WebMouseEvent):
(WebKit::WebMouseEvent::encode):
(WebKit::WebMouseEvent::decode):
- Shared/mac/WebEventFactory.mm:
(WebKit::WebEventFactory::createWebMouseEvent):
(WebKit::WebEventFactory::createWebWheelEvent):
- UIProcess/API/APINavigationAction.h:
- UIProcess/API/Cocoa/WKNavigationAction.mm:
(toWKNavigationType):
(toWKSyntheticClickType):
(-[WKNavigationAction description]):
(-[WKNavigationAction sourceFrame]):
(-[WKNavigationAction request]):
(-[WKNavigationAction _syntheticClickType]):
(-[WKNavigationAction modifierFlags]):
- UIProcess/API/Cocoa/WKNavigationActionPrivate.h:
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _twoFingerSingleTapGestureRecognized:]):
(-[WKContentView _longPressRecognized:]):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::getSelectionContext):
(WebKit::WebPageProxy::handleTwoFingerTapAtPoint):
(WebKit::WebPageProxy::selectWithTwoTouches):
- WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
(WebKit::mouseButtonForMouseEvent):
(WebKit::syntheticClickTypeForMouseEvent):
(WebKit::InjectedBundleNavigationAction::modifiersForNavigationAction):
(WebKit::InjectedBundleNavigationAction::mouseButtonForNavigationAction):
(WebKit::InjectedBundleNavigationAction::syntheticClickTypeForNavigationAction):
(WebKit::InjectedBundleNavigationAction::create):
(WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):
- WebProcess/InjectedBundle/InjectedBundleNavigationAction.h:
(WebKit::InjectedBundleNavigationAction::navigationType):
(WebKit::InjectedBundleNavigationAction::modifiers):
(WebKit::InjectedBundleNavigationAction::mouseButton):
(WebKit::InjectedBundleNavigationAction::hitTestResult):
(WebKit::InjectedBundleNavigationAction::formElement):
(WebKit::InjectedBundleNavigationAction::syntheticClickType):
(WebKit::InjectedBundleNavigationAction::shouldOpenExternalURLs):
(WebKit::InjectedBundleNavigationAction::shouldTryAppLinks):
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createWindow):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::navigateToPDFLinkWithSimulatedClick):
(WebKit::WebPage::contextMenuAtPointInWindow):
(WebKit::WebPage::dragEnded):
(WebKit::WebPage::simulateMouseDown):
(WebKit::WebPage::simulateMouseUp):
(WebKit::WebPage::simulateMouseMotion):
(WebKit::WebPage::setCompositionForTesting):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::handleSyntheticClick):
(WebKit::WebPage::completePendingSyntheticClickForContentChangeObserver):
(WebKit::WebPage::completeSyntheticClick):
(WebKit::WebPage::sendTapHighlightForNodeIfNecessary):
(WebKit::WebPage::handleTwoFingerTapAtPoint):
(WebKit::WebPage::potentialTapAtPosition):
(WebKit::WebPage::inspectorNodeSearchMovedToPosition):
- 2:10 PM Changeset in webkit [203084] by
-
- 15 edits in trunk/Source
Able to open multiple payment sheets in Safari at the same time
https://bugs.webkit.org/show_bug.cgi?id=159637
rdar://problem/26411339
Reviewed by Beth Dakin.
Source/WebCore:
Fold PaymentCoordinator::showPaymentUI into PaymentCoordinator::beginPaymentSession and
change the return value of the latter member function to a bool to indicate whether the
payment UI could be shown (or whether it's already showing).
- Modules/applepay/ApplePaySession.cpp:
(WebCore::ApplePaySession::begin):
Check the return value of beginPaymentSession.
- Modules/applepay/PaymentCoordinator.cpp:
(WebCore::PaymentCoordinator::beginPaymentSession):
This now takes a payment session and returns a boolean.
(WebCore::PaymentCoordinator::showPaymentUI): Deleted.
- Modules/applepay/PaymentCoordinator.h:
- Modules/applepay/PaymentCoordinatorClient.h:
- loader/EmptyClients.cpp:
The showPaymentUI client function now returns a bool.
Source/WebKit/mac:
Update for WebCore changes.
- WebCoreSupport/WebPaymentCoordinatorClient.h:
- WebCoreSupport/WebPaymentCoordinatorClient.mm:
(WebPaymentCoordinatorClient::showPaymentUI):
Source/WebKit2:
- UIProcess/ApplePay/WebPaymentCoordinatorProxy.cpp:
(WebKit::WebPaymentCoordinatorProxy::showPaymentUI):
Add result out parameter. Set the result to false if isShowingPaymentUI is true, otherwise set isShowingPaymentUI to true.
(WebKit::WebPaymentCoordinatorProxy::didReachFinalState):
Set isShowingPaymentUI to false.
- UIProcess/ApplePay/WebPaymentCoordinatorProxy.h:
- UIProcess/ApplePay/WebPaymentCoordinatorProxy.messages.in:
- WebProcess/ApplePay/WebPaymentCoordinator.cpp:
(WebKit::WebPaymentCoordinator::showPaymentUI):
- WebProcess/ApplePay/WebPaymentCoordinator.h:
The showPaymentUI message and client functions now return booleans.
- 2:04 PM Changeset in webkit [203083] by
-
- 3 edits2 adds in trunk
AX: Crash when backspacing in number field with spin button
https://bugs.webkit.org/show_bug.cgi?id=157830
Reviewed by Chris Fleizach.
Source/WebCore:
It's possible to access spin button parts after they've been detached from their parent, which can lead to crashes.
This adds in a number of redundant safeguards to prevent this and other cases in the future.
Test: accessibility/spinbutton-crash.html
- accessibility/AccessibilitySpinButton.cpp:
(WebCore::AccessibilitySpinButton::incrementButton):
(WebCore::AccessibilitySpinButton::decrementButton):
(WebCore::AccessibilitySpinButton::addChildren):
LayoutTests:
- accessibility/spinbutton-crash-expected.txt: Added.
- accessibility/spinbutton-crash.html: Added.
- 1:53 PM Changeset in webkit [203082] by
-
- 2 edits in trunk/Source/WebCore
Possible null dereference under EventHandler::dispatchMouseEvent()
https://bugs.webkit.org/show_bug.cgi?id=159632
<rdar://problem/27247619>
Reviewed by Andreas Kling.
FrameSelection::toNormalizedRange() can return null even when FrameSelection::isRange()
returns true so add a null check.
- page/EventHandler.cpp:
(WebCore::EventHandler::dispatchMouseEvent):
- 1:48 PM Changeset in webkit [203081] by
-
- 33 edits3 moves in trunk/Source/JavaScriptCore
Refactor JSStack to only be the stack data structure for the C Loop.
https://bugs.webkit.org/show_bug.cgi?id=159545
Reviewed by Geoffrey Garen.
Changes made:
- Renamed JSStack to CLoopStack.
- Made all of CLoopStack code to conditional on #if !ENABLE(JIT) i.e. they will only be in effect for the C Loop build.
- Changed clients of JSStack to use new equivalent VM APIs:
- JSStack::ensureCapacityFor() => VM::ensureStackCapacityFor()
- JSStack::committedByteCount() => VM::committedStackByteCount()
- Made VM::updateReservedZoneSize() call CLoopStack::setReservedZoneSize() instead of calling it from all the clients of VM::updateReservedZoneSize().
- Removed all unnecessary references to JSStack.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- assembler/MaxFrameExtentForSlowPathCall.h:
- bytecode/BytecodeConventions.h:
- dfg/DFGGraph.h:
- dfg/DFGOSREntry.cpp:
(JSC::DFG::prepareOSREntry):
- ftl/FTLOSREntry.cpp:
(JSC::FTL::prepareOSREntry):
- heap/Heap.cpp:
(JSC::Heap::finalizeUnconditionalFinalizers):
(JSC::Heap::willStartIterating):
(JSC::Heap::gatherJSStackRoots):
(JSC::Heap::stack): Deleted.
- heap/Heap.h:
- interpreter/CLoopStack.cpp: Copied from Source/JavaScriptCore/interpreter/JSStack.cpp.
(JSC::commitSize):
(JSC::CLoopStack::CLoopStack):
(JSC::CLoopStack::~CLoopStack):
(JSC::CLoopStack::grow):
(JSC::CLoopStack::gatherConservativeRoots):
(JSC::CLoopStack::sanitizeStack):
(JSC::CLoopStack::releaseExcessCapacity):
(JSC::CLoopStack::addToCommittedByteCount):
(JSC::CLoopStack::setReservedZoneSize):
(JSC::CLoopStack::committedByteCount):
(JSC::JSStack::JSStack): Deleted.
(JSC::JSStack::~JSStack): Deleted.
(JSC::JSStack::growSlowCase): Deleted.
(JSC::JSStack::gatherConservativeRoots): Deleted.
(JSC::JSStack::sanitizeStack): Deleted.
(JSC::JSStack::releaseExcessCapacity): Deleted.
(JSC::JSStack::addToCommittedByteCount): Deleted.
(JSC::JSStack::setReservedZoneSize): Deleted.
(JSC::JSStack::lowAddress): Deleted.
(JSC::JSStack::highAddress): Deleted.
(JSC::JSStack::committedByteCount): Deleted.
- interpreter/CLoopStack.h: Copied from Source/JavaScriptCore/interpreter/JSStack.h.
(JSC::CLoopStack::containsAddress):
(JSC::CLoopStack::lowAddress):
(JSC::CLoopStack::highAddress):
(JSC::CLoopStack::reservationTop):
(JSC::JSStack::containsAddress): Deleted.
(JSC::JSStack::lowAddress): Deleted.
(JSC::JSStack::highAddress): Deleted.
(JSC::JSStack::reservationTop): Deleted.
- interpreter/CLoopStackInlines.h: Copied from Source/JavaScriptCore/interpreter/JSStackInlines.h.
(JSC::CLoopStack::ensureCapacityFor):
(JSC::CLoopStack::topOfFrameFor):
(JSC::CLoopStack::topOfStack):
(JSC::CLoopStack::shrink):
(JSC::CLoopStack::setCLoopStackLimit):
(JSC::JSStack::ensureCapacityFor): Deleted.
(JSC::JSStack::topOfFrameFor): Deleted.
(JSC::JSStack::topOfStack): Deleted.
(JSC::JSStack::shrink): Deleted.
(JSC::JSStack::grow): Deleted.
(JSC::JSStack::setCLoopStackLimit): Deleted.
- interpreter/CallFrame.cpp:
(JSC::CallFrame::unsafeCallSiteIndex):
(JSC::CallFrame::currentVPC):
(JSC::CallFrame::stack): Deleted.
- interpreter/CallFrame.h:
(JSC::ExecState::callerFrameAndPC):
(JSC::ExecState::unsafeCallerFrameAndPC):
- interpreter/Interpreter.cpp:
(JSC::sizeOfVarargs):
(JSC::sizeFrameForForwardArguments):
(JSC::sizeFrameForVarargs):
(JSC::Interpreter::Interpreter):
- interpreter/Interpreter.h:
(JSC::Interpreter::cloopStack):
(JSC::Interpreter::getOpcode):
(JSC::Interpreter::isCallBytecode):
(JSC::Interpreter::stack): Deleted.
- interpreter/JSStack.cpp: Removed.
- interpreter/JSStack.h: Removed.
- interpreter/JSStackInlines.h: Removed.
- interpreter/StackVisitor.cpp:
(JSC::StackVisitor::Frame::dump):
- jit/JIT.h:
- jit/JITOperations.cpp:
- jit/JSInterfaceJIT.h:
- jit/SpecializedThunkJIT.h:
- jit/ThunkGenerators.cpp:
- llint/LLIntOffsetsExtractor.cpp:
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::llint_stack_check_at_vm_entry):
- llint/LLIntThunks.cpp:
- llint/LowLevelInterpreter.cpp:
(JSC::CLoop::execute):
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::arityCheckFor):
- runtime/ErrorHandlingScope.cpp:
(JSC::ErrorHandlingScope::ErrorHandlingScope):
(JSC::ErrorHandlingScope::~ErrorHandlingScope):
- runtime/JSGlobalObject.h:
- runtime/MemoryStatistics.cpp:
(JSC::globalMemoryStatistics):
- runtime/StackAlignment.h:
- runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::updateReservedZoneSize):
(JSC::sanitizeStackForVM):
(JSC::VM::committedStackByteCount):
- runtime/VM.h:
(JSC::VM::reservedZoneSize):
(JSC::VM::osStackLimitWithReserve):
(JSC::VM::addressOfOSStackLimitWithReserve):
- runtime/VMInlines.h:
(JSC::VM::ensureStackCapacityFor):
(JSC::VM::shouldTriggerTermination):
- 1:22 PM Changeset in webkit [203080] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Transition and Animation sections in Visual Styles sidebar should have more spacing to their left
https://bugs.webkit.org/show_bug.cgi?id=159633
<rdar://problem/27281805>
Reviewed by Timothy Hatcher.
- UserInterface/Views/VisualStyleDetailsPanel.css:
(.visual-style-property-container.animation):
- 1:11 PM Changeset in webkit [203079] by
-
- 9 edits in trunk/Source
Unreviewed, rolling out r203064.
https://bugs.webkit.org/show_bug.cgi?id=159642
This change causes LayoutTest crashes on WK1 ASan (Requested
by ryanhaddad on #webkit).
Reverted changeset:
"Use refs for ResourceLoaders"
https://bugs.webkit.org/show_bug.cgi?id=159592
http://trac.webkit.org/changeset/203064
Patch by Commit Queue <commit-queue@webkit.org> on 2016-07-11
- 12:50 PM Changeset in webkit [203078] by
-
- 7 edits in trunk
Implement grapheme cluster iterator on StringView
https://bugs.webkit.org/show_bug.cgi?id=159598
Reviewed by Anders Carlsson.
This is in preparation for honoring the second argument to FontFaceSet.load().
Source/WTF:
- wtf/text/StringView.cpp:
(WTF::StringView::GraphemeClusters::Iterator::Impl::Impl):
(WTF::StringView::GraphemeClusters::Iterator::Impl::operator++):
(WTF::StringView::GraphemeClusters::Iterator::Impl::operator*):
(WTF::StringView::GraphemeClusters::Iterator::Impl::operator==):
(WTF::StringView::GraphemeClusters::Iterator::Impl::computeIndexEnd):
(WTF::StringView::GraphemeClusters::Iterator::Iterator):
(WTF::StringView::GraphemeClusters::Iterator::~Iterator):
(WTF::StringView::GraphemeClusters::Iterator::operator*):
(WTF::StringView::GraphemeClusters::Iterator::operator==):
(WTF::StringView::GraphemeClusters::Iterator::operator!=):
- wtf/text/StringView.h:
(WTF::StringView::GraphemeClusters::GraphemeClusters):
- text/TextBreakIterator.cpp:
(WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator):
- text/TextBreakIterator.h:
Tools:
- TestWebKitAPI/Tests/WTF/StringView.cpp:
(TestWebKitAPI::compareLoopIterations):
(TestWebKitAPI::TEST):
- 12:43 PM Changeset in webkit [203077] by
-
- 3 edits2 adds in trunk
[WebGL] Check for existing buffer exists for enabled vertex array attributes before permitting glDrawArrays to execute
https://bugs.webkit.org/show_bug.cgi?id=159590
<rdar://problem/26865535>
Reviewed by Dean Jackson.
Source/WebCore:
Test: fast/canvas/webgl/webgl-drawarrays-crash-2.html
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::validateVertexAttributes): If enabled array buffer attributes exist,
ensure that an array buffer has been bound.
LayoutTests:
- fast/canvas/webgl/webgl-drawarrays-crash-2-expected.txt: Added.
- fast/canvas/webgl/webgl-drawarrays-crash-2.html: Added.
- 12:13 PM Changeset in webkit [203076] by
-
- 10 edits3 adds in trunk
STP TypedArray.subarray 5x slowdown compared to 9.1
https://bugs.webkit.org/show_bug.cgi?id=156404
Source/JavaScriptCore:
<rdar://problem/26493032>
Reviewed by Geoffrey Garen.
This patch moves the species constructor work for
%TypedArray%.prototype.subarray to a js wrapper. By moving the
species constructor work to JS we are able to completely optimize
it out in DFG. The actual work of creating a TypedArray is still
done in C++ since we are able to avoid calling into the
constructor, which is expensive. This patch also changes the error
message when a %TypedArray%.prototype function is passed a non-typed
array this value. Finally, we used to check that the this value
had not been detached, however, this behavior was incorrect.
- builtins/BuiltinNames.h:
- builtins/TypedArrayPrototype.js:
(globalPrivate.typedArraySpeciesConstructor):
(subarray):
- runtime/ConstructData.cpp:
(JSC::construct):
- runtime/ConstructData.h:
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::genericTypedArrayViewPrivateFuncSubarrayCreate):
(JSC::genericTypedArrayViewProtoFuncSubarray): Deleted.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/JSTypedArrayViewPrototype.cpp:
(JSC::typedArrayViewPrivateFuncLength):
(JSC::typedArrayViewPrivateFuncSubarrayCreate):
(JSC::JSTypedArrayViewPrototype::finishCreation):
(JSC::typedArrayViewProtoFuncSubarray): Deleted.
- runtime/JSTypedArrayViewPrototype.h:
LayoutTests:
Reviewed by Geoffrey Garen.
Add new micro-benchmark for testing subarray performance with small subarray sizes.
- js/regress/script-tests/typed-array-subarray.js: Added.
(createManySubs):
(go):
- js/regress/typed-array-subarray-expected.txt: Added.
- js/regress/typed-array-subarray.html: Added.
- 12:08 PM Changeset in webkit [203075] by
-
- 33 edits in trunk
AX: WKWebView should have API to prevent pinch-to-zoom always being allowed
https://bugs.webkit.org/show_bug.cgi?id=158364
Reviewed by Anders Carlsson.
Source/WebCore:
Removed the internals settings for viewport force always user scalable.
Changes are covered in modified tests.
- testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::Internals):
(WebCore::Internals::composedTreeAsText):
(WebCore::Internals::setLinkPreloadSupport):
(WebCore::Internals::setViewportForceAlwaysUserScalable): Deleted.
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit2:
Added a property in WKWebViewConfiguration so that developers can toggle the ignoring
viewport scale limits setting.
Changes are covered in modified tests.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- UIProcess/API/C/WKPage.cpp:
(WKPageSetResourceCachingDisabled):
(WKPageSetIgnoresViewportScaleLimits):
- UIProcess/API/C/WKPagePrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(shouldAllowPictureInPictureMediaPlayback):
(-[WKWebView _initializeWithConfiguration:]):
(-[WKWebView _navigationGestureDidEnd]):
(forceAlwaysUserScalableChangedCallback): Deleted.
(-[WKWebView _updateForceAlwaysUserScalable]): Deleted.
- UIProcess/API/Cocoa/WKWebViewConfiguration.h:
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration encodeWithCoder:]):
(-[WKWebViewConfiguration initWithCoder:]):
(-[WKWebViewConfiguration copyWithZone:]):
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::setViewportConfigurationMinimumLayoutSize):
(WebKit::WebPageProxy::setForceAlwaysUserScalable):
(WebKit::WebPageProxy::setMaximumUnobscuredSize):
(WebKit::WebPageProxy::updateForceAlwaysUserScalable): Deleted.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::disableInspectorNodeSearch):
(WebKit::WebPage::setForceAlwaysUserScalable):
(WebKit::innerFrameQuad):
(WebKit::WebPage::updateForceAlwaysUserScalable): Deleted.
Tools:
Added a function in TestRunner so that we can toggle the ignoring viewport
scale limits setting. Also added a test option for that in order to change the
configuration of the webview in test.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setNavigationGesturesEnabled):
(WTR::TestRunner::setIgnoresViewportScaleLimits):
(WTR::nextUIScriptCallbackID):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
(WTR::TestRunner::shouldDecideNavigationPolicyAfterDelay):
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetStateToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
(WTR::TestController::setNavigationGesturesEnabled):
(WTR::TestController::setIgnoresViewportScaleLimits):
(WTR::TestController::platformWillRunTest):
- WebKitTestRunner/TestController.h:
(WTR::TestController::setShouldDecideNavigationPolicyAfterDelay):
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
- WebKitTestRunner/TestOptions.h:
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::platformCreateWebView):
LayoutTests:
- fast/viewport/ios/force-always-user-scalable.html:
- fast/viewport/ios/user-scalable-does-not-scale-for-keyboard-focus-with-author-defined-scale.html:
- fast/viewport/ios/user-scalable-scales-for-keyboard-focus-with-no-author-defined-scale.html:
- 11:51 AM MathML/Early_2016_Refactoring edited by
- (diff)
- 11:46 AM Changeset in webkit [203074] by
-
- 14 edits22 adds in trunk
Use parameters from the OpenType MATH table for <munderover>
https://bugs.webkit.org/show_bug.cgi?id=155756
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-11
Reviewed by Brent Fulgham.
Source/WebCore:
We follow the description from the MathML in HTML5 implementation
to improve the layout of <munderover> using some constants from the MATH table.
Tests: imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-1.html
imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-2.html
imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-3.html
imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-4.html
mathml/presentation/attributes-accent-accentunder-dynamic.html
- mathml/mathattrs.in: Add accentunder attribute.
- rendering/mathml/MathMLOperatorDictionary.h: Remove FIXME comment.
- rendering/mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::hasAccent): Helper function to determine whether
the over/under script should be treated as an accent.
(WebCore::RenderMathMLUnderOver::getVerticalParameters): Helper function to read
some vertical parameters from the MATH table.
(WebCore::RenderMathMLUnderOver::layoutBlock): Take into account the new vertical
parameters for the layout of <munderover>.
- rendering/mathml/RenderMathMLUnderOver.h: Define new helper functions.
LayoutTests:
Import some tests from the MathML in HTML5 test suite to verify
the layout of the <munderover> element. We also write a test to
verify dynamic change of accent/accentunder attributes and adjust
other tests.
- imported/mathml-in-html5/fonts/math/limits-lowerlimitbaselinedropmin3000.woff: Added.
- imported/mathml-in-html5/fonts/math/limits-lowerlimitgapmin11000.woff: Added.
- imported/mathml-in-html5/fonts/math/limits-upperlimitbaselinerisemin5000.woff: Added.
- imported/mathml-in-html5/fonts/math/limits-upperlimitgapmin7000.woff: Added.
- imported/mathml-in-html5/fonts/math/stretchstack-bottomshiftdown3000.woff: Added.
- imported/mathml-in-html5/fonts/math/stretchstack-gapabovemin7000.woff: Added.
- imported/mathml-in-html5/fonts/math/stretchstack-gapbelowmin11000.woff: Added.
- imported/mathml-in-html5/fonts/math/stretchstack-topshiftup5000.woff: Added.
- imported/mathml-in-html5/fonts/math/underover-accentbaseheight4000-overbarextraascender3000.woff: Added.
- imported/mathml-in-html5/fonts/math/underover-accentbaseheight4000-overbarverticalgap11000.woff: Added.
- imported/mathml-in-html5/fonts/math/underover-accentbaseheight4000-underbarextradescender5000.woff: Added.
- imported/mathml-in-html5/fonts/math/underover-accentbaseheight4000-underbarverticalgap7000.woff: Added.
- imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-1-expected.txt: Added.
- imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-1.html: Added.
- imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-2-expected.txt: Added.
- imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-2.html: Added.
- imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-3-expected.txt: Added.
- imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-3.html: Added.
- imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-4-expected.txt: Added.
- imported/mathml-in-html5/mathml/presentation-markup/scripts/underover-parameters-4.html: Added.
- mathml/presentation/attributes-accent-accentunder-dynamic.html: Added.
Test dynamic changes of accent and accentunder.
- mathml/presentation/attributes-accent-accentunder-dynamic-expected.html: Added.
- mathml/presentation/scripts-underover.html: Remove one of the test since munderover
with an empty script is no longer equivalent to munder or mover.
- mathml/presentation/scripts-underover-expected.html: Ditto.
- platform/gtk/mathml/opentype/horizontal-expected.png: Updated due to change in
vertical metrics of scripts.
- platform/gtk/mathml/opentype/horizontal-expected.txt: Ditto.
- platform/gtk/mathml/opentype/horizontal-munderover-expected.png: Ditto.
- platform/gtk/mathml/opentype/horizontal-munderover-expected.txt: Ditto.
- platform/gtk/mathml/presentation/roots-expected.txt: Udapted due to script baseline fix.
- platform/gtk/mathml/presentation/roots-expected.png: ditto.
- mathml/presentation/underover-nonstretchy-or-vertical.html: Prevent the <mo> to be treated
as an accent so that we always get the same spacing as the reference. We also use the Ahem
font to make the result more reliable.
- 11:42 AM Changeset in webkit [203073] by
-
- 4 edits9 adds in trunk
Use Stack* parameters from the OpenType MATH table
https://bugs.webkit.org/show_bug.cgi?id=155714
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-11
Reviewed by Brent Fulgham.
Source/WebCore:
Test: mathml/mathml-in-html5/frac-parameters-2.html
- rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::updateFromElement): Set the stack parameters when
the line thickness is zero.
(WebCore::RenderMathMLFraction::layoutBlock): Correctly set the <mfrac> ascent and
the denominator vertical offset when the line thickness is zero.
(WebCore::RenderMathMLFraction::paint): Early return when we actually do not need to
paint any fraction bar.
- rendering/mathml/RenderMathMLFraction.h: Define an isStack helper function and define
members corresponding to stack parameters.
LayoutTests:
We import a test from the MathML in HTML5 test suite to verify Stack* parameters.
- imported/mathml-in-html5/fonts/math/stack-axisheight7000.woff: Added.
- imported/mathml-in-html5/fonts/math/stack-bottomdisplaystyleshiftdown5000.woff: Added.
- imported/mathml-in-html5/fonts/math/stack-bottomshiftdown6000.woff: Added.
- imported/mathml-in-html5/fonts/math/stack-displaystylegapmin4000.woff: Added.
- imported/mathml-in-html5/fonts/math/stack-gapmin8000.woff: Added.
- imported/mathml-in-html5/fonts/math/stack-topdisplaystyleshiftup3000.woff: Added.
- imported/mathml-in-html5/fonts/math/stack-topshiftup9000.woff: Added.
- imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-parameters-2-expected.txt: Added.
- imported/mathml-in-html5/mathml/presentation-markup/fractions/frac-parameters-2.html: Added.
- 11:38 AM Changeset in webkit [203072] by
-
- 12 edits11 adds in trunk
Add support for mathvariants that cannot be emulated via CSS.
https://bugs.webkit.org/show_bug.cgi?id=108778
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-11
Reviewed by Brent Fulgham.
Source/WebCore:
Tests: mathml/mathml-in-html5/mathvariant-transforms-1.html
mathml/mathml-in-html5/mathvariant-transforms-2.html
mathml/presentation/mathvariant-inheritance.html
mathml/presentation/mathvariant-tokens.html
We remove the old code to emulate partial mathvariant support via CSS and add support
for all mathvariant values using the technique used for implicit italic on <mi> element.
We also rely on the MathMLStyle class introduced earlier to support custome MathML style
and manage inheritance of mathvariant values.
The function that tries and converts one base character into a transformed mathvariant
character is based on similar code from Gecko:
http://hg.mozilla.org/mozilla-central/file/tip/layout/generic/MathMLTextRunFactory.cpp
Note that we only support transform on token elements with a single character, which
should cover the most important use cases.
- css/mathml.css: Remove the CSS rules to emulate some mathvariant values.
(math[mathvariant="normal"], mstyle[mathvariant="normal"], mo[mathvariant="normal"], mn[mathvariant="normal"], mi[mathvariant="normal"], mtext[mathvariant="normal"], mspace[mathvariant="normal"], ms[mathvariant="normal"]): Deleted.
(math[mathvariant="bold"], mstyle[mathvariant="bold"], mo[mathvariant="bold"], mn[mathvariant="bold"], mi[mathvariant="bold"], mtext[mathvariant="bold"], mspace[mathvariant="bold"], ms[mathvariant="bold"]): Deleted.
(math[mathvariant="italic"], mstyle[mathvariant="italic"], mo[mathvariant="italic"], mn[mathvariant="italic"], mi[mathvariant="italic"], mtext[mathvariant="italic"], mspace[mathvariant="italic"], ms[mathvariant="italic"]): Deleted.
(math[mathvariant="bold-italic"], mstyle[mathvariant="bold-italic"], mo[mathvariant="bold-italic"], mn[mathvariant="bold-italic"], mi[mathvariant="bold-italic"], mtext[mathvariant="bold-italic"], mspace[mathvariant="bold-italic"], ms[mathvariant="bold-italic"]): Deleted.
- mathml/MathMLInlineContainerElement.cpp: We resolve mathml style when mathvariant changes.
(WebCore::MathMLInlineContainerElement::parseAttribute):
- mathml/MathMLMathElement.cpp: ditto.
(WebCore::MathMLMathElement::parseAttribute):
- mathml/MathMLTextElement.cpp: ditto.
(WebCore::MathMLTextElement::parseAttribute):
- rendering/mathml/MathMLStyle.cpp: Add mathvariant property to the MathML style.
(WebCore::MathMLStyle::MathMLStyle): Init mathvariant to none.
(WebCore::MathMLStyle::getMathMLStyle): Helper function to retrieve the MathML style on a renderer.
(WebCore::MathMLStyle::updateStyleIfNeeded): Take into account change of mathvariant.
(WebCore::MathMLStyle::parseMathVariant): Helper function to parse a mathvariant attribute.
(WebCore::MathMLStyle::resolveMathMLStyle): Take into account mathvariant value: it is None
by default, inherited and can be modified via an attribute on <math>, <mstyle> or token
elements. We also refactor a bit to share logic between displaystyle and mathvariant.
(WebCore::MathMLStyle::setDisplayStyle): Deleted.
- rendering/mathml/MathMLStyle.h: Add mathvariant members and update declarations.
- rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::updateTokenContent): Call the function from the parent class
to consider mathvariant on <mo>.
- rendering/mathml/RenderMathMLToken.cpp:
We implement a mathVariant function to transform a base character into its transformed mathvariant:
- There are some regularity that allows to perform this via simple linear transforms.
- However, there are also many exceptions and we rely on some sorted MathVariantMapping
tables to handle these cases.
(WebCore::ExtractKey): Helper function to perform binary searches on MathVariant tables.
(WebCore::MathVariantMappingSearch): ditto.
(WebCore::mathVariant): New function to perform mathvariant transforms.
(WebCore::RenderMathMLToken::updateMathVariantGlyph): Use the mathVariant function to
perform all transformations, not just the italic one.
(WebCore::transformToItalic): Deleted. Replaced with the more general mathVariant function.
LayoutTests:
Import a test from the MathML in HTML5 test suite to perform an exhaustive
verification of all the mathvariant transforms allowed.
We also add some tests to verify inheritance of the mathvariant style, the
effect on each token element and dynamic modification of mathvariant.
Finally, we modify one test now that mathvariant is no longer emulated via CSS.
- mathml/mathml-in-html5/fonts/mathvariant-transforms.woff: Added.
- mathml/mathml-in-html5/mathvariant-transforms-1-expected.html: Added.
- mathml/mathml-in-html5/mathvariant-transforms-1.html: Added.
- mathml/mathml-in-html5/mathvariant-transforms-2-expected.html: Added.
- mathml/mathml-in-html5/mathvariant-transforms-2.html: Added.
- mathml/presentation/attributes-mathvariant-expected.html: Update this test now that
mathvariant is correctly implemented using character transforms.
- mathml/presentation/mathvariant-inheritance-expected.html: Added.
- mathml/presentation/mathvariant-inheritance.html: Added.
- mathml/presentation/mathvariant-tokens-expected.html: Added.
- mathml/presentation/mathvariant-tokens.html: Added.
- mathml/presentation/mathvariant-dynamic.html: Added.
- mathml/presentation/mathvariant-dynamic-expected.html: Added.
- 11:31 AM Changeset in webkit [203071] by
-
- 2 edits in trunk/LayoutTests
Marking media/controls/inline-elements-dropoff-order.html as failing on El Capitan
https://bugs.webkit.org/show_bug.cgi?id=151287
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 11:08 AM Changeset in webkit [203070] by
-
- 2 edits in trunk/Tools
[GTK] install-dependencies should not install packages built by jhbuild.
https://bugs.webkit.org/show_bug.cgi?id=159628
Reviewed by Michael Catanzaro.
- gtk/install-dependencies:
Don't install icu, harfbuzz, orc, llvm, freetype, fontconfig.
- 11:05 AM Changeset in webkit [203069] by
-
- 2 edits in trunk/Tools
System proxy settings not used when building deps with jhbuild
https://bugs.webkit.org/show_bug.cgi?id=159567
Patch by Olivier Blin <Olivier Blin> on 2016-07-11
Reviewed by Michael Catanzaro.
This adds the gsettings-desktop-schemas-devel build dep to enable
the libgiognomeproxy.so gio module in glib-networking, which uses
GSettings on org.gnome.system.proxy.
This is needed to query system proxy settings for Gnome desktops.
dconf can be manually added to jhbuild to build the
libdconfsettings.so gio module for GSettings, so that
libgiognomeproxy.so can access system settings.
https://trac.webkit.org/wiki/WebKitGTK/StartHacking#Workingbehindaproxy
As an alternative to dconf settings, this commit also adds the
libproxy-devel build dep to enable the libgiolibproxy.so module in
glib-networking (suggested by Fujii Hironori).
It is useful to read proxy settings from environment variables.
From a Gnome desktop, one may unset the GNOME_DESKTOP_SESSION_ID
environment variable to force using the envvar module in libproxy.
- gtk/install-dependencies:
- 10:46 AM Changeset in webkit [203068] by
-
- 1 edit2 adds in trunk/LayoutTests
Add a test for media control dropoff
https://bugs.webkit.org/show_bug.cgi?id=151287
<rdar://problem/23544666>
Unreviewed El Capitan-specific test results after r203057.
- platform/mac-elcapitan/media/controls: Added.
- platform/mac-elcapitan/media/controls/inline-elements-dropoff-order-expected.txt: Added.
- platform/mac-yosemite/media/controls: Added.
- 10:04 AM Changeset in webkit [203067] by
-
- 6 edits in trunk
Change run-webkit-tests.py and run-jsc-stress-tests to use a smaller JS stack size for testing.
https://bugs.webkit.org/show_bug.cgi?id=159524
Reviewed by Michael Saboff.
Tools:
Forced tests to run with only a 1.5M JS stack size instead of the default 4M.
Also fixed up some tests to behave better to work with this new limit. This
should make stack overflow tests complete sooner.
- Scripts/run-jsc-stress-tests:
- Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(main):
LayoutTests:
- js/dom/deep-recursion-test.html:
- js/script-tests/stack-overflow-arrity-catch.js:
(funcWith20Args):
- 9:33 AM Changeset in webkit [203066] by
-
- 3 edits in trunk/Source/WebCore
Pause small video elements when returning to inline.
https://bugs.webkit.org/show_bug.cgi?id=159535
Patch by Jeremy Jones <jeremyj@apple.com> on 2016-07-11
Reviewed by Jer Noble.
Will add a test in a later commit.
When exiting fullscreen, don't allow playback to continue inline if video is too small.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::isVideoTooSmallForInlinePlayback): Added.
(WebCore::HTMLMediaElement::exitFullscreen): Pause if video is too small.
- html/HTMLMediaElement.h:
- 9:26 AM Changeset in webkit [203065] by
-
- 12 edits in trunk/Source/WebCore
toNative functions in JSDOMBinding.h should take an ExecState reference instead of pointer
https://bugs.webkit.org/show_bug.cgi?id=159298
Reviewed by Youenn Fablet.
Pass ExecState by reference instead of pointer.
- bindings/js/IDBBindingUtilities.cpp:
(WebCore::idbKeyPathFromValue):
- bindings/js/JSBlobCustom.cpp:
(WebCore::constructJSBlob):
- bindings/js/JSDOMBinding.h: Pass ExecState by reference instead of pointer.
(WebCore::toJSSequence):
(WebCore::NativeValueTraits<String>::nativeValue):
(WebCore::NativeValueTraits<unsigned>::nativeValue):
(WebCore::NativeValueTraits<float>::nativeValue):
(WebCore::NativeValueTraits<double>::nativeValue):
(WebCore::toNativeArray):
(WebCore::toNativeArguments):
- bindings/js/JSDOMConvert.h:
(WebCore::Converter<Vector<T>>::convert):
- bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::convertValue):
- bindings/js/JSFileCustom.cpp:
(WebCore::constructJSFile):
- bindings/js/JSMessagePortCustom.cpp:
(WebCore::fillMessagePortArray):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheck):
(JSValueToNative):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalSequence):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArray):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArrayIsEmpty):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
(WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
(WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
(WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence):
(WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence2):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::constructJSTestOverloadedConstructors5):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::jsTestTypedefsPrototypeFunctionFunc):
(WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
(WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
- 9:01 AM Changeset in webkit [203064] by
-
- 9 edits in trunk/Source
Use refs for ResourceLoaders
https://bugs.webkit.org/show_bug.cgi?id=159592
Reviewed by Chris Dumez.
Source/WebCore:
No new tests. No change in behavior except a fixed memory leak in WebKit1.
- loader/LoaderStrategy.h:
- loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::finishNetworkLoad):
(WebCore::ResourceLoader::setDefersLoading):
(WebCore::ResourceLoader::frameLoader):
(WebCore::ResourceLoader::willSwitchToSubstituteResource):
(WebCore::ResourceLoader::willSendRequestInternal):
Source/WebKit:
- WebCoreSupport/WebResourceLoadScheduler.cpp:
(webResourceLoadScheduler):
(WebResourceLoadScheduler::hostForURL):
(WebResourceLoadScheduler::WebResourceLoadScheduler):
(WebResourceLoadScheduler::loadResource):
(WebResourceLoadScheduler::schedulePluginStreamLoad):
(WebResourceLoadScheduler::scheduleLoad):
(WebResourceLoadScheduler::remove):
(WebResourceLoadScheduler::setDefersLoading):
(WebResourceLoadScheduler::crossOriginRedirectReceived):
(WebResourceLoadScheduler::servePendingRequests):
(WebResourceLoadScheduler::resumePendingRequests):
(WebResourceLoadScheduler::HostInformation::priorityToIndex):
(WebResourceLoadScheduler::HostInformation::schedule):
(WebResourceLoadScheduler::HostInformation::addLoadInProgress):
(WebResourceLoadScheduler::HostInformation::remove):
- WebCoreSupport/WebResourceLoadScheduler.h:
(WebResourceLoadScheduler::HostInformation::name):
(WebResourceLoadScheduler::HostInformation::requestsPending):
m_nonHTTPProtocolHost used to be a leaked pointer, and now it's a member variable.
Source/WebKit2:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleInternallyFailedLoad):
(WebKit::WebLoaderStrategy::internallyFailedLoadTimerFired):
(WebKit::WebLoaderStrategy::startLocalLoad):
(WebKit::WebLoaderStrategy::remove):
(WebKit::WebLoaderStrategy::setDefersLoading):
(WebKit::WebLoaderStrategy::crossOriginRedirectReceived):
- WebProcess/Network/WebLoaderStrategy.h:
- 8:55 AM Changeset in webkit [203063] by
-
- 2 edits in trunk/Tools
[GTK] Whitespace fixes in install-dependencies script
Unreviewed.
- gtk/install-dependencies:
- 8:54 AM Changeset in webkit [203062] by
-
- 2 edits in trunk/Tools
[GTK] Install missing Fedora dependencies
Unreviewed.
- gtk/install-dependencies:
- 8:25 AM Changeset in webkit [203061] by
-
- 3 edits in trunk/Source/WebKit2
Update stable cache version in NetworkCache::Storage::deleteOldVersions()
https://bugs.webkit.org/show_bug.cgi?id=159618
rdar://problem/26715745
Reviewed by Chris Dumez.
NetworkCache::Storage::deleteOldVersions() keeps the previous shipped cache version (4) for Mac around so
development WebKit doesn’t clobber system Safari cache. Update this to the current version so old caches
go away in customer systems.
- NetworkProcess/cache/NetworkCacheStorage.cpp:
(WebKit::NetworkCache::Storage::deleteOldVersions):
- NetworkProcess/cache/NetworkCacheStorage.h:
Move lastStableVersion to header next to the current version.
- 8:08 AM Changeset in webkit [203060] by
-
- 6 edits in trunk
Using dpi unit in sizes attribute raises SIGSEGV
https://bugs.webkit.org/show_bug.cgi?id=159412
Patch by Fujii Hironori <Fujii Hironori> on 2016-07-11
Reviewed by Darin Adler.
Source/WebCore:
CSSParser::sourceSize returns a invalid CSSParser::SourceSize
whose length is a null value for a dpi unit value. Because
CSSParserValue::createCSSValue returns null for a dpi value.
Tests:
fast/dom/HTMLImageElement/sizes/image-sizes-invalids.html
imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/parse-a-sizes-attribute.html
- css/CSSParser.cpp:
(WebCore::CSSParser::sourceSize): Create a CSSPrimitiveValue of
CSS_UNKNOWN if CSSParserValue::createCSSValue returns null.
LayoutTests:
- TestExpectations: Unskip fast/dom/HTMLImageElement/sizes.
- fast/dom/HTMLImageElement/sizes/image-sizes-invalids-expected.txt: Updated.
- fast/dom/HTMLImageElement/sizes/image-sizes-invalids.html: Added a dpi unit test case.
Renumbering element IDs.
- 7:52 AM MathML/Early_2016_Refactoring edited by
- (diff)
- 7:44 AM Changeset in webkit [203059] by
-
- 2 edits in trunk/Source/WebCore
Red and blue colors are swapped in video rendered through WebGL when GSTREAMER_GL is enabled
https://bugs.webkit.org/show_bug.cgi?id=159621
Patch by Olivier Blin <Olivier Blin> on 2016-07-11
Reviewed by Philippe Normand.
When a video is rendered through WebGL, and GSTREAMER_GL is enabled, red and blue colors are swapped.
This occurs for example with the following videos:
http://www.scirra.com/labs/bugs/webglvideo/
http://www.dailymotion.com/embed/video/x4jiicp?autoplay=1
This is because ImageGStreamerCairo expects video frames in either
BGRA or ARGB, while when GSTREAMER_GL is enabled,
createVideoSinkGL() forces a RGBA format.
Without GSTREAMER_GL, the rendering is fine since
VideoSinkGStreamer uses either BGRA or ARGB.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSinkGL):
- 7:41 AM Changeset in webkit [203058] by
-
- 7 edits in trunk/Source/WebCore
[GStreamer] remove WEBKIT_DEBUG support
https://bugs.webkit.org/show_bug.cgi?id=159553
Reviewed by Xabier Rodriguez-Calvar.
Remove the *_MEDIA_MESSAGE macros specific to the GStreamer
platform code and replace them with standard GST_DEBUG macros. In
Debug builds the WEBKIT_DEBUG=Media logs now only contain logs
related with the cross-platform Media element code. If GStreamer
logs are needed, the GST_DEBUG=webkit*:5 environment variable can
be used.
- platform/graphics/gstreamer/GStreamerUtilities.h:
- platform/graphics/gstreamer/InbandTextTrackPrivateGStreamer.cpp:
(WebCore::InbandTextTrackPrivateGStreamer::notifyTrackOfSample):
(WebCore::InbandTextTrackPrivateGStreamer::notifyTrackOfStreamChanged):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
(WebCore::MediaPlayerPrivateGStreamer::load):
(WebCore::MediaPlayerPrivateGStreamer::commitLoad):
(WebCore::MediaPlayerPrivateGStreamer::playbackPosition):
(WebCore::MediaPlayerPrivateGStreamer::changePipelineState):
(WebCore::MediaPlayerPrivateGStreamer::play):
(WebCore::MediaPlayerPrivateGStreamer::pause):
(WebCore::MediaPlayerPrivateGStreamer::duration):
(WebCore::MediaPlayerPrivateGStreamer::seek):
(WebCore::MediaPlayerPrivateGStreamer::updatePlaybackRate):
(WebCore::MediaPlayerPrivateGStreamer::paused):
(WebCore::MediaPlayerPrivateGStreamer::newTextSample):
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
(WebCore::MediaPlayerPrivateGStreamer::processBufferingStats):
(WebCore::MediaPlayerPrivateGStreamer::fillTimerFired):
(WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
(WebCore::MediaPlayerPrivateGStreamer::maxTimeLoaded):
(WebCore::MediaPlayerPrivateGStreamer::didLoadingProgress):
(WebCore::MediaPlayerPrivateGStreamer::totalBytes):
(WebCore::MediaPlayerPrivateGStreamer::asyncStateChangeDone):
(WebCore::MediaPlayerPrivateGStreamer::updateStates):
(WebCore::MediaPlayerPrivateGStreamer::loadNextLocation):
(WebCore::MediaPlayerPrivateGStreamer::setDownloadBuffering):
(WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::naturalSize):
(WebCore::MediaPlayerPrivateGStreamerBase::setVolume):
(WebCore::MediaPlayerPrivateGStreamerBase::volumeChangedCallback):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSinkGL):
(WebCore::MediaPlayerPrivateGStreamerBase::setStreamVolumeElement):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:
(WebCore::MediaPlayerPrivateGStreamerOwr::~MediaPlayerPrivateGStreamerOwr):
(WebCore::MediaPlayerPrivateGStreamerOwr::play):
(WebCore::MediaPlayerPrivateGStreamerOwr::pause):
(WebCore::MediaPlayerPrivateGStreamerOwr::currentTime):
(WebCore::MediaPlayerPrivateGStreamerOwr::load):
(WebCore::MediaPlayerPrivateGStreamerOwr::internalLoad):
(WebCore::MediaPlayerPrivateGStreamerOwr::stop):
(WebCore::MediaPlayerPrivateGStreamerOwr::createGSTAudioSinkBin):
(WebCore::MediaPlayerPrivateGStreamerOwr::trackEnded):
(WebCore::MediaPlayerPrivateGStreamerOwr::trackMutedChanged):
(WebCore::MediaPlayerPrivateGStreamerOwr::trackSettingsChanged):
(WebCore::MediaPlayerPrivateGStreamerOwr::trackEnabledChanged):
- platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
(WebCore::TrackPrivateBaseGStreamer::getLanguageCode):
(WebCore::TrackPrivateBaseGStreamer::getTag):
- 7:37 AM Changeset in webkit [203057] by
-
- 6 edits4 adds in trunk
Add a test for media control dropoff
https://bugs.webkit.org/show_bug.cgi?id=151287
<rdar://problem/23544666>
Reviewed by Antoine Quint.
Source/WebCore:
Test: media/controls/inline-elements-dropoff-order.html
- Modules/mediacontrols/mediaControlsApple.js: Expose more state to testing.
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::setAllowsAirPlayForMediaPlayback): Renamed from setWirelessPlaybackDisabled.
(WebCore::InternalSettings::setWirelessPlaybackDisabled): Deleted.
- testing/InternalSettings.h:
- testing/InternalSettings.idl:
LayoutTests:
- media/controls/inline-elements-dropoff-order-expected.txt: Added.
- media/controls/inline-elements-dropoff-order.html: Added.
- platform/mac-yosemite/media/controls: Added.
- platform/mac-yosemite/media/controls/inline-elements-dropoff-order-expected.txt: Added.
- platform/mac-elcapitan/media/controls: Added.
- platform/mac-elcapitan/media/controls/inline-elements-dropoff-order-expected.txt: Added.
- 7:35 AM Changeset in webkit [203056] by
-
- 5 edits in trunk/Source/WebCore
[GStreamer][GL] crash within triggerRepaint
https://bugs.webkit.org/show_bug.cgi?id=159552
Reviewed by Xabier Rodriguez-Calvar.
Ensure the sizeChanged notification is emitted from the main
thread. When GStreamer-GL rendering is enabled the appsink draw
callbacks are fired in a non-main thread.
The WeakPtr support was moved to the player base class so that it
can be used there as well as in the MediaPlayerPrivateGStreamer
sub-class.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer): Deleted.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
(WebCore::MediaPlayerPrivateGStreamer::createWeakPtr): Deleted.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
(WebCore::MediaPlayerPrivateGStreamerBase::createWeakPtr):
- 2:47 AM Changeset in webkit [203055] by
-
- 5 edits in trunk/LayoutTests
Update expectations for some MathML pixel tests on Windows.
Unreviewed test gardening.
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-11
- platform/win/mathml/opentype/vertical-expected.txt:
- platform/win/mathml/presentation/mo-stretch-expected.txt:
- platform/win/mathml/presentation/roots-expected.txt:
- platform/win/mathml/radical-fallback-expected.txt:
- 2:43 AM Changeset in webkit [203054] by
-
- 5 edits in trunk/LayoutTests
Update expectations for some MathML pixel tests on EFL.
Unreviewed test gardening.
Patch by Frederic Wang <fwang@igalia.com> on 2016-07-11
- platform/efl/mathml/opentype/vertical-expected.txt:
- platform/efl/mathml/presentation/mo-stretch-expected.txt:
- platform/efl/mathml/presentation/roots-expected.txt:
- platform/efl/mathml/radical-fallback-expected.txt:
- 2:28 AM Changeset in webkit [203053] by
-
- 2 edits in trunk/Source/JavaScriptCore
REGRESSION(r202992): JSC varargs tests are broken
https://bugs.webkit.org/show_bug.cgi?id=159616
Reviewed by Csaba Osztrogonác.
The substitution miss in r202992 causes varargs tests failures in GTK port.
- jit/SetupVarargsFrame.cpp:
(JSC::emitSetupVarargsFrameFastCase):
- 12:42 AM MathML/Early_2016_Refactoring edited by
- (diff)
- 12:26 AM Changeset in webkit [203052] by
-
- 2 edits1 add in trunk/Source/JavaScriptCore
[ES6] Promise.{all,race} no longer use @@species
https://bugs.webkit.org/show_bug.cgi?id=159615
Reviewed by Keith Miller.
As per the latest ES draft, Promise.{all,race} no longer use @@species.
So, this patch drops FIXMEs.
- builtins/PromiseConstructor.js:
(all):
(race):
- tests/stress/ignore-promise-species.js: Added.
(shouldBe):
(DerivedPromise.prototype.get Symbol):
(DerivedPromise):
Jul 10, 2016:
- 11:09 PM Changeset in webkit [203051] by
-
- 5 edits in branches/safari-602.1.40-branch/Source
Versioning.
- 11:05 PM Changeset in webkit [203050] by
-
- 1 copy in tags/Safari-602.1.40.4
New tag.
- 11:03 PM Changeset in webkit [203049] by
-
- 2 edits in branches/safari-602.1.40-branch/Source/WebKit2
Merged r203044. rdar://problem/27268111
- 11:01 PM Changeset in webkit [203048] by
-
- 5 edits in branches/safari-602.1.40-branch/Source
Versioning.
- 10:06 PM Changeset in webkit [203047] by
-
- 14 edits4 adds in trunk
Setting document.title reuses <title>'s textnode child
https://bugs.webkit.org/show_bug.cgi?id=28864
<rdar://problem/7186473>
Reviewed by Benjamin Poulain.
Source/WebCore:
Setting document.title should be equivalent to setting the 'textContent'
IDL attribute of the <title> element:
In particular, this means we should always create a new Text node and
replace all the <title>'s children with this new Node, as per:
Previously, WebKit would in some cases reuse the existing <title>'s
Text node and merely update its data.
Firefox and Chrome behave as per the specification so this aligns our
behavior with other major browsers as well.
Test: fast/dom/title-setter-new-text-node.html
- dom/Document.cpp:
(WebCore::Document::setTitle):
- Call Node::setTextContent() instead of HTMLTitleElement::setText(), as per the specification.
- Take an ExceptionCode parameter and pass it to Node::setTextContent() as it may throw.
- dom/Document.h:
- dom/Document.idl:
- html/HTMLTitleElement.cpp:
(WebCore::HTMLTitleElement::setText):
Update implementation of HTMLTitleElement::setText() to call
setTextContent() as per the specification:
- html/HTMLTitleElement.h:
- html/HTMLTitleElement.idl:
- html/ImageDocument.cpp:
(WebCore::ImageDocument::finishedParsing):
- svg/SVGTitleElement.cpp:
- svg/SVGTitleElement.h:
Drop setText() setter which was duplicated from HTMLTitleElement::setText()
now that Document::setTitle() calls SVGTitleElement::setTextContent()
instead.
LayoutTests:
- fast/dom/title-setter-new-text-node-expected.txt: Added.
- fast/dom/title-setter-new-text-node.html: Added.
Add test coverage.
- fast/dom/title-text-property-2-expected.txt:
- fast/dom/title-text-property-expected.txt:
- http/tests/globalhistory/history-delegate-basic-title-expected.txt:
Rebaseline a few tests now that we do not reuse the <title>'s text
node child.
- 9:28 PM Changeset in webkit [203046] by
-
- 7 edits3 deletes in trunk
Unreviewed, rolling out r203037.
https://bugs.webkit.org/show_bug.cgi?id=159614
The JSC tests are breaking in elcapitan-debug-tests-jsc and
elcapitan-release-tests-jsc (Requested by caiolima on
#webkit).
Reverted changeset:
"ECMAScript 2016: %TypedArray%.prototype.includes
implementation"
https://bugs.webkit.org/show_bug.cgi?id=159385
http://trac.webkit.org/changeset/203037
- 8:58 PM Changeset in webkit [203045] by
-
- 4 edits2 adds in trunk
Fix LogicalSelectionOffsetCaches to work with detached render tree.
https://bugs.webkit.org/show_bug.cgi?id=159605
<rdar://problem/27248845>
Reviewed by Brent Fulgham.
Source/WebCore:
When the renderer that is being destroyed is on a selection boundary,
we need to ensure that all its cached pointers across the selection code (e.g. SelectionSubtreeData)
are getting reset. In order to do that, we call clearSelection() on the RenderView.
One of the last steps of clearing selection is to collect the selection gaps. Selection gaps uses this
LogicalSelectionOffsetCaches helper class to collect selection information across blocks.
LogicalSelectionOffsetCaches normally operates on rooted renderers. However we need to ensure sure that
it can also handle renderers that are no longer part of the render tree.
Test: fast/text/selection-on-a-detached-tree.html
- rendering/LogicalSelectionOffsetCaches.h:
(WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::setBlock):
(WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::logicalLeftSelectionOffset):
(WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::logicalRightSelectionOffset):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::logicalLeftSelectionOffset):
(WebCore::RenderBlock::logicalRightSelectionOffset):
LayoutTests:
- fast/text/selection-on-a-detached-tree-expected.txt: Added.
- fast/text/selection-on-a-detached-tree.html: Added.
- 7:52 PM Changeset in webkit [203044] by
-
- 1 edit1 add in trunk/Source/WebKit2
Update mediaIcon.pdf
https://bugs.webkit.org/show_bug.cgi?id=159613
-and corresponding-
rdar://problem/27268111
Reviewed by Sam Weinig.
- Resources/mediaIcon.pdf: Replaced.
- 4:28 PM Changeset in webkit [203043] by
-
- 3 edits4 adds in trunk
adoptNode() changes css class to lowercase for document loaded with XHR responseType = "document"
https://bugs.webkit.org/show_bug.cgi?id=159555
<rdar://problem/27252541>
Reviewed by Benjamin Poulain.
Source/WebCore:
Follow-up on r203018 which was incomplete. We need to update ElementData's
m_classNames / m_idForStyleResolution when the source document is in strict
mode and the destination document is in quirks mode as well.
Test: fast/dom/Document/adoptNode-quirks-mismatch2.html
- dom/Element.cpp:
(WebCore::Element::didMoveToNewDocument):
LayoutTests:
Add test coverage.
- fast/dom/Document/adoptNode-quirks-mismatch2-expected.txt: Added.
- fast/dom/Document/adoptNode-quirks-mismatch2.html: Added.
- fast/dom/Document/resources/document-noquirks-class.html: Added.
- fast/dom/Document/resources/document-noquirks-id.html: Added.
- 2:46 PM Changeset in webkit [203042] by
-
- 5 edits in trunk/Source/WebCore
Rename isEmojiModifier to isEmojiFitzpatrickModifier to better capture its function
https://bugs.webkit.org/show_bug.cgi?id=159610
Reviewed by Dan Bernstein.
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::characterRangeCodePath):
- platform/graphics/mac/ComplexTextController.cpp:
(WebCore::advanceByCombiningCharacterSequence):
Update for rename.
- platform/text/CharacterProperties.h:
(WebCore::isEmojiGroupCandidate):
(WebCore::isEmojiFitzpatrickModifier):
(WebCore::isVariationSelector):
Rename isEmojiModifier -> isEmojiFitzpatrickModifier. Also add some comments
explaining what the characters these predicate act on to demystify them a bit.
- rendering/RenderText.cpp:
(WebCore::RenderText::previousOffsetForBackwardDeletion):
Update for rename and rename a related variable.
- 11:50 AM Changeset in webkit [203041] by
-
- 2 edits in trunk/Source/WebKit2
Add self to WebKit2 Owners
https://bugs.webkit.org/show_bug.cgi?id=159499
Patch by Alex Christensen <achristensen@webkit.org> on 2016-07-10
Reviewed by Sam Weinig.
- Owners:
- 11:48 AM Changeset in webkit [203040] by
-
- 4 edits in trunk/Source
Fix client certificate authentication after r200463
https://bugs.webkit.org/show_bug.cgi?id=159574
<rdar://problem/26931006>
Patch by Alex Christensen <achristensen@webkit.org> on 2016-07-10
Reviewed by Sam Weinig.
Source/WebCore:
No new tests. We really need a test for this
- platform/network/cf/CertificateInfo.h:
(WebCore::CertificateInfo::CertificateInfo):
(WebCore::CertificateInfo::trust):
Make sure we only get the trust for Trust type CertificateInfos.
If we mix up our types, we get unexpected nullptrs, which will cause authentication to fail.
Source/WebKit2:
- Shared/Authentication/mac/AuthenticationManager.mac.mm:
(WebKit::leafCertificate):
(WebKit::chain):
Handle the different types of CertificateInfos.
- 10:53 AM Changeset in webkit [203039] by
-
- 2 edits in trunk/Source/WebCore
Fix Windows build after r203038
Unreviewed.
- platform/text/TextAllInOne.cpp:
- 10:15 AM Changeset in webkit [203038] by
-
- 43 edits8 copies6 moves6 adds3 deletes in trunk/Source
Move breaking iterator code to WTF
https://bugs.webkit.org/show_bug.cgi?id=159594
Reviewed by Alex Christensen.
This is in preparation for giving StringView a GraphemeClusters iterator.
Such an interator needs to be implemented on top of our breaking iterator
code.
Source/WebCore:
No new tests because there is no behavior change.
- CMakeLists.txt:
- PlatformEfl.cmake:
- PlatformGTK.cmake:
- PlatformMac.cmake:
- PlatformWin.cmake:
- WebCore.xcodeproj/project.pbxproj:
- dom/CharacterData.cpp:
- editing/TextCheckingHelper.cpp:
- editing/TextIterator.cpp:
- editing/VisibleUnits.cpp:
- html/HTMLInputElement.cpp:
- html/HTMLTextAreaElement.cpp:
- html/InputType.cpp:
- html/TextFieldInputType.cpp:
- html/TextInputType.cpp:
- platform/LocalizedStrings.cpp:
- platform/graphics/StringTruncator.cpp:
- platform/graphics/cg/ColorCG.cpp:
(WTF::RetainPtr<CGColorRef>>::createValueForKey):
(WebCore::RetainPtr<CGColorRef>>::createValueForKey): Deleted.
- platform/graphics/mac/ComplexTextController.cpp:
- platform/text/LineBreakIteratorPoolICU.h:
(WebCore::LineBreakIteratorPool::LineBreakIteratorPool): Deleted.
(WebCore::LineBreakIteratorPool::sharedPool): Deleted.
(WebCore::LineBreakIteratorPool::makeLocaleWithBreakKeyword): Deleted.
(WebCore::LineBreakIteratorPool::take): Deleted.
(WebCore::LineBreakIteratorPool::put): Deleted.
- platform/text/TextBoundaries.cpp:
- platform/text/TextBreakIterator.cpp:
(WebCore::initializeIterator): Deleted.
(WebCore::initializeIteratorWithRules): Deleted.
(WebCore::setTextForIterator): Deleted.
(WebCore::setContextAwareTextForIterator): Deleted.
(WebCore::wordBreakIterator): Deleted.
(WebCore::sentenceBreakIterator): Deleted.
(WebCore::cursorMovementIterator): Deleted.
(WebCore::acquireLineBreakIterator): Deleted.
(WebCore::releaseLineBreakIterator): Deleted.
(WebCore::mapLineIteratorModeToRules): Deleted.
(WebCore::isCJKLocale): Deleted.
(WebCore::openLineBreakIterator): Deleted.
(WebCore::closeLineBreakIterator): Deleted.
(WebCore::compareAndSwapNonSharedCharacterBreakIterator): Deleted.
(WebCore::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator): Deleted.
(WebCore::NonSharedCharacterBreakIterator::~NonSharedCharacterBreakIterator): Deleted.
(WebCore::textBreakFirst): Deleted.
(WebCore::textBreakLast): Deleted.
(WebCore::textBreakNext): Deleted.
(WebCore::textBreakPrevious): Deleted.
(WebCore::textBreakPreceding): Deleted.
(WebCore::textBreakFollowing): Deleted.
(WebCore::textBreakCurrent): Deleted.
(WebCore::isTextBreak): Deleted.
(WebCore::isWordTextBreak): Deleted.
(WebCore::numGraphemeClusters): Deleted.
(WebCore::numCharactersInGraphemeClusters): Deleted.
- platform/text/TextBreakIterator.h:
(WebCore::LazyLineBreakIterator::LazyLineBreakIterator): Deleted.
(WebCore::LazyLineBreakIterator::~LazyLineBreakIterator): Deleted.
(WebCore::LazyLineBreakIterator::string): Deleted.
(WebCore::LazyLineBreakIterator::isLooseCJKMode): Deleted.
(WebCore::LazyLineBreakIterator::lastCharacter): Deleted.
(WebCore::LazyLineBreakIterator::secondToLastCharacter): Deleted.
(WebCore::LazyLineBreakIterator::setPriorContext): Deleted.
(WebCore::LazyLineBreakIterator::updatePriorContext): Deleted.
(WebCore::LazyLineBreakIterator::resetPriorContext): Deleted.
(WebCore::LazyLineBreakIterator::priorContextLength): Deleted.
(WebCore::LazyLineBreakIterator::get): Deleted.
(WebCore::LazyLineBreakIterator::resetStringAndReleaseIterator): Deleted.
(WebCore::NonSharedCharacterBreakIterator::operator TextBreakIterator*): Deleted.
- platform/text/cf/HyphenationCF.cpp:
- platform/text/efl/TextBreakIteratorInternalICUEfl.cpp:
(WebCore::currentSearchLocaleID): Deleted.
(WebCore::currentTextBreakLocaleID): Deleted.
- platform/text/enchant/TextCheckerEnchant.cpp:
- platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp:
(WebCore::currentSearchLocaleID): Deleted.
(WebCore::currentTextBreakLocaleID): Deleted.
- platform/text/icu/UTextProvider.cpp:
(WebCore::fixPointer): Deleted.
(WebCore::uTextCloneImpl): Deleted.
- platform/text/icu/UTextProvider.h:
(WebCore::uTextProviderContext): Deleted.
(WebCore::initializeContextAwareUTextProvider): Deleted.
(WebCore::uTextAccessPinIndex): Deleted.
(WebCore::uTextAccessInChunkOrOutOfRange): Deleted.
- platform/text/icu/UTextProviderLatin1.cpp:
(WebCore::uTextLatin1Clone): Deleted.
(WebCore::uTextLatin1NativeLength): Deleted.
(WebCore::uTextLatin1Access): Deleted.
(WebCore::uTextLatin1Extract): Deleted.
(WebCore::uTextLatin1MapOffsetToNative): Deleted.
(WebCore::uTextLatin1MapNativeIndexToUTF16): Deleted.
(WebCore::uTextLatin1Close): Deleted.
(WebCore::openLatin1UTextProvider): Deleted.
(WebCore::textLatin1ContextAwareGetCurrentContext): Deleted.
(WebCore::textLatin1ContextAwareMoveInPrimaryContext): Deleted.
(WebCore::textLatin1ContextAwareSwitchToPrimaryContext): Deleted.
(WebCore::textLatin1ContextAwareMoveInPriorContext): Deleted.
(WebCore::textLatin1ContextAwareSwitchToPriorContext): Deleted.
(WebCore::uTextLatin1ContextAwareClone): Deleted.
(WebCore::uTextLatin1ContextAwareNativeLength): Deleted.
(WebCore::uTextLatin1ContextAwareAccess): Deleted.
(WebCore::uTextLatin1ContextAwareExtract): Deleted.
(WebCore::uTextLatin1ContextAwareClose): Deleted.
(WebCore::openLatin1ContextAwareUTextProvider): Deleted.
- platform/text/icu/UTextProviderUTF16.cpp:
(WebCore::textUTF16ContextAwareGetCurrentContext): Deleted.
(WebCore::textUTF16ContextAwareMoveInPrimaryContext): Deleted.
(WebCore::textUTF16ContextAwareSwitchToPrimaryContext): Deleted.
(WebCore::textUTF16ContextAwareMoveInPriorContext): Deleted.
(WebCore::textUTF16ContextAwareSwitchToPriorContext): Deleted.
(WebCore::uTextUTF16ContextAwareClone): Deleted.
(WebCore::uTextUTF16ContextAwareNativeLength): Deleted.
(WebCore::uTextUTF16ContextAwareAccess): Deleted.
(WebCore::uTextUTF16ContextAwareExtract): Deleted.
(WebCore::uTextUTF16ContextAwareClose): Deleted.
(WebCore::openUTF16ContextAwareUTextProvider): Deleted.
- platform/text/mac/TextBoundaries.mm:
- platform/text/mac/TextBreakIteratorInternalICUMac.mm:
(WebCore::textBreakLocalePreference): Deleted.
(WebCore::topLanguagePreference): Deleted.
(WebCore::getLocale): Deleted.
(WebCore::getSearchLocale): Deleted.
(WebCore::currentSearchLocaleID): Deleted.
(WebCore::getTextBreakLocale): Deleted.
(WebCore::currentTextBreakLocaleID): Deleted.
- platform/text/win/TextBreakIteratorInternalICUWin.cpp:
(WebCore::currentSearchLocaleID): Deleted.
(WebCore::currentTextBreakLocaleID): Deleted.
- rendering/RenderBlock.cpp:
- rendering/RenderText.cpp:
- rendering/RenderText.h:
- rendering/SimpleLineLayoutTextFragmentIterator.h:
- rendering/break_lines.cpp:
- rendering/break_lines.h:
- rendering/line/LineBreaker.h:
Source/WTF:
- WTF.xcodeproj/project.pbxproj:
- icu/unicode/ubrk.h: Added.
- icu/unicode/utext.h: Renamed from Source/WebCore/icu/unicode/utext.h.
- wtf/CMakeLists.txt:
- wtf/PlatformEfl.cmake:
- wtf/PlatformGTK.cmake:
- wtf/PlatformMac.cmake:
- wtf/PlatformWin.cmake:
- wtf/TinyLRUCache.h:
- wtf/text/LineBreakIteratorPoolICU.h: Renamed from Source/WebCore/platform/text/LineBreakIteratorPoolICU.h.
(WTF::LineBreakIteratorPool::LineBreakIteratorPool):
(WTF::LineBreakIteratorPool::sharedPool):
(WTF::LineBreakIteratorPool::makeLocaleWithBreakKeyword):
(WTF::LineBreakIteratorPool::take):
(WTF::LineBreakIteratorPool::put):
- wtf/text/TextBreakIterator.cpp: Renamed from Source/WebCore/platform/text/TextBreakIterator.cpp.
(WTF::initializeIterator):
(WTF::initializeIteratorWithRules):
(WTF::setTextForIterator):
(WTF::setContextAwareTextForIterator):
(WTF::wordBreakIterator):
(WTF::sentenceBreakIterator):
(WTF::cursorMovementIterator):
(WTF::acquireLineBreakIterator):
(WTF::releaseLineBreakIterator):
(WTF::mapLineIteratorModeToRules):
(WTF::isCJKLocale):
(WTF::openLineBreakIterator):
(WTF::closeLineBreakIterator):
(WTF::compareAndSwapNonSharedCharacterBreakIterator):
(WTF::NonSharedCharacterBreakIterator::NonSharedCharacterBreakIterator):
(WTF::NonSharedCharacterBreakIterator::~NonSharedCharacterBreakIterator):
(WTF::textBreakFirst):
(WTF::textBreakLast):
(WTF::textBreakNext):
(WTF::textBreakPrevious):
(WTF::textBreakPreceding):
(WTF::textBreakFollowing):
(WTF::textBreakCurrent):
(WTF::isTextBreak):
(WTF::isWordTextBreak):
(WTF::numGraphemeClusters):
(WTF::numCharactersInGraphemeClusters):
- wtf/text/TextBreakIterator.h: Renamed from Source/WebCore/platform/text/TextBreakIterator.h.
(WTF::LazyLineBreakIterator::LazyLineBreakIterator):
(WTF::LazyLineBreakIterator::~LazyLineBreakIterator):
(WTF::LazyLineBreakIterator::string):
(WTF::LazyLineBreakIterator::isLooseCJKMode):
(WTF::LazyLineBreakIterator::lastCharacter):
(WTF::LazyLineBreakIterator::secondToLastCharacter):
(WTF::LazyLineBreakIterator::setPriorContext):
(WTF::LazyLineBreakIterator::updatePriorContext):
(WTF::LazyLineBreakIterator::resetPriorContext):
(WTF::LazyLineBreakIterator::priorContextLength):
(WTF::LazyLineBreakIterator::get):
(WTF::LazyLineBreakIterator::resetStringAndReleaseIterator):
(WTF::NonSharedCharacterBreakIterator::operator TextBreakIterator*):
- wtf/text/TextBreakIteratorInternalICU.h: Renamed from Source/WebCore/platform/text/TextBreakIteratorInternalICU.h.
- wtf/text/efl/TextBreakIteratorInternalICUEfl.cpp: Renamed from Source/WebCore/platform/text/efl/TextBreakIteratorInternalICUEfl.cpp.
(WebCore::currentSearchLocaleID):
(WebCore::currentTextBreakLocaleID):
- wtf/text/gtk/TextBreakIteratorInternalICUGtk.cpp: Renamed from Source/WebCore/platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp.
(WebCore::currentSearchLocaleID):
(WebCore::currentTextBreakLocaleID):
- wtf/text/icu/UTextProvider.cpp: Renamed from Source/WebCore/platform/text/icu/UTextProvider.cpp.
(WTF::fixPointer):
(WTF::uTextCloneImpl):
- wtf/text/icu/UTextProvider.h: Renamed from Source/WebCore/platform/text/icu/UTextProvider.h.
(WTF::uTextProviderContext):
(WTF::initializeContextAwareUTextProvider):
(WTF::uTextAccessPinIndex):
(WTF::uTextAccessInChunkOrOutOfRange):
- wtf/text/icu/UTextProviderLatin1.cpp: Renamed from Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp.
(WTF::uTextLatin1Clone):
(WTF::uTextLatin1NativeLength):
(WTF::uTextLatin1Access):
(WTF::uTextLatin1Extract):
(WTF::uTextLatin1MapOffsetToNative):
(WTF::uTextLatin1MapNativeIndexToUTF16):
(WTF::uTextLatin1Close):
(WTF::openLatin1UTextProvider):
(WTF::textLatin1ContextAwareGetCurrentContext):
(WTF::textLatin1ContextAwareMoveInPrimaryContext):
(WTF::textLatin1ContextAwareSwitchToPrimaryContext):
(WTF::textLatin1ContextAwareMoveInPriorContext):
(WTF::textLatin1ContextAwareSwitchToPriorContext):
(WTF::uTextLatin1ContextAwareClone):
(WTF::uTextLatin1ContextAwareNativeLength):
(WTF::uTextLatin1ContextAwareAccess):
(WTF::uTextLatin1ContextAwareExtract):
(WTF::uTextLatin1ContextAwareClose):
(WTF::openLatin1ContextAwareUTextProvider):
- wtf/text/icu/UTextProviderLatin1.h: Renamed from Source/WebCore/platform/text/icu/UTextProviderLatin1.h.
- wtf/text/icu/UTextProviderUTF16.cpp: Renamed from Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp.
(WTF::textUTF16ContextAwareGetCurrentContext):
(WTF::textUTF16ContextAwareMoveInPrimaryContext):
(WTF::textUTF16ContextAwareSwitchToPrimaryContext):
(WTF::textUTF16ContextAwareMoveInPriorContext):
(WTF::textUTF16ContextAwareSwitchToPriorContext):
(WTF::uTextUTF16ContextAwareClone):
(WTF::uTextUTF16ContextAwareNativeLength):
(WTF::uTextUTF16ContextAwareAccess):
(WTF::uTextUTF16ContextAwareExtract):
(WTF::uTextUTF16ContextAwareClose):
(WTF::openUTF16ContextAwareUTextProvider):
- wtf/text/icu/UTextProviderUTF16.h: Renamed from Source/WebCore/platform/text/icu/UTextProviderUTF16.h.
- wtf/text/mac/TextBreakIteratorInternalICUMac.mm: Renamed from Source/WebCore/platform/text/mac/TextBreakIteratorInternalICUMac.mm.
(WTF::textBreakLocalePreference):
(WTF::topLanguagePreference):
(WTF::getLocale):
(WTF::getSearchLocale):
(WTF::currentSearchLocaleID):
(WTF::getTextBreakLocale):
(WTF::currentTextBreakLocaleID):
- wtf/text/win/TextBreakIteratorInternalICUWin.cpp: Renamed from Source/WebCore/platform/text/win/TextBreakIteratorInternalICUWin.cpp.
(WebCore::currentSearchLocaleID):
(WebCore::currentTextBreakLocaleID):
- 1:24 AM Changeset in webkit [203037] by
-
- 7 edits3 adds in trunk
ECMAScript 2016: %TypedArray%.prototype.includes implementation
https://bugs.webkit.org/show_bug.cgi?id=159385
Patch by Caio Lima <Caio Lima> on 2016-07-10
Reviewed by Benjamin Poulain.
Source/JavaScriptCore:
This patch implements the ECMAScript 2016:
%TypedArray%.prototype.includes
following spec 22.2.3.14
https://tc39.github.io/ecma262/2016/#sec-%typedarray%.prototype.includes
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::genericTypedArrayViewProtoFuncIncludes):
- runtime/JSTypedArrayViewPrototype.cpp:
(JSC::typedArrayViewProtoFuncIncludes):
(JSC::JSTypedArrayViewPrototype::finishCreation):
LayoutTests:
This patch implements test case to ECMAScript 2016:
%TypedArray%.prototype.includes implementation
following spec 22.2.3.14
https://tc39.github.io/ecma262/2016/#sec-%typedarray%.prototype.includes
- js/regress/script-tests/typed-array-includes.js: Added.
(assertProperError):
(testIntTypedArray):
(testFloatTypedArray):
- js/typed-array-includes-expected.txt: Added.
- js/typed-array-includes.html: Added.
- 1:03 AM Changeset in webkit [203036] by
-
- 42 edits2 adds in trunk
[GTK] Crash on https://diafygi.github.io/webcrypto-examples with ENABLE_SUBTLE_CRYPTO
https://bugs.webkit.org/show_bug.cgi?id=159189
Reviewed by Michael Catanzaro.
Source/WebCore:
Currently, we explicitly release the pointers of std::unique_ptr<CryptoAlgorithm> and std::unique_ptr<CryptoAlgorithmParameters>,
and delete them in the asynchronously called lambdas. In GnuTLS version, callback function is accidentally called twice,
and it incurs the double free problem.
In SubtleCrypto code, we have the rule that we must not call failureCallback when the error code is filled in synchronous execution.
So we drop the failureCallback calling code in GnuTLS subtle crypto code.
But, rather than carefully handling un-smart-pointer-managed raw pointer's life time, we should use ref counted pointer for that.
Using the raw delete is error-prone.
This patch also changes CryptoAlgorithm and CryptoAlgorithmParameters to RefCounted. And use Ref and RefPtr instead.
The change eliminates the ad-hoc delete code. And now, the lambdas can be called multiple times since once the result of the promise
is resolved or rejected, subsequent resolve / reject calls are ignored.
And this patch also fixes the incorrect call to the lambda that is already WTFMoved.
While we can see several
return WTFMove(...), they are necessary since it uses implicit type conversions, like,
Ref<A>=>RefPtr<A>, andRef<Derived>=>Ref<Base>.
- bindings/js/JSCryptoAlgorithmDictionary.cpp:
(WebCore::createAesCbcParams):
(WebCore::createAesKeyGenParams):
(WebCore::createHmacParams):
(WebCore::createHmacKeyParams):
(WebCore::createRsaKeyGenParams):
(WebCore::createRsaKeyParamsWithHash):
(WebCore::createRsaOaepParams):
(WebCore::createRsaSsaParams):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):
- bindings/js/JSCryptoAlgorithmDictionary.h:
- bindings/js/JSCryptoKeySerializationJWK.cpp:
(WebCore::createHMACParameters):
(WebCore::createRSAKeyParametersWithHash):
(WebCore::JSCryptoKeySerializationJWK::reconcileAlgorithm):
- bindings/js/JSCryptoKeySerializationJWK.h:
- bindings/js/JSSubtleCryptoCustom.cpp:
(WebCore::createAlgorithmFromJSValue):
(WebCore::importKey):
(WebCore::JSSubtleCrypto::importKey):
(WebCore::JSSubtleCrypto::wrapKey):
(WebCore::JSSubtleCrypto::unwrapKey):
- crypto/CryptoAlgorithm.h:
- crypto/CryptoAlgorithmParameters.h:
- crypto/CryptoAlgorithmRegistry.cpp:
(WebCore::CryptoAlgorithmRegistry::create):
- crypto/CryptoAlgorithmRegistry.h:
- crypto/CryptoKeySerialization.h:
- crypto/algorithms/CryptoAlgorithmAES_CBC.cpp:
(WebCore::CryptoAlgorithmAES_CBC::create):
- crypto/algorithms/CryptoAlgorithmAES_CBC.h:
- crypto/algorithms/CryptoAlgorithmAES_KW.cpp:
(WebCore::CryptoAlgorithmAES_KW::create):
- crypto/algorithms/CryptoAlgorithmAES_KW.h:
- crypto/algorithms/CryptoAlgorithmHMAC.cpp:
(WebCore::CryptoAlgorithmHMAC::create):
- crypto/algorithms/CryptoAlgorithmHMAC.h:
- crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp:
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::create):
- crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h:
- crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp:
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::create):
- crypto/algorithms/CryptoAlgorithmRSASSA_PKCS1_v1_5.h:
- crypto/algorithms/CryptoAlgorithmRSA_OAEP.cpp:
(WebCore::CryptoAlgorithmRSA_OAEP::create):
- crypto/algorithms/CryptoAlgorithmRSA_OAEP.h:
- crypto/algorithms/CryptoAlgorithmSHA1.cpp:
(WebCore::CryptoAlgorithmSHA1::create):
- crypto/algorithms/CryptoAlgorithmSHA1.h:
- crypto/algorithms/CryptoAlgorithmSHA224.cpp:
(WebCore::CryptoAlgorithmSHA224::create):
- crypto/algorithms/CryptoAlgorithmSHA224.h:
- crypto/algorithms/CryptoAlgorithmSHA256.cpp:
(WebCore::CryptoAlgorithmSHA256::create):
- crypto/algorithms/CryptoAlgorithmSHA256.h:
- crypto/algorithms/CryptoAlgorithmSHA384.cpp:
(WebCore::CryptoAlgorithmSHA384::create):
- crypto/algorithms/CryptoAlgorithmSHA384.h:
- crypto/algorithms/CryptoAlgorithmSHA512.cpp:
(WebCore::CryptoAlgorithmSHA512::create):
- crypto/algorithms/CryptoAlgorithmSHA512.h:
- crypto/gnutls/CryptoAlgorithmAES_CBCGnuTLS.cpp:
(WebCore::CryptoAlgorithmAES_CBC::platformEncrypt):
(WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):
- crypto/gnutls/CryptoAlgorithmAES_KWGnuTLS.cpp:
(WebCore::CryptoAlgorithmAES_KW::platformEncrypt):
(WebCore::CryptoAlgorithmAES_KW::platformDecrypt):
- crypto/gnutls/CryptoAlgorithmHMACGnuTLS.cpp:
(WebCore::CryptoAlgorithmHMAC::platformSign):
(WebCore::CryptoAlgorithmHMAC::platformVerify):
- crypto/gnutls/CryptoAlgorithmRSAES_PKCS1_v1_5GnuTLS.cpp:
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):
- crypto/gnutls/CryptoAlgorithmRSASSA_PKCS1_v1_5GnuTLS.cpp:
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify):
- crypto/gnutls/CryptoAlgorithmRSA_OAEPGnuTLS.cpp:
(WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):
- crypto/keys/CryptoKeySerializationRaw.cpp:
(WebCore::CryptoKeySerializationRaw::reconcileAlgorithm):
- crypto/keys/CryptoKeySerializationRaw.h:
LayoutTests:
If you execute the added test with subtle-crypto-enabled GTK environment without this patch, this causes the crash.
- crypto/subtle/unimplemented-unwrap-crash-expected.txt: Added.
- crypto/subtle/unimplemented-unwrap-crash.html: Added.