Timeline
Oct 18, 2014:
- 3:54 PM Changeset in webkit [174866] by
-
- 7 edits3 adds in trunk
REGRESSION (r173356): Safari can't install a profile, gets 'Download Failed error
https://bugs.webkit.org/show_bug.cgi?id=137855
Reviewed by Dan Bernstein.
Source/WebCore:
We lose the sniffed MIME type for the response when synthesizing an NSURLResponse. Sniffing requires
backchannel data that the synthesized response doesn't have.
Test: http/tests/mime/mime-type-sniff.html
- platform/network/mac/ResourceResponseMac.mm:
(WebCore::ResourceResponse::initNSURLResponse):
When synthesizing NSURLResponse explicitly set the Content-type header to the sniffed type.
Tools:
Test and warn if the dumped response mime type differs from the platform response mime type.
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::didReceiveResponseForResource):
(WTR::InjectedBundlePage::platformResponseMimeType):
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
- WebKitTestRunner/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm:
(WTR::InjectedBundlePage::platformResponseMimeType):
LayoutTests:
- http/tests/mime/mime-type-sniff-expected.txt: Added.
- http/tests/mime/mime-type-sniff.html: Added.
- http/tests/mime/resources/png-with-text-content-type.cgi: Added.
- 2:48 PM Changeset in webkit [174865] by
-
- 4 edits in trunk/Source/WebKit/win
[WinCairo] Repaint issues with accelerated compositing.
https://bugs.webkit.org/show_bug.cgi?id=137850
Patch by peavo@outlook.com <peavo@outlook.com> on 2014-10-18
Reviewed by Brent Fulgham.
There is sometimes missing content in accelerated compositing mode.
This is caused by not invalidating the non composited layer,
and not rendering when a flush did not complete.
- WebCoreSupport/AcceleratedCompositingContext.cpp:
(AcceleratedCompositingContext::flushAndRenderLayers): Also render when flush did not complete.
(AcceleratedCompositingContext::setNeedsDisplayInRect): Deleted.
- WebCoreSupport/AcceleratedCompositingContext.h: Ditto.
- WebView.cpp:
(WebView::addToDirtyRegion): Invalidate non composited layer.
(WebView::flushPendingGraphicsLayerChanges): Flush layers.
- 12:04 PM Changeset in webkit [174864] by
-
- 4 edits in trunk/Source
WorkQueue dispatches functions but isn’t a FunctionDispatcher
https://bugs.webkit.org/show_bug.cgi?id=137853
Reviewed by Anders Carlsson.
Source/WebKit2:
- Platform/WorkQueue.h: Changed to inherit from FunctionDispatcher.
Source/WTF:
- wtf/FunctionDispatcher.h: Added header guards.
- 11:13 AM Changeset in webkit [174863] by
-
- 10 edits in trunk/Source/JavaScriptCore
Web Replay: code generator shouldn't complain about enums without a storage type if they are in an enclosing scope
https://bugs.webkit.org/show_bug.cgi?id=137084
Reviewed by Joseph Pecoraro.
In order to generate encode/decode method declarations without pulling in lots of headers,
the generator must forward declare enums (for enum classes or enums with explicit sizes).
Change the generator to not require an explicit size if an enum is declared inside a struct
or class definition. In that case, it must pull in headers since scoped enums can't be
forward declared.
This patch also fixes some chained if-statements that should be if-else statements.
Test: updated replay/scripts/tests/generate-enum-encoding-helpers.json to cover the new case.
- replay/scripts/CodeGeneratorReplayInputs.py:
(InputsModel.parse_type_with_framework_name.is):
(InputsModel.parse_type_with_framework_name.is.must):
(Generator.generate_enum_trait_implementation):
(InputsModel.parse_type_with_framework_name): Deleted.
- replay/scripts/CodeGeneratorReplayInputsTemplates.py:
- replay/scripts/tests/expected/fail-on-c-style-enum-no-storage.json-error:
- replay/scripts/tests/expected/generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.cpp:
(JSC::EncodingTraits<WebCore::MouseButton>::decodeValue):
- replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.cpp:
(JSC::EncodingTraits<WebCore::MouseButton>::decodeValue):
(JSC::EncodingTraits<WebCore::PlatformEvent::Type>::encodeValue):
(JSC::EncodingTraits<WebCore::PlatformEvent::Type>::decodeValue):
- replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.h:
- replay/scripts/tests/expected/generate-enums-with-same-base-name.json-TestReplayInputs.cpp:
(JSC::EncodingTraits<WebCore::FormData1::Type>::decodeValue):
(JSC::EncodingTraits<PlatformEvent1::Type>::decodeValue):
- replay/scripts/tests/generate-enum-encoding-helpers.json: Added a new input to cover this case.
- 10:05 AM Changeset in webkit [174862] by
-
- 2 edits in trunk/Source/WebCore
[Mac] Use Fast enumeration consistently in WebFontCache.mm
https://bugs.webkit.org/show_bug.cgi?id=137791
Reviewed by Darin Adler.
Use fast enumeration consistently in WebFontCache.mm as this results in
more efficient, concise and safer code.
No new tests, no behavior change.
- platform/mac/WebFontCache.mm:
(+[WebFontCache getTraits:inFamily:]):
Reserve Vector capacity before the loop as we know how many traits we
are going to append. Also use uncheckedAppend() for performance.
(+[WebFontCache internalFontWithFamily:traits:weight:size:]):
- 8:54 AM Changeset in webkit [174861] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Improve documentation of webkit_web_view_get_tls_info()
https://bugs.webkit.org/show_bug.cgi?id=137852
Patch by Michael Catanzaro <Michael Catanzaro> on 2014-10-18
Reviewed by Martin Robinson.
- UIProcess/API/gtk/WebKitWebView.cpp:
- 8:20 AM Changeset in webkit [174860] by
-
- 3 edits2 adds in trunk
AX: Tables with <colgroups> are not reporting table column headers
https://bugs.webkit.org/show_bug.cgi?id=137846
Reviewed by Mario Sanchez Prada.
Source/WebCore:
The code to search for header objects was getting stuck on anonymous RenderTableSections.
We also need to check more rows for headers, in case the first row or more is not visible or is empty.
Test: accessibility/table-column-headers-with-captions.html
- accessibility/AccessibilityTableColumn.cpp:
(WebCore::AccessibilityTableColumn::headerObject):
(WebCore::AccessibilityTableColumn::headerObjectForSection):
LayoutTests:
- accessibility/table-column-headers-with-captions-expected.txt: Added.
- accessibility/table-column-headers-with-captions.html: Added.
- 3:16 AM Changeset in webkit [174859] by
-
- 2 edits in trunk/Source/WebCore
[EFL] build break occurs on webkit efl build.
https://bugs.webkit.org/show_bug.cgi?id=137844
Patch by KwangHyuk Kim <hyuki.kim@samsung.com> on 2014-10-18
Reviewed by Gyuyoung Kim.
As local variable elementAddressRegisterIndex is assigned but not used, there is build break for the webkit efl.
No new tests because it's just to fix build break.
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesSelectorList):
Oct 17, 2014:
- 8:37 PM Changeset in webkit [174858] by
-
- 6 edits in trunk/Source/WebCore
Apply std::unique_ptr to FooFont classes
https://bugs.webkit.org/show_bug.cgi?id=137769
Reviewed by Andreas Kling.
As a step to use std::unique_ptr, this patch applies std::unique_ptr to Font classes.
No new tests, no behavior changes.
- platform/graphics/Font.cpp:
(WebCore::retrieveOrAddCachedFontGlyphs):
(WebCore::Font::createLayout):
- platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::DerivedFontData::create):
- platform/graphics/SimpleFontData.h:
Remove create() factory function because public ctor and std::make_unique<> can replace it.
- platform/graphics/mac/ComplexTextController.cpp:
(WebCore::Font::createLayout):
- 8:35 PM Changeset in webkit [174857] by
-
- 8 edits in trunk/Source/WebCore
Use std::unique_ptr in WebCore/bindings
https://bugs.webkit.org/show_bug.cgi?id=137808
Reviewed by Andreas Kling.
Clean up PassOwnPtr|OwnPtr in WebCore/bindings by using std::unique_ptr, std::make_unique
and WTF::move.
No new tests, no behavior changes.
- bindings/generic/ActiveDOMCallback.h:
- bindings/js/JSMessageEventCustom.cpp:
(WebCore::handleInitMessageEvent):
- bindings/js/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::SerializedScriptValue):
(WebCore::SerializedScriptValue::transferArrayBuffers):
(WebCore::SerializedScriptValue::create):
- bindings/js/SerializedScriptValue.h:
- bindings/js/WorkerScriptDebugServer.cpp:
(WebCore::WorkerScriptDebugServer::interruptAndRunTask):
- bindings/js/WorkerScriptDebugServer.h:
- inspector/WorkerDebuggerAgent.cpp:
(WebCore::WorkerDebuggerAgent::interruptAndDispatchInspectorCommands):
- 6:12 PM Changeset in webkit [174856] by
-
- 3 edits in trunk/Source/JavaScriptCore
Web Process crash when starting the web inspector after r174025.
<https://webkit.org/b/137340>
Reviewed by Filip Pizlo.
After r174025, we can generate a bad graph in the DFG fixup phase like so:
102:<!0:-> StoreBarrier(Check:KnownCell:@19, ..., bc#44)
60:<!0:-> PutStructure(Check:KnownCell:@19, ..., bc#44)
103:<!0:-> Check(Check:NotCell:@54, ..., bc#44)
-- PutByOffset's StoreBarrier has been elided and replaced
with a speculation check which can OSR exit.
61:<!0:-> PutByOffset(Check:KnownCell:@19, ..., bc#44)
As a result, the structure change will get executed even if we end up OSR
exiting before the PutByOffset. In the baseline JIT code, the structure now
erroneously tells the put operation that there is a value in that property
slot when it is actually uninitialized (hence, the crash).
The fix is to insert the Check at the earliest point possible:
- If the checked node is in the same bytecode as the PutByOffset, then the earliest point where we can insert the Check is right after the checked node.
- If the checked node is from a preceding bytecode (before the PutByOffset), then the earliest point where we can insert the Check is at the start of the current bytecode.
Also reverted the workaround from r174749: https://webkit.org/b/137758.
Benchmark results appear to be a wash on aggregate.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::indexOfNode):
(JSC::DFG::FixupPhase::indexOfFirstNodeOfExitOrigin):
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::insertCheck):
- dfg/DFGInsertionSet.h:
(JSC::DFG::InsertionSet::insertOutOfOrder):
(JSC::DFG::InsertionSet::insertOutOfOrderNode):
- 5:25 PM Changeset in webkit [174855] by
-
- 2 edits in trunk/Source/WebCore
Calling glReadPixels with BGRA format on an NVIDIA machine with an opaque context returns the wrong alpha values.
https://bugs.webkit.org/show_bug.cgi?id=137793.
<rdar://problem/15408133>
Reviewed by Dean Jackson.
This fixes conformance test context/context-attribute-preserve-drawing-buffer.html.
- platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
(WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
On an NVIDIA machine, when the context has alpha turned off, call glReadPixels with RGBA format and then convert to RGBA.
- 5:21 PM Changeset in webkit [174854] by
-
- 29 edits in trunk/Source/WebCore
Use is<>() / downcast<>() for all SVG RenderObjects
https://bugs.webkit.org/show_bug.cgi?id=137840
Reviewed by Benjamin Poulain.
Use is<>() / downcast<>() for all SVG RenderObjects and clean up the
surrounding code.
No new tests, no behaviro change.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::supportsPath):
(WebCore::AccessibilityRenderObject::elementPath):
- page/FrameView.cpp:
(WebCore::FrameView::applyOverflowToViewport):
(WebCore::FrameView::forceLayoutParentViewIfNeeded):
- rendering/RenderLayerFilterInfo.cpp:
(WebCore::RenderLayer::FilterInfo::removeReferenceFilterClients):
- rendering/svg/RenderSVGGradientStop.cpp:
(WebCore::RenderSVGGradientStop::styleDidChange):
- rendering/svg/RenderSVGImage.h:
- rendering/svg/RenderSVGInlineText.h:
- rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
- rendering/svg/RenderSVGResourceContainer.h:
- rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::addResourceForClientInvalidation):
- rendering/svg/RenderSVGRoot.h:
- rendering/svg/RenderSVGShape.h:
- rendering/svg/RenderSVGText.cpp:
(WebCore::collectLayoutAttributes):
(WebCore::RenderSVGText::subtreeChildWillBeRemoved):
(WebCore::RenderSVGText::subtreeTextDidChange):
(WebCore::updateFontInAllDescendants):
- rendering/svg/RenderSVGText.h:
- rendering/svg/SVGInlineTextBox.h:
- rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::mapLocalToContainer):
(WebCore::SVGRenderSupport::pushMappingToContainer):
(WebCore::SVGRenderSupport::computeContainerBoundingBoxes):
- rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::writeStyle):
- rendering/svg/SVGRenderingContext.cpp:
(WebCore::SVGRenderingContext::bufferForeground):
- rendering/svg/SVGResourcesCycleSolver.cpp:
(WebCore::SVGResourcesCycleSolver::resolveCycles):
- rendering/svg/SVGRootInlineBox.cpp:
(WebCore::SVGRootInlineBox::renderSVGText):
(WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
- svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::svgAttributeChanged):
- svg/SVGElement.cpp:
(WebCore::SVGElement::svgAttributeChanged):
- svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::svgAttributeChanged):
- svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::svgAttributeChanged):
(WebCore::SVGImageElement::didAttachRenderers):
- svg/SVGLineElement.cpp:
(WebCore::SVGLineElement::svgAttributeChanged):
- svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::svgAttributeChanged):
- svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::svgAttributeChanged):
- svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::localCoordinateSpaceTransform):
(WebCore::SVGSVGElement::currentViewBoxRect):
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::setContainerSize):
(WebCore::SVGImage::containerSize):
- 4:59 PM Changeset in webkit [174853] by
-
- 3 edits in trunk/Source/WebCore
Avoid unnecessary isSVGFont() check in SimpleFontData::applyTransforms()
https://bugs.webkit.org/show_bug.cgi?id=137836
Reviewed by Andreas Kling.
Avoid unnecessary isSVGFont() check in SimpleFontData::applyTransforms().
This function is only called from WidthIterator::applyFontTransforms(),
which already makes sure to call applyTransforms() if isSVGFont()
returns false. This patch replaces the check with a simple assertion.
No new tests, no behavior change.
- platform/graphics/SimpleFontData.h:
- svg/SVGFontData.h:
- 4:50 PM Changeset in webkit [174852] by
-
- 2 edits2 adds in trunk/Source/WebInspectorUI
Web Inspector: Add ESLint open source library to the inspector
https://bugs.webkit.org/show_bug.cgi?id=137714
Reviewed by Joseph Pecoraro.
This adds back the eslint.js external library with a correction to Scripts/copy-user-interface-resources.pl
to prevent a build failure.
- Scripts/copy-user-interface-resources.pl: Added copy commands for ESLint.js.
- UserInterface/External/ESLint/LICENSE: Added.
- UserInterface/External/ESLint/eslint.js: Added.
- 4:26 PM Changeset in webkit [174851] by
-
- 1 edit in trunk/Websites/bugs.webkit.org/data/params
Update data/params after Bugzilla 4.2.11 upgrade
- data/params:
(default_search_limit): Bump up the default search limit from
500 to 1000 because Timothy Horton asked nicely.
(maxattachmentsize): Make it an even 20 MB.
(maxlocalattachment): Bump up total amount of local attachments
stored on disk from 10 MB to 1 GB.
(smtp_debug): Let Bugzilla have its way with the config file.
(smtpserver): Fixed to use the correct mail server.
(sslbase): Fix test value that I checked in when I was testing
the update. This caused bug mail to be sent with a URL of
bugs-test.webkit.org instead of bugs.webkit.org until around
11:45 AM PDT on Thursday, October 16, 2014.
(urlbase): Ditto.
- 4:20 PM Changeset in webkit [174850] by
-
- 1 edit in trunk/Websites/bugs.webkit.org/.htaccess
Prevent access to the /lib/ directory
- .htaccess: Block access to the lib directory. This may be
removed once updated Perl modules are installed on the system.
- 4:19 PM Changeset in webkit [174849] by
-
- 1 edit in trunk/Websites/bugs.webkit.org/mod_perl.pl
Add lib directory to mod_perl search path
mod_perl.pl: Add lib directory to mod_perl search path. I
accidentally installed updated Perl modules under the Bugzilla
root directory instead of in the system, so this path needed to
be added to make sure up-to-date modules were used. It may be
removed once Perl modules are updated on the system.
- 4:15 PM Changeset in webkit [174848] by
-
- 1 edit in trunk/Websites/bugs.webkit.org/Bugzilla/User.pm
Disable database handle statement caching to fix Internal Server Errors
- Bugzilla/User.pm:
(Bugzilla::User::visible_bugs): Disable database handle
statement caching. Apparently these statements would go bad
without the DBD module noticing, causing errors on numerous
pages.
- 3:58 PM Changeset in webkit [174847] by
-
- 11 edits in trunk
Don't create cached functions that access lexicalGlobalObject()
https://bugs.webkit.org/show_bug.cgi?id=137839
Reviewed by Geoffrey Garen.
Source/WebCore:
Made it so that all the JSDOMWindow special functions blur(), close(), focus() and postMessage()
are always created as needed for every prototype. Made it so that JSHTMLDocument does
the same for open(). Updated test to account for these methods not being cached
Updated tests accordingly.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertySlot): Updated to always create cached versions of the
special functions.
- bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::getOwnPropertySlot): Added to create an uncached open() method when
it is first accessed.
- html/HTMLDocument.idl: Added CustomGetOwnPropertySlot and implemented it in JSHTMLDocumentCustom.cpp.
LayoutTests:
Updadted test that check for
- fast/dom/wrapper-scope-expected.txt:
- fast/dom/wrapper-scope.html:
Removed "close" and "postMessage" from functions to check for wrapper scope.
- http/tests/security/cross-frame-access-put-expected.txt:
- http/tests/security/resources/cross-frame-iframe-for-put-test.html:
Removed "blur", "close" and "focus" from the functions to test, since this tests that
a parent's and child window's instances are the same. Now they are always different.
- js/dom/global-function-resolve-expected.txt:
- js/dom/script-tests/global-function-resolve.js:
Removed "close" from this lists of functions to check.
- 3:30 PM Changeset in webkit [174846] by
-
- 2 edits in trunk/Source/WebCore
[iOS] Speculative fix for a crash under RenderLayerCompositor::updateScrollCoordinatedLayer()
https://bugs.webkit.org/show_bug.cgi?id=137837
rdar://problem/18545452
Reviewed by Tim Horton.
Crash logs suggest that an iframe's RenderView's RenderLayer's backing can be null
in a call to updateScrollCoordinatedLayer(), so add an assertion (to help find a reproducible case)
and a null check.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::attachScrollingNode):
- 3:28 PM Changeset in webkit [174845] by
-
- 1 edit1 delete in trunk/Tools
Remove run-inspector-perf-tests.py there is no PerformanceTests/inspector anymore
https://bugs.webkit.org/show_bug.cgi?id=137835
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-10-17
Reviewed by Andreas Kling.
- Scripts/run-inspector-perf-tests.py: Removed.
This script is stale, as PerformanceTests/inspector no longer exists.
- 3:12 PM Changeset in webkit [174844] by
-
- 2 edits in trunk/Tools
Fix typo: should be ios-simulator-wk2, not ios-simulator_wk2.
- Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort.default_baseline_search_path):
- 3:10 PM Changeset in webkit [174843] by
-
- 2 edits in trunk/Source/WebCore
Re-arrange parentheses for compilation purposes.
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesSelectorList):
- 3:05 PM Changeset in webkit [174842] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix after r174838.
Use StackAllocator::addressOf() instead of the old way of grabbing at a stack reference.
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesSelectorList):
- 2:52 PM Changeset in webkit [174841] by
-
- 2 edits in trunk/Source/WebKit/mac
Build fix for 32-bit Yosemite
- WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::contextMenuForEvent):
Avoid using NSItemProvider in 32-bit, because it doesn't exist.
- 2:25 PM Changeset in webkit [174840] by
-
- 76 edits in trunk/Source
Use is<>() / downcast<>() for RenderBox
https://bugs.webkit.org/show_bug.cgi?id=137804
Reviewed by Andreas Kling.
Use is<>() / downcast<>() for RenderBox and clean up the surrounding
code.
Source/WebCore:
No new tests, no behavior change.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::accessibilityHitTest):
(WebCore::AccessibilityRenderObject::getScrollableAreaIfScrollable):
(WebCore::AccessibilityRenderObject::scrollTo):
- bindings/objc/DOMHTML.mm:
(-[DOMHTMLElement scrollYOffset]):
(-[DOMHTMLElement setScrollXOffset:scrollYOffset:adjustForIOSCaret:]):
- bindings/objc/DOMUIKitExtensions.mm:
(-[DOMNode borderRadii]):
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::sizingBox):
(WebCore::computedTransform):
(WebCore::zoomAdjustedPaddingOrMarginPixelValue):
(WebCore::ComputedStyleExtractor::propertyValue):
- dom/ContainerNode.cpp:
(WebCore::ContainerNode::getLowerRightCorner):
- dom/Document.cpp:
(WebCore::Document::webkitWillEnterFullScreenForElement):
- dom/Element.cpp:
(WebCore::Element::scrollByUnits):
- dom/Node.cpp:
(WebCore::Node::defaultEventHandler):
- dom/Position.cpp:
(WebCore::endsOfNodeAreVisuallyDistinctPositions):
- editing/DeleteButtonController.cpp:
(WebCore::isDeletableElement):
- editing/EditorCommand.cpp:
(WebCore::verticalScrollDistance):
- editing/FrameSelection.cpp:
(WebCore::CaretBase::paintCaret):
- editing/TextIterator.cpp:
(WebCore::fullyClipsContents):
(WebCore::shouldEmitExtraNewlineForNode):
- editing/htmlediting.cpp:
(WebCore::absoluteBoundsForLocalCaretRect):
- html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::isFocusable):
- html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::checkSizeChangeForSnapshotting):
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
- html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::setPositionFromPoint):
- inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForElementInfo):
- page/AutoscrollController.cpp:
(WebCore::AutoscrollController::updateAutoscrollRenderer):
- page/EventHandler.cpp:
(WebCore::EventHandler::startPanScrolling):
- page/FrameView.cpp:
(WebCore::FrameView::embeddedContentBox):
- page/GestureTapHighlighter.cpp:
- page/SpatialNavigation.cpp:
(WebCore::isScrollableNode):
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::blendFunc):
- platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::baselinePosition):
- plugins/PluginView.cpp:
(WebCore::PluginView::invalidateWindowlessPluginRect):
- rendering/InlineBox.cpp:
(WebCore::InlineBox::logicalHeight):
(WebCore::InlineBox::adjustPosition):
- rendering/InlineElementBox.cpp:
(WebCore::InlineElementBox::deleteLine):
(WebCore::InlineElementBox::extractLine):
(WebCore::InlineElementBox::attachLine):
(WebCore::InlineElementBox::paint):
(WebCore::InlineElementBox::nodeAtPoint):
- rendering/InlineFlowBox.cpp:
(WebCore::InlineFlowBox::addToLine):
(WebCore::InlineFlowBox::addReplacedChildOverflow):
- rendering/LayoutState.cpp:
(WebCore::LayoutState::LayoutState):
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::simplifiedNormalFlowLayout):
(WebCore::RenderBlock::markFixedPositionObjectForLayoutIfNeeded):
(WebCore::RenderBlock::clearPercentHeightDescendantsFrom):
(WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
(WebCore::RenderBlock::addFocusRingRects):
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats):
(WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
- rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForLine):
(WebCore::RenderBlockFlow::layoutLineBoxes):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::findAutoscrollable):
(WebCore::computeBlockStaticDistance):
(WebCore::RenderBox::positionForPoint):
(WebCore::RenderBox::layoutOverflowRectForPropagation):
- rendering/RenderBox.h:
(WebCore::RenderBox::previousSiblingBox):
(WebCore::RenderBox::nextSiblingBox):
(WebCore::RenderBox::parentBox):
(WebCore::RenderBox::firstChildBox):
(WebCore::RenderBox::lastChildBox):
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
(WebCore::RenderBoxModelObject::computeStickyPositionConstraints):
(WebCore::RenderBoxModelObject::constrainingRectForStickyPosition):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
- rendering/RenderElement.cpp:
(WebCore::RenderElement::removeChildInternal):
(WebCore::RenderElement::styleWillChange):
(WebCore::RenderElement::repaintAfterLayoutIfNeeded):
- rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::layout):
- rendering/RenderFieldset.cpp:
(WebCore::RenderFieldset::findLegend):
- rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent):
(WebCore::RenderFlowThread::currentActiveRenderBox):
- rendering/RenderFlowThread.h:
- rendering/RenderFullScreen.cpp:
(WebCore::RenderFullScreen::unwrapRenderer):
- rendering/RenderImage.cpp:
(WebCore::RenderImage::layoutShadowControls):
(WebCore::RenderImage::computeIntrinsicRatioInformation):
- rendering/RenderInline.cpp:
(WebCore::RenderInline::absoluteRects):
(WebCore::RenderInline::addFocusRingRects):
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPosition):
(WebCore::RenderLayer::perspectiveTransform):
(WebCore::RenderLayer::perspectiveOrigin):
(WebCore::parentLayerCrossFrame):
(WebCore::RenderLayer::enclosingScrollableLayer):
(WebCore::RenderLayer::resize):
(WebCore::RenderLayer::scrollsOverflow):
(WebCore::computeReferenceBox):
(WebCore::RenderLayer::calculateClipRects):
- rendering/RenderLayer.h:
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateTransform):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::resetContentsRect):
(WebCore::RenderLayerBacking::positionOverflowControlsLayers):
(WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):
(WebCore::RenderLayerBacking::contentsBox):
(WebCore::RenderLayerBacking::backgroundBoxForPainting):
(WebCore::RenderLayerBacking::startAnimation):
(WebCore::RenderLayerBacking::startTransition):
- rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::rangeIntersectsRect):
- rendering/RenderMediaControlElements.cpp:
(WebCore::RenderMediaVolumeSliderContainer::layout):
- rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::firstColumnSetOrSpanner):
(WebCore::RenderMultiColumnFlowThread::nextColumnSetOrSpannerSiblingOf):
(WebCore::RenderMultiColumnFlowThread::previousColumnSetOrSpannerSiblingOf):
(WebCore::RenderMultiColumnFlowThread::resolveMovedChild):
(WebCore::isValidColumnSpanner):
(WebCore::RenderMultiColumnFlowThread::handleSpannerRemoval):
- rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::getRanges):
- rendering/RenderObject.cpp:
(WebCore::RenderObject::computeRectForRepaint):
(WebCore::RenderObject::showRegionsInformation):
(WebCore::RenderObject::showRenderObject):
(WebCore::RenderObject::mapLocalToContainer):
(WebCore::RenderObject::pushMappingToContainer):
(WebCore::RenderObject::mapAbsoluteToLocalPoint):
(WebCore::RenderObject::addAnnotatedRegions):
- rendering/RenderTable.cpp:
(WebCore::RenderTable::nodeAtPoint):
- rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::layoutSpecialExcludedChild):
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::baselinePosition):
- rendering/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::baselinePosition):
(WebCore::centerRectVerticallyInParentInputElement):
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::baselinePosition):
- rendering/RenderThemeSafari.cpp:
(WebCore::RenderThemeSafari::baselinePosition):
- rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::paintSearchFieldCancelButton):
(WebCore::RenderThemeWin::paintSearchFieldResultsDecorationPart):
(WebCore::RenderThemeWin::paintSearchFieldResultsButton):
- rendering/RenderTreeAsText.cpp:
(WebCore::RenderTreeAsText::writeRenderObject):
(WebCore::externalRepresentation):
- rendering/RenderView.cpp:
(WebCore::RenderView::paintBoxDecorations):
- rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::setLineBreakInfo):
- rendering/line/BreakingContextInlineHeaders.h:
(WebCore::BreakingContext::handleOutOfFlowPositioned):
(WebCore::BreakingContext::handleFloat):
(WebCore::BreakingContext::handleReplaced):
- rendering/line/LineBreaker.cpp:
(WebCore::LineBreaker::skipTrailingWhitespace):
(WebCore::LineBreaker::skipLeadingWhitespace):
- rendering/mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::layout):
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::embeddedContentBox):
Source/WebKit/mac:
- WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::clientFloatRectForNode):
- WebView/WebFrame.mm:
(-[WebFrame renderedSizeOfNode:constrainedToWidth:]):
Source/WebKit/win:
- WebView.cpp:
(WebView::gestureNotify):
Source/WebKit2:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::determinePrimarySnapshottedPlugIn):
(WebKit::WebPage::plugInIsPrimarySize):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::sendTapHighlightForNodeIfNecessary):
- 2:24 PM Changeset in webkit [174839] by
-
- 19 edits in trunk/Source/WebCore
Get rid of wrapperContext() in DOM bindings.
<https://webkit.org/b/137834>
Reviewed by Chris Dumez.
The "wrapper context" is always the DOMWrapperWorld, and since we're passing that around
already, we don't need a separate mechanism to get at the context.
The context is extra data stored in the DOM object's JSC::Weak (the wrapper GC object.)
- bindings/js/JSDOMBinding.h:
(WebCore::setInlineCachedWrapper):
(WebCore::cacheWrapper):
(WebCore::wrapperContext): Deleted.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
- 2:21 PM Changeset in webkit [174838] by
-
- 4 edits2 adds in trunk
Make a better use of the available registers when compiling nested selector lists
https://bugs.webkit.org/show_bug.cgi?id=137802
Reviewed by Andreas Kling.
Source/WebCore:
Previously, when compiling a nested selector list, the compiler would start by pushing all
the allocated registers to the stack to free them for the compiled selector list.
While neat to ensure register allocation is correct, this is very inefficient.
This patch brings the first step for reducing the overhead. Instead of pushing everything
to the stack, we just push as many registers as we need for compiling the selector list.
In most cases, we have so many registers that we don't even need to push anything to the stack.
Test: fast/selectors/nth-child-of-register-requirement.html
- cssjit/SelectorCompiler.cpp:
Add an explicit type for SelectorList to keep information aggregated from all
SelectorFragmentList inside it.
SelectorFragmentList is also extended to include its register and stack requirements.
This information is then used to create a SelectorList and to compile the SelectorFragmentList.
(WebCore::SelectorCompiler::hasAnyCombinators):
We only change the elementAddressRegister when moving over combinators. This is used to detect
if a selector list clobber the elementAddressRegister or leave it untouched.
(WebCore::SelectorCompiler::computeBacktrackingMemoryRequirements):
(WebCore::SelectorCompiler::computeBacktrackingInformation):
Instead of returning a BacktrackingMemoryRequirements, update the SelectorFragmentList and SelectorList directly.
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesSelectorList):
This is where the fun happen.
First step is keep the input untouched. For now it is simply pushed on the stack. This can be improved later.
Then we find how many allocated registers we need to save to compile the input selector list. We push those registers
to the stack and give them back to the register allocator.
With enough registers we can now compile the nested selector list. The code has changed a bit for efficiency. Instead
of creating a shortcut for success case, the code now exit on error and proceed on success. This is the general pattern
of SelectorCompiler and it is quite a bit more efficient in the common cases.
Finally, we reallocate the registers and get their values back from the stack. The "tail" is duplicated but that's fine
because in the vast majority of cases it is 1 or 2 pop.
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChildOf):
- cssjit/StackAllocator.h:
(WebCore::StackAllocator::push):
LayoutTests:
The register pressure cases are already well covered by fast/selectors/nth-child-of-boundaries-*.
The new test covers the maximum register pressure inside :nth-child(of) and having the selector with
max pressure inside a selector list instead of being alone/first.
- fast/selectors/nth-child-of-register-requirement-expected.txt: Added.
- fast/selectors/nth-child-of-register-requirement.html: Added.
- 2:12 PM Changeset in webkit [174837] by
-
- 2 edits in trunk/Source/WebKit/mac
Fix the build with the public SDK.
- WebCoreSupport/WebSelectionServiceController.mm:
We should transition all this SPI to real SPI headers as soon as possible.
- 2:12 PM Changeset in webkit [174836] by
-
- 12 edits in trunk/Source/WebCore
Use is<>() / downcast<>() for StyleImage
https://bugs.webkit.org/show_bug.cgi?id=137824
Reviewed by Andreas Kling.
Use is<>() / downcast<>() for StyleImage and clean up the surrouding
code.
No new tests, no behavior change.
- css/CSSCursorImageValue.cpp:
(WebCore::CSSCursorImageValue::detachPendingImage):
(WebCore::CSSCursorImageValue::cachedImage):
(WebCore::CSSCursorImageValue::cachedImageURL):
- css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::detachPendingImage):
(WebCore::CSSImageSetValue::~CSSImageSetValue):
(WebCore::CSSImageSetValue::cachedImageSet):
(WebCore::CSSImageSetValue::hasFailedOrCanceledSubresources):
- css/CSSImageValue.cpp:
(WebCore::CSSImageValue::detachPendingImage):
(WebCore::CSSImageValue::cachedImage):
(WebCore::CSSImageValue::hasFailedOrCanceledSubresources):
- css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingShapeImage):
(WebCore::StyleResolver::loadPendingImages):
- page/PageSerializer.cpp:
(WebCore::PageSerializer::retrieveResourcesForProperties):
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::blendFunc):
- rendering/style/StyleCachedImage.h:
- rendering/style/StyleCachedImageSet.h:
- rendering/style/StyleGeneratedImage.h:
- rendering/style/StyleImage.h:
- rendering/style/StylePendingImage.h:
- 2:06 PM Changeset in webkit [174835] by
-
- 2 edits in trunk/Tools
[iOS] Simplify test fallback paths for iOS Simulator testing
https://bugs.webkit.org/show_bug.cgi?id=137830
Reviewed by Zalan Bujtas.
Make the fallback paths be:
ios-simulator -> generic
ios-simulator-wk2->ios-simulator -> generic
so don't include mac in the fallback path. Also remove the
version handling for simplicity.
- Scripts/webkitpy/port/ios.py:
(IOSSimulatorPort):
(IOSSimulatorPort.default_baseline_search_path):
- 2:03 PM Changeset in webkit [174834] by
-
- 2 edits in trunk/Tools
Fix typos in Dashboard config
- 1:51 PM Changeset in webkit [174833] by
-
- 2 edits in trunk/LayoutTests
[Win] Unreviewed test gardening. Mark some tests as passing that have benefitted from recent bug fixes.
- platform/win/TestExpectations:
- 1:35 PM Changeset in webkit [174832] by
-
- 2 edits in trunk/Source/WebCore
[Media] Always update controls for <audio> since they are always visible
https://bugs.webkit.org/show_bug.cgi?id=137829
<rdar://problem/18693987>
Reviewed by Brent Fulgham.
Revision 174756 made a change to only update the display of the controls
while they are visible. However, <audio> elements didn't detect visibility
the same way, since their controls do not auto-hide.
Change controlsAreHidden to check if we're an audio element.
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.controlsAreHidden): Audio elements do not auto-hide their controls.
- 1:02 PM Changeset in webkit [174831] by
-
- 6 edits in trunk/Tools
[Win] Allow WinLauncher to specify Custom User Agent strings
https://bugs.webkit.org/show_bug.cgi?id=137828
Reviewed by Dean Jackson.
- WinLauncher/Common.cpp: Add support for custom user agent strings.
- WinLauncher/WinLauncher.cpp: Add some convenience methods to get
and set the user agent strings.
- WinLauncher/WinLauncher.h:
- WinLauncher/WinLauncher.vcxproj/WinLauncherLib.rc: Add new menu
resources and dialog for setting custom User Agent strings.
- WinLauncher/WinLauncher.vcxproj/WinLauncherLibResource.h:
- 12:50 PM Changeset in webkit [174830] by
-
- 11 edits2 adds in trunk/Source
[WinCairo] Accelerated compositing is not implemented.
https://bugs.webkit.org/show_bug.cgi?id=137345
Patch by peavo@outlook.com <peavo@outlook.com> on 2014-10-17
Reviewed by Brent Fulgham.
This patch is based on GTK, and the texture mapper graphics layer type.
Source/WebCore:
- WebCore.vcxproj/copyForwardingHeaders.cmd: Copy texmap headers.
- platform/graphics/texmap/GraphicsLayerTextureMapper.cpp: Added method and flag indicating whether animation has started.
(WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
(WebCore::GraphicsLayerTextureMapper::addAnimation):
- platform/graphics/texmap/GraphicsLayerTextureMapper.h: Ditto.
(WebCore::GraphicsLayerTextureMapper::startedAnimation):
- platform/graphics/texmap/TextureMapperShaderProgram.cpp: Use same precision for uniform in vertex shader as in fragment shader.
Otherwise glLinkProgram() will fail, and nothing will be rendered.
Source/WebKit:
- WebKit.vcxproj/WebKit/WebKit.vcxproj: Added new accelerated compositing source files.
- WebKit.vcxproj/WebKit/WebKit.vcxproj.filters: Ditto.
Source/WebKit/win:
- WebCoreSupport/AcceleratedCompositingContext.cpp: Added.
(WebKit::AcceleratedCompositingContext::AcceleratedCompositingContext):
(WebKit::getWebViewSize):
(WebKit::AcceleratedCompositingContext::initialize):
(WebKit::AcceleratedCompositingContext::~AcceleratedCompositingContext):
(WebKit::AcceleratedCompositingContext::stopAnyPendingLayerFlush):
(WebKit::AcceleratedCompositingContext::enabled):
(WebKit::AcceleratedCompositingContext::prepareForRendering):
(WebKit::AcceleratedCompositingContext::startedAnimation):
(WebKit::AcceleratedCompositingContext::compositeLayersToContext):
(WebKit::AcceleratedCompositingContext::setRootCompositingLayer):
(WebKit::AcceleratedCompositingContext::setNonCompositedContentsNeedDisplay):
(WebKit::AcceleratedCompositingContext::setNeedsDisplayInRect):
(WebKit::AcceleratedCompositingContext::resizeRootLayer):
(WebKit::AcceleratedCompositingContext::scrollNonCompositedContents):
(WebKit::AcceleratedCompositingContext::scheduleLayerFlush):
(WebKit::AcceleratedCompositingContext::flushPendingLayerChanges):
(WebKit::AcceleratedCompositingContext::flushPendingLayerChangesSoon):
(WebKit::AcceleratedCompositingContext::flushAndRenderLayers):
(WebKit::AcceleratedCompositingContext::layerFlushTimerFired):
(WebKit::AcceleratedCompositingContext::notifyAnimationStarted):
(WebKit::AcceleratedCompositingContext::notifyFlushRequired):
(WebKit::AcceleratedCompositingContext::paintContents):
- WebCoreSupport/AcceleratedCompositingContext.h: Added.
(WebKit::AcceleratedCompositingContext::LayerFlushTimer::LayerFlushTimer):
(WebKit::AcceleratedCompositingContext::LayerFlushTimer::fired):
- WebView.cpp:
(WebView::WebView):
(WebView::addToDirtyRegion):
(WebView::scrollBackingStore):
(WebView::sizeChanged):
(WebView::paint):
(WebView::setRootChildLayer):
(WebView::flushPendingGraphicsLayerChangesSoon):
(WebView::setAcceleratedCompositing):
- WebView.h:
- 12:21 PM Changeset in webkit [174829] by
-
- 2 edits in branches/safari-600.1-branch/LayoutTests
Mark platform/mac/accessibility/select-text.html as Failure since we can't take
http://trac.webkit.org/changeset/172028 on branch
- platform/mac/TestExpectations:
- 12:16 PM Changeset in webkit [174828] by
-
- 1 edit2 adds in trunk/LayoutTests
Add test for innerHTML mutations that yield identical DOM.
<https://webkit.org/b/137823>
Reviewed by Chris Dumez.
I made this test while working on an optimization, and it seems useful
to have in the tree since it adds additional coverage. The optimization
may come later.
The test works by creating little DOM subtrees like so:
<foo><bar>some text</bar></foo>
It then overwrites that subtree with an identical one by mutating the
containing element's innerHTML property. It then verifies that the DOM
structure is correct and that Node wrappers retain any custom properties
set on them.
- fast/innerHTML/identical-mutations-expected.txt: Added.
- fast/innerHTML/identical-mutations.html: Added.
- 11:49 AM Changeset in webkit [174827] by
-
- 2 edits in trunk/Source/WebCore
[iOS] Crash when load is canceled while waiting for the user to type HTTP authentication credentials
https://bugs.webkit.org/show_bug.cgi?id=137826
rdar://problem/17329599
Reviewed by Brady Eidson.
No new tests, as we don't have a way to simulate details of user interaction with
an auth dialog.
- platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::receivedCredential):
(WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential):
(WebCore::ResourceHandle::receivedRequestToPerformDefaultHandling):
(WebCore::ResourceHandle::receivedChallengeRejection):
Added null checks before passing m_connection for CFNetwork functions, making this
match what Mac code does when sending a message to a nil receiver.
- 11:28 AM Changeset in webkit [174826] by
-
- 3 edits in branches/safari-600.1-branch/LayoutTests
Merge r171344
- 10:41 AM Changeset in webkit [174825] by
-
- 2 edits in trunk/Source/WebCore
Fix the iOS build.
- platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:
(WebCore::AVTrackPrivateAVFObjCImpl::languageForAVMediaSelectionOption):
- 10:30 AM Changeset in webkit [174824] by
-
- 8 edits in trunk
[iOS] Turn off font autosizing for iOS WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=137806
Reviewed by Sam Weinig.
Source/WebKit2:
Confusingly, WKPreferencesSetTextAutosizingEnabled() does nothing on iOS.
Instead, we have to add WKPreferencesSetMinimumZoomFontSize() and set it to 0
to disable font autosizing.
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetMinimumZoomFontSize):
(WKPreferencesGetMinimumZoomFontSize):
- UIProcess/API/C/WKPreferencesRefPrivate.h:
Tools:
Confusingly, WKPreferencesSetTextAutosizingEnabled() does nothing on iOS.
Instead, we have to add WKPreferencesSetMinimumZoomFontSize() and set it to 0
to disable font autosizing.
Add platformResetPreferencesToConsistentValues() and implement it in the iOS
test controller to set platform-specific prefs.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::TestController::platformResetPreferencesToConsistentValues):
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/ios/TestControllerIOS.mm:
(WTR::TestController::platformResetPreferencesToConsistentValues):
- WebKitTestRunner/mac/TestControllerMac.mm:
(WTR::TestController::platformResetPreferencesToConsistentValues):
- 9:40 AM Changeset in webkit [174823] by
-
- 12 edits16 adds in trunk
[Mac] Represent AVMediaSelectionOptions as AudioTracks
https://bugs.webkit.org/show_bug.cgi?id=137474
Reviewed by Brent Fulgham.
Source/WebCore:
Test: http/tests/media/hls/hls-audio-tracks.html
Support selecting audio "tracks" in HLS streams by exposing AVMediaSelectionOptions
as entries in the video's AudioTrackList.
AVMediaSessionGroups and AVPlayerItems don't have KVO or notifications to track when options
are selected and deselected, so wrap AVMediaSessionGroup and AVMediaSessionOption in C++
wrappers. Each AVMediaSelectionGroup can have only one AVMediaSelectionOption selected at a
time, so the wrapper will take care of answering which AVMediaSelectionOption is currently
selected, as without KVO notifications, asking the AVMediaSelectionGroup directly is
inconsistent. Because setting the selected option multiple times in the same run-loop can
cause flakiness, coalesce calls to setSelectedOption() by setting a one-shot timer to do
the actual selection in the next run-loop.
- platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.h: Added.
(WebCore::MediaSelectionOptionAVFObjC::avMediaSelectionOption):
(WebCore::MediaSelectionOptionAVFObjC::clearGroup): Clear backpointer to group from option.
(WebCore::MediaSelectionGroupAVFObjC::selectedOption): Simple accessor.
(WebCore::MediaSelectionGroupAVFObjC::options): Simple accessor.
(WebCore::MediaSelectionGroupAVFObjC::avMediaSelectionGroup): Simple accessor.
- platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm: Added.
(WebCore::MediaSelectionOptionAVFObjC::create): Simple factory method.
(WebCore::MediaSelectionOptionAVFObjC::MediaSelectionOptionAVFObjC): Simple constructor.
(WebCore::MediaSelectionOptionAVFObjC::setSelected): Pass through to MediaSelectionGroupAVFObjC.
(WebCore::MediaSelectionOptionAVFObjC::selected): Ditto.
(WebCore::MediaSelectionOptionAVFObjC::index): Return index of this object in the group's object.
(WebCore::MediaSelectionGroupAVFObjC::create):
(WebCore::MediaSelectionGroupAVFObjC::MediaSelectionGroupAVFObjC):
(WebCore::MediaSelectionGroupAVFObjC::~MediaSelectionGroupAVFObjC):
(WebCore::MediaSelectionGroupAVFObjC::updateOptions): Discover added or removed options.
(WebCore::MediaSelectionGroupAVFObjC::setSelectedOption): Set a one shot timer to coalesce multiple calls.
(WebCore::MediaSelectionGroupAVFObjC::selectionTimerFired): Set the selected AVSelectionOption.
Modify AVTrackPrivateAVFObjCImpl to support both AVPlayerItemTracks and these new
MediaSelectionOptionAVFObjC objects.
- platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h:
(WebCore::AVTrackPrivateAVFObjCImpl::mediaSelectionOption): Simple accessor.
- platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:
(WebCore::AVTrackPrivateAVFObjCImpl::AVTrackPrivateAVFObjCImpl): Simple constructor.
(WebCore::AVTrackPrivateAVFObjCImpl::~AVTrackPrivateAVFObjCImpl): Simple destructor.
(WebCore::AVTrackPrivateAVFObjCImpl::enabled): Use MediaSelectionOptionAVFObjC, if present.
(WebCore::AVTrackPrivateAVFObjCImpl::setEnabled): Ditto.
(WebCore::AVTrackPrivateAVFObjCImpl::audioKind): Ditto.
(WebCore::AVTrackPrivateAVFObjCImpl::videoKind): Ditto.
(WebCore::AVTrackPrivateAVFObjCImpl::index): Ditto.
(WebCore::AVTrackPrivateAVFObjCImpl::id): Ditto.
(WebCore::AVTrackPrivateAVFObjCImpl::label): Ditto.
(WebCore::AVTrackPrivateAVFObjCImpl::language): Ditto.
(WebCore::AVTrackPrivateAVFObjCImpl::languageForAVMediaSelectionOption): Ditto.
(WebCore::AVTrackPrivateAVFObjCImpl::trackID): Ditto.
Allow AudioTrackPrivateAVFObjC and VideoTrackPrivateAVFObjC to be created with
a MediaSelectionOptionAVFObjC.
- platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.h:
(WebCore::AudioTrackPrivateAVFObjC::create): Takes a MediaSelectionOptionAVFObjC.
- platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:
(WebCore::AudioTrackPrivateAVFObjC::AudioTrackPrivateAVFObjC): Simple constructor.
(WebCore::AudioTrackPrivateAVFObjC::setMediaSelectionOption): Create a new AVTrackPrivateAVFObjCImpl.
(WebCore::AudioTrackPrivateAVFObjC::mediaSelectionOption): Simple accessor.
- platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.cpp:
(WebCore::VideoTrackPrivateAVFObjC::VideoTrackPrivateAVFObjC): Simple constructor.
(WebCore::VideoTrackPrivateAVFObjC::setMediaSelectonOption): Create a new AVTrackPrivateAVFObjCImpl.
(WebCore::VideoTrackPrivateAVFObjC::mediaSelectionOption): Simple accessor.
- platform/graphics/avfoundation/objc/VideoTrackPrivateAVFObjC.h:
Because IDs are not necessarily unique across AVPlayerItemTracks and AVMediaSelectionOptions,
use the index of the track or option instead of it's self-declared ID for ordering for the
trackIndex.
- platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:
(WebCore::AudioTrackPrivateAVFObjC::resetPropertiesFromTrack):
- platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.mm:
(WebCore::VideoTrackPrivateMediaSourceAVFObjC::resetPropertiesFromTrack):
Rather than making allowing the AVPlayerItem to automatically select the "best"
AVMediaSelectionOption, select the automatic options when creating the AVPlayerItem
and thereafter allow the users manual selections "stick".
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::ensureAVPlayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::ensureAVPlayerItem):
Determine whether any MediaSelectionOptionsAVFObjC have been added or removed and send trackChange events accordingly.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::determineChangedTracksFromNewTracksAndOldItems): Added.
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateAudioTracks): Search for updated selection options.
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoTracks): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::safeMediaSelectionGroupForAudibleMedia): Return selection group, if available.
(WebCore::MediaPlayerPrivateAVFoundationObjC::safeMediaSelectionGroupForVisualMedia): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksDidChange): Filter out AVPlayerItemTracks without
AVAssetTracks, as these will be represented by MediaSelectionGroupObjCs instead.
Add new files to project.
- WebCore.xcodeproj/project.pbxproj:
LayoutTests:
- http/tests/media/hls/hls-audio-tracks-expected.txt: Added.
- http/tests/media/hls/hls-audio-tracks.html: Added.
- http/tests/media/resources/hls/audio-tracks.m3u8: Added.
- http/tests/media/resources/hls/bipbop/iframe_index.m3u8: Added.
- http/tests/media/resources/hls/bipbop/main0.ts: Added.
- http/tests/media/resources/hls/bipbop/main1.ts: Added.
- http/tests/media/resources/hls/bipbop/prog_index.m3u8: Added.
- http/tests/media/resources/hls/french/main.aac: Added.
- http/tests/media/resources/hls/french/prog_index.m3u8: Added.
- http/tests/media/resources/hls/spanish/main.aac: Added.
- http/tests/media/resources/hls/spanish/prog_index.m3u8: Added.
- 9:13 AM Changeset in webkit [174822] by
-
- 1 edit6 deletes in trunk/LayoutTests
[Win] Test gardening after r174796.
Now that Windows DRT matches Mac's output, we can get rid of some custom test expecations.
- platform/win/fast/dom/window-load-crash-expected.txt: Removed.
- platform/win/fast/images/crossfade-client-not-removed-crash-expected.txt: Removed.
- platform/win/fast/ruby/before-block-doesnt-crash-expected.txt: Removed.
- platform/win/fast/ruby/before-table-doesnt-crash-expected.txt: Removed.
- platform/win/fast/ruby/generated-before-counter-doesnt-crash-expected.txt: Removed.
- platform/win/loader/image-loader-adoptNode-assert-expected.txt: Removed.
- 9:07 AM Changeset in webkit [174821] by
-
- 10 edits in trunk/Source/JavaScriptCore
Various arguments optimisations in codegen fail to account for arguments being in lexical record
https://bugs.webkit.org/show_bug.cgi?id=137617
Reviewed by Michael Saboff.
Rework the way we track |arguments| references so that we don't try
to use the |arguments| reference on the stack if it's not safe.
To do this without nuking performance it was necessary to update
the parser to track modification of the |arguments| reference
itself.
- bytecode/CodeBlock.cpp:
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::willResolveToArguments):
(JSC::BytecodeGenerator::uncheckedLocalArgumentsRegister):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitConstruct):
(JSC::BytecodeGenerator::emitEnumeration):
(JSC::BytecodeGenerator::uncheckedRegisterForArguments): Deleted.
- bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::hasSafeLocalArgumentsRegister):
- bytecompiler/NodesCodegen.cpp:
(JSC::BracketAccessorNode::emitBytecode):
(JSC::DotAccessorNode::emitBytecode):
(JSC::getArgumentByVal):
(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::ArrayPatternNode::emitDirectBinding):
- interpreter/StackVisitor.cpp:
(JSC::StackVisitor::Frame::existingArguments):
- parser/Nodes.h:
(JSC::ScopeNode::modifiesArguments):
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseInner):
- parser/Parser.h:
(JSC::Scope::getCapturedVariables):
- parser/ParserModes.h:
- 3:51 AM Changeset in webkit [174820] by
-
- 2 edits in trunk/Source/WebKit2
[EFL] REGRESSION(r173929): It broke the Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=137522
Reviewed by Csaba Osztrogonác.
r173929 let web inspector use a separate web process. Besides it changed that the inspector is shown
as docking mode by default. However EFL port doesn't support to show web inspector as docking window yet.
This patch is to show web inspector on EFL new window as before. Docking mode should be implemented by
upcoming patch.
- UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformAttach):
- 3:43 AM Changeset in webkit [174819] by
-
- 2 edits in trunk/Source/WebCore
[EFL] window.screen.width returns wrong value if more displays are available
https://bugs.webkit.org/show_bug.cgi?id=137778
Reviewed by Gyuyoung Kim.
ecore_x_screen_size_get() retrieves the size of Ecore_X_Screen, for example,
having two displays of 1680x1050, it will return 3360x1050.
Unlike EFL's MiniBrowser, Firefox and Chrome return screen of the current display.
No new tests. Hardware specific bug including multiple displays.
- platform/efl/PlatformScreenEfl.cpp:
(WebCore::screenRect):
Use ecore's xrandr to determine the screen on which browser window is displayed.
- 3:10 AM Changeset in webkit [174818] by
-
- 7 edits in trunk/Source
[GLIB] Add API to GMainLoopSource to schedule sources after a delay in microseconds
https://bugs.webkit.org/show_bug.cgi?id=137782
Reviewed by Sergio Villar Senin.
Source/WebCore:
- platform/gtk/SharedTimerGtk.cpp:
(WebCore::setSharedTimerFireInterval): Use microseconds instead of
milliseconds.
Source/WebKit2:
- WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::layerFlushTimerFired): Use microseconds
instead of milliseconds.
Source/WTF:
In some cases when we have a double with the time in seconds, the
conversion to milliseconds ends up truncating the value to 0, and
the source scheduled immediately.
- wtf/gobject/GMainLoopSource.cpp:
(WTF::createMicrosecondsTimeoutSource): Use a custom timeout
source that handles the interval in microseconds instead of milliseconds.
(WTF::GMainLoopSource::scheduleAfterDelay): Use MicrosecondsTimeoutSource.
(WTF::GMainLoopSource::scheduleAfterDelayAndDeleteOnDestroy): Ditto.
- wtf/gobject/GMainLoopSource.h:
- 3:04 AM Changeset in webkit [174817] by
-
- 8 edits2 deletes in trunk/Source
[GTK] Move touch events handling from Platform to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=137735
Reviewed by Sergio Villar Senin.
Source/WebCore:
Remove GtkTouchContextHelper.
- PlatformGTK.cmake:
- platform/gtk/GtkTouchContextHelper.cpp: Removed.
- platform/gtk/GtkTouchContextHelper.h: Removed.
Source/WebKit2:
GtkTouchContextHelper was only used by WebKitWebViewBase, since
it's the only one that can create touch events. The code has been
simplified by processing the events in the view, and the native
touch events are now created with the native event and touch points.
- Shared/NativeWebTouchEvent.h:
(WebKit::NativeWebTouchEvent::touchContext): Deleted.
- Shared/gtk/NativeWebTouchEventGtk.cpp:
(WebKit::NativeWebTouchEvent::NativeWebTouchEvent): Pass touch
points instead of touch context to WebEventFactory::createWebTouchEvent().
- Shared/gtk/WebEventFactory.cpp:
(WebKit::WebEventFactory::createWebTouchEvent): Create the
WebTouchEvent for the given native event and points.
(WebKit::touchPhaseFromEvents): Deleted.
(WebKit::appendTouchEvent): Deleted.
- Shared/gtk/WebEventFactory.h:
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(appendTouchEvent): Helper function to create a
WebPlatformTouchPoint for the given native event and add it to the
list of touch points.
(webkitWebViewBaseGetTouchPointForEvent): Build the touch point
list for the event.
(webkitWebViewBaseTouchEvent): Process the touch event.
(webkitWebViewBaseDragDataReceived): Deleted.
- 3:00 AM Changeset in webkit [174816] by
-
- 2 edits in trunk/Source/WebCore
Remove unused function in WorkerThreadableLoader.h
https://bugs.webkit.org/show_bug.cgi?id=137811
Reviewed by Csaba Osztrogonác.
mainThreadCreateLoader() isn't used anywhere. Even there is no implementation.
- loader/WorkerThreadableLoader.h:
- 2:54 AM Changeset in webkit [174815] by
-
- 4 edits in trunk/Source/JavaScriptCore
Use WTF::move() instead of std::move() to help ensure move semantics in JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=137809
Reviewed by Csaba Osztrogonác.
Substitution of WTF::move() for std::move(). Clean up std::move() in JavaScriptCore.
- bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeForStubInfo):
- bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::computeForStubInfo):
- bytecode/PutByIdVariant.cpp:
(JSC::PutByIdVariant::setter):
- 1:27 AM Changeset in webkit [174814] by
-
- 2 edits in trunk/Source/WTF
Reverted incorrect build fix attempt.
- wtf/Threading.cpp:
- 1:23 AM Changeset in webkit [174813] by
-
- 2 edits in trunk/Source/WTF
Tried to fix the Yosemite build.
- wtf/Threading.cpp: