wenson_hsieh@apple.com [Sat, 15 Aug 2015 17:50:04 +0000 (17:50 +0000)]
Search fields should scale when rendering while zoomed
https://bugs.webkit.org/show_bug.cgi?id=147867
Reviewed by Daniel Bates.
When rendering zoomed search fields, draw to an image buffer instead of drawing directly into the context. This
allows us to scale the image buffer up before rendering. Also refactors common logic used to draw both selects
(paintMenuList) and search fields into the new private method paintCellAndSetFocusedElementNeedsRepaintIfNecessary.
* rendering/RenderThemeMac.h: Changed drawCellOrFocusRingWithViewIntoContext to take a raw pointer.
* rendering/RenderThemeMac.mm:
(WebCore::paintToggleButton): Passes a raw pointer to drawCellOrFocusRingWithViewIntoContext.
(WebCore::ThemeMac::drawCellOrFocusRingWithViewIntoContext): Changed to take a raw pointer.
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintMenuList): Refactored to use paintCellAndSetFocusedElementNeedsRepaintIfNecessary.
(WebCore::RenderThemeMac::paintCellAndSetFocusedElementNeedsRepaintIfNecessary): Contains logic common to painting
both selects and search fields.
(WebCore::RenderThemeMac::paintSearchField): Use ThemeMac::drawCellOrFocusRingWithViewIntoContext
to render search fields, utilizing an offscreen image buffer only when necessary.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188510
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Sat, 15 Aug 2015 05:51:04 +0000 (05:51 +0000)]
Clean up js-test use in scroll-snap tests
https://bugs.webkit.org/show_bug.cgi?id=148046
Reviewed by Brent Fulgham.
* tiled-drawing/scrolling/scroll-snap/scroll-snap-iframe-expected.txt:
* tiled-drawing/scrolling/scroll-snap/scroll-snap-iframe.html:
* tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-2d-overflow-expected.txt:
* tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-2d-overflow.html:
* tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-borders-expected.txt:
* tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-borders.html:
* tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-horizontal-expected.txt:
* tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-horizontal.html:
* tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-slow-horizontal-expected.txt:
* tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-slow-horizontal.html:
* tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-slow-vertical-expected.txt:
* tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-slow-vertical.html:
* tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical-expected.txt:
* tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical.html:
* tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-overflow-expected.txt:
* tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-overflow-stateless-expected.txt:
* tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-overflow-stateless.html:
* tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-overflow.html:
* tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-padding-expected.txt:
* tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-padding.html:
* tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-rotated-expected.txt:
* tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-rotated.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188509
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Sat, 15 Aug 2015 05:44:46 +0000 (05:44 +0000)]
Refactor HTMLCollection to be as fast as CachedLiveNodeList
https://bugs.webkit.org/show_bug.cgi?id=147979
Reviewed by Ryosuke Niwa.
Refactor HTMLCollection to be as fast as CachedLiveNodeList. This is in
preparation of having getElementsByTagName*() / getElementsByClassName()
return an HTMLCollection instead of a NodeList, as per the
specification. Chrome and Firefox already match the specification in
this case.
Traversing an HTMLCollection was slow because of all the extra
branching it had compared to CachedLiveNodeList. To address the issue,
this patch introduces a new templated CachedHTMLCollection subclass,
which behaves in a similar way as CachedLiveNodeList. The 2 template
parameters are:
1. The type of the subclass of CachedHTMLCollection, so we can call
elementMatches() directly on the subclass, without needed any
virtual function call or switch statement. This is the same approach
as in CachedLiveNodeList.
2. The type of tree traversal used (Descendants, ChildrenOnly,
CustomForwardOnly). Unlike LiveNodeList, HTMLCollection needs to
support these 3 types of tree traversal. These were causing extra
branching for every item() call. We are now able to choose the right
type of traversal for the CachedHTMLCollection at compile time.
* WebCore.xcodeproj/project.pbxproj:
Add new files to the Project.
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::children):
(WebCore::ContainerNode::cachedHTMLCollection): Deleted.
* dom/ContainerNode.h:
Drop ContainerNode::ensureCachedHTMLCollection() and use
NodeListsNodeData::addCachedCollection() directly at call sites
instead. We need access to the CollectionType at build-time so
we can resolve the CollectionTraversalType parameter for the
GenericCachedHTMLCollection using CollectionTypeTraits.
* dom/Document.cpp:
* dom/Document.h:
Update ensureCachedCollection() so the CollectionType is now a template
parameter instead of a method argument. We need to know the
CollectionType at build time to construct the GenericCachedHTMLCollection.
* dom/ElementChildIterator.h:
(WebCore::ElementChildIterator<ElementType>::operator):
(WebCore::ElementChildConstIterator<ElementType>::operator):
Add support for decrementing an ElementChildIterator, for consistency
with ElementDescendantIterator. We need this to support backward
traversal in CachedHTMLCollections that use the 'ChildrenOnly' type
of traversal.
* dom/LiveNodeList.h:
(WebCore::CachedLiveNodeList<NodeListType>::collectionBegin):
(WebCore::CachedLiveNodeList<NodeListType>::collectionLast):
(WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseForward):
(WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseBackward):
Move traversal implementation to CollectionTraversal.h, so it can be
shared with achedHTMLCollection.h.
* html/CachedHTMLCollection.h: Added.
(WebCore::traversalType>::CachedHTMLCollection):
(WebCore::traversalType>::~CachedHTMLCollection):
(WebCore::traversalType>::CachedHTMLCollection::memoryCost):
(WebCore::traversalType>::collectionCanTraverseBackward):
(WebCore::traversalType>::collectionTraverseForward):
(WebCore::traversalType>::collectionTraverseBackward):
(WebCore::traversalType>::willValidateIndexCache):
(WebCore::traversalType>::length):
(WebCore::traversalType>::item):
(WebCore::traversalType>::invalidateCache):
(WebCore::traversalType>::elementMatches):
(WebCore::nameShouldBeVisibleInDocumentAll):
(WebCore::traversalType>::namedItem):
* html/CollectionTraversal.h: Added.
Add new template class that provide the collection traversal code
needed by CollectionIndexCache. It has template specializations for
all 3 types of traversal: Descendants, ChildrenOnly, and
CustomForwardOnly.
* html/CollectionType.h:
Add CollectionTypeTraits traits so we can resolve the
CollectionTraversalType used by a specific CollectionType at
compile-time. This is needed for the second template parameter of
CachedHTMLCollection.
* html/GenericCachedHTMLCollection.cpp: Added.
(WebCore::GenericCachedHTMLCollection<traversalType>::elementMatches):
* html/GenericCachedHTMLCollection.h: Added.
Add CachedHTMLCollection subclass is the generic one used for all
CollectionTypes that do not have their own subclass (e.g. NodeChildren).
This has an elementMatches() method with a switch() statement handling
all these CollectionTypes. Those are not normally not performance
sensitive.
* html/HTMLAllCollection.cpp:
(WebCore::HTMLAllCollection::HTMLAllCollection):
* html/HTMLAllCollection.h:
Subclass CachedHTMLCollection instead of HTMLCollection. Also provide
an elementMatches() method that simply returns true as we want to
match all elements.
* html/HTMLCollection.cpp:
(WebCore::HTMLCollection::HTMLCollection):
Move CollectionIndexCache member to the subclass and drop the 2 other
members as they are replaced with the CollectionTraversalType template
parameter of CachedHTMLCollection.
(WebCore::HTMLCollection::~HTMLCollection):
Move Document::unregisterCollection() call to ~CachedHTMLCollection()
as we needed to check if the CollectionIndexCache was valid first.
(WebCore::HTMLCollection::updateNamedElementCache):
Move part of the implementation to the CachedHTMLCollection subclass
as it needs to know about the type of traversal and it needs to be
able to call elementMatches().
* html/HTMLCollection.h:
(WebCore::HTMLCollection::rootNode):
Inline for performance reasons and consistency with CachedLiveNodeList.
(WebCore::HTMLCollection::memoryCost):
Make virtual and move part of the implementation to the
CachedHTMLCollection subclass to compute the cost of the
CollectionIndexCache.
(WebCore::HTMLCollection::invalidateCache):
Move part of the implementation to the subclass to invalidate the
CollectionIndexCache.
* html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::elements):
* html/HTMLFormControlsCollection.cpp:
* html/HTMLFormControlsCollection.h:
Subclass CachedHTMLCollection instead of HTMLCollection.
customElementAfter() no longer needs to be virtual as it
is called directly by CachedHTMLCollection on the subclass.
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::elements):
* html/HTMLMapElement.cpp:
(WebCore::HTMLMapElement::areas):
Call NodeListsNodeData::addCachedCollection() directly.
* html/HTMLNameCollection.cpp:
* html/HTMLNameCollection.h:
Subclass CachedHTMLCollection instead of HTMLCollection.
* html/HTMLOptionsCollection.cpp:
* html/HTMLOptionsCollection.h:
Subclass CachedHTMLCollection instead of HTMLCollection.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::selectedOptions):
(WebCore::HTMLSelectElement::options):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::rows):
(WebCore::HTMLTableElement::tBodies):
* html/HTMLTableRowElement.cpp:
(WebCore::HTMLTableRowElement::cells):
Call NodeListsNodeData::addCachedCollection() directly.
* html/HTMLTableRowsCollection.cpp:
* html/HTMLTableRowsCollection.h:
Subclass CachedHTMLCollection instead of HTMLCollection.
customElementAfter() no longer needs to be virtual as it
is called directly by CachedHTMLCollection on the subclass.
* html/HTMLTableSectionElement.cpp:
(WebCore::HTMLTableSectionElement::rows):
Call NodeListsNodeData::addCachedCollection() directly.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188508
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
basile_clement@apple.com [Sat, 15 Aug 2015 05:00:57 +0000 (05:00 +0000)]
Occasional failure in v8-v6/v8-raytrace.js.ftl-eager
https://bugs.webkit.org/show_bug.cgi?id=147165
Reviewed by Saam Barati.
The object allocation sinking phase was not properly checking that a
MultiGetByOffset was safe to lower before lowering it.
This makes it so that we only lower MultiGetByOffset if it only loads
from direct properties of the object, and considers it as an escape in
any other case (e.g. a load from the prototype).
It also ensure proper conversion of MultiGetByOffset into
CheckStructureImmediate when needed.
* dfg/DFGObjectAllocationSinkingPhase.cpp:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::checkStructure):
We were not compiling properly CheckStructure and
CheckStructureImmediate nodes with an empty StructureSet.
* tests/stress/sink-multigetbyoffset.js: Regression test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188507
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Sat, 15 Aug 2015 03:47:04 +0000 (03:47 +0000)]
Web Inspector: NavigationBar.updateLayoutSoon should use requestAnimationFrame
https://bugs.webkit.org/show_bug.cgi?id=148010
Reviewed by Brian Burg.
NavigationBar.updateLayoutSoon now uses requestAnimationFrame instead of setTimeout.
* UserInterface/Views/NavigationBar.js:
(WebInspector.NavigationBar):
(WebInspector.NavigationBar.prototype.updateLayoutSoon.update):
(WebInspector.NavigationBar.prototype.updateLayoutSoon):
(WebInspector.NavigationBar.prototype.updateLayout):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188506
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jhoneycutt@apple.com [Sat, 15 Aug 2015 03:24:41 +0000 (03:24 +0000)]
Rebase some WK2 test results to include the frame scroll pos. Move the
cross-platform test results to the WK1 directory.
* platform/ios-simulator-wk1/fast/multicol/pagination/BottomToTop-bt-expected.txt: Renamed from LayoutTests/platform/ios-simulator/fast/multicol/pagination/BottomToTop-bt-expected.txt.
* platform/ios-simulator-wk1/fast/multicol/pagination/BottomToTop-lr-expected.txt: Renamed from LayoutTests/platform/ios-simulator/fast/multicol/pagination/BottomToTop-lr-expected.txt.
* platform/ios-simulator-wk1/fast/multicol/pagination/BottomToTop-rl-expected.txt: Renamed from LayoutTests/platform/ios-simulator/fast/multicol/pagination/BottomToTop-rl-expected.txt.
* platform/ios-simulator-wk1/fast/multicol/pagination/BottomToTop-tb-expected.txt: Renamed from LayoutTests/platform/ios-simulator/fast/multicol/pagination/BottomToTop-tb-expected.txt.
* platform/ios-simulator-wk1/fast/multicol/pagination/RightToLeft-bt-expected.txt: Renamed from LayoutTests/platform/ios-simulator/fast/multicol/pagination/RightToLeft-bt-expected.txt.
* platform/ios-simulator-wk1/fast/multicol/pagination/RightToLeft-lr-expected.txt: Renamed from LayoutTests/platform/ios-simulator/fast/multicol/pagination/RightToLeft-lr-expected.txt.
* platform/ios-simulator-wk1/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.txt: Renamed from LayoutTests/platform/ios-simulator/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.txt.
* platform/ios-simulator-wk1/fast/multicol/pagination/RightToLeft-rl-expected.txt: Renamed from LayoutTests/platform/ios-simulator/fast/multicol/pagination/RightToLeft-rl-expected.txt.
* platform/ios-simulator-wk1/fast/multicol/pagination/RightToLeft-tb-expected.txt: Renamed from LayoutTests/platform/ios-simulator/fast/multicol/pagination/RightToLeft-tb-expected.txt.
* platform/ios-simulator-wk1/fast/multicol/vertical-rl/column-break-with-balancing-expected.txt: Renamed from LayoutTests/platform/ios-simulator/fast/multicol/vertical-rl/column-break-with-balancing-expected.txt.
* platform/ios-simulator-wk1/fast/multicol/vertical-rl/column-rules-expected.txt: Renamed from LayoutTests/platform/ios-simulator/fast/multicol/vertical-rl/column-rules-expected.txt.
* platform/ios-simulator-wk1/fast/multicol/vertical-rl/float-paginate-complex-expected.txt: Renamed from LayoutTests/platform/ios-simulator/fast/multicol/vertical-rl/float-paginate-complex-expected.txt.
* platform/ios-simulator-wk2/fast/multicol/pagination/BottomToTop-bt-expected.txt:
* platform/ios-simulator-wk2/fast/multicol/pagination/BottomToTop-lr-expected.txt:
* platform/ios-simulator-wk2/fast/multicol/pagination/BottomToTop-rl-expected.txt:
* platform/ios-simulator-wk2/fast/multicol/pagination/BottomToTop-tb-expected.txt:
* platform/ios-simulator-wk2/fast/multicol/pagination/RightToLeft-bt-expected.txt:
* platform/ios-simulator-wk2/fast/multicol/pagination/RightToLeft-lr-expected.txt:
* platform/ios-simulator-wk2/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.txt:
* platform/ios-simulator-wk2/fast/multicol/pagination/RightToLeft-rl-expected.txt:
* platform/ios-simulator-wk2/fast/multicol/pagination/RightToLeft-tb-expected.txt:
* platform/ios-simulator-wk2/fast/multicol/vertical-rl/column-break-with-balancing-expected.txt:
* platform/ios-simulator-wk2/fast/multicol/vertical-rl/column-rules-expected.txt:
* platform/ios-simulator-wk2/fast/multicol/vertical-rl/float-paginate-complex-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188505
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jhoneycutt@apple.com [Sat, 15 Aug 2015 01:35:49 +0000 (01:35 +0000)]
iOS test gardening.
* platform/ios-simulator-wk2/TestExpectations:
* platform/ios-simulator/js/dom/constructor-length-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188504
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Sat, 15 Aug 2015 01:07:36 +0000 (01:07 +0000)]
Web Inspector: Add VisualStyleDetailsPanel
https://bugs.webkit.org/show_bug.cgi?id=147570
Reviewed by Timothy Hatcher.
Added VisualStyleDetailsPanel and inclusions to forthcoming classes
that will be used in this visual sidebar panel.
* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Main.html:
Added files for all new classes used in the VisualStyleDetailsPanel.
* UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
(WebInspector.CSSStyleDetailsSidebarPanel):
* UserInterface/Views/DetailsSection.js:
(WebInspector.DetailsSection):
(WebInspector.DetailsSection.prototype.set collapsed):
(WebInspector.DetailsSection.prototype.get expandedByUser):
(WebInspector.DetailsSection.prototype._headerElementClicked):
Track whether or not the expanded state was caused by the user.
* UserInterface/Views/VisualStyleDetailsPanel.css: Added.
(.sidebar > .panel.details.css-style .visual > .details-section .details-section > .header):
(.sidebar > .panel.details.css-style .visual > .details-section .details-section > .header > .visual-style-section-clear):
(.sidebar > .panel.details.css-style .visual > .details-section .details-section:not(.modified) > .header > .visual-style-section-clear):
(.sidebar > .panel.details.css-style .visual > .details-section .details-section > .header > span):
(.sidebar > .panel.details.css-style .visual > .details-section .details-section.modified > .header > span::after):
(.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content):
(.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row):
(.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row:last-child):
(.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row.visual-style-separated-row):
(.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row > .visual-style-property-container > .visual-style-property-title):
(.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content .group > .row > .visual-style-property-container:not(.layout-reversed):last-child):
(.sidebar > .panel.details.css-style .visual.disabled > .details-section:not(.visual-style-selector-section)):
(.sidebar > .panel.details.css-style .visual.disabled > .details-section:not(.visual-style-selector-section) input):
* UserInterface/Views/VisualStyleDetailsPanel.js: Added.
(WebInspector.VisualStyleDetailsPanel):
(WebInspector.VisualStyleDetailsPanel.prototype.refresh):
(WebInspector.VisualStyleDetailsPanel.prototype._generateSection.replaceDashWithCapital):
(WebInspector.VisualStyleDetailsPanel.prototype._generateSection.createOptionsElement):
(WebInspector.VisualStyleDetailsPanel.prototype._generateSection):
(WebInspector.VisualStyleDetailsPanel.prototype._prepareForChange):
(WebInspector.VisualStyleDetailsPanel.prototype._updateSections):
(WebInspector.VisualStyleDetailsPanel.prototype._updateProperties):
(WebInspector.VisualStyleDetailsPanel.prototype._updateAutocompleteCompatiblePropertyEditor):
(WebInspector.VisualStyleDetailsPanel.prototype._sectionModified):
(WebInspector.VisualStyleDetailsPanel.prototype._clearModifiedSection):
(WebInspector.VisualStyleDetailsPanel.prototype.get _initialTextList):
(WebInspector.VisualStyleDetailsPanel.prototype._initialPropertyTextModified):
(WebInspector.VisualStyleDetailsPanel.prototype._populateSection):
(WebInspector.VisualStyleDetailsPanel.prototype._populateDisplaySection):
(WebInspector.VisualStyleDetailsPanel.prototype._generateMetricSectionRows):
(WebInspector.VisualStyleDetailsPanel.prototype._populatePositionSection):
(WebInspector.VisualStyleDetailsPanel.prototype._populateFloatSection):
(WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.onEditorMouseover):
(WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners.onEditorMouseout):
(WebInspector.VisualStyleDetailsPanel.prototype._addMetricsMouseListeners):
(WebInspector.VisualStyleDetailsPanel.prototype._populateDimensionsSection):
(WebInspector.VisualStyleDetailsPanel.prototype._populateMarginSection):
(WebInspector.VisualStyleDetailsPanel.prototype._populatePaddingSection):
(WebInspector.VisualStyleDetailsPanel.prototype._populateFlexboxSection):
(WebInspector.VisualStyleDetailsPanel.prototype._populateTextStyleSection):
(WebInspector.VisualStyleDetailsPanel.prototype._populateFontSection):
(WebInspector.VisualStyleDetailsPanel.prototype._populateTextSpacingSection):
(WebInspector.VisualStyleDetailsPanel.prototype._populateTextShadowSection):
(WebInspector.VisualStyleDetailsPanel.prototype._populateBackgroundStyleSection):
(WebInspector.VisualStyleDetailsPanel.prototype._populateBorderSection):
(WebInspector.VisualStyleDetailsPanel.prototype._populateOutlineSection):
(WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.noRemainingTreeItems):
(WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.selectedBoxShadowItemValueChanged):
(WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection.boxShadowItemSelected):
(WebInspector.VisualStyleDetailsPanel.prototype._populateBoxShadowSection):
(WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.noRemainingTreeItems):
(WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.selectedtransitionItemValueChanged):
(WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection.transitionItemSelected):
(WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188503
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jhoneycutt@apple.com [Sat, 15 Aug 2015 00:58:19 +0000 (00:58 +0000)]
iOS test gardening.
* platform/ios-simulator-wk2/fast/ruby/bopomofo-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/ruby/bopomofo-letter-spacing-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/ruby/bopomofo-rl-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/text/international/plane2-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/text/international/synthesized-italic-vertical-latin-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/writing-mode/japanese-lr-text-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/writing-mode/japanese-rl-text-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/writing-mode/japanese-ruby-horizontal-bt-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/writing-mode/japanese-ruby-vertical-lr-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/writing-mode/japanese-ruby-vertical-rl-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/writing-mode/vertical-align-table-baseline-expected.txt: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188502
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Sat, 15 Aug 2015 00:14:52 +0000 (00:14 +0000)]
Use WTF::Lock and WTF::Condition instead of WTF::Mutex, WTF::ThreadCondition, std::mutex, and std::condition_variable
https://bugs.webkit.org/show_bug.cgi?id=147999
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
* API/JSVirtualMachine.mm:
(initWrapperCache):
(+[JSVMWrapperCache addWrapper:forJSContextGroupRef:]):
(+[JSVMWrapperCache wrapperForJSContextGroupRef:]):
(wrapperCacheMutex): Deleted.
* bytecode/SamplingTool.cpp:
(JSC::SamplingTool::doRun):
(JSC::SamplingTool::notifyOfScope):
* bytecode/SamplingTool.h:
* dfg/DFGThreadData.h:
* dfg/DFGWorklist.cpp:
(JSC::DFG::Worklist::~Worklist):
(JSC::DFG::Worklist::isActiveForVM):
(JSC::DFG::Worklist::enqueue):
(JSC::DFG::Worklist::compilationState):
(JSC::DFG::Worklist::waitUntilAllPlansForVMAreReady):
(JSC::DFG::Worklist::removeAllReadyPlansForVM):
(JSC::DFG::Worklist::completeAllReadyPlansForVM):
(JSC::DFG::Worklist::visitWeakReferences):
(JSC::DFG::Worklist::removeDeadPlans):
(JSC::DFG::Worklist::queueLength):
(JSC::DFG::Worklist::dump):
(JSC::DFG::Worklist::runThread):
* dfg/DFGWorklist.h:
* disassembler/Disassembler.cpp:
* heap/CopiedSpace.cpp:
(JSC::CopiedSpace::doneFillingBlock):
(JSC::CopiedSpace::doneCopying):
* heap/CopiedSpace.h:
* heap/CopiedSpaceInlines.h:
(JSC::CopiedSpace::recycleBorrowedBlock):
(JSC::CopiedSpace::allocateBlockForCopyingPhase):
* heap/GCThread.cpp:
(JSC::GCThread::waitForNextPhase):
(JSC::GCThread::gcThreadMain):
* heap/GCThreadSharedData.cpp:
(JSC::GCThreadSharedData::GCThreadSharedData):
(JSC::GCThreadSharedData::~GCThreadSharedData):
(JSC::GCThreadSharedData::startNextPhase):
(JSC::GCThreadSharedData::endCurrentPhase):
(JSC::GCThreadSharedData::didStartMarking):
(JSC::GCThreadSharedData::didFinishMarking):
* heap/GCThreadSharedData.h:
* heap/HeapTimer.h:
* heap/MachineStackMarker.cpp:
(JSC::ActiveMachineThreadsManager::Locker::Locker):
(JSC::ActiveMachineThreadsManager::add):
(JSC::ActiveMachineThreadsManager::remove):
(JSC::ActiveMachineThreadsManager::ActiveMachineThreadsManager):
(JSC::MachineThreads::~MachineThreads):
(JSC::MachineThreads::addCurrentThread):
(JSC::MachineThreads::removeThreadIfFound):
(JSC::MachineThreads::tryCopyOtherThreadStack):
(JSC::MachineThreads::tryCopyOtherThreadStacks):
(JSC::MachineThreads::gatherConservativeRoots):
* heap/MachineStackMarker.h:
* heap/SlotVisitor.cpp:
(JSC::SlotVisitor::donateKnownParallel):
(JSC::SlotVisitor::drain):
(JSC::SlotVisitor::drainFromShared):
(JSC::SlotVisitor::mergeOpaqueRoots):
* heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::containsOpaqueRootTriState):
* inspector/remote/RemoteInspectorDebuggableConnection.h:
* inspector/remote/RemoteInspectorDebuggableConnection.mm:
(Inspector::RemoteInspectorHandleRunSourceGlobal):
(Inspector::RemoteInspectorQueueTaskOnGlobalQueue):
(Inspector::RemoteInspectorInitializeGlobalQueue):
(Inspector::RemoteInspectorHandleRunSourceWithInfo):
(Inspector::RemoteInspectorDebuggableConnection::setup):
(Inspector::RemoteInspectorDebuggableConnection::closeFromDebuggable):
(Inspector::RemoteInspectorDebuggableConnection::close):
(Inspector::RemoteInspectorDebuggableConnection::sendMessageToBackend):
(Inspector::RemoteInspectorDebuggableConnection::queueTaskOnPrivateRunLoop):
* interpreter/JSStack.cpp:
(JSC::JSStack::JSStack):
(JSC::JSStack::releaseExcessCapacity):
(JSC::JSStack::addToCommittedByteCount):
(JSC::JSStack::committedByteCount):
(JSC::stackStatisticsMutex): Deleted.
(JSC::JSStack::initializeThreading): Deleted.
* interpreter/JSStack.h:
(JSC::JSStack::gatherConservativeRoots):
(JSC::JSStack::sanitizeStack):
(JSC::JSStack::size):
(JSC::JSStack::initializeThreading): Deleted.
* jit/ExecutableAllocator.cpp:
(JSC::DemandExecutableAllocator::DemandExecutableAllocator):
(JSC::DemandExecutableAllocator::~DemandExecutableAllocator):
(JSC::DemandExecutableAllocator::bytesAllocatedByAllAllocators):
(JSC::DemandExecutableAllocator::bytesCommittedByAllocactors):
(JSC::DemandExecutableAllocator::dumpProfileFromAllAllocators):
(JSC::DemandExecutableAllocator::allocators):
(JSC::DemandExecutableAllocator::allocatorsMutex):
* jit/JITThunks.cpp:
(JSC::JITThunks::ctiStub):
* jit/JITThunks.h:
* profiler/ProfilerDatabase.cpp:
(JSC::Profiler::Database::ensureBytecodesFor):
(JSC::Profiler::Database::notifyDestruction):
* profiler/ProfilerDatabase.h:
* runtime/InitializeThreading.cpp:
(JSC::initializeThreading):
* runtime/JSLock.cpp:
(JSC::GlobalJSLock::GlobalJSLock):
(JSC::GlobalJSLock::~GlobalJSLock):
(JSC::JSLockHolder::JSLockHolder):
(JSC::GlobalJSLock::initialize): Deleted.
* runtime/JSLock.h:
Source/WTF:
Relanding after fixing a deadlock on Linux.
* wtf/Condition.h: "using WTF::Condition".
* wtf/Lock.h:
(WTF::LockBase::lock):
(WTF::LockBase::tryLock): Add tryLock() because it turns out that we use it sometimes.
(WTF::LockBase::try_lock): unique_lock needs this.
(WTF::LockBase::unlock):
* wtf/ParkingLot.cpp:
(WTF::ParkingLot::parkConditionally): Work around a Linux C++ bug where wait_until with time_point::max() immediately returns and doesn't flash the lock.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188499
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Fri, 14 Aug 2015 23:50:25 +0000 (23:50 +0000)]
ES6 class syntax should allow computed name method
https://bugs.webkit.org/show_bug.cgi?id=142690
Reviewed by Saam Barati.
Source/JavaScriptCore:
Added a new "attributes" attribute to op_put_getter_by_id, op_put_setter_by_id, op_put_getter_setter to specify
the property descriptor options so that we can use use op_put_setter_by_id and op_put_getter_setter to define
getters and setters for classes. Without this, getters and setters could erroneously override methods.
* bytecode/BytecodeList.json:
* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitDirectPutById):
(JSC::BytecodeGenerator::emitPutGetterById):
(JSC::BytecodeGenerator::emitPutSetterById):
(JSC::BytecodeGenerator::emitPutGetterSetter):
* bytecompiler/BytecodeGenerator.h:
* bytecompiler/NodesCodegen.cpp:
(JSC::PropertyListNode::emitBytecode): Always use emitPutGetterSetter to emit getters and setters for classes
as done for object literals.
(JSC::PropertyListNode::emitPutConstantProperty):
(JSC::ClassExprNode::emitBytecode):
* jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState):
* jit/JIT.h:
* jit/JITInlines.h:
(JSC::JIT::callOperation):
* jit/JITOperations.cpp:
* jit/JITOperations.h:
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_put_getter_by_id):
(JSC::JIT::emit_op_put_setter_by_id):
(JSC::JIT::emit_op_put_getter_setter):
(JSC::JIT::emit_op_del_by_id):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_put_getter_by_id):
(JSC::JIT::emit_op_put_setter_by_id):
(JSC::JIT::emit_op_put_getter_setter):
(JSC::JIT::emit_op_del_by_id):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LowLevelInterpreter.asm:
* parser/ASTBuilder.h:
(JSC::ASTBuilder::createProperty):
(JSC::ASTBuilder::createPropertyList):
* parser/NodeConstructors.h:
(JSC::PropertyNode::PropertyNode):
* parser/Nodes.h:
(JSC::PropertyNode::expressionName):
(JSC::PropertyNode::name):
* parser/Parser.cpp:
(JSC::Parser<LexerType>::parseClass): Added the support for computed property name. We don't support computed names
for getters and setters.
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createProperty):
* runtime/JSObject.cpp:
(JSC::JSObject::allowsAccessFrom):
(JSC::JSObject::putGetter):
(JSC::JSObject::putSetter):
* runtime/JSObject.h:
* runtime/PropertyDescriptor.h:
LayoutTests:
Added test cases for computed method names.
* js/class-syntax-method-names-expected.txt:
* js/script-tests/class-syntax-method-names.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188498
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Fri, 14 Aug 2015 22:24:26 +0000 (22:24 +0000)]
Add InspectorInstrumentation builtin object to instrument the code in JS builtins like Promises
https://bugs.webkit.org/show_bug.cgi?id=147942
Reviewed by Geoffrey Garen.
This patch adds new private global object, @InspectorInstrumentation.
It is intended to be used as the namespace object (like Reflect/Math) for Inspector's
instrumentation system and it is used to instrument the builtin JS code, like Promises.
* CMakeLists.txt:
* DerivedSources.make:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* builtins/InspectorInstrumentationObject.js: Added.
(debug):
(promiseFulfilled):
(promiseRejected):
* builtins/Operations.Promise.js:
(rejectPromise):
(fulfillPromise):
* runtime/CommonIdentifiers.h:
* runtime/InspectorInstrumentationObject.cpp: Added.
(JSC::InspectorInstrumentationObject::InspectorInstrumentationObject):
(JSC::InspectorInstrumentationObject::finishCreation):
(JSC::InspectorInstrumentationObject::getOwnPropertySlot):
(JSC::InspectorInstrumentationObject::isEnabled):
(JSC::InspectorInstrumentationObject::enable):
(JSC::InspectorInstrumentationObject::disable):
(JSC::inspectorInstrumentationObjectDataLogImpl):
* runtime/InspectorInstrumentationObject.h: Added.
(JSC::InspectorInstrumentationObject::create):
(JSC::InspectorInstrumentationObject::createStructure):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188497
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Fri, 14 Aug 2015 22:19:57 +0000 (22:19 +0000)]
Web Inspector: Highlight DOM node attribute changes in parallel, not sequentially
https://bugs.webkit.org/show_bug.cgi?id=148019
Reviewed by Brian Burg.
* UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement.prototype._markNodeChanged):
(WebInspector.DOMTreeElement.prototype._nodeChangedAnimationEnd):
Now removes the animated element from the updated list once the animation ends.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188496
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Fri, 14 Aug 2015 22:15:33 +0000 (22:15 +0000)]
Web Inspector: Long delay when row selection changes in timeline data grids
https://bugs.webkit.org/show_bug.cgi?id=148005
Reviewed by Brian Burg.
Selecting a tree element in the Timelines sidebar generates multiple
WebInspector.ContentView.SelectionPathComponentsDidChange events, each of which
causes NavigationBar to update its layout (which is extremely expensive).
* UserInterface/Views/ContentBrowser.js:
(WebInspector.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange):
Call updateLayoutSoon instead of updateLayout to coalesce layout requests.
* UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype._recordSelected):
When the selected record changes in the overview graph, make sure the record's tree element
isn't already selected. Reselecting the tree element results in an extra NavigationBar layout.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188494
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mdaiter@apple.com [Fri, 14 Aug 2015 22:11:37 +0000 (22:11 +0000)]
Implementing enumerateDevices
https://bugs.webkit.org/show_bug.cgi?id=146426
<rdar://problem/
21599847>
Reviewed by Eric Carlson.
* CMakeLists.txt:
* Modules/mediastream/MediaDeviceInfo.idl:
* Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::enumerateDevices):
* WebCore.xcodeproj/project.pbxproj:
* platform/mediastream/MediaDevicesPrivate.cpp:
(WebCore::MediaDevicesPrivate::create):
(WebCore::MediaDevicesPrivate::MediaDevicesPrivate):
(WebCore::MediaDevicesPrivate::didCompleteRequest):
(WebCore::MediaDevicesPrivate::availableMediaDevices):
* platform/mediastream/MediaDevicesPrivate.h:
(WebCore::MediaDevicesPrivate::~MediaDevicesPrivate):
(WebCore::MediaDevicesPrivate::capturedDevices):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188493
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Fri, 14 Aug 2015 22:11:22 +0000 (22:11 +0000)]
Add performance tests for NodeList and HTMLCollection traversal
https://bugs.webkit.org/show_bug.cgi?id=148043
Reviewed by Gavin Barraclough.
Add performance tests for NodeList and HTMLCollection traversal.
Ideally, those 2 tests should be as fast. However, due to inefficiencies
in our HTMLCollection bindings code, the HTMLCollection tests is ~30%
slower. This will be addressed in the near future.
* Bindings/childNodes-traversal.html: Added.
* Bindings/children-traversal.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188492
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Fri, 14 Aug 2015 22:08:10 +0000 (22:08 +0000)]
Web Inspector: REGRESSION (r188396): Rendering Frames timeline ruler dividers are off by 1px
https://bugs.webkit.org/show_bug.cgi?id=148040
Reviewed by Brian Burg.
* UserInterface/Views/TimelineOverview.css:
(.timeline-overview.frames > .timeline-ruler > .markers > .divider):
(.timeline-overview.frames > .timeline-ruler > .header > .divider): Deleted.
All ruler dividers should be translated by the same amount.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188491
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Fri, 14 Aug 2015 22:04:56 +0000 (22:04 +0000)]
Web Inspector: Style changes to Visual sidebar editors
https://bugs.webkit.org/show_bug.cgi?id=148021
Reviewed by Brian Burg.
Various style fixes and feature enhancements in some of the Visual style property editors.
* UserInterface/Views/VisualStyleColorPicker.css:
(.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch):
(.visual-style-property-container.input-color-picker > .visual-style-property-value-container > input):
(.visual-style-property-container.input-color-picker.multiple > .visual-style-property-value-container > .visual-style-multiple-property-placeholder):
* UserInterface/Views/VisualStyleKeywordCheckbox.css:
(.visual-style-property-container.keyword-checkbox.font-variant > .visual-style-property-value-container > input):
(.visual-style-property-container.keyword-checkbox.font-variant > .visual-style-property-value-container > input::before):
(.visual-style-property-container.keyword-checkbox > .visual-style-property-value-container > input): Deleted.
(.visual-style-property-container.keyword-checkbox > .visual-style-property-value-container > div): Deleted.
Replaced the SVG image before the checkbox with a :before pseudo-element with content.
* UserInterface/Views/VisualStyleKeywordCheckbox.js:
(WebInspector.VisualStyleKeywordCheckbox):
Removed the SVG image before the checkbox.
* UserInterface/Views/VisualStyleKeywordPicker.js:
(WebInspector.VisualStyleKeywordPicker.prototype.get value):
(WebInspector.VisualStyleKeywordPicker.prototype.set value):
(WebInspector.VisualStyleKeywordPicker.prototype.set placeholder):
(WebInspector.VisualStyleKeywordPicker.prototype.get synthesizedValue):
(WebInspector.VisualStyleKeywordPicker.prototype._getValue):
(WebInspector.VisualStyleKeywordPicker.prototype._setValue):
(WebInspector.VisualStyleKeywordPicker.prototype._generateSynthesizedValue):
(WebInspector.VisualStyleKeywordPicker.prototype._handleKeywordChanged):
Due to a current bug (https://webkit.org/b/147064), you cannot extend ES6 getters/setters. In order to work
around this, a member function was added that performs the same action as the getter/setter, but can be extended.
* UserInterface/Views/VisualStylePropertyEditorLink.css:
(.visual-style-property-editor-link.linked > .visual-style-property-editor-link-border):
(.visual-style-property-editor-link > .visual-style-property-editor-link-icon > .unlinked-icon):
* UserInterface/Views/VisualStyleRelativeNumberSlider.js:
(WebInspector.VisualStyleRelativeNumberSlider):
(WebInspector.VisualStyleRelativeNumberSlider.prototype._resetSlider):
(WebInspector.VisualStyleRelativeNumberSlider.prototype._sliderChanged):
* UserInterface/Views/VisualStyleSelectorTreeItem.css:
(.item.visual-style-selector-item > input[type="checkbox"]):
(.item.visual-style-selector-item.selected > input[type="checkbox"]::before):
(.item.visual-style-selector-item.modified > .icon):
(.item.visual-style-selector-item:not(.dom-element-icon).editable > .titles > .title:focus):
* UserInterface/Views/VisualStyleSelectorTreeItem.js:
(WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent):
(WebInspector.VisualStyleSelectorTreeItem.prototype._handleMainTitleMouseDown):
Added another context menu item to show the source location for the selected rule.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188490
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 14 Aug 2015 22:01:34 +0000 (22:01 +0000)]
cryptographicallyRandomValuesFromOS should use arc4random_buf on Darwin.
https://bugs.webkit.org/show_bug.cgi?id=148038
Patch by Keith Miller <keith_miller@apple.com> on 2015-08-14
Reviewed by Geoffrey Garen.
Currently, we open a file descriptor to /dev/urandom, which can sometimes
fail to open. Using arc4random_buf instead should get around this issue.
* wtf/OSRandomSource.cpp:
(WTF::cryptographicallyRandomValuesFromOS):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188489
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Fri, 14 Aug 2015 21:55:58 +0000 (21:55 +0000)]
[Mac] video-buffered-range-contains-currentTime.html is flakey after r188390
https://bugs.webkit.org/show_bug.cgi?id=148042
* platform/mac/TestExpectations: Mark the test as flakey.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188488
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
aestes@apple.com [Fri, 14 Aug 2015 21:08:13 +0000 (21:08 +0000)]
[Cocoa] Downloads do not start if policy decision is made asynchronously
https://bugs.webkit.org/show_bug.cgi?id=147985
Reviewed by Brady Eidson.
Source/WebCore:
It's only possible to convert a NSURLConnection to a download while the connection delegate's
-connection:didReceiveResponse: is being called. However, WebKit clients can decide content policy
asynchronously. If a client chooses to download a response asynchronously, we can no longer convert the
connection to a download, so we should start a new download instead.
New API test: _WKDownload.AsynchronousDownloadPolicy
* dom/Document.cpp: Updated to include SubresourceLoader.h.
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::mainResourceLoader): Updated to return a SubresourceLoader.
(WebCore::DocumentLoader::continueAfterContentPolicy): Cast mainResourceLoader() to a ResourceLoader since
didFail() is private in SubresourceLoader.
* loader/DocumentLoader.h:
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::SubresourceLoader): Initialized m_callingDidReceiveResponse to false.
(WebCore::SubresourceLoader::didReceiveResponse): Used TemporaryChange<> to set m_callingDidReceiveResponse to true.
* loader/SubresourceLoader.h:
* loader/appcache/ApplicationCacheHost.cpp: Updated to include SubresourceLoader.h.
* loader/mac/DocumentLoaderMac.cpp: Ditto.
Source/WebKit/mac:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::convertMainResourceLoadToDownload): Started a new download if the main resource loader is not calling didReceiveResponse.
Source/WebKit/win:
* WebCoreSupport/WebFrameLoaderClient.cpp: Updated to include SubresourceLoader.h.
Source/WebKit2:
* WebProcess/Network/WebResourceLoader.cpp: Updated to include SubresourceLoader.h.
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::convertMainResourceLoadToDownload): Started a new download if the main resource loader is not calling didReceiveResponse.
Tools:
Added a new API test.
* TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm:
(-[AsynchronousDownloadNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
(-[AsynchronousDownloadDelegate _downloadDidStart:]):
(TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188486
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Fri, 14 Aug 2015 20:27:58 +0000 (20:27 +0000)]
RenderBlock::simplifiedLayout should pop LayoutStateMaintainer when early returns.
https://bugs.webkit.org/show_bug.cgi?id=148031
Reviewed by Simon Fraser.
LayoutStateMaintainer push/pop calls need to be balanced to ensure layout consistency.
Unable to make a test case for this.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::simplifiedLayout):
* rendering/RenderView.h:
(WebCore::LayoutStateMaintainer::~LayoutStateMaintainer): ASSERT the state properly.
(WebCore::LayoutStateMaintainer::push):
(WebCore::LayoutStateMaintainer::pop):
(WebCore::LayoutStateMaintainer::didPush):
(WebCore::LayoutStateMaintainer::LayoutStateMaintainer): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188485
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Fri, 14 Aug 2015 20:07:15 +0000 (20:07 +0000)]
Web Inspector: Add visual editors for CSS properties
https://bugs.webkit.org/show_bug.cgi?id=147576
Added parent class for property editors in the Visual style
details panel in the CSS sidebar.
Reviewed by Timothy Hatcher.
* UserInterface/Views/VisualStylePropertyCombiner.js: Added.
(WebInspector.VisualStylePropertyCombiner):
(WebInspector.VisualStylePropertyCombiner.prototype.get style):
(WebInspector.VisualStylePropertyCombiner.prototype.get synthesizedValue):
(WebInspector.VisualStylePropertyCombiner.prototype.modifyPropertyText):
(WebInspector.VisualStylePropertyCombiner.prototype.update):
(WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText.updateCompatibleEditor):
(WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText):
(WebInspector.VisualStylePropertyCombiner.prototype.propertyMissing):
(WebInspector.VisualStylePropertyCombiner.prototype.resetEditorValues):
(WebInspector.VisualStylePropertyCombiner.prototype._markEditors):
(WebInspector.VisualStylePropertyCombiner.prototype._handlePropertyEditorValueChanged):
* UserInterface/Views/VisualStylePropertyEditor.css: Added.
(.visual-style-property-container):
(.visual-style-property-container > .visual-style-property-title):
(.visual-style-property-container > .visual-style-property-title > .property-reference-info):
(.visual-style-property-container.disabled > .visual-style-property-title > :not(.property-reference-info)):
(.visual-style-property-container > .visual-style-property-value-container):
(.visual-style-property-container.disabled > .visual-style-property-value-container):
(.visual-style-property-container > .visual-style-property-value-container select):
(.visual-style-property-container > .visual-style-property-value-container input):
(.visual-style-property-container.disabled > .visual-style-property-value-container input):
(.visual-style-property-container.layout-reversed > .visual-style-property-title):
(.visual-style-property-container > .visual-style-property-value-container > .visual-style-special-property-placeholder):
(.visual-style-property-info-popover):
(.visual-style-property-info-popover > h3):
* UserInterface/Views/VisualStylePropertyEditor.js: Added.
(WebInspector.VisualStylePropertyEditor.canonicalizeValues):
(WebInspector.VisualStylePropertyEditor):
(WebInspector.VisualStylePropertyEditor.prototype.get element):
(WebInspector.VisualStylePropertyEditor.prototype.get style):
(WebInspector.VisualStylePropertyEditor.prototype.get value):
(WebInspector.VisualStylePropertyEditor.prototype.set value):
(WebInspector.VisualStylePropertyEditor.prototype.get units):
(WebInspector.VisualStylePropertyEditor.prototype.set units):
(WebInspector.VisualStylePropertyEditor.prototype.get placeholder):
(WebInspector.VisualStylePropertyEditor.prototype.set placeholder):
(WebInspector.VisualStylePropertyEditor.prototype.get synthesizedValue):
(WebInspector.VisualStylePropertyEditor.prototype.set suppressStyleTextUpdate):
(WebInspector.VisualStylePropertyEditor.prototype.set masterProperty):
(WebInspector.VisualStylePropertyEditor.prototype.get masterProperty):
(WebInspector.VisualStylePropertyEditor.prototype.set optionalProperty):
(WebInspector.VisualStylePropertyEditor.prototype.get optionalProperty):
(WebInspector.VisualStylePropertyEditor.prototype.set colorProperty):
(WebInspector.VisualStylePropertyEditor.prototype.get colorProperty):
(WebInspector.VisualStylePropertyEditor.prototype.get propertyReferenceName):
(WebInspector.VisualStylePropertyEditor.prototype.set propertyReferenceName):
(WebInspector.VisualStylePropertyEditor.prototype.set disabled):
(WebInspector.VisualStylePropertyEditor.prototype.get disabled):
(WebInspector.VisualStylePropertyEditor.prototype.update):
(WebInspector.VisualStylePropertyEditor.prototype.updateEditorValues):
(WebInspector.VisualStylePropertyEditor.prototype.resetEditorValues):
(WebInspector.VisualStylePropertyEditor.prototype.modifyPropertyText):
(WebInspector.VisualStylePropertyEditor.prototype.getValuesFromText):
(WebInspector.VisualStylePropertyEditor.prototype.propertyMissing):
(WebInspector.VisualStylePropertyEditor.prototype.valueIsCompatible):
(WebInspector.VisualStylePropertyEditor.prototype.valueIsSupportedKeyword):
(WebInspector.VisualStylePropertyEditor.prototype.valueIsSupportedUnit):
(WebInspector.VisualStylePropertyEditor.prototype.get contentElement):
(WebInspector.VisualStylePropertyEditor.prototype.get specialPropertyPlaceholderElement):
(WebInspector.VisualStylePropertyEditor.prototype.parseValue):
(WebInspector.VisualStylePropertyEditor.prototype._valueIsSupportedAdvancedKeyword):
(WebInspector.VisualStylePropertyEditor.prototype._valueIsSupportedAdvancedUnit):
(WebInspector.VisualStylePropertyEditor.prototype._canonicalizedKeywordForKey):
(WebInspector.VisualStylePropertyEditor.prototype._keyForKeyword):
(WebInspector.VisualStylePropertyEditor.prototype._valueDidChange):
(WebInspector.VisualStylePropertyEditor.prototype._replaceShorthandPropertyWithLonghandProperties):
(WebInspector.VisualStylePropertyEditor.prototype._titleElementPrepareForClick):
(WebInspector.VisualStylePropertyEditor.prototype._titleElementMouseOver):
(WebInspector.VisualStylePropertyEditor.prototype._titleElementMouseOut):
(WebInspector.VisualStylePropertyEditor.prototype._titleElementClick):
(WebInspector.VisualStylePropertyEditor.prototype._hasMultipleConflictingValues):
(WebInspector.VisualStylePropertyEditor.prototype._showPropertyInfoPopover):
(WebInspector.VisualStylePropertyEditor.prototype._toggleTabbingOfSelectableElements):
* UserInterface/Views/VisualStyleTabbedPropertiesRow.css: Added.
(.visual-style-tabbed-properties-row ~ :not(.visible)):
(.visual-style-tabbed-properties-row > .visual-style-tabbed-properties-row-container):
(.visual-style-tabbed-properties-row > .visual-style-tabbed-properties-row-container > button):
(.visual-style-tabbed-properties-row > .visual-style-tabbed-properties-row-container > button.selected):
(.visual-style-tabbed-properties-row > .visual-style-tabbed-properties-row-container > button:not(.selected):hover):
* UserInterface/Views/VisualStyleTabbedPropertiesRow.js: Added.
(WebInspector.VisualStyleTabbedPropertiesRow):
(WebInspector.VisualStyleTabbedPropertiesRow.prototype._handleButtonClicked):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188484
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Fri, 14 Aug 2015 20:05:06 +0000 (20:05 +0000)]
Web Inspector: Add Visual editors for CSS properties with comma separated values
https://bugs.webkit.org/show_bug.cgi?id=147578
Reviewed by Timothy Hatcher.
Displays comma separated CSS property values as a tree outline list.
* UserInterface/Images/Minus.svg: Added.
* UserInterface/Views/TreeOutline.js:
(WebInspector.TreeOutline.prototype.get selectedTreeElementIndex):
(WebInspector.TreeOutline):
* UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css: Added.
(.visual-style-property-container.comma-separated-keyword-editor):
(.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container):
(.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list):
(.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item):
(.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item:nth-child(odd)):
(.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item.selected):
(.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item > :matches(button, img)):
(.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item > .titles):
(.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item.visual-style-font-family-list-item.selected:not(.editor-hidden) > .titles > *):
(.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item.visual-style-font-family-list-item > .visual-style-comma-separated-keyword-item-editor):
(.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item.visual-style-font-family-list-item.editor-hidden > .visual-style-comma-separated-keyword-item-editor):
(.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item > .titles > .subtitle):
(.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-list > .visual-style-comma-separated-keyword-item:not(.no-value) > .titles > .subtitle):
(.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-controls):
(.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-controls > div):
(.visual-style-property-container.comma-separated-keyword-editor > .visual-style-property-value-container > .visual-style-comma-separated-keyword-controls > .visual-style-remove-comma-separated-keyword):
* UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js: Added.
(WebInspector.VisualStyleCommaSeparatedKeywordEditor):
(WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.set selectedTreeElementValue):
(WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.get value):
(WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.set value):
(WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.get synthesizedValue):
(WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._treeElementSelected):
(WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._treeItemIsEmpty):
(WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._addEmptyCommaSeparatedKeyword):
(WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._removeSelectedCommaSeparatedKeyword):
(WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._removeEmptyCommaSeparatedKeywords):
(WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._addCommaSeparatedKeyword):
(WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._removeCommaSeparatedKeyword):
(WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype._createNewTreeElement):
* UserInterface/Views/VisualStyleFontFamilyListEditor.js: Added.
(WebInspector.VisualStyleFontFamilyListEditor):
(WebInspector.VisualStyleFontFamilyListEditor.prototype.visualStyleCompletionsControllerCustomizeCompletionElement):
(WebInspector.VisualStyleFontFamilyListEditor.prototype.get hasCompletions):
(WebInspector.VisualStyleFontFamilyListEditor.prototype.set completions):
(WebInspector.VisualStyleFontFamilyListEditor.prototype._modifyCommaSeparatedKeyword):
(WebInspector.VisualStyleFontFamilyListEditor.prototype._addCommaSeparatedKeyword):
(WebInspector.VisualStyleFontFamilyListEditor.prototype._addEmptyCommaSeparatedKeyword):
(WebInspector.VisualStyleFontFamilyListEditor.prototype._completionClicked):
(WebInspector.VisualStyleFontFamilyListEditor.prototype._treeElementKeyDown):
(WebInspector.VisualStyleFontFamilyListEditor.prototype._treeElementKeywordChanged):
(WebInspector.VisualStyleFontFamilyListEditor.prototype._hideCompletions):
(WebInspector.VisualStyleFontFamilyListEditor.prototype._createNewTreeElement):
* UserInterface/Views/VisualStyleFontFamilyTreeElement.js: Added.
(WebInspector.VisualStyleFontFamilyTreeElement):
(WebInspector.VisualStyleFontFamilyTreeElement.prototype.editorBounds):
(WebInspector.VisualStyleFontFamilyTreeElement.prototype.updateMainTitle):
(WebInspector.VisualStyleFontFamilyTreeElement.prototype.showKeywordEditor):
(WebInspector.VisualStyleFontFamilyTreeElement.prototype.hideKeywordEditor):
(WebInspector.VisualStyleFontFamilyTreeElement.prototype.get keywordEditorHidden):
(WebInspector.VisualStyleFontFamilyTreeElement.prototype.onattach):
(WebInspector.VisualStyleFontFamilyTreeElement.prototype.ondeselect):
(WebInspector.VisualStyleFontFamilyTreeElement.prototype._keywordEditorKeyDown):
(WebInspector.VisualStyleFontFamilyTreeElement.prototype._keywordEditorKeyUp):
(WebInspector.VisualStyleFontFamilyTreeElement.prototype._keywordEditorBlurred):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188483
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 14 Aug 2015 19:15:27 +0000 (19:15 +0000)]
Remove a few includes from RenderObject.h
https://bugs.webkit.org/show_bug.cgi?id=148007
Reviewed by Tim Horton.
Shrink down the RenderObject.h includes a little.
* rendering/RenderElement.h:
* rendering/RenderObject.h:
* rendering/RenderText.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188482
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 14 Aug 2015 18:48:34 +0000 (18:48 +0000)]
Unreviewed, rolling out r187357.
https://bugs.webkit.org/show_bug.cgi?id=148032
webkit-patch generates incorrect patches that cannot be
applied (Requested by dydz on #webkit).
Reverted changeset:
"Call fixChangeLogPatch when generating patches from webkit-
patch"
https://bugs.webkit.org/show_bug.cgi?id=147248
http://trac.webkit.org/changeset/187357
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188481
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Fri, 14 Aug 2015 18:43:46 +0000 (18:43 +0000)]
Web Inspector: Add autocomplete controller for Visual property editors
https://bugs.webkit.org/show_bug.cgi?id=147579
Reviewed by Timothy Hatcher.
* UserInterface/Controllers/VisualStyleCompletionsController.js: Added.
(WebInspector.VisualStyleCompletionsController):
Takes in a CSSCompletions and displays a list of suggestions based on a given prefix in a popover.
(WebInspector.VisualStyleCompletionsController.prototype.get visible):
(WebInspector.VisualStyleCompletionsController.prototype.get hasCompletions):
(WebInspector.VisualStyleCompletionsController.prototype.get currentCompletion):
(WebInspector.VisualStyleCompletionsController.prototype.set completions):
(WebInspector.VisualStyleCompletionsController.prototype.completionSuggestionsViewCustomizeCompletionElement):
(WebInspector.VisualStyleCompletionsController.prototype.previous):
(WebInspector.VisualStyleCompletionsController.prototype.next):
(WebInspector.VisualStyleCompletionsController.prototype.update):
(WebInspector.VisualStyleCompletionsController.prototype.show):
(WebInspector.VisualStyleCompletionsController.prototype.hide):
* UserInterface/Models/CSSKeywordCompletions.js:
(WebInspector.CSSKeywordCompletions.forProperty):
Make sure that the cssNameCompletions exist before trying to add them.
* UserInterface/Views/CompletionSuggestionsView.js:
(WebInspector.CompletionSuggestionsView.prototype.update):
Allow the delegate to modify the newly created completion suggestion item.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188480
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Fri, 14 Aug 2015 18:31:38 +0000 (18:31 +0000)]
Web Inspector: Add a visual editor for timing functions
https://bugs.webkit.org/show_bug.cgi?id=148022
Reviewed by Timothy Hatcher.
Uses the existing bezier editor and the Visual keyword picker to make an editor for timing functions.
* UserInterface/Views/VisualStyleTimingEditor.css: Added.
(.visual-style-property-container.timing-editor > .visual-style-property-value-container):
(.visual-style-property-container.timing-editor > .visual-style-property-value-container > .keyword-picker-select):
(.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor):
(.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor:hover):
(.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor:active):
* UserInterface/Views/VisualStyleTimingEditor.js: Added.
(WebInspector.VisualStyleTimingEditor):
(WebInspector.VisualStyleTimingEditor.prototype.parseValue):
(WebInspector.VisualStyleTimingEditor.prototype.get bezierValue):
(WebInspector.VisualStyleTimingEditor.prototype.set bezierValue):
(WebInspector.VisualStyleTimingEditor.prototype._getValue):
(WebInspector.VisualStyleTimingEditor.prototype._setValue):
(WebInspector.VisualStyleTimingEditor.prototype._generateSynthesizedValue):
(WebInspector.VisualStyleTimingEditor.prototype._bezierMarkerClicked):
(WebInspector.VisualStyleTimingEditor.prototype._handleKeywordChanged):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188479
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 14 Aug 2015 18:06:51 +0000 (18:06 +0000)]
Refactor BuildbotQueueView._appendPendingRevisionCount to work more generically with repositories
other than "openSource" and "internal".
https://bugs.webkit.org/show_bug.cgi?id=147938
Patch by Jason Marcell <jmarcell@apple.com> on 2015-08-14
Reviewed by Daniel Bates.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:
(BuildbotQueueView.prototype._appendPendingRevisionCount): Refactored to work more generically with
repositories other than "openSource" and "internal".
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188478
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Fri, 14 Aug 2015 17:43:42 +0000 (17:43 +0000)]
Fix the Mavericks build.
* platform/spi/mac/LookupSPI.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188477
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Fri, 14 Aug 2015 17:09:35 +0000 (17:09 +0000)]
Frequent assertions on animations/restart-after-scroll.html
https://bugs.webkit.org/show_bug.cgi?id=148026
* TestExpectations: Skip the test in debug mode.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188476
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 14 Aug 2015 16:53:37 +0000 (16:53 +0000)]
Unreviewed, rolling out r188444.
https://bugs.webkit.org/show_bug.cgi?id=148029
Broke GTK and EFL (see bug #148027) (Requested by philn on
#webkit).
Reverted changeset:
"Use WTF::Lock and WTF::Condition instead of WTF::Mutex,
WTF::ThreadCondition, std::mutex, and std::condition_variable"
https://bugs.webkit.org/show_bug.cgi?id=147999
http://trac.webkit.org/changeset/188444
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188475
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 14 Aug 2015 16:49:54 +0000 (16:49 +0000)]
Speculative fix for iOS build failure.
* Shared/mac/RemoteLayerTreeTransaction.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188474
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Fri, 14 Aug 2015 16:48:08 +0000 (16:48 +0000)]
Fix the build.
* platform/spi/mac/LookupSPI.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188473
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Fri, 14 Aug 2015 16:31:55 +0000 (16:31 +0000)]
[GStreamer] Handle missing plugins better at runtime
https://bugs.webkit.org/show_bug.cgi?id=146999
Reviewed by Carlos Garcia Campos.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::createAudioSink): Warn the
user if autoaudiosink wasn't found at runtime. In that case
playbin will try to be smart by itself, hopefully. Also moved a
couple GST_WARNING calls to WARN_MEDIA_MESSAGE.
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): Use
WARN_MEDIA_MESSAGE here as well.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188472
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
philn@webkit.org [Fri, 14 Aug 2015 16:30:21 +0000 (16:30 +0000)]
Unreviewed, remove dead code after r188385.
* UIProcess/API/gtk/WebKitUserMediaPermissionRequest.cpp:
(webkitUserMediaPermissionRequestAllow): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188471
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
antti@apple.com [Fri, 14 Aug 2015 14:08:59 +0000 (14:08 +0000)]
Cover memory cache subresource validation policy with cache tests
https://bugs.webkit.org/show_bug.cgi?id=147830
Reviewed by Alexey Proskuryakov.
Source/WebCore:
Existing tests under http/tests/cache/disk-cache currently cover disk and XHR memory cache validation behaviors.
They can be extended to cover the regular subresource policy too.
Add window.internals API to disable CachedRawResource validation behavior. This makes XHR validate like
other resources and allows existing tests (that use XHR) to cover normal subresource policy .
Test results reveal some bugs. For example subresources in memory cache don't respect Vary header.
It is generally bad that we have a separate XHR-and-main-resource validation policy in memory cache. Network cache
doesn't have one.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::clearTestingOverrides):
(WebCore::FrameLoader::applyShouldOpenExternalURLsPolicyToNewDocumentLoader):
* loader/FrameLoader.h:
(WebCore::FrameLoader::setOverrideCachePolicyForTesting):
(WebCore::FrameLoader::setOverrideResourceLoadPriorityForTesting):
(WebCore::FrameLoader::setStrictRawResourceValidationPolicyDisabledForTesting):
(WebCore::FrameLoader::isStrictRawResourceValidationPolicyDisabledForTesting):
(WebCore::FrameLoader::provisionalLoadErrorBeingHandledURL):
* loader/cache/CachedRawResource.h:
* loader/cache/CachedResource.h:
(WebCore::CachedResource::setLoadFinishTime):
(WebCore::CachedResource::loadFinishTime):
(WebCore::CachedResource::canReuse): Deleted.
Made canReuse non-virtual and removed it from the base. Only CachedRawResource has implementation.
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::determineRevalidationPolicy):
* testing/Internals.cpp:
(WebCore::Internals::setOverrideResourceLoadPriority):
(WebCore::Internals::setStrictRawResourceValidationPolicyDisabled):
(WebCore::Internals::clearMemoryCache):
* testing/Internals.h:
LayoutTests:
Add another test round using subresource validation policy.
* http/tests/cache/disk-cache/disk-cache-204-status-code-expected.txt:
* http/tests/cache/disk-cache/disk-cache-302-status-code-expected.txt:
* http/tests/cache/disk-cache/disk-cache-307-status-code-expected.txt:
* http/tests/cache/disk-cache/disk-cache-404-status-code-expected.txt:
* http/tests/cache/disk-cache/disk-cache-disable-expected.txt:
* http/tests/cache/disk-cache/disk-cache-media-expected.txt:
* http/tests/cache/disk-cache/disk-cache-range-expected.txt:
* http/tests/cache/disk-cache/disk-cache-request-headers-expected.txt:
* http/tests/cache/disk-cache/disk-cache-request-max-stale-expected.txt:
* http/tests/cache/disk-cache/disk-cache-revalidation-new-expire-header-expected.txt:
* http/tests/cache/disk-cache/disk-cache-validation-attachment-expected.txt:
* http/tests/cache/disk-cache/disk-cache-validation-back-navigation-policy-expected.txt:
* http/tests/cache/disk-cache/disk-cache-validation-expected.txt:
* http/tests/cache/disk-cache/disk-cache-validation-no-body-expected.txt:
* http/tests/cache/disk-cache/disk-cache-vary-expected.txt:
* http/tests/cache/disk-cache/disk-cache-vary-no-body-expected.txt:
* http/tests/cache/disk-cache/resources/cache-test.js:
(loadResourcesWithOptions):
(.):
(runTests):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188468
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Fri, 14 Aug 2015 08:47:38 +0000 (08:47 +0000)]
Unreviewed. Fix the build with !ENABLE(MEDIA_STREAM) after r188385.
* UIProcess/API/C/WKUserMediaPermissionRequest.cpp:
(WKUserMediaPermissionRequestDeviceNamesVideo):
(WKUserMediaPermissionRequestDeviceNamesAudio):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188447
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Fri, 14 Aug 2015 08:45:07 +0000 (08:45 +0000)]
Unreviewed. Fix GTK+ build after r188386.
* UIProcess/API/gtk/WebKitWindowProperties.cpp:
(webkitWindowPropertiesUpdateFromWebWindowFeatures):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188446
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Fri, 14 Aug 2015 07:30:39 +0000 (07:30 +0000)]
Unreviewed, shorten another test that is timing out.
* TestWebKitAPI/Tests/WTF/Lock.cpp:
(TestWebKitAPI::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188445
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Fri, 14 Aug 2015 06:46:46 +0000 (06:46 +0000)]
Use WTF::Lock and WTF::Condition instead of WTF::Mutex, WTF::ThreadCondition, std::mutex, and std::condition_variable
https://bugs.webkit.org/show_bug.cgi?id=147999
Reviewed by Geoffrey Garen.
Source/JavaScriptCore:
* API/JSVirtualMachine.mm:
(initWrapperCache):
(+[JSVMWrapperCache addWrapper:forJSContextGroupRef:]):
(+[JSVMWrapperCache wrapperForJSContextGroupRef:]):
(wrapperCacheMutex): Deleted.
* bytecode/SamplingTool.cpp:
(JSC::SamplingTool::doRun):
(JSC::SamplingTool::notifyOfScope):
* bytecode/SamplingTool.h:
* dfg/DFGThreadData.h:
* dfg/DFGWorklist.cpp:
(JSC::DFG::Worklist::~Worklist):
(JSC::DFG::Worklist::isActiveForVM):
(JSC::DFG::Worklist::enqueue):
(JSC::DFG::Worklist::compilationState):
(JSC::DFG::Worklist::waitUntilAllPlansForVMAreReady):
(JSC::DFG::Worklist::removeAllReadyPlansForVM):
(JSC::DFG::Worklist::completeAllReadyPlansForVM):
(JSC::DFG::Worklist::visitWeakReferences):
(JSC::DFG::Worklist::removeDeadPlans):
(JSC::DFG::Worklist::queueLength):
(JSC::DFG::Worklist::dump):
(JSC::DFG::Worklist::runThread):
* dfg/DFGWorklist.h:
* disassembler/Disassembler.cpp:
* heap/CopiedSpace.cpp:
(JSC::CopiedSpace::doneFillingBlock):
(JSC::CopiedSpace::doneCopying):
* heap/CopiedSpace.h:
* heap/CopiedSpaceInlines.h:
(JSC::CopiedSpace::recycleBorrowedBlock):
(JSC::CopiedSpace::allocateBlockForCopyingPhase):
* heap/GCThread.cpp:
(JSC::GCThread::waitForNextPhase):
(JSC::GCThread::gcThreadMain):
* heap/GCThreadSharedData.cpp:
(JSC::GCThreadSharedData::GCThreadSharedData):
(JSC::GCThreadSharedData::~GCThreadSharedData):
(JSC::GCThreadSharedData::startNextPhase):
(JSC::GCThreadSharedData::endCurrentPhase):
(JSC::GCThreadSharedData::didStartMarking):
(JSC::GCThreadSharedData::didFinishMarking):
* heap/GCThreadSharedData.h:
* heap/HeapTimer.h:
* heap/MachineStackMarker.cpp:
(JSC::ActiveMachineThreadsManager::Locker::Locker):
(JSC::ActiveMachineThreadsManager::add):
(JSC::ActiveMachineThreadsManager::remove):
(JSC::ActiveMachineThreadsManager::ActiveMachineThreadsManager):
(JSC::MachineThreads::~MachineThreads):
(JSC::MachineThreads::addCurrentThread):
(JSC::MachineThreads::removeThreadIfFound):
(JSC::MachineThreads::tryCopyOtherThreadStack):
(JSC::MachineThreads::tryCopyOtherThreadStacks):
(JSC::MachineThreads::gatherConservativeRoots):
* heap/MachineStackMarker.h:
* heap/SlotVisitor.cpp:
(JSC::SlotVisitor::donateKnownParallel):
(JSC::SlotVisitor::drain):
(JSC::SlotVisitor::drainFromShared):
(JSC::SlotVisitor::mergeOpaqueRoots):
* heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::containsOpaqueRootTriState):
* inspector/remote/RemoteInspectorDebuggableConnection.h:
* inspector/remote/RemoteInspectorDebuggableConnection.mm:
(Inspector::RemoteInspectorHandleRunSourceGlobal):
(Inspector::RemoteInspectorQueueTaskOnGlobalQueue):
(Inspector::RemoteInspectorInitializeGlobalQueue):
(Inspector::RemoteInspectorHandleRunSourceWithInfo):
(Inspector::RemoteInspectorDebuggableConnection::setup):
(Inspector::RemoteInspectorDebuggableConnection::closeFromDebuggable):
(Inspector::RemoteInspectorDebuggableConnection::close):
(Inspector::RemoteInspectorDebuggableConnection::sendMessageToBackend):
(Inspector::RemoteInspectorDebuggableConnection::queueTaskOnPrivateRunLoop):
* interpreter/JSStack.cpp:
(JSC::JSStack::JSStack):
(JSC::JSStack::releaseExcessCapacity):
(JSC::JSStack::addToCommittedByteCount):
(JSC::JSStack::committedByteCount):
(JSC::stackStatisticsMutex): Deleted.
(JSC::JSStack::initializeThreading): Deleted.
* interpreter/JSStack.h:
(JSC::JSStack::gatherConservativeRoots):
(JSC::JSStack::sanitizeStack):
(JSC::JSStack::size):
(JSC::JSStack::initializeThreading): Deleted.
* jit/ExecutableAllocator.cpp:
(JSC::DemandExecutableAllocator::DemandExecutableAllocator):
(JSC::DemandExecutableAllocator::~DemandExecutableAllocator):
(JSC::DemandExecutableAllocator::bytesAllocatedByAllAllocators):
(JSC::DemandExecutableAllocator::bytesCommittedByAllocactors):
(JSC::DemandExecutableAllocator::dumpProfileFromAllAllocators):
(JSC::DemandExecutableAllocator::allocators):
(JSC::DemandExecutableAllocator::allocatorsMutex):
* jit/JITThunks.cpp:
(JSC::JITThunks::ctiStub):
* jit/JITThunks.h:
* profiler/ProfilerDatabase.cpp:
(JSC::Profiler::Database::ensureBytecodesFor):
(JSC::Profiler::Database::notifyDestruction):
* profiler/ProfilerDatabase.h:
* runtime/InitializeThreading.cpp:
(JSC::initializeThreading):
* runtime/JSLock.cpp:
(JSC::GlobalJSLock::GlobalJSLock):
(JSC::GlobalJSLock::~GlobalJSLock):
(JSC::JSLockHolder::JSLockHolder):
(JSC::GlobalJSLock::initialize): Deleted.
* runtime/JSLock.h:
Source/WTF:
* wtf/Condition.h: "using WTF::Condition".
* wtf/Lock.h:
(WTF::LockBase::lock):
(WTF::LockBase::tryLock): Add tryLock() because it turns out that we use it sometimes.
(WTF::LockBase::try_lock): unique_lock needs this.
(WTF::LockBase::unlock):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188444
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Fri, 14 Aug 2015 06:31:24 +0000 (06:31 +0000)]
Performing a Lookup on wrapped text puts the popover arrow in the wrong place (off to the right)
https://bugs.webkit.org/show_bug.cgi?id=148012
<rdar://problem/
19238094>
Reviewed by Simon Fraser.
* platform/spi/mac/LookupSPI.h:
Add some SPI.
* WebView/WebView.mm:
(-[WebView _animationControllerForDictionaryLookupPopupInfo:]):
(-[WebView _showDictionaryLookupPopup:]):
Adopt the new SPI, handing it the first text rect, instead of having it
guess where to put the popover.
Also, null-check the TextIndicator.
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::didPerformDictionaryLookup):
* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _animationControllerForText]):
Adopt the new SPI, handing it the first text rect, instead of having it
guess where to put the popover.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188443
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nvasilyev@apple.com [Fri, 14 Aug 2015 06:21:03 +0000 (06:21 +0000)]
Web Inspector: Can't resize split console when window is too narrow
https://bugs.webkit.org/show_bug.cgi?id=147924
Make some items inside of the navigation bar click-through to incsease
the draggable area.
Reviewed by Timothy Hatcher.
* UserInterface/Views/Main.css:
(#split-content-browser > .navigation-bar > :matches(.hierarchical-path, .log-search-bar, .log-scope-bar)):
(#split-content-browser > .navigation-bar > :matches(.log-search-bar, .log-scope-bar) > :matches(li, input)):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188442
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 14 Aug 2015 06:06:37 +0000 (06:06 +0000)]
Unreviewed, rolling out r188418.
https://bugs.webkit.org/show_bug.cgi?id=148017
Fix EFL after the rollout of r188404 (Requested by smfr on
#webkit).
Reverted changeset:
"[CMake] Unreviewed build fix after r188404"
http://trac.webkit.org/changeset/188418
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188441
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 14 Aug 2015 05:58:13 +0000 (05:58 +0000)]
Windows build fix.
* FullscreenVideoController.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188440
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 14 Aug 2015 05:48:07 +0000 (05:48 +0000)]
Another Windows build fix.
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188439
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 14 Aug 2015 05:36:17 +0000 (05:36 +0000)]
Try to fix Windows build after r188430.
* platform/graphics/ca/win/PlatformCALayerWin.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188438
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 14 Aug 2015 05:23:34 +0000 (05:23 +0000)]
Generated files don't all need to include ScriptExecutionContext.h
https://bugs.webkit.org/show_bug.cgi?id=148011
Reviewed by Alexey Proskuryakov.
Generated files which are not callbacks or constructors do not need to include
ScriptExecutionContext.h.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation): Deleted.
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
* bindings/scripts/test/JS/JSTestException.cpp:
* bindings/scripts/test/JS/JSTestInterface.cpp:
* bindings/scripts/test/JS/JSTestNondeterministic.cpp:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
* bindings/scripts/test/JS/JSattribute.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188437
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 14 Aug 2015 04:53:20 +0000 (04:53 +0000)]
Unreviewed, rolling out r188428.
https://bugs.webkit.org/show_bug.cgi?id=148015
broke cmake build (Requested by alexchristensen on #webkit).
Reverted changeset:
"Move some commands from ./CMakeLists.txt to Source/cmake"
https://bugs.webkit.org/show_bug.cgi?id=148003
http://trac.webkit.org/changeset/188428
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188436
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 14 Aug 2015 04:41:26 +0000 (04:41 +0000)]
Unreviewed, rolling out r188404.
https://bugs.webkit.org/show_bug.cgi?id=148014
Broke 4 API tests (Requested by smfr on #webkit).
Reverted changeset:
"Add WKWindowFeaturesRef and a new modern createNewPage UI
client callback"
https://bugs.webkit.org/show_bug.cgi?id=147989
http://trac.webkit.org/changeset/188404
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188435
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 14 Aug 2015 04:38:56 +0000 (04:38 +0000)]
Unreviewed, rolling out r188431.
https://bugs.webkit.org/show_bug.cgi?id=148013
JSC headers are too hard to understand (Requested by smfr on
#webkit).
Reverted changeset:
"Remove a few includes from JSGlobalObject.h"
https://bugs.webkit.org/show_bug.cgi?id=148004
http://trac.webkit.org/changeset/188431
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188434
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Fri, 14 Aug 2015 04:34:31 +0000 (04:34 +0000)]
Remove pixelSnapped* functions from RenderBoxModelObject/RenderBox.
https://bugs.webkit.org/show_bug.cgi?id=147982
Reviewed by Simon Fraser.
RenderBoxModelObject/RenderBox::pixelSnapped* functions are misleading.
They all round to integral values, while the rest of the pixel snapping
functions round to device pixels.
This patch moves integral rounding to the callers. (Note that they all will eventually
go away as we convert additional modules to subpixel rendering (tables, scrolling etc).)
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
* dom/Element.cpp:
(WebCore::Element::offsetLeft):
(WebCore::Element::offsetTop):
(WebCore::Element::offsetWidth):
(WebCore::Element::offsetHeight):
(WebCore::Element::clientWidth):
(WebCore::Element::clientHeight):
* dom/Position.cpp:
(WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::width):
(WebCore::HTMLImageElement::height):
* html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::defaultEventHandler):
* inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForElementData):
* page/FrameView.cpp:
(WebCore::FrameView::applyPaginationToViewport):
(WebCore::FrameView::calculateScrollbarModesForLayout):
(WebCore::FrameView::calculateExtendedBackgroundMode):
(WebCore::FrameView::qualifiesAsVisuallyNonEmpty):
* page/PrintContext.cpp:
(WebCore::PrintContext::pageNumberForElement):
* platform/graphics/LayoutRect.h:
(WebCore::LayoutRect::pixelSnappedSize): Deleted.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::pixelSnappedClientWidth): Deleted.
(WebCore::RenderBox::pixelSnappedClientHeight): Deleted.
(WebCore::RenderBox::pixelSnappedOffsetWidth): Deleted.
(WebCore::RenderBox::pixelSnappedOffsetHeight): Deleted.
* rendering/RenderBox.h:
(WebCore::RenderBox::pixelSnappedLogicalHeight): Deleted.
(WebCore::RenderBox::pixelSnappedLogicalWidth): Deleted.
(WebCore::RenderBox::pixelSnappedSize): Deleted.
(WebCore::RenderBox::pixelSnappedBorderBoxRect): Deleted.
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::pixelSnappedOffsetWidth): Deleted.
(WebCore::RenderBoxModelObject::pixelSnappedOffsetHeight): Deleted.
* rendering/RenderBoxModelObject.h:
(WebCore::RenderBoxModelObject::pixelSnappedOffsetLeft): Deleted.
(WebCore::RenderBoxModelObject::pixelSnappedOffsetTop): Deleted.
* rendering/RenderFileUploadControl.cpp:
(WebCore::nodeWidth):
(WebCore::nodeHeight):
(WebCore::RenderFileUploadControl::maxFilenameWidth):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPosition):
(WebCore::RenderLayer::perspectiveTransform):
(WebCore::RenderLayer::clampScrollOffset):
(WebCore::RenderLayer::visibleSize):
(WebCore::RenderLayer::positionOverflowControls):
(WebCore::RenderLayer::hasHorizontalOverflow):
(WebCore::RenderLayer::hasVerticalOverflow):
(WebCore::RenderLayer::updateScrollbarsAfterLayout):
(WebCore::RenderLayer::overflowControlsIntersectRect):
(WebCore::RenderLayer::isPointInResizeControl):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::positionOverflowControlsLayers):
(WebCore::RenderLayerBacking::startAnimation):
(WebCore::RenderLayerBacking::startTransition):
* rendering/RenderLayerBacking.h:
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::scrollWidth):
(WebCore::RenderListBox::scrollHeight):
* rendering/RenderMediaControlElements.cpp:
(WebCore::RenderMediaVolumeSliderContainer::layout):
* rendering/RenderScrollbar.cpp:
(WebCore::RenderScrollbar::buttonRect):
* rendering/RenderTable.cpp:
(WebCore::RenderTable::addOverflowFromChildren):
* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::computeIntrinsicPadding):
(WebCore::RenderTableCell::paintCollapsedBorders):
(WebCore::RenderTableCell::paintBackgroundsBehindCell):
(WebCore::RenderTableCell::paintBoxDecorations):
(WebCore::RenderTableCell::paintMask):
* rendering/RenderTableCell.h:
(WebCore::RenderTableCell::logicalHeightForRowSizing):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
* rendering/RenderTheme.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::paintSearchFieldResultsDecorationPart):
(WebCore::RenderThemeMac::paintSearchFieldResultsButton):
* rendering/RenderTreeAsText.cpp:
(WebCore::write):
* rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::paint):
* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::paint):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::paintReplaced):
(WebCore::RenderSVGRoot::computeFloatRectForRepaint):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188433
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
benjamin@webkit.org [Fri, 14 Aug 2015 03:54:32 +0000 (03:54 +0000)]
[JSC] Add support for GetByVal on arrays of Undecided shape
https://bugs.webkit.org/show_bug.cgi?id=147814
Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-08-13
Reviewed by Filip Pizlo.
Previously, GetByVal on Array::Undecided would just take
the generic path. The problem is the generic path is so
slow that it could take a significant amount of time
even for unfrequent accesses.
With this patch, if the following conditions are met,
the GetByVal just returns a "undefined" constant:
-The object is an OriginalArray.
-The prototype chain is sane.
-The index is an integer.
-The integer is positive (runtime check).
Ideally, the 4th conditions should be removed
deducing a compile-time constant gives us so much better
opportunities at getting rid of this code.
There are two cases where this patch removes the runtime
check:
-If the index is constant (uncommon but easy)
-If the index is within a range known to be positive.
(common case and made possible with DFGIntegerRangeOptimizationPhase).
When we get into those cases, DFG just nukes everything
and all we have left is a structure check :)
This patch is a 14% improvement on audio-beat-detection,
a few percent faster here and there and no regression.
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
If the index is a positive constant, we can get rid of the GetByVal
entirely. :)
* dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::fromObserved):
The returned type is now Array::Undecided + profiling information.
The useful type is set in ArrayMode::refine().
(JSC::DFG::ArrayMode::refine):
If we meet the particular set conditions, we speculate an Undecided
array type with sane chain. Anything else comes back to Generic.
(JSC::DFG::ArrayMode::originalArrayStructure):
To enable the structure check for Undecided array.
(JSC::DFG::ArrayMode::alreadyChecked):
* dfg/DFGArrayMode.h:
(JSC::DFG::ArrayMode::withProfile):
(JSC::DFG::ArrayMode::canCSEStorage):
(JSC::DFG::ArrayMode::benefitsFromOriginalArray):
(JSC::DFG::ArrayMode::lengthNeedsStorage): Deleted.
(JSC::DFG::ArrayMode::isSpecific): Deleted.A
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleIntrinsic): Deleted.
This is somewhat unrelated.
Having Array::Undecided on ArrayPush was impossible before
since ArrayMode::fromObserved() used to return Array::Generic.
Now that Array::Undecided is possible, we must make sure not
to provide it to ArrayPush since there is no code to handle it
properly.
* dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
The operation only depends on the index, it is pure.
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode): Deleted.
* dfg/DFGIntegerRangeOptimizationPhase.cpp:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::jumpSlowForUnwantedArrayMode):
(JSC::DFG::SpeculativeJIT::checkArray):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::DFG::LowerDFGToLLVM::compileGetByVal):
* tests/stress/get-by-val-on-undecided-array-type.js: Added.
* tests/stress/get-by-val-on-undecided-sane-chain-1.js: Added.
* tests/stress/get-by-val-on-undecided-sane-chain-2.js: Added.
* tests/stress/get-by-val-on-undecided-sane-chain-3.js: Added.
* tests/stress/get-by-val-on-undecided-sane-chain-4.js: Added.
* tests/stress/get-by-val-on-undecided-sane-chain-5.js: Added.
* tests/stress/get-by-val-on-undecided-sane-chain-6.js: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188432
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 14 Aug 2015 02:36:22 +0000 (02:36 +0000)]
Remove a few includes from JSGlobalObject.h
https://bugs.webkit.org/show_bug.cgi?id=148004
Reviewed by Tim Horton.
Remove 4 #includes from JSGlobalObject.h, and fix the fallout.
* parser/VariableEnvironment.cpp:
* parser/VariableEnvironment.h:
* runtime/JSGlobalObject.h:
* runtime/Structure.h:
* runtime/StructureInlines.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188431
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Fri, 14 Aug 2015 02:23:24 +0000 (02:23 +0000)]
Minor GraphicsLayer.h/PlatformCALayer.h cleanup
https://bugs.webkit.org/show_bug.cgi?id=148009
Reviewed by Tim Horton.
Remove some #includes.
* platform/graphics/GraphicsLayer.h:
* platform/graphics/ca/PlatformCALayer.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188430
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Fri, 14 Aug 2015 02:20:02 +0000 (02:20 +0000)]
Web Inspector: Flash DOM node attribute on change
https://bugs.webkit.org/show_bug.cgi?id=147973
Reviewed by Timothy Hatcher.
Whenever an attribute on a DOM node changes, flash the attribute value.
If that value doesn't exist, flash the attribute name instead.
* UserInterface/Views/DOMTreeElement.js:
(WebInspector.DOMTreeElement):
(WebInspector.DOMTreeElement.prototype.nodeChanged):
(WebInspector.DOMTreeElement.prototype._buildAttributeDOM):
If the node has been marked with a general change, mark the attribute element for animation.
(WebInspector.DOMTreeElement.prototype._markNodeChanged.animationEnd):
(WebInspector.DOMTreeElement.prototype._markNodeChanged):
Adds a class to the given element that applies a simple background flash animation.
(WebInspector.DOMTreeElement.prototype._fireDidChange):
Add the animation class once all building of the represented DOM object for that node is done.
* UserInterface/Views/DOMTreeOutline.css:
(@keyframes node-state-changed):
Applies a semi-transparent background that fades to default.
(.node-state-changed):
* UserInterface/Views/DOMTreeUpdater.js:
(WebInspector.DOMTreeUpdater.prototype._attributesUpdated):
Now passes along the name of the modified attribute.
(WebInspector.DOMTreeUpdater.prototype._updateModifiedNodes):
If the modified node object has an attribute member, mark the node as being generally changed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188429
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 14 Aug 2015 02:14:09 +0000 (02:14 +0000)]
Move some commands from ./CMakeLists.txt to Source/cmake
https://bugs.webkit.org/show_bug.cgi?id=148003
Patch by Alex Christensen <achristensen@webkit.org> on 2015-08-13
Reviewed by Brent Fulgham.
* CMakeLists.txt:
.:
Moved functionality to WebKitCommon.cmake and WebKitFS.cmake and made conditional
so we can change directory structure from command line parameters.
* Source/cmake/WebKitCommon.cmake: Added.
* Source/cmake/WebKitFS.cmake:
Source/JavaScriptCore:
Added commands needed to build JSC by itself.
Source/WebCore:
Added commands needed to build WebCore by itself.
Source/WebKit:
Added some commands needed to build WebKit by itself.
Source/WTF:
Added commands needed to build WTF by itself.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188428
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Fri, 14 Aug 2015 01:51:06 +0000 (01:51 +0000)]
REGRESSION (r184000): Web Inspector: Stripped whitespace after editing CSS in Styles sidebar
https://bugs.webkit.org/show_bug.cgi?id=145679
Reviewed by Timothy Hatcher.
The formatter will now calculate the number of beginning spaces before the first line in a rule
and duplicate them in front of every other line. If there is no new line at the beginning or are
no spaces, assume 4 spaces and a new line for each property.
Also cleaned up the code for _resetContent a bit.
* UserInterface/Views/CSSStyleDeclarationTextEditor.js:
(WebInspector.CSSStyleDeclarationTextEditor):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update.set get this):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update.get this):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188427
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Fri, 14 Aug 2015 01:29:48 +0000 (01:29 +0000)]
Web Inspector: Reduce flakiness of inspector/indexeddb/requestDatabaseNames
https://bugs.webkit.org/show_bug.cgi?id=148008
Reviewed by Timothy Hatcher.
* inspector/indexeddb/requestDatabaseNames.html:
Follow-up fix to reduce flakiness in the test caused by other tests
creating IndexedDB databases.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188426
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Fri, 14 Aug 2015 01:06:05 +0000 (01:06 +0000)]
Try to fix the Gtk/EFL build.
* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::updateFindIndicator):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188425
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jhoneycutt@apple.com [Fri, 14 Aug 2015 00:45:07 +0000 (00:45 +0000)]
iOS test gardening.
* platform/ios-simulator/TestExpectations:
* platform/ios-simulator-wk1/fast/forms/indeterminate-progress-inline-height-expected.txt: Added.
* platform/ios-simulator-wk1/fast/forms/input-appearance-spinbutton-expected.txt: Added.
* platform/ios-simulator-wk1/fast/forms/input-appearance-spinbutton-up-expected.txt: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188423
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Fri, 14 Aug 2015 00:06:28 +0000 (00:06 +0000)]
Refactor and improve TextIndicator to prepare for tests
https://bugs.webkit.org/show_bug.cgi?id=147622
Reviewed by Simon Fraser.
No new tests because they're coming soon!
* page/TextIndicator.cpp:
(WebCore::TextIndicator::TextIndicator):
(WebCore::TextIndicator::~TextIndicator):
(WebCore::TextIndicator::createWithRange):
(WebCore::TextIndicator::createWithSelectionInFrame):
(WebCore::hasNonInlineOrReplacedElements):
(WebCore::snapshotOptionsForTextIndicatorOptions):
(WebCore::takeSnapshot):
(WebCore::takeSnapshots):
(WebCore::initializeIndicator):
(WebCore::snapshotSelectionWithHighlight): Deleted.
(WebCore::TextIndicator::wantsBounce): Deleted.
(WebCore::TextIndicator::wantsContentCrossfade): Deleted.
(WebCore::TextIndicator::wantsFadeIn): Deleted.
(WebCore::TextIndicator::wantsManualAnimation): Deleted.
* page/TextIndicator.h:
(WebCore::TextIndicator::indicatesCurrentSelection):
(WebCore::TextIndicator::setWantsMargin): Deleted.
(WebCore::TextIndicator::wantsMargin): Deleted.
Rename wantsMargin to indicatesCurrentSelection. It's really about whether
the TextIndicator indicates the existing selection, and the Mac presentation
just uses that to determine whether or not to show a margin, but that
margin has nothing to do with the cross-platform TextIndicator code.
Move most of the snapshotting and rect gathering code to initializeTextIndicator, and call it
from both ::createWithRange and ::createWithSelectionInFrame, instead of calling
::createWithSelectionInFrame from ::createWithRange after setting the selection.
This way, the range passed into ::createWithRange is preserved for use in initializeTextIndicator,
instead of round-tripping through selection code, which can change it (e.g. in the case
of user-select: none; elements).
Add TextIndicatorOptions, which allow callers to adjust the behavior of TextIndicator
instead of having #if PLATFORM(X) strewn throughout TextIndicator.
Add an option which was previously implemented at the iOS-specific callsites,
TextIndicatorOptionUseBoundingRectAndPaintAllContentForComplexRanges,
which falls back to indicating a bounding rect and not doing a range-only paint
if the given range includes any non-inline elements or any replaced elements.
This makes it so that we do something reasonable-looking for very complex ranges,
like article links on the New York Times, which include multiple disparate paragraphs
of text and one or more images, and also so that indicating a range that only
includes an image does something fairly reasonable.
Move presentation-specific functions (wantsBounce, wantsContentCrossfade, etc.)
to TextIndicatorWindow. Ideally TextIndicatorPresentationTransition would also move,
but that is a fairly large and complicated change that should be made separately.
* page/mac/TextIndicatorWindow.h:
* page/mac/TextIndicatorWindow.mm:
(indicatorWantsBounce):
(indicatorWantsContentCrossfade):
(indicatorWantsFadeIn):
(indicatorWantsManualAnimation):
(-[WebTextIndicatorView initWithFrame:textIndicator:margin:offset:]):
(-[WebTextIndicatorView _animationDuration]):
(-[WebTextIndicatorView present]):
(WebCore::TextIndicatorWindow::~TextIndicatorWindow):
(WebCore::TextIndicatorWindow::clearTextIndicator):
(WebCore::TextIndicatorWindow::setTextIndicator):
Rename TextIndicatorDismissalAnimation to TextIndicatorWindowDismissalAnimation,
and TextIndicatorLifetime to TextIndicatorWindowLifetime, because
they are TextIndicatorWindow specific.
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
* bindings/objc/DOM.mm:
(-[DOMNode getPreviewSnapshotImage:andRects:]):
(-[DOMRange boundingBox]):
(-[DOMRange textRects]):
* dom/DocumentMarkerController.cpp:
(WebCore::DocumentMarkerController::addTextMatchMarker):
* dom/Node.cpp:
(WebCore::Node::textRects):
* dom/Range.cpp:
(WebCore::Range::intersectsNode):
(WebCore::Range::absoluteBoundingBox):
(WebCore::Range::absoluteTextRects):
(WebCore::Range::absoluteTextQuads):
(WebCore::Range::getClientRects):
(WebCore::Range::getBoundingClientRect):
(WebCore::Range::getBorderAndTextQuads):
(WebCore::Range::boundingRectInternal):
(WebCore::Range::absoluteBoundingRect):
(WebCore::Range::boundingBox): Deleted.
(WebCore::Range::textRects): Deleted.
(WebCore::Range::textQuads): Deleted.
(WebCore::Range::boundingRect): Deleted.
* dom/Range.h:
* editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::rootViewRectForRange):
* editing/Editor.cpp:
(WebCore::Editor::findStringAndScrollToVisible):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::getClippedVisibleTextRectangles):
* editing/mac/DataDetection.mm:
(WebCore::DataDetection::detectItemAroundHitTestResult):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::absoluteBoundingBoxRectForRange):
Rename various Range methods to make it clear whether they return absolute or client rects.
* WebView/WebFrame.mm:
(-[WebFrame _rectsForRange:]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView _lookUpInDictionaryFromMenu:]):
(-[WebHTMLView quickLookWithEvent:]):
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController webView:didHandleScrollWheel:]):
(-[WebImmediateActionController _cancelImmediateAction]):
(-[WebImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
(-[WebImmediateActionController _defaultAnimationController]):
(-[WebImmediateActionController menuItemDidClose:]):
(-[WebImmediateActionController _animationControllerForDataDetectedText]):
(-[WebImmediateActionController _animationControllerForDataDetectedLink]):
(dictionaryPopupInfoForRange):
* WebView/WebView.mm:
(-[WebView _animationControllerForDictionaryLookupPopupInfo:]):
(-[WebView _setTextIndicator:]):
(-[WebView _setTextIndicator:withLifetime:]):
(-[WebView _clearTextIndicatorWithAnimation:]):
(-[WebView _showDictionaryLookupPopup:]):
(-[WebView _dictionaryLookupPopoverWillClose:]):
* WebView/WebViewInternal.h:
Adopt TextIndicatorOptions.
Adjust to Range method renames.
* Shared/WebCoreArgumentCoders.cpp:
(IPC::encodeOptionalImage):
(IPC::decodeOptionalImage):
(IPC::ArgumentCoder<TextIndicatorData>::encode):
(IPC::ArgumentCoder<TextIndicatorData>::decode):
Move encode/decodeOptionalImage to their own functions to avoid duplication.
* UIProcess/API/mac/WKView.mm:
(-[WKView _dictionaryLookupPopoverWillClose:]):
(-[WKView _setTextIndicator:]):
(-[WKView _setTextIndicator:withLifetime:]):
(-[WKView _clearTextIndicatorWithAnimation:]):
(-[WKView _dismissContentRelativeChildWindows]):
(-[WKView _dismissContentRelativeChildWindowsWithAnimation:]):
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setTextIndicator):
* UIProcess/WebPageProxy.h:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::setTextIndicator):
(WebKit::PageClientImpl::clearTextIndicator):
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::setTextIndicator):
(WebKit::PageClientImpl::clearTextIndicator):
(WebKit::PageClientImpl::didPerformDictionaryLookup):
* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _animationControllerForText]):
* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::updateFindIndicator):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getPositionInformation):
(WebKit::shouldUseTextIndicatorForLink): Deleted.
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::dictionaryPopupInfoForRange):
(WebKit::WebPage::performImmediateActionHitTestAtLocation):
Adopt TextIndicatorOptions.
Adjust to Range method renames.
* WebCoreSupport/WebFrameIOS.mm:
(-[WebFrame closestCaretRectInMarkedTextRangeForPoint:]):
Adjust to Range method renames.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188420
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Fri, 14 Aug 2015 00:01:23 +0000 (00:01 +0000)]
AppScale: Assertion hit when hovering a webkit-queue bubble
https://bugs.webkit.org/show_bug.cgi?id=147997
Patch by Aakash Jain <aakash_jain@apple.com> on 2015-08-13
Reviewed by Alexey Proskuryakov.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueue.js:
(BubbleQueue.prototype.loadDetailedStatus): Strip off http(s) before asserting.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188419
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ljaehun.lim@samsung.com [Thu, 13 Aug 2015 23:59:13 +0000 (23:59 +0000)]
[CMake] Unreviewed build fix after r188404
* CMakeLists.txt: Add UIProcess/API/APIWindowFeatures.cpp, UIProcess/API/C/WKWindowFeaturesRef.cpp
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188418
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Thu, 13 Aug 2015 23:55:35 +0000 (23:55 +0000)]
Unify JSParserCodeType, FunctionParseMode and ModuleParseMode into SourceParseMode
https://bugs.webkit.org/show_bug.cgi?id=147353
Reviewed by Saam Barati.
This is the follow-up patch after r188355.
It includes the following changes.
- Unify JSParserCodeType, FunctionParseMode and ModuleParseMode into SourceParseMode
- Make SourceParseMode to C++ strongly-typed enum.
- Fix the comments.
- Rename ModuleSpecifier to ModuleName.
- Add the type name `ImportEntry` before the C++11 uniform initialization.
- Fix the thrown message for duplicate 'default' names.
- Assert the all statements in the top-level source elements are the module declarations under the module analyzer phase.
* API/JSScriptRef.cpp:
(parseScript):
* builtins/BuiltinExecutables.cpp:
(JSC::BuiltinExecutables::createExecutableInternal):
* bytecode/UnlinkedFunctionExecutable.cpp:
(JSC::generateFunctionCodeBlock):
* bytecode/UnlinkedFunctionExecutable.h:
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::makeFunction):
* parser/ASTBuilder.h:
(JSC::ASTBuilder::createFunctionMetadata):
(JSC::ASTBuilder::createModuleName):
(JSC::ASTBuilder::createImportDeclaration):
(JSC::ASTBuilder::createExportAllDeclaration):
(JSC::ASTBuilder::createExportNamedDeclaration):
(JSC::ASTBuilder::createModuleSpecifier): Deleted.
* parser/ModuleAnalyzer.cpp:
(JSC::ModuleAnalyzer::analyze):
* parser/NodeConstructors.h:
(JSC::ModuleNameNode::ModuleNameNode):
(JSC::ImportDeclarationNode::ImportDeclarationNode):
(JSC::ExportAllDeclarationNode::ExportAllDeclarationNode):
(JSC::ExportNamedDeclarationNode::ExportNamedDeclarationNode):
(JSC::ModuleSpecifierNode::ModuleSpecifierNode): Deleted.
* parser/Nodes.cpp:
(JSC::FunctionMetadataNode::FunctionMetadataNode):
* parser/Nodes.h:
(JSC::StatementNode::isModuleDeclarationNode):
(JSC::ModuleDeclarationNode::isModuleDeclarationNode):
(JSC::ImportDeclarationNode::moduleName):
(JSC::ExportAllDeclarationNode::moduleName):
(JSC::ExportNamedDeclarationNode::moduleName):
(JSC::ImportDeclarationNode::moduleSpecifier): Deleted.
(JSC::ExportAllDeclarationNode::moduleSpecifier): Deleted.
(JSC::ExportNamedDeclarationNode::moduleSpecifier): Deleted.
* parser/NodesAnalyzeModule.cpp:
(JSC::SourceElements::analyzeModule):
(JSC::ImportDeclarationNode::analyzeModule):
(JSC::ExportAllDeclarationNode::analyzeModule):
(JSC::ExportNamedDeclarationNode::analyzeModule):
* parser/Parser.cpp:
(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::parseInner):
(JSC::Parser<LexerType>::parseModuleSourceElements):
(JSC::Parser<LexerType>::parseFunctionBody):
(JSC::stringForFunctionMode):
(JSC::Parser<LexerType>::parseFunctionParameters):
(JSC::Parser<LexerType>::parseFunctionInfo):
(JSC::Parser<LexerType>::parseFunctionDeclaration):
(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parseModuleName):
(JSC::Parser<LexerType>::parseImportDeclaration):
(JSC::Parser<LexerType>::parseExportDeclaration):
(JSC::Parser<LexerType>::parsePropertyMethod):
(JSC::Parser<LexerType>::parseGetterSetter):
(JSC::Parser<LexerType>::parsePrimaryExpression):
(JSC::Parser<LexerType>::parseArrowFunctionExpression):
(JSC::Parser<LexerType>::parseModuleSpecifier): Deleted.
* parser/Parser.h:
(JSC::Parser<LexerType>::parse):
(JSC::parse):
* parser/ParserModes.h:
(JSC::isFunctionParseMode):
(JSC::isModuleParseMode):
(JSC::isProgramParseMode):
* parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createFunctionMetadata):
(JSC::SyntaxChecker::createModuleName):
(JSC::SyntaxChecker::createImportDeclaration):
(JSC::SyntaxChecker::createExportAllDeclaration):
(JSC::SyntaxChecker::createExportNamedDeclaration):
(JSC::SyntaxChecker::createModuleSpecifier): Deleted.
* runtime/CodeCache.cpp:
(JSC::CodeCache::getGlobalCodeBlock):
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):
* runtime/Completion.cpp:
(JSC::checkSyntax):
(JSC::checkModuleSyntax):
* runtime/Executable.cpp:
(JSC::ProgramExecutable::checkSyntax):
* tests/stress/modules-syntax-error-with-names.js:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188417
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Thu, 13 Aug 2015 23:39:01 +0000 (23:39 +0000)]
Don't short circuit seeking
https://bugs.webkit.org/show_bug.cgi?id=147892
Reviewed by Eric Carlson.
When two seekWithTolerance() requests come in before the first is acted upon in seekTask(),
the second will result in a "no seek required" conditional, because the new "currentTime" is
assumed to be the destination time of the first seek.
When cancelling a pending seek, first replace the "now" value with the "now" value from the
replaced seek, thus preserving the original currentTime across all replacement seeks.
Drive-by fix: some added logging causes occasional crashes, due to the underlying object being
accessed having been deleted.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::seekWithTolerance):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188416
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mark.lam@apple.com [Thu, 13 Aug 2015 23:38:57 +0000 (23:38 +0000)]
WorkQueue::dispatchAfter() on Windows fires early.
https://bugs.webkit.org/show_bug.cgi?id=147992
Reviewed by Brent Fulgham.
The Windows implementation of WorkQueue::dispatchAfter() uses CreateTimerQueueTimer().
Unfortunately, CreateTimerQueueTimer() is sloppy and can fire early. We need to compensate
for this slop to ensure that the specified duration does expire before the callback function
is called. Otherwise, the JSC watchdog (which depends on this) can fail randomly.
* wtf/win/WorkQueueWin.cpp:
(WTF::WorkQueue::dispatchAfter):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188415
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lforschler@apple.com [Thu, 13 Aug 2015 23:26:57 +0000 (23:26 +0000)]
Teach Scripts/copy-webkitlibraries-to-product-directory to copy the El Capitan Library.
Unreviewed.
* Scripts/copy-webkitlibraries-to-product-directory:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188414
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
lforschler@apple.com [Thu, 13 Aug 2015 23:25:13 +0000 (23:25 +0000)]
Update WebKitSystemInterface Libraries.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188413
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jhoneycutt@apple.com [Thu, 13 Aug 2015 23:05:17 +0000 (23:05 +0000)]
Rebaseline some iOS simulator test results for font changes.
Rubber-stamped by Sam Weinig.
* platform/ios-simulator/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt:
* platform/ios-simulator/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.txt:
* platform/ios-simulator/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt:
* platform/ios-simulator/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt:
* platform/ios-simulator/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.txt:
* platform/ios-simulator/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.txt:
* platform/ios-simulator/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt:
* platform/ios-simulator/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.txt:
* platform/ios-simulator/fast/ruby/bopomofo-expected.txt:
* platform/ios-simulator/fast/ruby/bopomofo-letter-spacing-expected.txt:
* platform/ios-simulator/fast/ruby/bopomofo-rl-expected.txt:
* platform/ios-simulator/fast/text/backslash-to-yen-sign-euc-expected.txt:
* platform/ios-simulator/fast/text/backslash-to-yen-sign-expected.txt:
* platform/ios-simulator/fast/text/font-weights-zh-expected.txt:
* platform/ios-simulator/fast/text/indic-expected.txt:
* platform/ios-simulator/fast/text/international/plane2-expected.txt:
* platform/ios-simulator/fast/text/international/synthesized-italic-vertical-latin-expected.txt:
* platform/ios-simulator/fast/text/international/text-combine-image-test-expected.txt:
* platform/ios-simulator/fast/text/international/text-spliced-font-expected.txt:
* platform/ios-simulator/fast/text/tatechuyoko-expected.txt:
* platform/ios-simulator/fast/text/text-combine-different-fonts-expected.txt:
* platform/ios-simulator/fast/writing-mode/japanese-lr-selection-expected.txt:
* platform/ios-simulator/fast/writing-mode/japanese-lr-text-expected.txt:
* platform/ios-simulator/fast/writing-mode/japanese-rl-selection-expected.txt:
* platform/ios-simulator/fast/writing-mode/japanese-rl-text-expected.txt:
* platform/ios-simulator/fast/writing-mode/japanese-ruby-horizontal-bt-expected.txt:
* platform/ios-simulator/fast/writing-mode/japanese-ruby-vertical-lr-expected.txt:
* platform/ios-simulator/fast/writing-mode/japanese-ruby-vertical-rl-expected.txt:
* platform/ios-simulator/fast/writing-mode/vertical-align-table-baseline-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188412
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Thu, 13 Aug 2015 23:00:07 +0000 (23:00 +0000)]
Prospective Mac/iOS build fix after the last Windows build fix.
* page/CaptionUserPreferences.cpp:
* page/UserContentController.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188411
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 13 Aug 2015 22:39:13 +0000 (22:39 +0000)]
Run benchmark customized Dromaeo should not assume there is an internet connection.
https://bugs.webkit.org/show_bug.cgi?id=147995
Patch by Dewei Zhu <dewei_zhu@apple.com> on 2015-08-13
Reviewed by Ryosuke Niwa.
Add several dependency js libs to local.
* Scripts/webkitpy/benchmark_runner/data/patches/Dromaeo.patch:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188410
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Thu, 13 Aug 2015 22:31:21 +0000 (22:31 +0000)]
[Win] More build fixes.
* dom/make_event_factory.pl:
(generateImplementation):
* page/CaptionUserPreferences.cpp:
* page/PageGroup.cpp:
* page/UserContentController.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188409
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Thu, 13 Aug 2015 22:27:33 +0000 (22:27 +0000)]
Web Inspector: Skip rendering frame records without children
https://bugs.webkit.org/show_bug.cgi?id=147993
Reviewed by Reviewed by Joseph Pecoraro.
This became an issue for frames which include an IndexedDB "success" event. This caused the
payload to pass the "has children" test, but resulted in model objects with no child records.
* UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.prototype.eventRecorded):
Fixed record type check and moved rendering frame index assignment.
* UserInterface/Models/RenderingFrameTimelineRecord.js:
(WebInspector.RenderingFrameTimelineRecord):
(WebInspector.RenderingFrameTimelineRecord.prototype.setupFrameIndex):
Frame index is now set externally, and can only be set once.
* UserInterface/Views/RenderingFrameTimelineView.js:
(WebInspector.RenderingFrameTimelineView.prototype._renderingFrameTimelineRecordAdded):
Added assertion.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188408
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Thu, 13 Aug 2015 22:03:58 +0000 (22:03 +0000)]
Web Inspector: Watch Expressions
https://bugs.webkit.org/show_bug.cgi?id=147904
Reviewed by Brian Burg.
Source/WebInspectorUI:
* UserInterface/Protocol/RemoteObject.js:
(WebInspector.RemoteObject):
A RemoteObject's description string is optional, but we always
assume it exists and is a string, so default to the empty string.
* UserInterface/Controllers/RuntimeManager.js:
(WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow.evalCallback):
Include the object group in the DidEvaluate event.
(WebInspector.RemoteObject.fakeRemoteObject):
(WebInspector.RemoteObject.prototype.getDisplayablePropertyDescriptors):
(WebInspector.RemoteObject.prototype.deprecatedGetDisplayableProperties.get return):
(WebInspector.RemoteObject.prototype.deprecatedGetDisplayableProperties):
(WebInspector.RemoteObject.prototype._isFakeObject):
(WebInspector.RemoteObject.prototype._getPropertyDescriptors):
(WebInspector.RemoteObject.prototype._deprecatedGetProperties):
Support a fake RemoteObject. We use this fake RemoteObject to
back a ObjectTreeView where we add custom Properties which are of the form
"Expressions => RemoteObject" instead of "Object Property => RemoteObject".
Ensure a fake remote object is not used in unexpected ways.
* UserInterface/Views/Popover.js:
(WebInspector.Popover.prototype.update):
Default a popover update to animate, but allow not animating.
(WebInspector.Popover.prototype.handleEvent):
Vend a class that other content can use so that the Popover won't
dismiss if content with that class is scrolled. For example, a
completions list may be showing over a popover, if that scrolls
it should not dismiss the popover.
* UserInterface/Views/CompletionSuggestionsView.js:
(WebInspector.CompletionSuggestionsView):
Adopt the Popover ignore class so a popover won't dismiss if the
completion suggestions view is scrolled.
* UserInterface/Views/ObjectTreeBaseTreeElement.js:
(WebInspector.ObjectTreeBaseTreeElement.prototype.createGetterElement.get return):
(WebInspector.ObjectTreeBaseTreeElement.prototype.createGetterElement):
Allow modifying the context menu on an ObjectTreeView by looking for a delegate
on the TreeOutline.
* UserInterface/Views/ScopeChainDetailsSidebarPanel.css: Added.
(.details-section.watch-expressions .options > *):
(.details-section.watch-expressions .options > *:active):
(.details-section.watch-expressions .options > .watch-expression-add):
(.details-section.watch-expressions .options > .watch-expression-clear):
(.details-section.watch-expressions .options > .watch-expression-refresh):
(.popover .watch-expression):
(.watch-expression-editor):
(.watch-expression-editor > .CodeMirror):
(.watch-expression-editor > .CodeMirror-scroll):
Styles for the new Watch Expressions section, buttons, popover, and editor.
* UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
(WebInspector.ScopeChainDetailsSidebarPanel):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype.inspect):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateWatchExpressionsSection):
Because we update the UI after a delay, to allow ObjectTreeView's to asynchronously
expand and fetch their list of properties, we convert updating the watch expression
and call frame sections asynchronously and return a promise. This lets us visually
update the UI after both sections have updated.
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpression):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._removeWatchExpression):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._clearAllWatchExpressions):
Modify the saved list of watch expressions.
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked.presentPopoverOverTargetElement):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked.this._codeMirror.addKeyMap):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype.willDismissPopover):
Handle presenting and dismissing the add watch expression popover.
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._refreshAllWatchExpressionsButtonClicked):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._clearAllWatchExpressionsButtonClicked):
Other button handlers.
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._mainResourceDidChange):
Refresh the sidebar on navigation, as the watch expressions may change value (`location.href`).
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeElementAddContextMenuItems):
Add our own context menu items to watch expression ObjectTreeView tree elements to
allow removing a watch expression.
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._propertyPathIdentifierForTreeElement):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeAddHandler):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeExpandHandler):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeCollapseHandler):
Convert code to use `let`.
* Localizations/en.lproj/localizedStrings.js:
* UserInterface/Main.html:
Misc. changes.
LayoutTests:
* inspector/model/remote-object-fake-object-expected.txt: Added.
* inspector/model/remote-object-fake-object.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188407
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bburg@apple.com [Thu, 13 Aug 2015 21:53:05 +0000 (21:53 +0000)]
Web Inspector: refactor ProtocolTest to be an InjectedTestHarness subclass
https://bugs.webkit.org/show_bug.cgi?id=147954
Reviewed by Joseph Pecoraro.
In preparation for sharing the same test harness API between protocol tests
and frontend tests, this patch refactors ProtocolTest into the desired
class structure. Each type of test (currently: protocol, frontend) extends
InjectedTestHarness and fills in a few key methods for communicating with
the test page-side code.
This patch standardizes on assert() only logging when the condition is false.
Update protocol tests to use ProtocolTestHarness.expectThat, rather than assert.
* http/tests/inspector/resources/ProtocolTestStub.js:
(window.InjectedTestHarness):
(window.InjectedTestHarness.prototype.createAsyncSuite):
(window.InjectedTestHarness.prototype.createSyncSuite):
(window.InjectedTestHarness.prototype.completeTest):
(window.InjectedTestHarness.prototype.addResult):
(window.InjectedTestHarness.prototype.debugLog):
(window.InjectedTestHarness.prototype.evaluateInPage):
(window.InjectedTestHarness.prototype.importScript):
(window.InjectedTestHarness.prototype.get logCount):
(window.InjectedTestHarness.prototype.log):
(window.InjectedTestHarness.prototype.assert):
(window.InjectedTestHarness.prototype.expectThat):
(InjectedTestHarness.AsyncTestSuite): Use a stored reference to the harness
rather than hardcoding a specific InjectedTestHarness instance.
(InjectedTestHarness.AsyncTestSuite.prototype.runTestCasesAndFinish.finish):
(InjectedTestHarness.AsyncTestSuite.prototype.runTestCasesAndFinish):
(InjectedTestHarness.AsyncTestSuite.prototype.runTestCases):
(InjectedTestHarness.SyncTestSuite): Use a stored reference to the harness
rather than hardcoding a specific InjectedTestHarness instance.
(InjectedTestHarness.SyncTestSuite.prototype.runTestCasesAndFinish):
(InjectedTestHarness.SyncTestSuite.prototype.runTestCases):
(ProtocolTestHarness.prototype.completeTest):
(ProtocolTestHarness.prototype.addResult):
(ProtocolTestHarness.prototype.debugLog):
(ProtocolTestHarness.prototype.evaluateInPage):
(ProtocolTestHarness):
(InspectorProtocol.sendCommand):
(InspectorProtocol.awaitCommand):
(InspectorProtocol.awaitEvent.):
(InspectorProtocol.awaitEvent):
(InspectorProtocol.addEventListener):
(InspectorProtocol.sendMessage):
(InspectorProtocol.checkForError):
(InspectorFrontendAPI.dispatchMessageAsync):
(ProtocolTest.AsyncTestSuite): Moved.
(ProtocolTest.AsyncTestSuite.prototype.runTestCasesAndFinish.finish): Moved.
(ProtocolTest.AsyncTestSuite.prototype.runTestCasesAndFinish): Moved.
(ProtocolTest.AsyncTestSuite.prototype.runTestCases): Moved.
(ProtocolTest.SyncTestSuite): Moved.
(ProtocolTest.SyncTestSuite.prototype.runTestCasesAndFinish): Moved.
(ProtocolTest.SyncTestSuite.prototype.runTestCases): Moved.
(ProtocolTest.log): Moved.
(ProtocolTest.assert): Moved.
(ProtocolTest.debugLog): Moved.
(ProtocolTest.completeTest): Moved.
(ProtocolTest.importScript): Moved.
* http/tests/inspector/resources/console-test.js:
(.suite.addTestCase.):
(.suite.addTestCase):
(ProtocolTest.Console.addTestCase):
* http/tests/inspector/resources/protocol-test.js:
(closeTest):
* inspector/console/console-message.html:
* inspector/console/x-frame-options-message.html:
* inspector/debugger/didSampleProbe-multiple-probes.html:
* inspector/dom-debugger/node-removed.html:
* inspector/dom/dom-remove-events.html:
* inspector/runtime/getProperties.html:
* inspector/unit-tests/async-test-suite-expected.txt:
* inspector/unit-tests/async-test-suite.html:
* inspector/unit-tests/sync-test-suite-expected.txt:
* inspector/unit-tests/sync-test-suite.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188406
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
wenson_hsieh@apple.com [Thu, 13 Aug 2015 21:48:50 +0000 (21:48 +0000)]
A focused node should not be assisted when handling touch events synchronously
https://bugs.webkit.org/show_bug.cgi?id=147836
.:
Reviewed by Enrica Casucci.
Added manual tests for keyboard assistance behavior due to receiving touch events on iOS.
* ManualTests/ios/focused-input-should-assist-on-touch.html: Checks that a currently focused
input can still be assisted due to a touch event.
* ManualTests/ios/keyboard-should-not-show-on-touch-event.html: Checks that handling a touch
event does not automatically cause us to assist the currently focused node.
Source/WebCore:
<rdar://problem/
22204108>
Reviewed by Enrica Casucci.
Makes interaction with touch handlers no longer assist the currently focused element in the
general case. Added plumbing to reassist a currently focused node when dispatching touch events,
so that an input that programmatically focuses itself and prevents default on a touch event will
be properly assisted when it has been programmatically focused (either through Javascript or the
autofocus attribute) prior to receiving the touch event. This patch also removes the now
unnecessary special-casing of the Gmail settings app that currently makes the keyboard deploy
upon autofocus.
* dom/Element.cpp:
(WebCore::Element::focus): Notifies the chrome client that the element has refocused before
returning early.
* page/ChromeClient.h: Refocusing an element does nothing by default.
* platform/RuntimeApplicationChecksIOS.h: Removed special casing for Gmail Add Account.
* platform/RuntimeApplicationChecksIOS.mm: See above.
(WebCore::applicationIsGmailAddAccountOnIOS): See above.
Source/WebKit2:
<rdar://problem/
22204108>
Reviewed by Enrica Casucci.
Makes interaction with touch handlers no longer assist the currently focused element in the
general case. Added plumbing to reassist a currently focused node when dispatching touch events,
so that an input that programmatically focuses itself and prevents default on a touch event will
be properly assisted when it has been programmatically focused (either through Javascript or the
autofocus attribute) prior to receiving the touch event. This patch also removes the now
unnecessary special-casing of the Gmail settings app that currently makes the keyboard deploy
upon autofocus.
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]): Removed
special case to avoid the early return for Gmail Add Account.
* WebProcess/WebCoreSupport/WebChromeClient.h: Added a handler for refocusing an element.
* WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
(WebKit::WebChromeClient::elementDidRefocus): Makes refocusing an element trigger input
assistance on iOS.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::dispatchTouchEvent): Removes logic to focus the currently focused element upon
receiving a touch event.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188405
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 13 Aug 2015 21:31:36 +0000 (21:31 +0000)]
Add WKWindowFeaturesRef and a new modern createNewPage UI client callback
https://bugs.webkit.org/show_bug.cgi?id=147989
Reviewed by Tim Horton.
* Platform/IPC/mac/ConnectionMac.mm:
* Shared/API/APIObject.h:
* Shared/API/c/WKBase.h:
* UIProcess/API/APIWindowFeatures.cpp: Added.
* UIProcess/API/APIWindowFeatures.h: Added.
* UIProcess/API/C/WKAPICast.h:
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
* UIProcess/API/C/WKPageUIClient.h:
* UIProcess/API/C/WKWindowFeaturesRef.cpp: Added.
(WKWindowFeaturesGetTypeID):
* UIProcess/API/C/WKWindowFeaturesRef.h: Added.
* UIProcess/API/Cocoa/WKWindowFeatures.mm:
(-[WKWindowFeatures dealloc]):
(-[WKWindowFeatures menuBarVisibility]):
(-[WKWindowFeatures statusBarVisibility]):
(-[WKWindowFeatures toolbarsVisibility]):
(-[WKWindowFeatures allowsResizing]):
(-[WKWindowFeatures x]):
(-[WKWindowFeatures y]):
(-[WKWindowFeatures width]):
(-[WKWindowFeatures height]):
(-[WKWindowFeatures _apiObject]):
(-[WKWindowFeatures _initWithWindowFeatures:]): Deleted.
* UIProcess/API/Cocoa/WKWindowFeaturesInternal.h:
(WebKit::wrapper):
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::createNewPage):
* WebKit2.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188404
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 13 Aug 2015 21:30:13 +0000 (21:30 +0000)]
Web Inspector: A {Map, WeakMap, Set, WeakSet} object contains itself will hang the console
https://bugs.webkit.org/show_bug.cgi?id=147966
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-08-13
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
* inspector/InjectedScriptSource.js:
(InjectedScript.prototype._initialPreview):
Renamed to initial preview. This is not a complete preview for
this object, and it needs some processing in order to be a
complete accurate preview.
(InjectedScript.RemoteObject.prototype._emptyPreview):
This attempts to be an accurate empty preview for the given object.
For types with entries, it adds an empty entries list and updates
the overflow and lossless properties.
(InjectedScript.RemoteObject.prototype._createObjectPreviewForValue):
Take a generatePreview parameter to generate a full preview or empty preview.
(InjectedScript.RemoteObject.prototype._appendPropertyPreviews):
(InjectedScript.RemoteObject.prototype._appendEntryPreviews):
(InjectedScript.RemoteObject.prototype._isPreviewableObject):
Take care to avoid cycles.
Source/WebInspectorUI:
* UserInterface/Views/ObjectPreviewView.js:
(WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
(WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
For empty overflow previews, don't show ", ..." if we didn't show any
values; just show "..." in these cases.
LayoutTests:
* inspector/model/remote-object.html:
* inspector/model/remote-object-expected.txt:
Add tests for a cylic array, set, and map.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188403
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
bfulgham@apple.com [Thu, 13 Aug 2015 21:17:30 +0000 (21:17 +0000)]
[Win] Unreviewed build fix.
* accessibility/AXObjectCache.cpp: Add missing 'DataLog.h' include.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188402
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Thu, 13 Aug 2015 21:06:46 +0000 (21:06 +0000)]
Periodic code deletion should delete RegExp code
https://bugs.webkit.org/show_bug.cgi?id=147990
Reviewed by Filip Pizlo.
The RegExp code cache was created for the sake of simple loops that
re-created the same RegExps. It's reasonable to delete it periodically.
* heap/Heap.cpp:
(JSC::Heap::deleteOldCode):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188401
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Thu, 13 Aug 2015 20:42:11 +0000 (20:42 +0000)]
WTF should have a compact Condition object to use with Lock
https://bugs.webkit.org/show_bug.cgi?id=147986
Reviewed by Geoffrey Garen.
Source/WTF:
Adds a condition variable implementation based on ParkingLot, called simply WTF::Condition.
It can be used with WTF::Lock or actually any lock implementation. It should even work with
WTF::SpinLock, WTF::Mutex, or std::mutex. Best of all, Condition only requires one byte.
ParkingLot almost contained all of the functionality needed to implemenet wait/notify. We
could have implemented Condition using a 32-bit (or even 64-bit) version that protects
against a notify that happens just before we park. But, this changes the ParkingLot API to
give us the ability to run some code between when ParkingLot enqueues the current thread
and when it actually sleeps. This callback is called with no locks held, so it can call
unlock() on any kind of lock, so long as that lock's unlock() method doesn't recurse into
ParkingLot::parkConditionally(). That seems unlikely; unlock() is more likely to call
ParkingLot::unparkOne() or unparkAll(). WTF::Lock will never call parkConditionally()
inside unlock(), so WTF::Lock is definitely appropriate for use with Condition.
Condition supports most of the API that std::condition_variable supports. It does some
things to try to reduce footgun potential. The preferred timeout form is waitUntil() which
takes an absolute time from the steady_clock. The only relative timeout form also takes a
predicate callback, so it's impossible to write the subtly incorrect
"while (...) wait_for(...)" idiom.
This patch doesn't actually introduce any uses of WTF::Condition other than the unit tests.
I'll start switching code over to using WTF::Condition in another patch.
* WTF.vcxproj/WTF.vcxproj:
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/Condition.h: Added.
(WTF::Condition::Condition):
(WTF::Condition::waitUntil):
(WTF::Condition::waitFor):
(WTF::Condition::wait):
(WTF::Condition::notifyOne):
(WTF::Condition::notifyAll):
* wtf/Lock.cpp:
(WTF::LockBase::unlockSlow): Make this useful assertion be a release assertion. It catches cases where you unlock the lock even though you don't hold it.
* wtf/ParkingLot.cpp:
(WTF::ParkingLot::parkConditionally): Add the beforeSleep() callback.
(WTF::ParkingLot::unparkOne):
* wtf/ParkingLot.h:
(WTF::ParkingLot::compareAndPark):
Tools:
Add a test for WTF::Condition.
* TestWebKitAPI/CMakeLists.txt:
* TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj:
* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WTF/Condition.cpp: Added.
(TestWebKitAPI::TEST):
* TestWebKitAPI/Tests/WTF/Lock.cpp:
(TestWebKitAPI::runLockTest): Change the name of the thread.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188400
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
wenson_hsieh@apple.com [Thu, 13 Aug 2015 20:30:32 +0000 (20:30 +0000)]
Selects should scale when rendering while zoomed
https://bugs.webkit.org/show_bug.cgi?id=147868
Reviewed by Daniel Bates.
When rendering zoomed <select> elements, draw to an image buffer instead of drawing directly
into the context. This allows us to scale the image buffer up before rendering.
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintMenuList): Use ThemeMac::drawCellOrFocusRingWithViewIntoContext
to render search fields, utilizing an offscreen image buffer only when necessary.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188399
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Thu, 13 Aug 2015 20:29:20 +0000 (20:29 +0000)]
Web Inspector: Hide child rows for filtered tasks in the Rendering Frames data grid
https://bugs.webkit.org/show_bug.cgi?id=147960
Reviewed by Timothy Hatcher.
* UserInterface/Models/RenderingFrameTimelineRecord.js:
(WebInspector.RenderingFrameTimelineRecord.taskTypeForTimelineRecord):
New static method for mapping TimelineRecords to rendering frame tasks.
(WebInspector.RenderingFrameTimelineRecord.prototype.durationForTask):
Refactored to use taskTypeForTimelineRecord.
* UserInterface/Views/TimelineSidebarPanel.js:
(WebInspector.TimelineSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
Task filtering is applied to children of the frame record only. Parent frame
record is hidden by default, and visible by virtue of having unfiltered children.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188398
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Thu, 13 Aug 2015 20:28:12 +0000 (20:28 +0000)]
RegExpCache::finalize should not delete code
https://bugs.webkit.org/show_bug.cgi?id=147987
Reviewed by Mark Lam.
The RegExp object already knows how to delete its own code in its
destructor. Our job is just to clear our stale pointer.
* runtime/RegExpCache.cpp:
(JSC::RegExpCache::finalize):
(JSC::RegExpCache::addToStrongCache):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188397
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mattbaker@apple.com [Thu, 13 Aug 2015 20:27:57 +0000 (20:27 +0000)]
Web Inspector: Clearing frames timeline doesn't remove current time marker
https://bugs.webkit.org/show_bug.cgi?id=147650
Reviewed by Timothy Hatcher.
The rendering frames timeline offsets all markers by 1px to align them on frame
boundaries, which causes the current time marker to be visible even with left: 0px.
We can exclude the current time marker without it being noticable during recording.
* UserInterface/Views/TimelineOverview.css:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188396
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Thu, 13 Aug 2015 20:26:45 +0000 (20:26 +0000)]
[Win] Unreviewed build fix after r188388.
* bindings/js/JSWebGLRenderingContextCustom.cpp:
* dom/EventFactory.h:
* rendering/RenderThemeWin.cpp:
Strange things happen when you change including headers. This fixed my local build.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188395
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ggaren@apple.com [Thu, 13 Aug 2015 20:17:02 +0000 (20:17 +0000)]
Standardize on the phrase "delete code"
https://bugs.webkit.org/show_bug.cgi?id=147984
Reviewed by Mark Lam.
Source/JavaScriptCore:
Use "delete" when we talk about throwing away code, as opposed to
"invalidate" or "discard".
* debugger/Debugger.cpp:
(JSC::Debugger::forEachCodeBlock):
(JSC::Debugger::setSteppingMode):
(JSC::Debugger::recompileAllJSFunctions):
* heap/Heap.cpp:
(JSC::Heap::deleteAllCompiledCode):
* inspector/agents/InspectorRuntimeAgent.cpp:
(Inspector::recompileAllJSFunctionsForTypeProfiling):
* runtime/RegExp.cpp:
(JSC::RegExp::match):
(JSC::RegExp::deleteCode):
(JSC::RegExp::invalidateCode): Deleted.
* runtime/RegExp.h:
* runtime/RegExpCache.cpp:
(JSC::RegExpCache::finalize):
(JSC::RegExpCache::addToStrongCache):
(JSC::RegExpCache::deleteAllCode):
(JSC::RegExpCache::invalidateCode): Deleted.
* runtime/RegExpCache.h:
* runtime/VM.cpp:
(JSC::VM::stopSampling):
(JSC::VM::prepareToDeleteCode):
(JSC::VM::deleteAllCode):
(JSC::VM::setEnabledProfiler):
(JSC::VM::prepareToDiscardCode): Deleted.
(JSC::VM::discardAllCode): Deleted.
* runtime/VM.h:
(JSC::VM::apiLock):
(JSC::VM::codeCache):
* runtime/Watchdog.cpp:
(JSC::Watchdog::setTimeLimit):
Source/WebCore:
Use "delete" when we talk about throwing away code, as opposed to
"invalidate" or "discard".
* bindings/js/GCController.cpp:
(WebCore::GCController::setJavaScriptGarbageCollectorTimerEnabled):
(WebCore::GCController::deleteAllCode):
(WebCore::GCController::discardAllCompiledCode): Deleted.
* bindings/js/GCController.h:
* platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::releaseCriticalMemory):
Source/WebKit/mac:
* WebView/WebView.mm:
(+[WebView discardAllCompiledCode]):
(+[WebView isCharacterSmartReplaceExempt:isPreviousCharacter:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188394
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
eric.carlson@apple.com [Thu, 13 Aug 2015 19:16:09 +0000 (19:16 +0000)]
Don't short circuit seeking
https://bugs.webkit.org/show_bug.cgi?id=147892
Reviewed by Jer Noble.
Source/WebCore:
Test: media/video-seek-to-current-time.html
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::prepareForLoad): Call clearSeeking.
(WebCore::HTMLMediaElement::fastSeek): Add logging.
(WebCore::HTMLMediaElement::seekWithTolerance): Add logging. Set m_pendingSeekType.
(WebCore::HTMLMediaElement::seekTask): Call clearSeeking. Don't short circuit a
if the current or pending seek is a fast seek. Set m_seeking to true immediately
before calling media engine as it may have been cleared before the seek task
queue ran.
(WebCore::HTMLMediaElement::clearSeeking): New.
* html/HTMLMediaElement.h:
* html/HTMLMediaElementEnums.h:
* platform/GenericTaskQueue.h:
(WebCore::GenericTaskQueue::enqueueTask): Clear m_pendingTasks.
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::seekWithTolerance): Don't return early
when asked to seek to the current time.
(WebCore::MediaPlayerPrivateAVFoundation::invalidateCachedDuration): Remove some
extremely noisy logging.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime): Add logging.
LayoutTests:
* media/event-attributes-expected.txt: Update for test change.
* media/event-attributes.html: There is no reason to expect that a 'timeupdate' will have
been sent before 'canplaythrough'.
* media/video-seek-to-current-time-expected.txt: Added.
* media/video-seek-to-current-time.html: Added.
* platform/efl/TestExpectations: Skip new test.
* platform/gtk/TestExpectations: Ditto.
* platform/mac/TestExpectations: Mark the new test as sometimes failing because of
webkit.org/b/147944.
* platform/win/TestExpectations: Skip new test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188390
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 13 Aug 2015 19:08:42 +0000 (19:08 +0000)]
FilterOperation.h should not include FilterEffect.h
https://bugs.webkit.org/show_bug.cgi?id=147970
Reviewed by Daniel Bates.
FilterEffect.h pulls in lots of JSC goop via runtime/Uint8ClampedArray.h,
so move its include to FilterOperation.cpp.
Causes include bloat because FilterOperation.h is pulled in via RenderStyle.h.
Source/WebCore:
* platform/graphics/filters/FilterOperation.cpp:
(WebCore::ReferenceFilterOperation::setFilterEffect):
* platform/graphics/filters/FilterOperation.h:
(WebCore::ReferenceFilterOperation::setFilterEffect): Deleted.
Source/WebKit2:
* UIProcess/ios/WebVideoFullscreenManagerProxy.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188389
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 13 Aug 2015 19:08:37 +0000 (19:08 +0000)]
ScriptExecutionContext.h pulls in all the JSC headers
https://bugs.webkit.org/show_bug.cgi?id=147969
Reviewed by Alexey Proskuryakov.
ScriptExecutionContext.h included ScheduledAction.h, which pulled in all the
JSC headers via JSDOMBinding.h. There was no need for this #include, so remove
it and fix the fallout.
* Modules/webdatabase/DatabaseTracker.cpp:
* Modules/webdatabase/SQLTransaction.h:
* bindings/js/JSWebGLRenderingContextCustom.cpp:
* contentextensions/ContentExtensionStyleSheet.cpp:
* dom/ScriptExecutionContext.h:
* html/FTPDirectoryDocument.cpp:
* html/canvas/WebGLRenderingContext.cpp:
* html/parser/HTMLTreeBuilder.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188388
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fpizlo@apple.com [Thu, 13 Aug 2015 18:10:36 +0000 (18:10 +0000)]
Unreviewed, shorten another test. It's timing out in debug on some bot.
* TestWebKitAPI/Tests/WTF/Lock.cpp:
(TestWebKitAPI::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188387
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
andersca@apple.com [Thu, 13 Aug 2015 17:37:27 +0000 (17:37 +0000)]
Use WTF::Optional in WindowFeatures
https://bugs.webkit.org/show_bug.cgi?id=147956
Reviewed by Sam Weinig.
Source/WebCore:
* loader/FrameLoader.cpp:
(WebCore::createWindow):
* page/WindowFeatures.cpp:
(WebCore::WindowFeatures::WindowFeatures):
(WebCore::WindowFeatures::setWindowFeature):
(WebCore::WindowFeatures::boolFeature):
(WebCore::WindowFeatures::floatFeature):
(WebCore::WindowFeatures::parseDialogFeatures):
* page/WindowFeatures.h:
(WebCore::WindowFeatures::WindowFeatures):
Source/WebKit/mac:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::createWindow):
Source/WebKit/win:
* WebCoreSupport/WebChromeClient.cpp:
(createWindowFeaturesPropertyBag):
Source/WebKit2:
* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<WindowFeatures>::encode): Deleted.
(IPC::ArgumentCoder<WindowFeatures>::decode): Deleted.
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
* UIProcess/API/Cocoa/WKWindowFeatures.mm:
(-[WKWindowFeatures _initWithWindowFeatures:]):
Source/WTF:
Add new operators to WTF::Optional to make it more like std::optional.
* wtf/Optional.h:
(WTF::Optional::operator->):
(WTF::Optional::operator*):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188386
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mdaiter@apple.com [Thu, 13 Aug 2015 17:33:43 +0000 (17:33 +0000)]
Source/WebCore:
UserMediaRequest should supply IDs of devices selected by user
https://bugs.webkit.org/show_bug.cgi?id=147263
<rdar://problem/
21983345>
Reviewed by Jer Noble.
* Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::userMediaAccessGranted):
* Modules/mediastream/UserMediaRequest.h:
* platform/mock/UserMediaClientMock.h:
Source/WebKit/mac:
Linking device query ability from WebKit2 to clients
https://bugs.webkit.org/show_bug.cgi?id=147263
<rdar://problem/
21983345>
Reviewed by Jer Noble.
* WebCoreSupport/WebUserMediaClient.mm:
(-[WebUserMediaPolicyListener allow]):
(-[WebUserMediaPolicyListener allowDeviceWithVideoUID:andAudioUID:]):
Source/WebKit2:
Linking device query ability from WebKit2 to clients
https://bugs.webkit.org/show_bug.cgi?id=147263
<rdar://problem/
21983345>
Reviewed by Jer Noble.
* Platform/mac/LayerHostingContext.mm:
(WebKit::LayerHostingContext::setColorMatchUntaggedContent):
(WebKit::LayerHostingContext::colorMatchUntaggedContent):
* UIProcess/API/C/WKUserMediaPermissionRequest.cpp:
(WKUserMediaPermissionRequestAllow):
(WKUserMediaPermissionRequestDeviceNamesVideo):
(WKUserMediaPermissionRequestDeviceNamesAudio):
* UIProcess/API/C/WKUserMediaPermissionRequest.h:
* UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::didReceiveUserMediaPermissionDecision): Deleted.
* UIProcess/UserMediaPermissionRequestManagerProxy.h:
* UIProcess/UserMediaPermissionRequestProxy.cpp:
(WebKit::UserMediaPermissionRequestProxy::allow):
(WebKit::UserMediaPermissionRequestProxy::deny):
* UIProcess/UserMediaPermissionRequestProxy.h:
* WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
(WebKit::UserMediaPermissionRequestManager::didReceiveUserMediaPermissionDecision):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188385
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Thu, 13 Aug 2015 17:25:01 +0000 (17:25 +0000)]
X.[[SetPrototypeOf]](Y) should succeed if X.[[Prototype]] is already Y even if X is not extensible
https://bugs.webkit.org/show_bug.cgi?id=147930
Reviewed by Saam Barati.
When the passed prototype object to be set is the same to the existing
prototype object, [[SetPrototypeOf]] just finishes its operation even
if the extensibility of the target object is `false`.
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncProtoSetter):
* runtime/ObjectConstructor.cpp:
(JSC::objectConstructorSetPrototypeOf):
* runtime/ReflectObject.cpp:
(JSC::reflectObjectSetPrototypeOf):
* tests/stress/set-same-prototype.js: Added.
(shouldBe):
(shouldThrow):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188384
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Thu, 13 Aug 2015 15:53:50 +0000 (15:53 +0000)]
[Cocoa] [CJK-configured device] System font has vertical punctuation
https://bugs.webkit.org/show_bug.cgi?id=147964
<rdar://problem/
22256660>
* platform/mac/fast/text/system-font-punctuation-expected.txt: Actually landing
results for Mac.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188383
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
nvasilyev@apple.com [Thu, 13 Aug 2015 11:49:43 +0000 (11:49 +0000)]
REGRESSION (r188325): Web Inspector: Fix vertical spacing in CodeMirror
https://bugs.webkit.org/show_bug.cgi?id=147971
r188325 inceased line-height by 2px. Remove top and bottom 1px padding
to compensate for line-height changes.
In the feature we may highlight the backgroud of text tokens (e.g. for the
heatmap profiler) so we would want to get rid of the gaps between the lines
(caused by the paddind) regardless of this regression.
Reviewed by Timothy Hatcher.
* UserInterface/Views/CodeMirrorOverrides.css:
(.CodeMirror pre):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188382
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ap@apple.com [Thu, 13 Aug 2015 06:10:57 +0000 (06:10 +0000)]
Mac TestExpectations gardening.
* platform/mac/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188380
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Thu, 13 Aug 2015 06:07:23 +0000 (06:07 +0000)]
[Cairo] Improve image quality when using newer versions of cairo/pixman
https://bugs.webkit.org/show_bug.cgi?id=147826
Reviewed by Martin Robinson.
Since cairo 1.14 the image filters changed a bit:
- CAIRO_FILTER_GOOD uses a box filter when downscaling if the
scale factor is less than 0.75, otherwise it uses a filter
equivalent to CAIRO_FILTER_BILINEAR.
- CAIRO_FILTER_BEST uses always a Catmull-Rom filter.
We are currently using CAIRO_FILTER_BILINEAR for medium, high and
default interpolation levels. We could use CAIRO_FILTER_GOOD for
medium and default, and CAIRO_FILTER_BEST for high. This will not
have any effect in previous versions of cairo because before 1.14
CAIRO_FILTER_GOOD, CAIRO_FILTER_BILINEAR and CAIRO_FILTER_BEST had
the same implementation in pixman.
* platform/graphics/cairo/PlatformContextCairo.cpp:
(WebCore::PlatformContextCairo::drawSurfaceToContext):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188379
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Thu, 13 Aug 2015 05:51:38 +0000 (05:51 +0000)]
Web Inspector: Sometimes CSS resources don't update after editing via Styles panel
https://bugs.webkit.org/show_bug.cgi?id=143244
Reviewed by Timothy Hatcher.
* UserInterface/Models/SourceCode.js:
(WebInspector.SourceCode.prototype._processContent):
This code is brittle and we should move off of putting the
possibly stale content in the Promise result.
* UserInterface/Views/ResourceContentView.js:
(WebInspector.ResourceContentView.prototype._contentAvailable):
* UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype._contentAvailable):
* UserInterface/Models/Script.js:
(WebInspector.Script.prototype.requestScriptSyntaxTree):
Use the current source code's content.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@188378
268f45cc-cd09-0410-ab3c-
d52691b4dbfc