| 2015-12-01 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r192914. |
| https://bugs.webkit.org/show_bug.cgi?id=151734 |
| |
| JSC tests for this change are failing on 32 and 64-bit bots |
| (Requested by ryanhaddad on #webkit). |
| |
| Reverted changeset: |
| |
| "[ES6] Implement LLInt/Baseline Support for ES6 Generators and |
| enable this feature" |
| https://bugs.webkit.org/show_bug.cgi?id=150792 |
| http://trac.webkit.org/changeset/192914 |
| |
| 2015-12-01 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [SVG -> OTF Converter] Force UnitsPerEm to 1000 |
| https://bugs.webkit.org/show_bug.cgi?id=151650 |
| |
| Reviewed by Antti Koivisto. |
| |
| According to the Adobe Type 1 Font Format: |
| |
| "Type 1 font programs generally use a 1000 to 1 scaling matrix |
| for the definition of the relationship of character space unites |
| to user space units." |
| |
| Windows actually disregards the "unitsPerEm" value in the "head" |
| table for some calculations, and hardcodes 1000 instead. In order |
| to have consistent renderings on Windows and OS X, this patch |
| forces all generated fonts to have a unitsPerEm of 1000, and |
| appropriately scales all necessary values. |
| |
| Test: svg/W3C-SVG-1.1/fonts-elem-03-b.svg |
| |
| * svg/SVGToOTFFontConversion.cpp: |
| (WebCore::SVGToOTFFontConverter::scaleUnitsPerEm): |
| (WebCore::SVGToOTFFontConverter::appendHEADTable): |
| (WebCore::SVGToOTFFontConverter::appendOS2Table): |
| (WebCore::SVGToOTFFontConverter::appendVORGTable): |
| (WebCore::SVGToOTFFontConverter::appendVHEATable): |
| (WebCore::SVGToOTFFontConverter::appendVMTXTable): |
| (WebCore::SVGToOTFFontConverter::addKerningPair): |
| (WebCore::CFFBuilder::CFFBuilder): |
| (WebCore::CFFBuilder::boundingBox): |
| (WebCore::CFFBuilder::updateBoundingBox): |
| (WebCore::CFFBuilder::unscaledLineTo): |
| (WebCore::SVGToOTFFontConverter::transcodeGlyphPaths): |
| (WebCore::SVGToOTFFontConverter::processGlyphElement): |
| (WebCore::SVGToOTFFontConverter::appendLigatureGlyphs): |
| (WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter): |
| |
| 2015-12-01 Brady Eidson <beidson@apple.com> |
| |
| Give a more detailed message for TypeErrors that result from EnforceRange. |
| https://bugs.webkit.org/show_bug.cgi?id=151725 |
| |
| Reviewed by Tim Horton. |
| |
| No new tests (Covered by changes to existing tests). |
| |
| * bindings/js/JSDOMBinding.cpp: |
| (WebCore::rangeErrorString): |
| (WebCore::enforceRange): |
| |
| 2015-12-01 Jer Noble <jer.noble@apple.com> |
| |
| [iOS] Abrupt transition between Fullscreen -> PiP |
| https://bugs.webkit.org/show_bug.cgi?id=151719 |
| |
| Reviewed by Eric Carlson. |
| |
| Rather than abruptly hiding the fullscreen window, explicitly exit fullscreen mode upon entering PiP. |
| |
| * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: |
| (WebVideoFullscreenInterfaceAVKit::didStartPictureInPicture): |
| |
| 2015-12-01 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Give String and AtomicString an existingHash() function |
| https://bugs.webkit.org/show_bug.cgi?id=151717 |
| |
| Reviewed by Andreas Kling. |
| |
| No new tests because there is no behavior change. |
| |
| * platform/graphics/Font.cpp: |
| (WebCore::CharacterFallbackMapKeyHash::hash): |
| |
| 2015-12-01 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [Win] Build fix after r192895 |
| |
| Unreviewed. |
| |
| * platform/graphics/FontPlatformData.h: |
| (WebCore::FontPlatformData::isSystemFont): |
| (WebCore::FontPlatformData::setIsSystemFont): |
| * platform/graphics/win/SimpleFontDataCGWin.cpp: |
| (WebCore::Font::platformInit): |
| (WebCore::Font::platformWidthForGlyph): |
| |
| 2015-12-01 Alexey Proskuryakov <ap@apple.com> |
| |
| Update bindings test results after r192903. |
| |
| * bindings/scripts/test/JS/JSTestEventConstructor.cpp: |
| (WebCore::JSTestEventConstructorConstructor::construct): |
| |
| 2015-12-01 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [ES6] Implement LLInt/Baseline Support for ES6 Generators and enable this feature |
| https://bugs.webkit.org/show_bug.cgi?id=150792 |
| |
| Reviewed by Saam Barati. |
| |
| * Configurations/FeatureDefines.xcconfig: |
| |
| 2015-12-01 Brady Eidson <beidson@apple.com> |
| |
| Add "RaisesExceptionWithMessage" IDL attribute. |
| https://bugs.webkit.org/show_bug.cgi?id=151720 |
| |
| Reviewed by Alex Christensen. |
| |
| No new tests (Covered by changes to existing bindings tests). |
| |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateImplementation): |
| (GenerateParametersCheck): |
| (GenerateReturnParameters): |
| (GenerateImplementationFunctionCall): |
| (GenerateConstructorDefinition): |
| |
| * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: |
| (webkit_dom_test_obj_method_with_exception_with_message): |
| * bindings/scripts/test/GObject/WebKitDOMTestObj.h: |
| |
| * bindings/scripts/test/JS/JSTestObj.cpp: |
| (WebCore::jsTestObjPrototypeFunctionMethodWithExceptionWithMessage): |
| |
| * bindings/scripts/test/ObjC/DOMTestObj.h: |
| * bindings/scripts/test/ObjC/DOMTestObj.mm: |
| (-[DOMTestObj methodWithExceptionWithMessage]): |
| |
| * bindings/scripts/test/TestObj.idl: |
| |
| 2015-12-01 Darin Adler <darin@apple.com> |
| |
| Fix anomaly where isMouseEvent returns false for wheel events |
| https://bugs.webkit.org/show_bug.cgi?id=151685 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| Back three years ago when we made WheelEvent inherit from MouseEvent, |
| someone decided that isMouseEvent should return false for the wheel events. |
| An audit of all the callers of isMouseEvent indicated that in almost every |
| case, it's better to return true, so this patch does that. |
| |
| All the other call sites that were checking isMouseEvent, here and in the |
| higher levels of WebKit, benefit from getting true even for wheel events. |
| |
| * bindings/objc/DOMEvents.mm: |
| (kitClass): Use eventInterface instead of isMouseEvent to create the appropriate |
| wrapper class. |
| |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateConstructorDefinition): Eliminated a peculiar search and replace |
| mistake; "stateution" instead of "execution". |
| |
| * dom/Node.cpp: |
| (WebCore::Node::handleLocalEvents): Add an isWheelEvent check here so that we |
| will not ignore wheel events. This preserves behavior. A FIXME questions whether |
| that is the behavior we want. |
| |
| * dom/WheelEvent.cpp: |
| (WebCore::WheelEvent::isMouseEvent): Deleted. No need to override and return false. |
| * dom/WheelEvent.h: Ditto. |
| |
| * html/HTMLTextAreaElement.cpp: |
| (WebCore::HTMLTextAreaElement::defaultEventHandler): Removed unneeded checks for |
| drag events and wheel events; both are types of mouse event, and so a single |
| isMouseEvent check takes care of all three of these. |
| * html/TextFieldInputType.cpp: |
| (WebCore::TextFieldInputType::forwardEvent): Ditto. |
| |
| 2015-12-01 Alex Christensen <achristensen@webkit.org> |
| |
| Use Optional for matrix inverses |
| https://bugs.webkit.org/show_bug.cgi?id=151575 |
| |
| Reviewed by Myles C. Maxfield. |
| |
| This patch should have no change in behavior. Some unnecessary checks are removed. |
| There are a few places where we are no longer multiplying by the identity matrix. |
| This should remind future coders that not all matrices are invertible. |
| |
| * css/WebKitCSSMatrix.cpp: |
| (WebCore::WebKitCSSMatrix::inverse): |
| (WebCore::WebKitCSSMatrix::translate): |
| * html/canvas/CanvasRenderingContext2D.cpp: |
| (WebCore::CanvasRenderingContext2D::restore): |
| (WebCore::CanvasRenderingContext2D::scale): |
| (WebCore::CanvasRenderingContext2D::rotate): |
| (WebCore::CanvasRenderingContext2D::translate): |
| (WebCore::CanvasRenderingContext2D::transform): |
| (WebCore::CanvasRenderingContext2D::setTransform): |
| (WebCore::CanvasRenderingContext2D::isPointInPathInternal): |
| (WebCore::CanvasRenderingContext2D::isPointInStrokeInternal): |
| * platform/graphics/GraphicsContext.cpp: |
| (WebCore::GraphicsContext::computeLineBoundsAndAntialiasingModeForText): |
| * platform/graphics/ShadowBlur.cpp: |
| (WebCore::ShadowBlur::calculateLayerBoundingRect): |
| * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: |
| (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput): |
| * platform/graphics/cg/ImageBufferCG.cpp: |
| (WebCore::ImageBuffer::putByteArray): |
| * platform/graphics/filters/Filter.h: |
| (WebCore::Filter::setFilterScale): |
| (WebCore::Filter::absoluteTransform): |
| (WebCore::Filter::mapAbsolutePointToLocalPoint): |
| (WebCore::Filter::renderingMode): |
| (WebCore::Filter::setRenderingMode): |
| * platform/graphics/texmap/TextureMapperLayer.cpp: |
| (WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica): |
| (WebCore::TextureMapperLayer::replicaTransform): |
| (WebCore::TextureMapperLayer::setAnimatedFilters): |
| (WebCore::TextureMapperLayer::mapScrollOffset): |
| * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: |
| (WebCore::CoordinatedGraphicsLayer::transformedVisibleRect): |
| (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect): |
| * platform/graphics/transforms/AffineTransform.cpp: |
| (WebCore::AffineTransform::yScale): |
| (WebCore::det): |
| (WebCore::AffineTransform::isInvertible): |
| (WebCore::AffineTransform::inverse): |
| (WebCore::AffineTransform::det): Deleted. |
| * platform/graphics/transforms/AffineTransform.h: |
| * platform/graphics/transforms/TransformState.cpp: |
| (WebCore::TransformState::mappedPoint): |
| (WebCore::TransformState::mappedQuad): |
| (WebCore::TransformState::mapQuad): |
| (WebCore::TransformState::flattenWithTransform): |
| * platform/graphics/transforms/TransformationMatrix.cpp: |
| (WebCore::TransformationMatrix::isInvertible): |
| (WebCore::TransformationMatrix::inverse): |
| * platform/graphics/transforms/TransformationMatrix.h: |
| * rendering/HitTestingTransformState.cpp: |
| (WebCore::HitTestingTransformState::flattenWithTransform): |
| (WebCore::HitTestingTransformState::mappedPoint): |
| (WebCore::HitTestingTransformState::mappedQuad): |
| (WebCore::HitTestingTransformState::mappedArea): |
| (WebCore::HitTestingTransformState::boundsOfMappedArea): |
| * rendering/PaintInfo.h: |
| (WebCore::PaintInfo::applyTransform): |
| * rendering/RenderLayer.cpp: |
| (WebCore::RenderLayer::paintLayerByApplyingTransform): |
| (WebCore::RenderLayer::hitTestLayer): |
| * rendering/svg/RenderSVGContainer.cpp: |
| (WebCore::RenderSVGContainer::nodeAtFloatPoint): |
| * rendering/svg/RenderSVGForeignObject.cpp: |
| (WebCore::RenderSVGForeignObject::nodeAtFloatPoint): |
| * rendering/svg/RenderSVGImage.cpp: |
| (WebCore::RenderSVGImage::nodeAtFloatPoint): |
| * rendering/svg/RenderSVGResourceClipper.cpp: |
| (WebCore::RenderSVGResourceClipper::hitTestClipContent): |
| * rendering/svg/RenderSVGResourceFilter.cpp: |
| (WebCore::RenderSVGResourceFilter::postApplyResource): |
| * rendering/svg/RenderSVGRoot.cpp: |
| (WebCore::RenderSVGRoot::nodeAtPoint): |
| * rendering/svg/RenderSVGShape.cpp: |
| (WebCore::RenderSVGShape::setupNonScalingStrokeContext): |
| (WebCore::RenderSVGShape::nodeAtFloatPoint): |
| (WebCore::RenderSVGShape::calculateStrokeBoundingBox): |
| * rendering/svg/RenderSVGText.cpp: |
| (WebCore::RenderSVGText::nodeAtFloatPoint): |
| * rendering/svg/SVGRenderSupport.cpp: |
| (WebCore::SVGRenderSupport::intersectRepaintRectWithShadows): |
| * rendering/svg/SVGRenderingContext.cpp: |
| (WebCore::SVGRenderingContext::clipToImageBuffer): |
| * svg/SVGLocatable.cpp: |
| (WebCore::SVGLocatable::getTransformToElement): |
| * svg/SVGMatrix.h: |
| (WebCore::SVGMatrix::inverse): |
| (WebCore::SVGMatrix::rotateFromVector): |
| |
| 2015-12-01 Tim Horton <timothy_horton@apple.com> |
| |
| Remove swipe snapshot before main document load if scroll position is already restored |
| https://bugs.webkit.org/show_bug.cgi?id=151224 |
| |
| Reviewed by Darin Adler. |
| |
| * loader/FrameLoaderClient.h: |
| * loader/HistoryController.cpp: |
| (WebCore::HistoryController::restoreScrollPositionAndViewState): |
| Each time we try to restore the scroll position, see if the requested |
| scroll position is something we can scroll to by going through ScrollView's |
| scroll position constraint logic. If we can scroll there, tell our client |
| (and eventually ViewGestureController) that we successfully restored the |
| scroll position! |
| |
| 2015-12-01 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [iOS] Adjacent emoji overlap each other |
| https://bugs.webkit.org/show_bug.cgi?id=151690 |
| <rdar://problem/23430453> |
| |
| Reviewed by Simon Fraser. |
| |
| This is a partial revert of r188737. It turns out that only CoreText gives correct |
| glyph advances for emoji. In r188737, I reverted the special iOS emoji processing, |
| but also removed the logic of using CoreText for emoji advances. This patch adds |
| the m_isEmoji boolean back, so we can tell if we need to force |
| platformWidthForGlyph() to use CoreText. |
| |
| This patch also performs a little bit of cleanup by moving Font's m_isSystemFont |
| to FontPlatformData where it belongs. |
| |
| Test: fast/text/emoji-overlap.html |
| |
| * platform/graphics/Font.cpp: |
| (WebCore::fillGlyphPage): Removed unnecessary argument. |
| (WebCore::Font::Font): Deleted. |
| * platform/graphics/Font.h: Moved getters and booleans to FontPlatformData. |
| (WebCore::Font::hasCustomTracking): Deleted. |
| (WebCore::Font::isSystemFont): Deleted. |
| * platform/graphics/FontPlatformData.cpp: |
| (WebCore::FontPlatformData::FontPlatformData): Initialize new booleans. |
| (WebCore::FontPlatformData::operator=): Ditto. |
| * platform/graphics/FontPlatformData.h: Getters for new booleans. |
| (WebCore::FontPlatformData::isSystemFont): |
| (WebCore::FontPlatformData::hasCustomTracking): |
| (WebCore::FontPlatformData::isEmoji): |
| * platform/graphics/GlyphPage.h: Remove unnecessary argument. |
| * platform/graphics/cocoa/FontCocoa.mm: |
| (WebCore::advanceForColorBitmapFont): Return an Optional instead of using an out |
| argument. |
| (WebCore::canUseFastGlyphAdvanceGetter): Make sure that we use CoreText if we are |
| using the Emoji font. |
| (WebCore::Font::platformWidthForGlyph): |
| (WebCore::Font::platformInit): Deleted. |
| * platform/graphics/cocoa/FontPlatformDataCocoa.mm: Deal with the new booleans. |
| (WebCore::FontPlatformData::FontPlatformData): |
| (WebCore::FontPlatformData::platformDataInit): |
| (WebCore::FontPlatformData::platformDataAssign): |
| (WebCore::FontPlatformData::setFont): |
| * platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp: |
| (WebCore::GlyphPage::fill): Removed unnecessary argument. |
| * platform/graphics/mac/GlyphPageMac.cpp: |
| (WebCore::shouldUseCoreText): Use a reference instead of a pointer. |
| (WebCore::GlyphPage::fill): Removed unnecessary argument. |
| * platform/graphics/win/FontCGWin.cpp: |
| (WebCore::FontCascade::drawGlyphs): Update for new location of booleans. |
| * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp: |
| (WebCore::GlyphPage::fill): Removed unnecessary argument. |
| * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp: |
| (WebCore::GlyphPage::fill): Removed unnecessary argument. |
| * platform/graphics/win/UniscribeController.cpp: |
| (WebCore::UniscribeController::shapeAndPlaceItem): Update for new location of |
| booleans. |
| |
| 2015-12-01 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| [Win] Web fonts with small caps have excess whitespace with the complex text codepath |
| https://bugs.webkit.org/show_bug.cgi?id=151698 |
| |
| Reviewed by Darin Adler. |
| |
| When performing small-caps on OS X, we bake in the smaller font size into the platform's native font |
| object. On Windows, we currently don't do that; instead, we just change some ancillary data inside |
| the FontPlatformData, and our advance & drawing calculations are sensitive to this ancillary data. |
| However, in the complex text codepath, Uniscribe only takes the native font object as input, and |
| therefore operates with the wrong font size. |
| |
| The solution is to bake the smaller font size into the native platform font on Windows, similar to |
| OS X. It isn't clear why we didn't do this previously, but it seems like we weren't sure that |
| Windows would select the correct font when we provide new selection criteria. However, for web fonts, |
| we already use the same mechanism (CreateFontIndirect()) when we create the font in the first place; |
| therefore, this scaled font request will always work as well. |
| |
| Test: fast/text/small-caps-complex.html |
| |
| * platform/graphics/win/SimpleFontDataWin.cpp: |
| (WebCore::Font::platformCreateScaledFont): Deleted. |
| |
| 2015-12-01 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: storage/indexeddb/create-and-remove-object-store.html fails. |
| https://bugs.webkit.org/show_bug.cgi?id=151704 |
| |
| Reviewed by Alex Christensen. |
| |
| No new tests (At least one previously failing test now passes). |
| |
| * Modules/indexeddb/client/IDBDatabaseImpl.cpp: |
| (WebCore::IDBClient::IDBDatabase::deleteObjectStore): |
| |
| 2015-12-01 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: storage/indexeddb/basics.html fails. |
| https://bugs.webkit.org/show_bug.cgi?id=151694 |
| |
| Reviewed by Alex Christensen. |
| |
| No new tests (At least one failing test now passes, and covered by changes to 3 previously incorrect tests). |
| |
| * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp: |
| (WebCore::IDBClient::IDBOpenDBRequest::versionChangeTransactionWillFinish): Set the flag determining whether |
| or not the request's transaction should be exposed to the DOM. |
| * Modules/indexeddb/client/IDBOpenDBRequestImpl.h: |
| |
| * Modules/indexeddb/client/IDBRequestImpl.cpp: |
| (WebCore::IDBClient::IDBRequest::result): Throw an exception if the request is not done. |
| (WebCore::IDBClient::IDBRequest::error): Ditto. |
| (WebCore::IDBClient::IDBRequest::transaction): Only return the transaction to the DOM if the flag says so. |
| * Modules/indexeddb/client/IDBRequestImpl.h: |
| |
| * Modules/indexeddb/client/IDBTransactionImpl.cpp: |
| (WebCore::IDBClient::IDBTransaction::abort): |
| (WebCore::IDBClient::IDBTransaction::commit): |
| |
| 2015-12-01 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] ASSERTION FAILED: m_table running /webkit2/BackForwardList/navigation in Debug build |
| https://bugs.webkit.org/show_bug.cgi?id=151700 |
| |
| Reviewed by Martin Robinson. |
| |
| This happens when the frame notifies its observers that the page |
| will be detached. The m_table that asserts is the |
| FrameDestructionObserver HashSet. It happens when clearing the |
| GObject DOM cache wrappers during frame destruction, and there's a |
| Document object wrapped whose last reference is held by the DOM |
| wrapper. In that case, the Document object is destroyed while the |
| frame is being destroyed. Deleting the wrapper objects after the |
| frame destruction fixes the crash. |
| |
| * bindings/gobject/DOMObjectCache.cpp: |
| |
| 2015-12-01 Youenn Fablet <youenn.fablet@crf.canon.fr> |
| |
| [Streams API] pull function of tee should call readFromReadableStreamReader directly |
| https://bugs.webkit.org/show_bug.cgi?id=151497 |
| |
| Reviewed by Darin Adler. |
| |
| Covered by added test. |
| |
| * Modules/streams/ReadableStreamInternals.js: |
| (teeReadableStreamPullFunction): directly calling readFromReadableStreamReader. |
| |
| 2015-12-01 Youenn Fablet <youenn.fablet@crf.canon.fr> |
| |
| [Streams API] Clean-up JS built-in code using arrow functions |
| https://bugs.webkit.org/show_bug.cgi?id=151489 |
| |
| Reviewed by Darin Adler. |
| |
| Using arrow functions to remove need for _this. |
| Made errorWritableStream take two parameters to simplify code and align it with the spec. |
| |
| No change in behavior. |
| |
| * Modules/streams/ReadableStream.js: |
| (initializeReadableStream): |
| * Modules/streams/WritableStream.js: |
| (initializeWritableStream): |
| (abort): |
| (write): |
| * Modules/streams/WritableStreamInternals.js: |
| (errorWritableStream): |
| (writableStreamAdvanceQueue): |
| (closeWritableStream): |
| |
| 2015-12-01 Youenn Fablet <youenn.fablet@crf.canon.fr> |
| |
| [Streams API] teeReadableStream should not directly use stream.getReader() |
| https://bugs.webkit.org/show_bug.cgi?id=151487 |
| |
| Reviewed by Darin Adler. |
| |
| Covered by added test. |
| |
| * Modules/streams/ReadableStreamInternals.js: |
| (teeReadableStream): Create a @ReadableStreamReader instead of calling getReader() which may be disrupted by user scripts. |
| |
| 2015-12-01 Youenn Fablet <youenn.fablet@crf.canon.fr> |
| |
| [Streams API] streams should not directly use Number and related methods |
| https://bugs.webkit.org/show_bug.cgi?id=151499 |
| |
| Reviewed by Darin Adler. |
| |
| Covered by updated test. |
| |
| Using @Number, @isFinite and @isNaN in place of Number, Number.isFinite and Number.isNaN. |
| |
| * Modules/streams/ReadableStreamInternals.js: |
| (enqueueInReadableStream): |
| * Modules/streams/StreamInternals.js: |
| (validateAndNormalizeQueuingStrategy): |
| (enqueueValueWithSize): |
| |
| 2015-12-01 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed. Fix GTK+ build after r192849. |
| |
| * bindings/scripts/CodeGeneratorGObject.pm: |
| (GenerateFunction): |
| * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: |
| (webkit_dom_test_interface_supplemental_method1): |
| (webkit_dom_test_interface_supplemental_method2): |
| (webkit_dom_test_interface_set_supplemental_str2): |
| (webkit_dom_test_interface_get_supplemental_node): |
| (webkit_dom_test_interface_set_supplemental_node): |
| |
| 2015-12-01 Youenn Fablet <youenn.fablet@crf.canon.fr> |
| |
| [Streams API] Remove use of @catch for exposed promises |
| https://bugs.webkit.org/show_bug.cgi?id=151625 |
| |
| Reviewed by Darin Adler. |
| |
| Promise @catch is calling "then" which may be controlled by user scripts. |
| This patch simply replaces @catch by calling @then directly. |
| |
| Covered by modified tests. |
| |
| * Modules/streams/ReadableStream.js: |
| (pipeTo): |
| * Modules/streams/ReadableStreamInternals.js: |
| (teeReadableStream): |
| |
| 2015-11-30 Jaehun Lim <ljaehun.lim@samsung.com> |
| |
| Unreviewed, fix build after r192848 and r192849 |
| |
| - Rename canSuspendForPageCache to canSuspendForDocumentSuspension |
| - Use references instead of pointers |
| |
| * Modules/battery/BatteryManager.cpp: |
| (WebCore::BatteryManager::canSuspendForDocumentSuspension): |
| (WebCore::BatteryManager::canSuspendForPageCache): Deleted. |
| * Modules/battery/BatteryManager.h: |
| * Modules/battery/NavigatorBattery.cpp: |
| (WebCore::NavigatorBattery::webkitBattery): |
| * Modules/battery/NavigatorBattery.h: |
| * Modules/gamepad/deprecated/NavigatorGamepad.cpp: |
| (WebCore::NavigatorGamepad::webkitGetGamepads): |
| * Modules/gamepad/deprecated/NavigatorGamepad.h: |
| * Modules/navigatorcontentutils/NavigatorContentUtils.cpp: |
| (WebCore::NavigatorContentUtils::registerProtocolHandler): |
| (WebCore::NavigatorContentUtils::isProtocolHandlerRegistered): |
| (WebCore::NavigatorContentUtils::unregisterProtocolHandler): |
| * Modules/navigatorcontentutils/NavigatorContentUtils.h: |
| * Modules/vibration/NavigatorVibration.cpp: |
| (WebCore::NavigatorVibration::vibrate): |
| * Modules/vibration/NavigatorVibration.h: |
| |
| 2015-11-30 Jiewen Tan <jiewen_tan@apple.com> |
| |
| Amazon.com Additional Information links aren't clickable |
| https://bugs.webkit.org/show_bug.cgi?id=151401 |
| <rdar://problem/23454261> |
| |
| Reviewed by Darin Adler. |
| |
| The cause of this issue is that the painting order is different from the hittest order so we can end up |
| with visible but unreachable content. To fix this, the executation flow of hittest has been reordered. |
| According to the paint system, which renders the webpage from the bottom RenderLayer to the top, contents |
| are rendered before floats. Hence, for the hittest, which determines the hitted location from top RenderLayer |
| to the bottom, should do it reversedly. Now, hittest will first test floats then contents. |
| |
| Test: fast/block/float/hit-test-on-overlapping-floats.html |
| |
| * rendering/RenderBlock.cpp: |
| (WebCore::RenderBlock::nodeAtPoint): |
| |
| 2015-11-30 Simon Fraser <simon.fraser@apple.com> |
| |
| Fix possible crash with animated layers in reflections |
| https://bugs.webkit.org/show_bug.cgi?id=151689 |
| rdar://problem/23018612 |
| |
| Reviewed by Darin Adler. |
| |
| Reflections create additional PlatformCALayers whose owner is set to the GraphicsLayerCA. |
| Those PlatformCALayers need their owner pointer cleared out when the GraphicsLayerCA |
| is destroyed. |
| |
| Tested by compositing/reflections/nested-reflection-transition.html |
| |
| * platform/graphics/ca/GraphicsLayerCA.cpp: |
| * platform/graphics/ca/GraphicsLayerCA.h: |
| |
| 2015-11-30 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Iterating index cursors to a specific key is busted. |
| https://bugs.webkit.org/show_bug.cgi?id=151684 |
| |
| Reviewed by Darin Adler. |
| |
| No new tests (At least one failing test now passes). |
| |
| * Modules/indexeddb/server/MemoryIndexCursor.cpp: |
| (WebCore::IDBServer::MemoryIndexCursor::iterate): |
| |
| 2015-11-30 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: ObjectStore cursors should not be able to iterate out of their range. |
| https://bugs.webkit.org/show_bug.cgi?id=151683 |
| |
| Reviewed by Darin Adler. |
| |
| No new tests (Covered by at least one failing test that now passes). |
| |
| * Modules/indexeddb/server/MemoryObjectStoreCursor.cpp: |
| (WebCore::IDBServer::MemoryObjectStoreCursor::incrementForwardIterator): |
| (WebCore::IDBServer::MemoryObjectStoreCursor::incrementReverseIterator): |
| |
| 2015-11-30 Anders Carlsson <andersca@apple.com> |
| |
| CTTE autogenerated bindings code |
| https://bugs.webkit.org/show_bug.cgi?id=151682 |
| |
| Reviewed by Darin Adler. |
| |
| Make sure that JS bindings pass a reference to the object when calling static member functions. |
| |
| * Modules/gamepad/NavigatorGamepad.cpp: |
| (WebCore::NavigatorGamepad::getGamepads): |
| * Modules/gamepad/NavigatorGamepad.h: |
| * Modules/geolocation/NavigatorGeolocation.cpp: |
| (WebCore::NavigatorGeolocation::geolocation): |
| * Modules/geolocation/NavigatorGeolocation.h: |
| * Modules/mediasource/AudioTrackMediaSource.h: |
| (WebCore::AudioTrackMediaSource::sourceBuffer): |
| * Modules/mediasource/TextTrackMediaSource.h: |
| (WebCore::TextTrackMediaSource::sourceBuffer): |
| * Modules/mediasource/VideoTrackMediaSource.h: |
| (WebCore::VideoTrackMediaSource::sourceBuffer): |
| * Modules/mediastream/HTMLMediaElementMediaStream.cpp: |
| (WebCore::HTMLMediaElementMediaStream::srcObject): |
| (WebCore::HTMLMediaElementMediaStream::setSrcObject): |
| * Modules/mediastream/HTMLMediaElementMediaStream.h: |
| * Modules/mediastream/NavigatorMediaDevices.cpp: |
| (WebCore::NavigatorMediaDevices::mediaDevices): |
| * Modules/mediastream/NavigatorMediaDevices.h: |
| * Modules/notifications/DOMWindowNotifications.cpp: |
| (WebCore::DOMWindowNotifications::webkitNotifications): |
| * Modules/notifications/DOMWindowNotifications.h: |
| * Modules/notifications/Notification.cpp: |
| (WebCore::Notification::Notification): |
| * Modules/notifications/WorkerGlobalScopeNotifications.cpp: |
| (WebCore::WorkerGlobalScopeNotifications::webkitNotifications): |
| * Modules/notifications/WorkerGlobalScopeNotifications.h: |
| * Modules/speech/DOMWindowSpeechSynthesis.cpp: |
| (WebCore::DOMWindowSpeechSynthesis::speechSynthesis): |
| * Modules/speech/DOMWindowSpeechSynthesis.h: |
| * Modules/webdatabase/DOMWindowWebDatabase.cpp: |
| (WebCore::DOMWindowWebDatabase::openDatabase): |
| * Modules/webdatabase/DOMWindowWebDatabase.h: |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateImplementation): |
| (GenerateParametersCheck): |
| * testing/Internals.cpp: |
| (WebCore::Internals::enableMockSpeechSynthesizer): |
| |
| 2015-11-30 Katlyn Graff <kgraff@apple.com> |
| |
| Rename ActiveDOMObject/DOMWindow PageCacheSuspension code to support more reasons for suspension |
| https://bugs.webkit.org/show_bug.cgi?id=151677 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Simply a refactoring patch, so no new tests. |
| |
| * Modules/encryptedmedia/MediaKeySession.cpp: |
| (WebCore::MediaKeySession::canSuspendForDocumentSuspension): |
| (WebCore::MediaKeySession::canSuspendForPageCache): Deleted. |
| * Modules/encryptedmedia/MediaKeySession.h: |
| * Modules/geolocation/Geolocation.cpp: |
| (WebCore::Geolocation::canSuspendForDocumentSuspension): |
| (WebCore::Geolocation::canSuspendForPageCache): Deleted. |
| * Modules/geolocation/Geolocation.h: |
| * Modules/indexeddb/DOMWindowIndexedDatabase.cpp: |
| (WebCore::DOMWindowIndexedDatabase::disconnectFrameForDocumentSuspension): |
| (WebCore::DOMWindowIndexedDatabase::reconnectFrameFromDocumentSuspension): |
| (WebCore::DOMWindowIndexedDatabase::disconnectFrameForPageCache): Deleted. |
| (WebCore::DOMWindowIndexedDatabase::reconnectFrameFromPageCache): Deleted. |
| * Modules/indexeddb/DOMWindowIndexedDatabase.h: |
| * Modules/indexeddb/client/IDBDatabaseImpl.cpp: |
| (WebCore::IDBClient::IDBDatabase::canSuspendForDocumentSuspension): |
| (WebCore::IDBClient::IDBDatabase::canSuspendForPageCache): Deleted. |
| * Modules/indexeddb/client/IDBDatabaseImpl.h: |
| * Modules/indexeddb/client/IDBRequestImpl.cpp: |
| (WebCore::IDBClient::IDBRequest::canSuspendForDocumentSuspension): |
| (WebCore::IDBClient::IDBRequest::canSuspendForPageCache): Deleted. |
| * Modules/indexeddb/client/IDBRequestImpl.h: |
| * Modules/indexeddb/client/IDBTransactionImpl.cpp: |
| (WebCore::IDBClient::IDBTransaction::canSuspendForDocumentSuspension): |
| (WebCore::IDBClient::IDBTransaction::canSuspendForPageCache): Deleted. |
| * Modules/indexeddb/client/IDBTransactionImpl.h: |
| * Modules/indexeddb/legacy/LegacyDatabase.cpp: |
| (WebCore::LegacyDatabase::canSuspendForDocumentSuspension): |
| (WebCore::LegacyDatabase::canSuspendForPageCache): Deleted. |
| * Modules/indexeddb/legacy/LegacyDatabase.h: |
| * Modules/indexeddb/legacy/LegacyRequest.cpp: |
| (WebCore::LegacyRequest::canSuspendForDocumentSuspension): |
| (WebCore::LegacyRequest::canSuspendForPageCache): Deleted. |
| * Modules/indexeddb/legacy/LegacyRequest.h: |
| * Modules/indexeddb/legacy/LegacyTransaction.cpp: |
| (WebCore::LegacyTransaction::canSuspendForDocumentSuspension): |
| (WebCore::LegacyTransaction::canSuspendForPageCache): Deleted. |
| * Modules/indexeddb/legacy/LegacyTransaction.h: |
| * Modules/mediasource/MediaSource.cpp: |
| (WebCore::MediaSource::canSuspendForDocumentSuspension): |
| (WebCore::MediaSource::canSuspendForPageCache): Deleted. |
| * Modules/mediasource/MediaSource.h: |
| * Modules/mediasource/SourceBuffer.cpp: |
| (WebCore::SourceBuffer::canSuspendForDocumentSuspension): |
| (WebCore::SourceBuffer::canSuspendForPageCache): Deleted. |
| * Modules/mediasource/SourceBuffer.h: |
| * Modules/mediastream/MediaStreamTrack.cpp: |
| (WebCore::MediaStreamTrack::canSuspendForDocumentSuspension): |
| (WebCore::MediaStreamTrack::canSuspendForPageCache): Deleted. |
| * Modules/mediastream/MediaStreamTrack.h: |
| * Modules/mediastream/RTCDTMFSender.cpp: |
| (WebCore::RTCDTMFSender::canSuspendForDocumentSuspension): |
| (WebCore::RTCDTMFSender::canSuspendForPageCache): Deleted. |
| * Modules/mediastream/RTCDTMFSender.h: |
| * Modules/mediastream/RTCPeerConnection.cpp: |
| (WebCore::RTCPeerConnection::canSuspendForDocumentSuspension): |
| (WebCore::RTCPeerConnection::canSuspendForPageCache): Deleted. |
| * Modules/mediastream/RTCPeerConnection.h: |
| * Modules/notifications/DOMWindowNotifications.cpp: |
| (WebCore::DOMWindowNotifications::disconnectFrameForDocumentSuspension): |
| (WebCore::DOMWindowNotifications::reconnectFrameFromDocumentSuspension): |
| (WebCore::DOMWindowNotifications::disconnectFrameForPageCache): Deleted. |
| (WebCore::DOMWindowNotifications::reconnectFrameFromPageCache): Deleted. |
| * Modules/notifications/DOMWindowNotifications.h: |
| * Modules/notifications/Notification.cpp: |
| (WebCore::Notification::canSuspendForDocumentSuspension): |
| (WebCore::Notification::canSuspendForPageCache): Deleted. |
| * Modules/notifications/Notification.h: |
| * Modules/notifications/NotificationCenter.cpp: |
| (WebCore::NotificationCenter::canSuspendForDocumentSuspension): |
| (WebCore::NotificationCenter::canSuspendForPageCache): Deleted. |
| * Modules/notifications/NotificationCenter.h: |
| * Modules/webaudio/AudioContext.cpp: |
| (WebCore::AudioContext::canSuspendForDocumentSuspension): |
| (WebCore::AudioContext::canSuspendForPageCache): Deleted. |
| * Modules/webaudio/AudioContext.h: |
| * Modules/webdatabase/DatabaseContext.cpp: |
| (WebCore::DatabaseContext::canSuspendForDocumentSuspension): |
| (WebCore::DatabaseContext::canSuspendForPageCache): Deleted. |
| * Modules/webdatabase/DatabaseContext.h: |
| * Modules/websockets/WebSocket.cpp: |
| (WebCore::WebSocket::canSuspendForDocumentSuspension): |
| (WebCore::WebSocket::canSuspendForPageCache): Deleted. |
| * Modules/websockets/WebSocket.h: |
| * css/FontLoader.cpp: |
| (WebCore::FontLoader::canSuspendForDocumentSuspension): |
| (WebCore::FontLoader::canSuspendForPageCache): Deleted. |
| * css/FontLoader.h: |
| * dom/ActiveDOMObject.cpp: |
| (WebCore::ActiveDOMObject::canSuspendForDocumentSuspension): |
| (WebCore::ActiveDOMObject::canSuspendForPageCache): Deleted. |
| * dom/ActiveDOMObject.h: |
| * dom/Document.cpp: |
| (WebCore::Document::~Document): |
| * dom/ScriptExecutionContext.cpp: |
| (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjectsForTabSuspension): |
| (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjectsForPageCache): Deleted. |
| * dom/ScriptExecutionContext.h: |
| * fileapi/FileReader.cpp: |
| (WebCore::FileReader::canSuspendForDocumentSuspension): |
| (WebCore::FileReader::canSuspendForPageCache): Deleted. |
| * fileapi/FileReader.h: |
| * history/CachedFrame.cpp: |
| (WebCore::CachedFrame::CachedFrame): |
| * history/PageCache.cpp: |
| (WebCore::canCacheFrame): |
| * html/HTMLMarqueeElement.cpp: |
| (WebCore::HTMLMarqueeElement::canSuspendForDocumentSuspension): |
| (WebCore::HTMLMarqueeElement::canSuspendForPageCache): Deleted. |
| * html/HTMLMarqueeElement.h: |
| * html/HTMLMediaElement.cpp: |
| (WebCore::HTMLMediaElement::canSuspendForDocumentSuspension): |
| (WebCore::HTMLMediaElement::canSuspendForPageCache): Deleted. |
| * html/HTMLMediaElement.h: |
| * html/HTMLSourceElement.cpp: |
| (WebCore::HTMLSourceElement::canSuspendForDocumentSuspension): |
| (WebCore::HTMLSourceElement::canSuspendForPageCache): Deleted. |
| * html/HTMLSourceElement.h: |
| * html/PublicURLManager.cpp: |
| (WebCore::PublicURLManager::canSuspendForDocumentSuspension): |
| (WebCore::PublicURLManager::canSuspendForPageCache): Deleted. |
| * html/PublicURLManager.h: |
| * html/canvas/WebGLRenderingContextBase.cpp: |
| (WebCore::WebGLRenderingContextBase::canSuspendForDocumentSuspension): |
| (WebCore::WebGLRenderingContextBase::canSuspendForPageCache): Deleted. |
| * html/canvas/WebGLRenderingContextBase.h: |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::clear): |
| (WebCore::FrameLoader::open): |
| * loader/appcache/DOMApplicationCache.cpp: |
| (WebCore::DOMApplicationCache::disconnectFrameForDocumentSuspension): |
| (WebCore::DOMApplicationCache::reconnectFrameFromDocumentSuspension): |
| (WebCore::DOMApplicationCache::disconnectFrameForPageCache): Deleted. |
| (WebCore::DOMApplicationCache::reconnectFrameFromPageCache): Deleted. |
| * loader/appcache/DOMApplicationCache.h: |
| * page/DOMWindow.cpp: |
| (WebCore::DOMWindow::DOMWindow): |
| (WebCore::DOMWindow::~DOMWindow): |
| (WebCore::DOMWindow::resetUnlessSuspendedForDocumentSuspension): |
| (WebCore::DOMWindow::suspendForDocumentSuspension): |
| (WebCore::DOMWindow::resumeFromDocumentSuspension): |
| (WebCore::DOMWindow::disconnectDOMWindowProperties): |
| (WebCore::DOMWindow::reconnectDOMWindowProperties): |
| (WebCore::DOMWindow::resetUnlessSuspendedForPageCache): Deleted. |
| (WebCore::DOMWindow::suspendForPageCache): Deleted. |
| (WebCore::DOMWindow::resumeFromPageCache): Deleted. |
| * page/DOMWindow.h: |
| * page/DOMWindowExtension.cpp: |
| (WebCore::DOMWindowExtension::disconnectFrameForDocumentSuspension): |
| (WebCore::DOMWindowExtension::reconnectFrameFromDocumentSuspension): |
| (WebCore::DOMWindowExtension::disconnectFrameForPageCache): Deleted. |
| (WebCore::DOMWindowExtension::reconnectFrameFromPageCache): Deleted. |
| * page/DOMWindowExtension.h: |
| * page/DOMWindowProperty.cpp: |
| (WebCore::DOMWindowProperty::disconnectFrameForDocumentSuspension): |
| (WebCore::DOMWindowProperty::reconnectFrameFromDocumentSuspension): |
| (WebCore::DOMWindowProperty::disconnectFrameForPageCache): Deleted. |
| (WebCore::DOMWindowProperty::reconnectFrameFromPageCache): Deleted. |
| * page/DOMWindowProperty.h: |
| * page/EventSource.cpp: |
| (WebCore::EventSource::canSuspendForDocumentSuspension): |
| (WebCore::EventSource::canSuspendForPageCache): Deleted. |
| * page/EventSource.h: |
| * page/SuspendableTimer.cpp: |
| (WebCore::SuspendableTimer::canSuspendForDocumentSuspension): |
| (WebCore::SuspendableTimer::canSuspendForPageCache): Deleted. |
| * page/SuspendableTimer.h: |
| * workers/Worker.cpp: |
| (WebCore::Worker::canSuspendForDocumentSuspension): |
| (WebCore::Worker::canSuspendForPageCache): Deleted. |
| * workers/Worker.h: |
| * xml/XMLHttpRequest.cpp: |
| (WebCore::XMLHttpRequest::canSuspendForDocumentSuspension): |
| (WebCore::XMLHttpRequest::canSuspendForPageCache): Deleted. |
| * xml/XMLHttpRequest.h: |
| |
| 2015-11-30 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: "prevunique" cursors should point at the lowest primary key that matches, not the highest. |
| https://bugs.webkit.org/show_bug.cgi?id=151675. |
| |
| Reviewed by Darin Adler. |
| |
| No new tests (Covered by at least one failing test that now passes, and updates to previously incorrect tests). |
| |
| * Modules/indexeddb/server/IndexValueEntry.cpp: |
| (WebCore::IDBServer::IndexValueEntry::reverseBegin): If CursorDuplicity is NoDuplicates, start at the lowest |
| entry instead of the highest. |
| (WebCore::IDBServer::IndexValueEntry::reverseFind): |
| * Modules/indexeddb/server/IndexValueEntry.h: |
| |
| * Modules/indexeddb/server/IndexValueStore.cpp: |
| (WebCore::IDBServer::IndexValueStore::reverseFind): |
| (WebCore::IDBServer::IndexValueStore::Iterator::Iterator): |
| (WebCore::IDBServer::IndexValueStore::Iterator::nextIndexEntry): |
| * Modules/indexeddb/server/IndexValueStore.h: |
| |
| * Modules/indexeddb/server/MemoryIndexCursor.cpp: |
| (WebCore::IDBServer::MemoryIndexCursor::MemoryIndexCursor): |
| (WebCore::IDBServer::MemoryIndexCursor::iterate): |
| |
| * Modules/indexeddb/shared/IDBCursorInfo.cpp: |
| (WebCore::IDBCursorInfo::duplicity): |
| (WebCore::IDBCursorInfo::isDirectionNoDuplicate): Deleted. |
| * Modules/indexeddb/shared/IDBCursorInfo.h: |
| |
| 2015-11-30 Jiewen Tan <jiewen_tan@apple.com> |
| |
| Null dereference loading Blink layout test http/tests/misc/detach-during-notifyDone.html |
| https://bugs.webkit.org/show_bug.cgi?id=149309 |
| <rdar://problem/22748363> |
| |
| Reviewed by Brent Fulgham. |
| |
| A weird order of event execution introduced by the test case will kill the webpage in a |
| subframe of the page while executing its |frame.loader().checkLoadCompleteForThisFrame()|. |
| Therefore, any frames comes after the failing subframe will have no page. Check it before |
| calling to those frames' |frame.loader().checkLoadCompleteForThisFrame()|, otherwise the |
| assertion in |frame.loader().checkLoadCompleteForThisFrame()| will fail. |
| |
| Test: http/tests/misc/detach-during-notifyDone.html |
| |
| * loader/FrameLoader.cpp: |
| (WebCore::FrameLoader::checkLoadComplete): |
| |
| 2015-11-30 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r192819. |
| https://bugs.webkit.org/show_bug.cgi?id=151681 |
| |
| This change broke existing layout tests on Windows (Requested |
| by ryanhaddad on #webkit). |
| |
| Reverted changeset: |
| |
| "Unify font-variant-* with font-variant shorthand" |
| https://bugs.webkit.org/show_bug.cgi?id=149773 |
| http://trac.webkit.org/changeset/192819 |
| |
| 2015-11-30 Darin Adler <darin@apple.com> |
| |
| Use Optional instead of isNull out argument for nullable getters |
| https://bugs.webkit.org/show_bug.cgi?id=151676 |
| |
| Reviewed by Anders Carlsson. |
| |
| No behavior change, just cleaner code. |
| |
| * Modules/geolocation/Coordinates.cpp: |
| (WebCore::Coordinates::altitude): Return an Optional. |
| (WebCore::Coordinates::altitudeAccuracy): Ditto. |
| (WebCore::Coordinates::heading): Ditto. |
| (WebCore::Coordinates::speed): Ditto. |
| * Modules/geolocation/Coordinates.h: Ditto. |
| |
| * Modules/indexeddb/IDBVersionChangeEvent.cpp: |
| (WebCore::IDBVersionChangeEvent::create): Added. The code before was calling |
| through to Event::create, which is clearly not what was wanted. Also removed |
| unneeded explicit destructor. |
| * Modules/indexeddb/IDBVersionChangeEvent.h: Changed return type of newVersion |
| to Optional and updated for above change. |
| |
| * Modules/indexeddb/client/IDBVersionChangeEventImpl.cpp: |
| (WebCore::IDBClient::IDBVersionChangeEvent::newVersion): Changed to return |
| an Optional. |
| * Modules/indexeddb/client/IDBVersionChangeEventImpl.h: Removed unused |
| default argument values; the event type one, at least, was clearly incorrect. |
| Made more things private, got rid of unneeded destructor, marked class final |
| instead of marking all functions final. |
| |
| * Modules/indexeddb/legacy/LegacyVersionChangeEvent.cpp: |
| (WebCore::LegacyVersionChangeEvent::newVersion): Same as above. |
| * Modules/indexeddb/legacy/LegacyVersionChangeEvent.h: Ditto. |
| |
| * Modules/mediastream/MediaTrackConstraints.cpp: |
| (WebCore::MediaTrackConstraints::optional): Removed bogus bool value. If we |
| come back to finish later we will have to implement optional return values |
| for arrays in the JavaScript bindings generator, which should be straightforward. |
| * Modules/mediastream/MediaTrackConstraints.h: Ditto. |
| |
| * bindings/js/JSDOMBinding.h: |
| (WebCore::toNullableJSNumber): Added. This function template is used for |
| return values that are nullable numbers. |
| |
| * bindings/scripts/CodeGeneratorGObject.pm: |
| (GenerateFunction): Replaced some existing bogus code to handle nullables with |
| new equally-bogus code that should be no worse and will compile. |
| |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateImplementation): Removed old support for nullables. |
| (NativeToJSValue): Added new support for nullable numbers. |
| |
| * bindings/scripts/CodeGeneratorObjC.pm: |
| (GenerateImplementation): Removed support for nullables. We almost certainly |
| won't need it for Objective-C bindings. |
| |
| * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Updated. |
| * bindings/scripts/test/JS/JSTestObj.cpp: Updated. |
| * bindings/scripts/test/ObjC/DOMTestObj.mm: Updated. |
| |
| 2015-11-30 Wenson Hsieh <wenson_hsieh@apple.com> |
| |
| Split platform-independent logic in AVCaptureDeviceManager out into a new class |
| https://bugs.webkit.org/show_bug.cgi?id=151388 |
| <rdar://problem/23593980> |
| |
| Reviewed by Eric Carlson. |
| |
| To prepare for creating a MockCaptureDeviceManager to be able to test |
| MediaDevices.getUserMedia, we create a platform-independent capture device manager |
| which all platforms should extend and add platform-specific logic to. |
| |
| The methods CaptureDeviceManager::createMediaSourceForCaptureDeviceWithConstraints and |
| CaptureDeviceManager::captureDeviceList should be overridden by each platform |
| CaptureDeviceManager to respectively create a RealtimeMediaSource and return a list of |
| capture devices. createMediaSourceForCaptureDeviceWithConstraints attempts to create |
| a media source for a given device with some constraints; if the contraints cannot be |
| satisfied, this returns null. |
| |
| The refactored capture device manager also introduces the notion of a platform- |
| independent capture session which may be extended by platform device managers for |
| determining whether a given constraint name, value and media type is valid. |
| |
| A platform-independent CaptureDeviceInfo now represents either the video or audio |
| component of a capture device, but not both at once. This means a capture device that |
| supports both video and audio will emit two separate capture devices. |
| |
| No new tests, since there should be no behavior change. |
| |
| * Modules/mediastream/CaptureDeviceInfo.h: Added. |
| (WebCore::CaptureSessionInfo::~CaptureSessionInfo): |
| (WebCore::CaptureSessionInfo::supportsVideoSize): |
| (WebCore::CaptureSessionInfo::bestSessionPresetForVideoDimensions): |
| * Modules/mediastream/CaptureDeviceManager.cpp: Added. |
| (CaptureDeviceManager::~CaptureDeviceManager): |
| (CaptureDeviceManager::getSourcesInfo): |
| (CaptureDeviceManager::captureDeviceFromDeviceID): |
| (CaptureDeviceManager::verifyConstraintsForMediaType): |
| (CaptureDeviceManager::bestSourcesForTypeAndConstraints): |
| (CaptureDeviceManager::sourceWithUID): |
| (CaptureDeviceManager::bestDeviceForFacingMode): |
| (facingModeFromString): |
| (CaptureDeviceManager::sessionSupportsConstraint): |
| (CaptureDeviceManager::isSupportedFrameRate): |
| * Modules/mediastream/CaptureDeviceManager.h: Added. |
| (WebCore::CaptureDeviceManager::refreshCaptureDeviceList): |
| (WebCore::CaptureDeviceManager::defaultCaptureSession): |
| * WebCore.xcodeproj/project.pbxproj: |
| * platform/mediastream/RealtimeMediaSourceSupportedConstraints.cpp: Added. |
| (WebCore::RealtimeMediaSourceSupportedConstraints::nameForConstraint): |
| (WebCore::RealtimeMediaSourceSupportedConstraints::constraintFromName): |
| (WebCore::RealtimeMediaSourceSupportedConstraints::supportsConstraint): |
| * platform/mediastream/RealtimeMediaSourceSupportedConstraints.h: |
| * platform/mediastream/mac/AVCaptureDeviceManager.h: |
| * platform/mediastream/mac/AVCaptureDeviceManager.mm: |
| (WebCore::AVCaptureSessionInfo::AVCaptureSessionInfo): |
| (WebCore::AVCaptureSessionInfo::supportsVideoSize): |
| (WebCore::AVCaptureSessionInfo::bestSessionPresetForVideoDimensions): |
| (WebCore::AVCaptureDeviceManager::captureDeviceList): |
| (WebCore::shouldConsiderDeviceInDeviceList): |
| (WebCore::AVCaptureDeviceManager::refreshCaptureDeviceList): |
| (WebCore::AVCaptureDeviceManager::AVCaptureDeviceManager): |
| (WebCore::AVCaptureDeviceManager::bestSourcesForTypeAndConstraints): |
| (WebCore::AVCaptureDeviceManager::sourceWithUID): |
| (WebCore::AVCaptureDeviceManager::getSourcesInfo): |
| (WebCore::AVCaptureDeviceManager::verifyConstraintsForMediaType): |
| (WebCore::AVCaptureDeviceManager::defaultCaptureSession): |
| (WebCore::AVCaptureDeviceManager::sessionSupportsConstraint): |
| (WebCore::AVCaptureDeviceManager::createMediaSourceForCaptureDeviceWithConstraints): |
| (WebCore::AVCaptureDeviceManager::deviceDisconnected): |
| (WebCore::AVCaptureDeviceManager::isSupportedFrameRate): |
| (WebCore::CaptureDevice:::m_enabled): Deleted. |
| (WebCore::captureDeviceList): Deleted. |
| (WebCore::captureDeviceFromDeviceID): Deleted. |
| (WebCore::refreshCaptureDeviceList): Deleted. |
| (WebCore::AVCaptureDeviceManager::bestSessionPresetForVideoSize): Deleted. |
| (WebCore::AVCaptureDeviceManager::deviceSupportsFacingMode): Deleted. |
| (WebCore::AVCaptureDeviceManager::bestDeviceForFacingMode): Deleted. |
| (WebCore::AVCaptureDeviceManager::isValidConstraint): Deleted. |
| (WebCore::AVCaptureDeviceManager::validConstraintNames): Deleted. |
| (WebCore::AVCaptureDeviceManager::validFacingModes): Deleted. |
| * platform/mediastream/mac/AVVideoCaptureSource.mm: |
| (WebCore::AVVideoCaptureSource::applyConstraints): |
| * platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp: |
| (WebCore::RealtimeMediaSourceCenterMac::validateRequestConstraints): |
| (WebCore::RealtimeMediaSourceCenterMac::createMediaStream): |
| |
| 2015-11-30 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Set the correct source on the IDBRequest for cursor updates |
| https://bugs.webkit.org/show_bug.cgi?id=151665 |
| |
| Reviewed by Andy Estes. |
| |
| No new tests (At least one existing failing test now passes). |
| |
| * Modules/indexeddb/client/IDBCursorImpl.cpp: |
| (WebCore::IDBClient::IDBCursor::update): |
| |
| * Modules/indexeddb/client/IDBObjectStoreImpl.cpp: |
| (WebCore::IDBClient::IDBObjectStore::putForCursorUpdate): |
| (WebCore::IDBClient::IDBObjectStore::putOrAdd): |
| * Modules/indexeddb/client/IDBObjectStoreImpl.h: |
| |
| * Modules/indexeddb/client/IDBRequestImpl.cpp: |
| (WebCore::IDBClient::IDBRequest::IDBRequest): |
| (WebCore::IDBClient::IDBRequest::setSource): |
| * Modules/indexeddb/client/IDBRequestImpl.h: |
| |
| 2015-11-30 Tim Horton <timothy_horton@apple.com> |
| |
| Get rid of the legacy TextIndicatorWindow style |
| https://bugs.webkit.org/show_bug.cgi?id=151674 |
| |
| Reviewed by Anders Carlsson. |
| |
| * page/TextIndicator.h: |
| * page/mac/TextIndicatorWindow.mm: |
| (-[WebTextIndicatorView initWithFrame:textIndicator:margin:offset:]): Deleted. |
| |
| 2015-11-30 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Correct handling of cursors finishing iteration. |
| https://bugs.webkit.org/show_bug.cgi?id=151664 |
| |
| Reviewed by Andy Estes. |
| |
| No new tests (At least one previously failing test now passes). |
| |
| * Modules/indexeddb/client/IDBCursorImpl.cpp: |
| (WebCore::IDBClient::IDBCursor::setGetResult): |
| |
| * Modules/indexeddb/client/IDBObjectStoreImpl.cpp: |
| (WebCore::IDBClient::IDBObjectStore::putOrAdd): |
| |
| 2015-11-30 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Unify font-variant-* with font-variant shorthand |
| https://bugs.webkit.org/show_bug.cgi?id=149773 |
| |
| Reviewed by Darin Adler. |
| |
| This patch makes font-variant a shorthand for the following properties: |
| font-variant-ligatures |
| font-variant-position |
| font-variant-caps |
| font-variant-numeric |
| font-variant-alternates |
| font-variant-east-asian |
| |
| This is consistent with the CSS Fonts Level 3 spec. |
| |
| This patch also migrates the "font" longhand to use the font-variant-caps |
| property. |
| |
| Test: fast/text/font-variant-shorthand.html |
| |
| * css/CSSComputedStyleDeclaration.cpp: |
| (WebCore::fontVariantEastAsianPropertyValue): Rename FontVariantEastAsian values. |
| (WebCore::fontVariantFromStyle): We must consult with the longhand properties to determine |
| font-variant computed style. |
| (WebCore::ComputedStyleExtractor::propertyValue): Don't put any-old font-variant-caps inside |
| the font shorthand. |
| * css/CSSFontSelector.cpp: |
| (WebCore::CSSFontSelector::addFontFaceRule): Guard against incorrect downcasts (due to inherit |
| of the new shorthand property). |
| * css/CSSParser.cpp: Parse font-variant as a shorthand. Also implement its "normal" and "none" values. |
| (WebCore::CSSParser::parseValue): |
| (WebCore::CSSParser::parseFont): |
| (WebCore::CSSParser::parseSystemFont): |
| (WebCore::CSSParser::parseFontVariantLigatures): |
| (WebCore::CSSParser::parseFontVariantNumeric): |
| (WebCore::CSSParser::parseFontVariantEastAsian): |
| (WebCore::CSSParser::parseFontVariant): |
| (WebCore::isValidKeywordPropertyAndValue): Deleted. |
| (WebCore::isKeywordPropertyID): Deleted. |
| * css/CSSParser.h: |
| * css/CSSPropertyNames.in: Turn font-variant into a shorthand property. |
| * css/FontVariantBuilder.h: Guard against incorrect downcasts. Also update for renamed |
| FontVariantEastAsian type. |
| (WebCore::applyValueFontVariantLigatures): |
| (WebCore::applyValueFontVariantNumeric): |
| (WebCore::applyValueFontVariantEastAsian): |
| * css/StyleProperties.cpp: Update to use the more specific property. |
| (WebCore::StyleProperties::appendFontLonghandValueIfExplicit): |
| (WebCore::StyleProperties::fontValue): |
| (WebCore::StyleProperties::asText): |
| * css/StyleResolver.cpp: Ditto. |
| (WebCore::StyleResolver::isValidCueStyleProperty): |
| * editing/EditingStyle.cpp: Ditto. |
| * editing/cocoa/HTMLConverter.mm: Ditto. |
| (HTMLConverterCaches::propertyValueForNode): |
| (HTMLConverter::computedAttributesForElement): |
| * editing/ios/EditorIOS.mm: Ditto. |
| (WebCore::Editor::removeUnchangeableStyles): |
| * html/canvas/CanvasRenderingContext2D.cpp: Ditto. |
| (WebCore::CanvasRenderingContext2D::font): |
| (WebCore::CanvasRenderingContext2D::setFont): |
| * platform/graphics/FontCache.h: Removing duplicate cache key value. |
| (WebCore::FontDescriptionKey::makeFlagsKey): |
| * platform/graphics/FontCascade.cpp: Migrate to the new font-variant-caps from the old member variable. |
| (WebCore::FontCascade::glyphDataForCharacter): |
| * platform/graphics/FontCascade.h: Ditto. |
| (WebCore::FontCascade::isSmallCaps): |
| * platform/graphics/FontDescription.cpp: Ditto. |
| (WebCore::FontDescription::FontDescription): |
| * platform/graphics/FontDescription.h: Ditto. |
| (WebCore::FontCascadeDescription::equalForTextAutoSizing): |
| (WebCore::FontDescription::smallCaps): Deleted. |
| (WebCore::FontDescription::setSmallCaps): Deleted. |
| (WebCore::FontDescription::setIsSmallCaps): Deleted. |
| (WebCore::FontDescription::operator==): Deleted. |
| * platform/graphics/cocoa/FontCacheCoreText.cpp: Rename FontVariantEastAsianWidth. |
| (WebCore::computeFeatureSettingsFromVariants): |
| * platform/text/TextFlags.h: Ditto. |
| (WebCore::FontVariantSettings::operator==): |
| * rendering/RenderText.cpp: Migrage to the new font-variant-caps from the old member variable. |
| (WebCore::RenderText::widthFromCache): |
| |
| 2015-11-30 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: After versionchange transactions abort, fire onerror on the original IDBOpenDBRequest. |
| https://bugs.webkit.org/show_bug.cgi?id=151648 |
| |
| Reviewed by Andy Estes. |
| |
| No new tests. Covered by at least one existing failing test which now passes, and many |
| other tests updated to fix their incorrect behavior. |
| |
| * Modules/indexeddb/client/IDBDatabaseImpl.cpp: |
| (WebCore::IDBClient::IDBDatabase::transaction): |
| (WebCore::IDBClient::IDBDatabase::willAbortTransaction): |
| (WebCore::IDBClient::IDBDatabase::didAbortTransaction): |
| |
| * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp: |
| (WebCore::IDBClient::IDBOpenDBRequest::fireErrorAfterVersionChangeAbort): |
| * Modules/indexeddb/client/IDBOpenDBRequestImpl.h: |
| |
| * Modules/indexeddb/client/IDBTransactionImpl.cpp: |
| (WebCore::IDBClient::IDBTransaction::notifyDidAbort): |
| (WebCore::IDBClient::IDBTransaction::didAbort): |
| (WebCore::IDBClient::IDBTransaction::didCommit): |
| * Modules/indexeddb/client/IDBTransactionImpl.h: |
| |
| 2015-11-30 Chris Dumez <cdumez@apple.com> |
| |
| location.origin is undefined in a web worker |
| https://bugs.webkit.org/show_bug.cgi?id=151614 |
| |
| Reviewed by Darin Adler. |
| |
| Expose location.origin to web workers, as per: |
| https://html.spec.whatwg.org/multipage/workers.html#workerlocation |
| |
| This behavior is consistent with the behavior of Firefox and Chrome. |
| |
| Test: fast/workers/worker-location.html |
| |
| * workers/WorkerLocation.cpp: |
| (WebCore::WorkerLocation::origin): |
| * workers/WorkerLocation.h: |
| * workers/WorkerLocation.idl: |
| |
| 2015-11-30 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Support updating cursor values when the object store uses inline keys. |
| https://bugs.webkit.org/show_bug.cgi?id=151647 |
| |
| Reviewed by Andy Estes. |
| |
| No new tests (At least two previously failing tests now pass and are unskipped). |
| |
| * Modules/indexeddb/client/IDBCursorImpl.cpp: |
| (WebCore::IDBClient::IDBCursor::update): Use putForCursorUpdate() instead of put() |
| |
| * Modules/indexeddb/client/IDBObjectStoreImpl.cpp: |
| (WebCore::IDBClient::IDBObjectStore::add): |
| (WebCore::IDBClient::IDBObjectStore::put): |
| (WebCore::IDBClient::IDBObjectStore::putForCursorUpdate): Use the flag to skip the inline-key check. |
| (WebCore::IDBClient::IDBObjectStore::putOrAdd): Add a flag to skip the inline-key check. |
| * Modules/indexeddb/client/IDBObjectStoreImpl.h: |
| |
| 2015-11-30 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Resolve flaky GC-vs-wrapper issue with IDBOpenDBRequest. |
| https://bugs.webkit.org/show_bug.cgi?id=151645 |
| |
| Reviewed by Andy Estes. |
| |
| No new tests (Resolves flakiness with hundreds of existing IDB tests). |
| |
| Do to improper management of the m_hasPendingActivity flag on IDBRequestImpl, |
| the request wrapper for an IDBOpenDBRequest might be garbage collected in between the |
| onUpgradeNeeded event and onSuccess event. |
| |
| This manifested as flakiness in many tests, some more than others. |
| |
| I tried to write a targeted 100% reproducible case manually forcing GC, but could not get |
| the timing right. |
| |
| * Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp: |
| (WebCore::IDBClient::IDBOpenDBRequest::fireSuccessAfterVersionChangeCommit): |
| * Modules/indexeddb/client/IDBOpenDBRequestImpl.h: |
| |
| * Modules/indexeddb/client/IDBRequestImpl.cpp: |
| (WebCore::IDBClient::IDBRequest::dispatchEvent): |
| (WebCore::IDBClient::IDBRequest::willIterateCursor): |
| * Modules/indexeddb/client/IDBRequestImpl.h: |
| (WebCore::IDBClient::IDBRequest::isOpenDBRequest): |
| |
| 2015-11-30 Per Arne Vollan <peavo@outlook.com> |
| |
| [WinCairo][MediaFoundation] Implement seek. |
| https://bugs.webkit.org/show_bug.cgi?id=151609 |
| |
| Reviewed by Alex Christensen. |
| |
| The methods maxTimeSeekable() and buffered() needs to be implemented. |
| |
| * platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp: |
| (WebCore::MediaPlayerPrivateMediaFoundation::seekDouble): |
| (WebCore::MediaPlayerPrivateMediaFoundation::durationDouble): |
| (WebCore::MediaPlayerPrivateMediaFoundation::readyState): |
| (WebCore::MediaPlayerPrivateMediaFoundation::maxTimeSeekable): |
| (WebCore::MediaPlayerPrivateMediaFoundation::buffered): |
| (WebCore::MediaPlayerPrivateMediaFoundation::didLoadingProgress): |
| (WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::currentTime): |
| (WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::isActive): |
| * platform/graphics/win/MediaPlayerPrivateMediaFoundation.h: |
| (WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::maxTimeLoaded): |
| |
| 2015-11-30 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: openCursor() fix resulting in at least 4 more passing tests. |
| https://bugs.webkit.org/show_bug.cgi?id=151630 |
| |
| Reviewed by Andy Estes. |
| |
| No new tests (At least 4 failing tests now pass, and 9 other incorrect tests updated). |
| |
| * Modules/indexeddb/IDBGetResult.cpp: |
| (WebCore::IDBGetResult::isolatedCopy): |
| * Modules/indexeddb/IDBGetResult.h: |
| (WebCore::IDBGetResult::IDBGetResult): |
| (WebCore::IDBGetResult::isDefined): |
| |
| * Modules/indexeddb/client/IDBRequestImpl.cpp: |
| (WebCore::IDBClient::IDBRequest::didOpenOrIterateCursor): If the IDBGetResult is undefined, |
| do not expose the cursor as the result property of the IDBRequest. |
| |
| 2015-11-30 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Support keyPath injection into object store records. |
| https://bugs.webkit.org/show_bug.cgi?id=151640 |
| |
| Reviewed by Andy Estes. |
| |
| No new tests (At least one existing failure now passes and is unskipped, |
| while many other existing failures are now closer to passing). |
| |
| * Modules/indexeddb/server/MemoryObjectStore.cpp: |
| (WebCore::IDBServer::MemoryObjectStore::updateIndexesForPutRecord): Use the new UniqueIDBDatabase VM/ExecState. |
| (WebCore::IDBServer::MemoryObjectStore::populateIndexWithExistingRecords): Ditto |
| (WebCore::IDBServer::indexVM): Deleted. |
| (WebCore::IDBServer::indexGlobalExec): Deleted. |
| |
| * Modules/indexeddb/server/UniqueIDBDatabase.cpp: |
| (WebCore::IDBServer::UniqueIDBDatabase::databaseThreadVM): |
| (WebCore::IDBServer::UniqueIDBDatabase::databaseThreadExecState): |
| (WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd): If appropriate, inject the key that will be used into |
| the value before storing the record. |
| * Modules/indexeddb/server/UniqueIDBDatabase.h: |
| |
| Add modern JSValue/ExecState& version of some binding utilities, for use today and in preparation of getting |
| rid of the DOMRequestState and Deprecated::ScriptValue versions later: |
| * bindings/js/IDBBindingUtilities.cpp: |
| (WebCore::idbKeyToJSValue): |
| (WebCore::injectIDBKeyIntoScriptValue): |
| (WebCore::deserializeIDBValueData): |
| (WebCore::deserializeIDBValueDataToJSValue): |
| * bindings/js/IDBBindingUtilities.h: |
| |
| 2015-11-25 Andy Estes <aestes@apple.com> |
| |
| [Content Filtering] Avoid creating a ContentFilter when loading the empty document |
| https://bugs.webkit.org/show_bug.cgi?id=151615 |
| |
| Reviewed by Daniel Bates. |
| |
| It's expensive to create the first ContentFilter since two frameworks must be soft-linked. There's no reason to |
| pay this cost if we're just loading the empty document. |
| |
| No new tests. It's not possible to write a test that would fail without this change since ContentFilter is not |
| notified of empty document loads. |
| |
| * loader/DocumentLoader.cpp: |
| (WebCore::DocumentLoader::startLoadingMainResource): Don't initialize m_contentFilter until we know we aren't |
| loading the empty document. |
| (WebCore::DocumentLoader::DocumentLoader): |
| |
| 2015-11-29 Antoine Quint <graouts@apple.com> |
| |
| Browser does not fall back to SVG attribute value when CSS style value is invalid or not supported |
| https://bugs.webkit.org/show_bug.cgi?id=147932 |
| |
| Reviewed by Dean Jackson. |
| |
| Instead of returning an SVGPaint object of type SVG_PAINTTYPE_UNKNOWN when we encounter an SVG paint |
| value that cannot be parsed, we now return `nullptr` which will cause that value to be ignored and |
| let another paint value in the cascade be used instead. This is the same approach used for SVGColor. |
| Since we're removing the only call site for `SVGPaint::createUnknown()`, we remove that function entirely. |
| |
| Tests: svg/css/invalid-color-cascade.svg |
| svg/css/invalid-paint-cascade.svg |
| |
| * css/SVGCSSParser.cpp: |
| (WebCore::CSSParser::parseSVGPaint): |
| * svg/SVGPaint.h: |
| (WebCore::SVGPaint::createUnknown): Deleted. |
| |
| 2015-11-29 Simon Fraser <simon.fraser@apple.com> |
| |
| Use SVGTransform::SVGTransformType instead of an unsigned short |
| https://bugs.webkit.org/show_bug.cgi?id=151637 |
| |
| Reviewed by Brady Eidson. |
| |
| Make 'type' more strongly typed. |
| |
| * svg/SVGTransformable.cpp: |
| (WebCore::SVGTransformable::parseTransformValue): |
| (WebCore::parseAndSkipType): |
| (WebCore::SVGTransformable::parseTransformType): |
| (WebCore::SVGTransformable::parseTransformAttribute): |
| * svg/SVGTransformable.h: |
| |
| 2015-11-27 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Class-ify IDBGetResult making it impossible to get the data members wrong. |
| https://bugs.webkit.org/show_bug.cgi?id=151627 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| No new tests (No change in behavior). |
| |
| * CMakeLists.txt: |
| * WebCore.xcodeproj/project.pbxproj: |
| |
| * Modules/indexeddb/IDBGetResult.cpp: Added. |
| (WebCore::IDBGetResult::dataFromBuffer): |
| (WebCore::IDBGetResult::isolatedCopy): |
| * Modules/indexeddb/IDBGetResult.h: |
| (WebCore::IDBGetResult::IDBGetResult): |
| (WebCore::IDBGetResult::valueBuffer): |
| (WebCore::IDBGetResult::keyData): |
| (WebCore::IDBGetResult::primaryKeyData): |
| (WebCore::IDBGetResult::keyPath): |
| (WebCore::IDBGetResult::setValueBuffer): |
| (WebCore::IDBGetResult::setKeyData): |
| (WebCore::IDBGetResult::setPrimaryKeyData): |
| (WebCore::IDBGetResult::setKeyPath): |
| (WebCore::IDBGetResult::dataFromBuffer): Deleted. |
| (WebCore::IDBGetResult::isolatedCopy): Deleted. |
| |
| * Modules/indexeddb/client/IDBCursorImpl.cpp: |
| (WebCore::IDBClient::IDBCursor::setGetResult): |
| * Modules/indexeddb/client/IDBCursorImpl.h: |
| |
| * Modules/indexeddb/client/IDBTransactionImpl.cpp: |
| (WebCore::IDBClient::IDBTransaction::didGetRecordOnServer): |
| |
| * Modules/indexeddb/legacy/IDBTransactionBackendOperations.cpp: |
| (WebCore::GetOperation::perform): |
| |
| * Modules/indexeddb/server/IDBBackingStore.h: |
| |
| * Modules/indexeddb/server/MemoryCursor.h: |
| |
| * Modules/indexeddb/server/MemoryIndexCursor.cpp: |
| (WebCore::IDBServer::MemoryIndexCursor::currentData): |
| |
| * Modules/indexeddb/server/MemoryObjectStoreCursor.cpp: |
| (WebCore::IDBServer::MemoryObjectStoreCursor::currentData): |
| |
| * platform/CrossThreadCopier.h: |
| |
| 2015-11-27 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| [GTK] Do not use the WebCore garbage collector timer |
| https://bugs.webkit.org/show_bug.cgi?id=151623 |
| |
| Reviewed by Martin Robinson. |
| |
| Now that garbage collector timers have been implemented in |
| JavaScriptCore for glib, we don't need to use another Timer in WebCore. |
| |
| * bindings/js/GCController.cpp: |
| (WebCore::GCController::garbageCollectSoon): |
| (WebCore::GCController::garbageCollectNowIfNotDoneRecently): |
| |
| 2015-11-18 Andy Estes <aestes@apple.com> |
| |
| [Content Filtering] Crash in DocumentLoader::notifyFinished() when allowing a media document to load |
| https://bugs.webkit.org/show_bug.cgi?id=151433 |
| rdar://problem/23506594 |
| |
| Reviewed by Alexey Proskuryakov. |
| |
| When the main resource of a media document commits, WebKit cancels its load since the plug-in or media engine |
| will do its own loading. If content filtering is enabled, and the filter waits allow the load until the entire |
| resource is downloaded, then ContentFilter will attempt to call DocumentLoader::notifyFinished() immediately |
| after delivering the buffered resource data to DocumentLoader. However, delivering the data will have nulled out |
| DocumentLoader's m_mainResource when the load was cancelled, leading to a crash in notifyFinished(). |
| |
| To resolve this, add a new Stopped state to ContentFilter. Set this state if DocumentLoader clears its main |
| resource or detaches from its frame. If ContentFilter is in the Stopped state after calling |
| DocumentLoader::dataReceived(), do not proceed to call DocumentLoader::notifyFinished(). |
| |
| Test: contentfiltering/allow-media-document.html |
| |
| * loader/ContentFilter.cpp: |
| (WebCore::ContentFilter::stopFilteringMainResource): Set m_state to Stopped. If m_mainResource is non-null, |
| removed ContentFilter as a client and set m_mainResource to null. |
| (WebCore::ContentFilter::notifyFinished): Stopped calling DocumentLoader::notifyFinished() if m_state is Stopped |
| after calling DocumentLoader::dataReceived(). |
| * loader/ContentFilter.h: |
| * loader/DocumentLoader.cpp: |
| (WebCore::DocumentLoader::detachFromFrame): Called ContentFilter::stopFilteringMainResource() instead of setting |
| m_contentFilter to null. |
| (WebCore::DocumentLoader::clearMainResource): Ditto. |
| |
| 2015-11-25 Pranjal Jumde <pjumde@apple.com> |
| |
| Checks for buffer-overflows when reading characters from textRun |
| https://bugs.webkit.org/show_bug.cgi?id=151055 |
| <rdar://problem/23251789> |
| |
| Reviewed by Myles C. Maxfield. |
| |
| Prevents an off by one error when adding the last font data to the GlyphBuffer. |
| |
| * Source/WebCore/platform/graphics/WidthIterator.cpp: |
| * Source/WebCore/platform/graphics/FontCascade.cpp: |
| |
| 2015-11-24 Xabier Rodriguez Calvar <calvaris@igalia.com> |
| |
| [Streams API] Implement pipeTo method in readable Stream |
| https://bugs.webkit.org/show_bug.cgi?id=151588 |
| |
| Reviewed by Darin Adler. |
| |
| Implemented pipeTo method according to the reference implementation in the spec as the spec is not written |
| yet. It can be found at https://github.com/whatwg/streams/blob/632b26a05f3106650b1ec91239ad5b012e6c64af/reference-implementation/lib/readable-stream.js#L75. |
| |
| Tests: streams/pipe-to.html |
| streams/reference-implementation/brand-checks.html |
| streams/reference-implementation/pipe-through.html |
| streams/reference-implementation/pipe-to.html |
| streams/reference-implementation/pipe-to-options.html |
| streams/reference-implementation/readable-stream-templated |
| |
| * Modules/streams/ReadableStream.js: |
| (doPipe): Internal function of pipeTo. |
| (closeDest): Internal function of pipeTo. |
| (abortDest): Internal function of pipeTo. |
| (pipeTo): Implemented as per spec with some other internal functions as helpers. |
| |
| 2015-11-24 Antti Koivisto <antti@apple.com> |
| |
| REGRESSION (r190983): Non-element, non-text nodes should not be distributed to slots |
| https://bugs.webkit.org/show_bug.cgi?id=151566 |
| rdar://problem/23430177 |
| |
| Reviewed by Zalan Bujtas. |
| |
| We don't invalidate slot assignments except for text or element children. Fix by not |
| not assigning other nodes to slots as it is not useful. |
| |
| Test: fast/html/details-comment-crash.html |
| |
| * dom/SlotAssignment.cpp: |
| (WebCore::slotNameFromSlotAttribute): |
| (WebCore::SlotAssignment::findAssignedSlot): |
| (WebCore::SlotAssignment::assignSlots): |
| |
| 2015-11-23 David Kilzer <ddkilzer@apple.com> |
| |
| Hardening against CSSSelector double frees |
| <http://webkit.org/b/56124> |
| <rdar://problem/9119036> |
| |
| Reviewed by Antti Koivisto. |
| |
| Add some security assertions to catch this issue if it ever |
| happens in Debug builds, and make changes in |
| CSSSelector::~CSSSelector() and |
| CSSSelectorList::deleteSelectors() to prevent obvious issues if |
| they're ever called twice in Release builds. |
| |
| No new tests because we don't know how to reproduce this. |
| |
| * css/CSSSelector.cpp: |
| (WebCore::CSSSelector::CSSSelector): Initialize |
| m_destructorHasBeenCalled. |
| * css/CSSSelector.h: |
| (WebCore::CSSSelector::m_destructorHasBeenCalled): Add bitfield. |
| (WebCore::CSSSelector::CSSSelector): Initialize |
| m_destructorHasBeenCalled. |
| (WebCore::CSSSelector::~CSSSelector): Add security assertion |
| that this is never called twice. Clear out any fields that |
| would have caused us to dereference an object twice. |
| |
| * css/CSSSelectorList.cpp: |
| (WebCore::CSSSelectorList::deleteSelectors): Clear |
| m_selectorArray when freeing the memory to which it was |
| pointing. This prevents re-entrancy issues or calling this |
| method twice on the same thread. Also restructure the for() |
| loop to prevent calling CSSSelector::isLastInSelectorList() |
| after CSSSelector::~CSSSelector() has been called (via CRBug |
| 241892). |
| |
| 2015-11-23 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: inspector settings should not be shared between different inspection levels |
| https://bugs.webkit.org/show_bug.cgi?id=151151 |
| |
| Reviewed by Timothy Hatcher. |
| |
| InspectorController and InspectorFrontendClient should know how to compute their |
| inspection levels, so that this level can be exposed to the Inspector frontend for |
| preference disambiguation by inspection level. |
| |
| - A Page with normal web content has an inspection level of 0. |
| - The first Web Inspector has an inspection level of 1. |
| - The second Web Inspector that inspects the Inspector has an inspection level of 2. |
| - And so forth... |
| |
| For local frontend clients (WK1 and the ProtocolTestStub), the inspection level of |
| a Page computed as follows: |
| |
| - If the page's inspector controller has no frontend client, then the Page |
| is normal web content (level 0). |
| - If the page's inspector controller has a frontend client, ask for its inspection level. |
| A frontend client looks at the inspection level reported by inspected page's inspector |
| controller and increments by one to account for the crossed inspection boundary. |
| |
| No new tests, this is blocked by test infrastructure fixes (https://webkit.org/b/151573). |
| |
| * inspector/InspectorController.cpp: |
| (WebCore::InspectorController::inspectionLevel): Added. |
| (WebCore::InspectorController::hasInspectorFrontendClient): Deleted. |
| * inspector/InspectorController.h: |
| * inspector/InspectorFrontendClient.h: |
| * inspector/InspectorFrontendClientLocal.cpp: |
| (WebCore::InspectorFrontendClientLocal::canAttachWindow): Check inspectionLevel(). |
| (WebCore::InspectorFrontendClientLocal::inspectionLevel): Added. |
| * inspector/InspectorFrontendClientLocal.h: |
| * inspector/InspectorFrontendHost.cpp: |
| (WebCore::InspectorFrontendHost::inspectionLevel): Added. |
| * inspector/InspectorFrontendHost.h: |
| * inspector/InspectorFrontendHost.idl: |
| * page/ContextMenuController.cpp: |
| (WebCore::ContextMenuController::populate): Check inspectionLevel(). |
| |
| 2015-11-20 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: RemoteInspector should track targets and connections for remote automation |
| https://bugs.webkit.org/show_bug.cgi?id=151042 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| Use the new RemoteControllableTarget API method names. |
| |
| No new tests, no behavior change. |
| |
| * page/PageDebuggable.cpp: |
| (WebCore::PageDebuggable::connect): |
| (WebCore::PageDebuggable::dispatchMessageFromRemote): |
| (WebCore::PageDebuggable::dispatchMessageFromRemoteFrontend): Deleted. |
| * page/PageDebuggable.h: |
| |
| 2015-11-23 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Unskip all indexeddb/mozilla tests that pass. |
| https://bugs.webkit.org/show_bug.cgi?id=151568 |
| |
| Reviewed by Alex Christensen. |
| |
| No new tests (Lots of skipped existing tests now pass). |
| |
| * Modules/indexeddb/shared/IDBError.h: |
| |
| 2015-11-23 Nikos Andronikos <nikos.andronikos-webkit@cisra.canon.com.au> |
| |
| Add WebCore namespace for generated bindings for supplemental method calls |
| https://bugs.webkit.org/show_bug.cgi?id=151431 |
| |
| Reviewed by Alex Christensen. |
| |
| Address build failures for generated supplemental method calls which are in the WebCore namespace. |
| The bindings are outside the WebCore namespace - so add WebCore namespace specifier where required. |
| |
| * bindings/scripts/CodeGeneratorJS.pm: |
| (GenerateHeader): |
| (GenerateImplementation): |
| (GenerateParametersCheck): |
| * bindings/scripts/CodeGeneratorObjC.pm: |
| (GenerateImplementation): |
| * bindings/scripts/test/JS/JSTestInterface.cpp: |
| (WebCore::jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr): |
| (WebCore::jsTestInterfaceConstructorSupplementalStaticAttr): |
| (WebCore::jsTestInterfaceSupplementalStr1): |
| (WebCore::jsTestInterfaceSupplementalStr2): |
| (WebCore::jsTestInterfaceSupplementalNode): |
| (WebCore::setJSTestInterfaceConstructorSupplementalStaticAttr): |
| (WebCore::setJSTestInterfaceSupplementalStr2): |
| (WebCore::setJSTestInterfaceSupplementalNode): |
| (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1): |
| (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2): |
| (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4): |
| * bindings/scripts/test/ObjC/DOMTestInterface.mm: |
| (-[DOMTestInterface supplementalStr1]): |
| (-[DOMTestInterface supplementalStr2]): |
| (-[DOMTestInterface setSupplementalStr2:]): |
| (-[DOMTestInterface supplementalStr3]): |
| (-[DOMTestInterface setSupplementalStr3:]): |
| (-[DOMTestInterface supplementalNode]): |
| (-[DOMTestInterface setSupplementalNode:]): |
| (-[DOMTestInterface builtinAttribute]): |
| (-[DOMTestInterface setBuiltinAttribute:]): |
| (-[DOMTestInterface supplementalMethod1]): |
| (-[DOMTestInterface supplementalMethod2:objArg:]): |
| (-[DOMTestInterface supplementalMethod3]): |
| (-[DOMTestInterface supplementalMethod4]): |
| (-[DOMTestInterface builtinFunction]): |
| |
| 2015-11-23 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: When a transaction is aborted, call onerror handlers for all in-progress requests. |
| https://bugs.webkit.org/show_bug.cgi?id=151550 |
| |
| Reviewed by Alex Christensen. |
| |
| Test: storage/indexeddb/modern/abort-requests-cancelled.html |
| storage/indexeddb/modern/idbtransaction-objectstore-failures.html (with changes) |
| storage/indexeddb/modern/index-5.html (with changes) |
| Various (currently skipped) legacy IDB tests. |
| |
| * Modules/indexeddb/client/IDBDatabaseImpl.cpp: |
| (WebCore::IDBClient::IDBDatabase::transaction): |
| (WebCore::IDBClient::IDBDatabase::startVersionChangeTransaction): |
| (WebCore::IDBClient::IDBDatabase::didStartTransaction): |
| (WebCore::IDBClient::IDBDatabase::willCommitTransaction): |
| (WebCore::IDBClient::IDBDatabase::didCommitTransaction): |
| (WebCore::IDBClient::IDBDatabase::willAbortTransaction): |
| (WebCore::IDBClient::IDBDatabase::didAbortTransaction): |
| (WebCore::IDBClient::IDBDatabase::didCommitOrAbortTransaction): |
| |
| * Modules/indexeddb/client/IDBTransactionImpl.cpp: |
| (WebCore::IDBClient::IDBTransaction::abort): |
| (WebCore::IDBClient::IDBTransaction::abortOnServerAndCancelRequests): |
| (WebCore::IDBClient::IDBTransaction::didCreateObjectStoreOnServer): |
| (WebCore::IDBClient::IDBTransaction::didCreateIndexOnServer): |
| (WebCore::IDBClient::IDBTransaction::didGetRecordOnServer): |
| (WebCore::IDBClient::IDBTransaction::didDeleteObjectStoreOnServer): |
| (WebCore::IDBClient::IDBTransaction::didDeleteIndexOnServer): |
| (WebCore::IDBClient::IDBTransaction::immediateAbort): Deleted. |
| (WebCore::IDBClient::IDBTransaction::abortOnServer): Deleted. |
| * Modules/indexeddb/client/IDBTransactionImpl.h: |
| |
| * Modules/indexeddb/server/MemoryIDBBackingStore.cpp: |
| (WebCore::IDBServer::MemoryIDBBackingStore::abortTransaction): |
| (WebCore::IDBServer::MemoryIDBBackingStore::commitTransaction): |
| |
| * Modules/indexeddb/shared/IDBError.cpp: |
| (WebCore::idbErrorName): |
| (WebCore::idbErrorDescription): |
| * Modules/indexeddb/shared/IDBError.h: |
| |
| * Modules/indexeddb/shared/IDBResourceIdentifier.cpp: |
| (WebCore::IDBResourceIdentifier::loggingString): |
| * Modules/indexeddb/shared/IDBResourceIdentifier.h: |
| |
| 2015-11-23 Brady Eidson <beidson@apple.com> |
| |
| Modern IDB: Unskip storage/indexeddb/mozilla/global-data.html. |
| https://bugs.webkit.org/show_bug.cgi?id=151557 |
| |
| Reviewed by Alex Christensen. |
| |
| No new tests (Unskipping existing test storage/indexeddb/mozilla/global-data.html). |
| |
| - Reworking some invalid ASSERTS |
| - Actually opening pending open-database-requests after a version change transaction completes |
| - Allow starting new transactions when the version change transaction has *started* finishing, |
| but before it finishes finishing. |
| |
| * Modules/indexeddb/client/IDBDatabaseImpl.cpp: |
| (WebCore::IDBClient::IDBDatabase::transaction): |
| |
| * Modules/indexeddb/client/IDBTransactionImpl.h: |
| |
| * Modules/indexeddb/server/MemoryObjectStore.cpp: |
| (WebCore::IDBServer::MemoryObjectStore::~MemoryObjectStore): |
| |
| * Modules/indexeddb/server/MemoryObjectStoreCursor.cpp: |
| (WebCore::IDBServer::MemoryObjectStoreCursor::keyAdded): Deleted. |
| |
| * Modules/indexeddb/server/UniqueIDBDatabase.cpp: |
| (WebCore::IDBServer::UniqueIDBDatabase::UniqueIDBDatabase): |
| (WebCore::IDBServer::UniqueIDBDatabase::handleOpenDatabaseOperations): |
| (WebCore::IDBServer::UniqueIDBDatabase::commitTransaction): |
| * Modules/indexeddb/server/UniqueIDBDatabase.h: |
| |
| 2015-11-23 Youenn Fablet <youenn.fablet@crf.canon.fr> |
| |
| Remove DOMPromiseWithCallback |
| https://bugs.webkit.org/show_bug.cgi?id=151565 |
| |
| Reviewed by Eric Carlson. |
| |
| DOMPromiseWithCallback is no longer used as WebCore JS built-ins are used to the cases where DOMPromiseWithCallback made sense. |
| |
| No change in behavior. |
| |
| * Modules/mediastream/MediaDevices.h: Moved from DOMPromiseWithCallback to DOMPromise since the API is now called by JS built-ins. |
| * bindings/js/JSDOMPromise.h: |
| (WebCore::DOMPromiseWithCallback::DOMPromiseWithCallback): Deleted. |
| (WebCore::DOMPromiseIteratorWithCallback::DOMPromiseIteratorWithCallback): Deleted. |
| (WebCore::Error>::resolve): Deleted. |
| (WebCore::Error>::reject): Deleted. |
| (WebCore::Error>::resolveEnd): Deleted. |
| |
| 2015-11-23 Brian Burg <bburg@apple.com> |
| |
| Web Inspector: when inspecting the inspector, add the inspection level to the title bar |
| https://bugs.webkit.org/show_bug.cgi?id=151555 |
| |
| Reviewed by Timothy Hatcher. |
| |
| * English.lproj/Localizable.strings: add new localized string for alternate inspector title. |
| |
| 2015-11-23 Zan Dobersek <zdobersek@igalia.com> |
| |
| [GStreamer] No need to assert the pipeline's bus presence in MediaPlayerPrivateGStreamerBase dtor |
| https://bugs.webkit.org/show_bug.cgi?id=151558 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| In the MediaPlayerPrivateGStreamerBase destructor, there's some leftover code |
| that acquires a reference to the GStreamer pipeline's bus object and then |
| just asserts that it's not null. Not very useful, so remove it. |
| |
| Also use nullptr to null out the m_player member. |
| |
| * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: |
| (WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase): |
| |
| 2015-11-17 Sergio Villar Senin <svillar@igalia.com> |
| |
| ASSERTION FAILED: freeSpace >= 0 in WebCore::RenderGrid::computeTrackSizesForDirection |
| https://bugs.webkit.org/show_bug.cgi?id=151254 |
| |
| Reviewed by Darin Adler. |
| |
| When in quirks mode, abnormally huge margins could lead to |
| negative computations of available logical sizes. We could add |
| an !document.inQuirksMode() check in the assertion but since |
| negative freeSpace values are valid (i.e. the condition is not |
| really part of the contract and everything will work as |
| expected) I've decided to simply remove it. |
| |
| Test: fast/css-grid-layout/grid-quirks-mode-huge-margin-crash.html |
| |
| * rendering/RenderGrid.cpp: |
| (WebCore::RenderGrid::computeTrackSizesForDirection): Deleted. |
| |
| 2015-11-22 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Font selection should not consult font-variant property |
| https://bugs.webkit.org/show_bug.cgi?id=151537 |
| |
| Reviewed by Simon Fraser. |
| |
| In section 4.7 of the CSS Fonts Level 3 spec, it says "[The font-variant and |
| font-feature-settings] do not affect font selection." |
| |
| All the other browsers (Chrome, Firefox, and Edge) all obey the spec here. We |
| are the only one who misbehaves. This patch aligns our behavior with the other |
| browsers. |
| |
| Test: fast/text/font-selection-font-variant.html |
| |
| * css/CSSFontSelector.cpp: |
| (WebCore::computeTraitsMask): Deleted. |
| (WebCore::compareFontFaces): Deleted. |
| (WebCore::CSSFontSelector::getFontFace): Deleted. |
| * css/CSSParser.cpp: |
| (WebCore::isValidKeywordPropertyAndValue): |
| (WebCore::isKeywordPropertyID): |
| (WebCore::CSSParser::createFontFaceRule): |
| (WebCore::CSSParser::CSSParser): Deleted. |
| (WebCore::CSSParser::parseValue): Deleted. |
| (WebCore::CSSParser::parseDeclaration): Deleted. |
| (WebCore::CSSParser::clearProperties): Deleted. |
| (WebCore::CSSParser::parseFontVariant): Deleted. |
| (WebCore::CSSParser::createStyleRule): Deleted. |
| (WebCore::CSSParser::deleteFontFaceOnlyValues): Deleted. |
| * css/CSSParser.h: |
| * platform/graphics/FontDescription.cpp: |
| (WebCore::FontDescription::traitsMask): Deleted. |
| * platform/graphics/win/FontCacheWin.cpp: |
| (WebCore::traitsInFamilyEnumProc): |
| * platform/graphics/cocoa/FontCacheCoreText.cpp: |
| (WebCore::toTraitsMask): |
| * platform/text/TextFlags.h: |
| |
| 2015-11-22 Carlos Garcia Campos <cgarcia@igalia.com> |
| |
| Unreviewed, rolling out r192727. |
| |
| It made the selections transparent again and broke |
| /webkit2/WebKitWebView/snapshot |
| |
| Reverted changeset: |
| |
| "[GTK] RenderThemeGtk::platformActiveSelectionBackgroundColor, |
| et. al. should not clobber state of cached GtkStyleContexts" |
| https://bugs.webkit.org/show_bug.cgi?id=151533 |
| http://trac.webkit.org/changeset/192727 |
| |
| 2015-11-22 Michael Catanzaro <mcatanzaro@igalia.com> |
| |
| [GTK] RenderThemeGtk::platformActiveSelectionBackgroundColor, et. al. should not clobber state of cached GtkStyleContexts |
| https://bugs.webkit.org/show_bug.cgi?id=151533 |
| |
| Reviewed by Carlos Garcia Campos. |
| |
| platformActiveSelectionBackgroundColor(), platformInactiveSelectionBackgroundColor(), etc. |
| are const functions intended only to return a color used for painting, but since r174929 |
| they also change the state of the cached style contexts we use for GTK_TYPE_ENTRY and |
| GTK_TYPE_TREE_VIEW. That's wrong; those style contexts should not have any state set. This |
| could cause theme colors returned by those GtkStyleContexts to change unexpectedly, |
| depending on whether the state is explicitly set before each use, or whether the theme |
| actually uses the states. |
| |
| This didn't cause any regression only because every place using these style contexts |
| explicitly sets the state of the style contexts before use. In fact, the GtkTreeView style |
| context is not used anywhere else, and the GtkEntry style context is only used in |
| paintTextField, which does set the state before use (and then reverts it using |
| save/restore), so this cannot have broken anything in practice. But it's a landmine waiting |
| for the next programmer to trip it. |
| |
| Fix this with a gtk_style_context_save()/gtk_style_context_restore() pair. |
| |
| * rendering/RenderThemeGtk.cpp: |
| (WebCore::styleColor): |
| |
| 2015-11-21 Myles C. Maxfield <mmaxfield@apple.com> |
| |
| Tiny cleanup in ComplexTextController::collectComplexTextRuns() |
| https://bugs.webkit.org/show_bug.cgi?id=151534 |
| |
| Reviewed by Zalan Bujtas. |
| |
| The isMissingGlyph boolean is completely unnecessary. Its entire |
| responsiblity is duplicated by the "font" pointer. |
| |
| No new tests because there is no behavior change. |
| |
| * platform/graphics/mac/ComplexTextController.cpp: |
| (WebCore::ComplexTextController::collectComplexTextRuns): |
| |
| == Rolled over to ChangeLog-2015-11-21 == |