Timeline



Mar 18, 2015:

11:30 PM Changeset in webkit [181733] by Csaba Osztrogonác
  • 2 edits in trunk

Unreviewed, kick the GTK bots to regenerate makefile.

  • Source/cmake/OptionsGTK.cmake:
11:22 PM Changeset in webkit [181732] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Windows gardening for debug bots.

  • platform/win/TestExpectations:
11:14 PM Changeset in webkit [181731] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.23.3/Source

Versioning.

11:10 PM Changeset in webkit [181730] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.23.3

New tag.

11:09 PM Changeset in webkit [181729] by Manuel Rego Casasnovas
  • 2 edits in trunk/Source/WebCore

Unreviewed. GTK build fix after r181720.

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::styleDidChange):

10:21 PM Changeset in webkit [181728] by Antti Koivisto
  • 10 edits
    2 adds in trunk

Test disk cache behavior when using back navigation cache policy
https://bugs.webkit.org/show_bug.cgi?id=142848

Reviewed by Chris Dumez.

Source/WebCore:

Add a way to override the normal cache policy so we can test reload behavior of cache without actually reloading.

Test: http/tests/cache/disk-cache-validation-back-navigation-policy.html

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::addExtraFieldsToRequest):

  • loader/FrameLoader.h:

(WebCore::FrameLoader::setOverrideCachePolicyForTesting):

  • testing/Internals.cpp:

(WebCore::Internals::setOverrideCachePolicy):

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

  • http/tests/cache/disk-cache-validation-back-navigation-policy-expected.txt: Added.
  • http/tests/cache/disk-cache-validation-back-navigation-policy.html: Added.

Test permutations of cache headers on reload including Cache-control: must-revalidate.

  • platform/mac-wk1/TestExpectations:
  • platform/win/TestExpectations:
10:16 PM Changeset in webkit [181727] by Yusuke Suzuki
  • 2 edits in trunk/Source/WebCore

TextFragment#start() is always >= 0 since its type is unsigned
https://bugs.webkit.org/show_bug.cgi?id=142860

Reviewed by Andreas Kling.

Since TextFragment::m_start is unsigned, the result of
TextFragment::start() is always >= 0 and assertion is not effective.
This patch removes this assertion to suppress warnings.

  • rendering/SimpleLineLayoutTextFragmentIterator.cpp:

(WebCore::SimpleLineLayout::TextFragmentIterator::revertToFragment):

9:57 PM Changeset in webkit [181726] by commit-queue@webkit.org
  • 13 edits in trunk

[ContentExtensions] Prepare for compiling stylesheets of selectors to be used on every page.
https://bugs.webkit.org/show_bug.cgi?id=142799

Patch by Alex Christensen <achristensen@webkit.org> on 2015-03-18
Reviewed by Brady Eidson.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:

Make private headers to use with API tests.

  • contentextensions/CompiledContentExtension.cpp:

(WebCore::ContentExtensions::CompiledContentExtension::globalDisplayNoneSelectors):

  • contentextensions/CompiledContentExtension.h:

Added method to get only the selectors from the root of the DFA, which apply to all URLs.

  • contentextensions/ContentExtensionCompiler.cpp:

(WebCore::ContentExtensions::compileRuleList):
Added checking if the trigger will match everything.
These actions can be put directly on the root of the DFA without adding extra epsilon transitions to the NFA.

  • contentextensions/DFA.h:

(WebCore::ContentExtensions::DFA::nodeAt):

  • contentextensions/DFABytecodeInterpreter.cpp:

(WebCore::ContentExtensions::DFABytecodeInterpreter::actionsFromDFARoot):
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpret):

  • contentextensions/DFABytecodeInterpreter.h:
  • contentextensions/NFA.h:
  • contentextensions/URLFilterParser.cpp:

(WebCore::ContentExtensions::Term::quantifier):
Sink terms to a vector then add nodes to NFA when finalizing after checking for regexes that match everything.
(WebCore::ContentExtensions::GraphBuilder::GraphBuilder):
(WebCore::ContentExtensions::GraphBuilder::finalize):
(WebCore::ContentExtensions::GraphBuilder::parseStatus):
(WebCore::ContentExtensions::GraphBuilder::atomPatternCharacter):
(WebCore::ContentExtensions::GraphBuilder::atomBuiltInCharacterClass):
(WebCore::ContentExtensions::GraphBuilder::quantifyAtom):
(WebCore::ContentExtensions::GraphBuilder::atomBackReference):
(WebCore::ContentExtensions::GraphBuilder::assertionBOL):
(WebCore::ContentExtensions::GraphBuilder::assertionWordBoundary):
(WebCore::ContentExtensions::GraphBuilder::atomCharacterClassAtom):
(WebCore::ContentExtensions::GraphBuilder::atomCharacterClassRange):
(WebCore::ContentExtensions::GraphBuilder::atomCharacterClassBuiltIn):
(WebCore::ContentExtensions::GraphBuilder::atomParentheticalAssertionBegin):
(WebCore::ContentExtensions::GraphBuilder::disjunction):
(WebCore::ContentExtensions::GraphBuilder::hasError):
(WebCore::ContentExtensions::GraphBuilder::fail):
(WebCore::ContentExtensions::GraphBuilder::sinkFloatingTermIfNecessary):
(WebCore::ContentExtensions::URLFilterParser::addPattern):
(WebCore::ContentExtensions::URLFilterParser::statusString):
(WebCore::ContentExtensions::GraphBuilder::errorMessage): Deleted.

  • contentextensions/URLFilterParser.h:

Use an enum instead of strings for the status to avoid checking strings when we have a regex that matches everything.

Tools:

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(TestWebKitAPI::testPattern):
(TestWebKitAPI::TEST_F):
Start testing regex failures.

9:05 PM Changeset in webkit [181725] by Yusuke Suzuki
  • 2 edits in trunk/Source/WebCore

Fix build failure due to FALLTHROUGH in unreachable code
https://bugs.webkit.org/show_bug.cgi?id=142703

Reviewed by Benjamin Poulain.

FALLTHROUGH should not exist in unreachable code marked by
ASSERT_NOT_REACHABLE.

When !ENABLE(CSS_SELECTOR_JIT) and Debug mode is enabled,
both ASSERT_NOT_REACHED and FALLTHROUGH are instantiated
and it cause build failure.

Here, since CompiledSingle/CompiledSingleWithRootFilter are
not set when !ENABLE(CSS_SELECTOR_JIT). So dropping FALLTHROUGH
and leave ASSERT_NOT_REACHED.
And since ASSERT_NOT_ReACHED is stripped when Release build,
I've inserted FALLTHROUGH() if ASSERT_DISABLED.
This fix is the same to r162906.

  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::execute):

8:27 PM Changeset in webkit [181724] by Joseph Pecoraro
  • 5 edits in trunk

ES6 Classes: Extends should accept an expression without parenthesis
https://bugs.webkit.org/show_bug.cgi?id=142840

Reviewed by Ryosuke Niwa.

Source/JavaScriptCore:

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseClass):
"extends" allows a LeftHandExpression (new expression / call expression,
which includes a member expression), not a primary expression. Our
parseMemberExpression does all of these.

LayoutTests:

  • js/class-syntax-extends-expected.txt:
  • js/script-tests/class-syntax-extends.js:

Extend the test to test cases of extends with different types of expressions.

8:26 PM Changeset in webkit [181723] by Joseph Pecoraro
  • 7 edits
    1 delete in trunk/Source/WebInspectorUI

Web Inspector: Replace last use of ObjectPropertiesSection with ObjectTreeView
https://bugs.webkit.org/show_bug.cgi?id=142834

Reviewed by Timothy Hatcher.

  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

(WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties):
Use properties only ObjectTreeView instead of ObjectPropertiesSection.
This doesn't fix the functionality issues, but fixes the appearance.

  • UserInterface/Views/DetailsSection.css:

(.details-section > .content > .group:first-child > .row.simple:first-child > *): Deleted.
(body.mac-platform.legacy .details-section > .content > .group:first-child > .row.simple:first-child > *): Deleted.
(.details-section > .content > .group > .row.properties:not(.empty)): Deleted.
(body.mac-platform.legacy .details-section > .content > .group > .row.properties:not(.empty)): Deleted.
Re-add back the small padding at the top of sections. This actually
broke padding in a few sections (Event Listeners) at the expense
of eliminating a few pixels of whitespace at the top of other sections.
We should focus on addressing the extra whitespace separately.

  • UserInterface/Main.html:
  • UserInterface/Views/ObjectPropertiesSection.js: Removed.
  • UserInterface/Views/TypePropertiesSection.js:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:

Remove new unused class.

8:26 PM Changeset in webkit [181722] by Joseph Pecoraro
  • 7 edits in trunk/Source

Web Inspector: Debugger Popovers and Probes should use FormattedValue/ObjectTreeView instead of Custom/ObjectPropertiesSection
https://bugs.webkit.org/show_bug.cgi?id=142830

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::breakpointActionProbe):
Give Probe Samples object previews.

Source/WebInspectorUI:

  • UserInterface/Views/ProbeSetDataGrid.css:

(.details-section.probe-set .data-grid .object-tree > :matches(.title, .object-preview)::before):
Another line-height fix for object tree disclosure triangles.

  • UserInterface/Views/ProbeSetDataGridNode.js:

(WebInspector.ProbeSetDataGridNode.prototype.createCellContent):
Create an ObjectTree / FormattedValue for the RemoteObject.

  • UserInterface/Views/SourceCodeTextEditor.css:

(.popover .debugger-popover-content > .title):
(.popover .debugger-popover-content > .body):
(.popover .debugger-popover-content.function > .body):
Be more specific and don't accidentally style ".title" within the body.

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject):
Show a properties only ObjectTree instead of an ObjectPropertiesSection.

(WebInspector.SourceCodeTextEditor.prototype._showPopoverForString): Deleted.
(WebInspector.SourceCodeTextEditor.prototype._showPopoverForRegExp): Deleted.
(WebInspector.SourceCodeTextEditor.prototype._showPopoverForNumber): Deleted.
(WebInspector.SourceCodeTextEditor.prototype._showPopoverForBoolean): Deleted.
(WebInspector.SourceCodeTextEditor.prototype._showPopoverForNull): Deleted.
(WebInspector.SourceCodeTextEditor.prototype._showPopoverForUndefined): Deleted.
(WebInspector.SourceCodeTextEditor.prototype._showPopoverWithFormattedValue):
Reduce most of these to a single popover for formatted values.

7:16 PM Changeset in webkit [181721] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Don't paint PDFs on every scroll
https://bugs.webkit.org/show_bug.cgi?id=142857
rdar://problem/20130207

Reviewed by Tim Horton.

Don't push a scale factor onto the PDF layer controller if it hasn't
changed, since doing so causes a repaint.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::updatePageAndDeviceScaleFactors):

7:15 PM Changeset in webkit [181720] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Switching between two SVG images with no intrinsic sizes causes them to get the default SVG size instead of the container size.
https://bugs.webkit.org/show_bug.cgi?id=142805.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-03-18
Reviewed by Darin Adler.
Source/WebCore:

The bug happens due to wrong logic in RenderImage::imageDimensionsChanged().
This function decides to setNeedsLayout() if the intrinsic size of the image
changes. If the size does not change, it only repaints the image rectangle.
When switching the src of the an image between two SVG images and both of
them have no intrinsic size, we do not updateInnerContentRect() and this
means an SVGImageForContainer is not going to be created for this image.
When the image is drawn, it is drawn directly from the SVGImage. And this
means the drawing has to be scaled by container_size / SVG_default_intrinsic_size

After figuring out that I need to updateInnerContentRect() to fix this bug,
I found out Blink has already changed this code to do the same thing. But
they also did more clean-up in this function. Here is the link
https://codereview.chromium.org/114323004. I think their change seems correct
although they did not say what exactly they were trying to fix.

The plan for repaintOrMarkForLayout(), which is the new name of this function,
is the following:

-- setNeedLayout() if the intrinsic size changes and it affects the size

of the image.

-- updateInnerContentRect() if the intrinsic size did not change but the

image has exiting layout.

-- repaint the image rectangle if layout is not needed.

This change also removes the call to computeLogicalWidthInRegion(), which is
almost running a layout for the image. This call figures out whether the image
needs to setNeedsLayout(). This call is unnecessary; the image needs to run a
layout if the intrinsic size has changed and it affects the size of the image.

Test: svg/as-image/svg-no-intrinsic-size-switching.html

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::styleDidChange): Change the function call.
(WebCore::RenderImage::imageChanged): Rename local variable and change the
function call.

(WebCore::RenderImage::updateIntrinsicSizeIfNeeded): Simplify this function.
Call setIntrinsicSize() with the new size unless the image is in error state.

(WebCore::RenderImage::repaintOrMarkForLayout): This a better name for this
function since it is called even if the intrinsic size was not changed.
(WebCore::RenderImage::imageDimensionsChanged): Deleted.

  • rendering/RenderImage.h: Rename imageDimensionsChanged() and change the

updateIntrinsicSizeIfNeeded() to return void.

  • rendering/svg/RenderSVGForeignObject.cpp:

(WebCore::RenderSVGForeignObject::paint): Code cleanup. This function can
only handle the paint phases PaintPhaseForeground and PaintPhaseSelection.
Use this information to simplify the logic and order of painting there.

LayoutTests:

  • svg/as-image/svg-no-intrinsic-size-switching-expected.html: Added.
  • svg/as-image/svg-no-intrinsic-size-switching.html: Added.

Ensure that switching the source of an <img> element between two SVG images,
which have no intrinsic sizes, gets the image the size of the container and
not the default SVG intrinsic size which is 300x150 pixels.

6:28 PM Changeset in webkit [181719] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.23.2/Source/WebCore

Merged r181713. rdar://problem/20178504

6:25 PM Changeset in webkit [181718] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.23.2/Source

Versioning.

6:10 PM Changeset in webkit [181717] by diorahman@rockybars.com
  • 4 edits in trunk

Source/WTF:
Fix StringView misplaced implementations after r181525 and r181558
https://bugs.webkit.org/show_bug.cgi?id=142772

Reviewed by Darin Adler.

Fix misplaced implementations in StringView::startsWithIgnoringASCIICase and
StringView::endsWith.

Add some tests in [1] to cover the StringView::startsWith,
StringView::startsWithIgnoringASCIICase, StringView::endsWith and
StringView::endsWithIgnoringASCIICase implementations.

[1] Tools/TestWebKitAPI/Tests/WTF/StringView.cpp.

  • wtf/text/StringView.cpp:

(WTF::StringView::startsWithIgnoringASCIICase):
(WTF::StringView::endsWith):
(WTF::StringView::endsWithIgnoringASCIICase):

Tools:
Fix StringView typos after r181525 and r181558
https://bugs.webkit.org/show_bug.cgi?id=142772

Reviewed by Darin Adler.

Add some tests in [1] to cover the StringView::startsWith,
StringView::startsWithIgnoringASCIICase, StringView::endsWith and
StringView::endsWithIgnoringASCIICase implementations.

  • TestWebKitAPI/Tests/WTF/StringView.cpp:

(TestWebKitAPI::TEST):

5:49 PM Changeset in webkit [181716] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.23.2

New tag.

5:14 PM Changeset in webkit [181715] by dburkart@apple.com
  • 2 edits in trunk/Tools

Remove extraneous import to fix the build.

Unreviewed.

5:01 PM Changeset in webkit [181714] by dburkart@apple.com
  • 2 edits in trunk/Tools

ASAN_OPTIONS=allocator_may_return_null=1 needs to be set
https://bugs.webkit.org/show_bug.cgi?id=142547

Reviewed by Alexey Proskuryakov.

4:35 PM Changeset in webkit [181713] by jeremyj-wk@apple.com
  • 2 edits in trunk/Source/WebCore

Fix typo in playerViewControllerWillCancelOptimizedFullscree.
https://bugs.webkit.org/show_bug.cgi?id=142745

Reviewed by Darin Adler.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerController playerViewControllerWillCancelOptimizedFullscreen:]):
(-[WebAVPlayerController playerViewControllerWillCancelOptimizedFullscree:]): Deleted.

4:29 PM Changeset in webkit [181712] by ap@apple.com
  • 2 edits in trunk/LayoutTests

webaudio/convolution-mono-mono.html fails on some machines
rdar://problem/19996807

Rubber-stampted by Jer Noble.

  • webaudio/resources/convolution-testing.js: (checkTriangularPulse): Slightly increase

the tolerance. It's still extremely low.

3:39 PM Changeset in webkit [181711] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Use && instead of & when deciding if the network cache should be cleared
https://bugs.webkit.org/show_bug.cgi?id=142845

Reviewed by Antti Koivisto.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::deleteWebsiteData):

3:17 PM Changeset in webkit [181710] by Simon Fraser
  • 5 edits
    2 adds in trunk

Avoid repaints when changing transform on an element with multiple background images
https://bugs.webkit.org/show_bug.cgi?id=142841

Reviewed by Zalan Bujtas.

Source/WebCore:

Replace the cheap test for changed images in RenderElement::updateFillImages()
with an exhaustive test that walks the entire list of background images,
since any ensuing repaint is way more expensive than a slightly more expensive check here.

Test: fast/repaint/multiple-backgrounds-style-change.html

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::updateFillImages):

  • rendering/style/FillLayer.cpp:

(WebCore::layerImagesIdentical): See if both images are the same (either none
or both mask images, and same image pointer).
(WebCore::FillLayer::imagesIdentical): Walk the two FillLayer lists, checking the images
on each one. Returns false if we reach the end of one list before the other, or the images
are different.

  • rendering/style/FillLayer.h: New static function; static because

it compares two FillLayer lists, and I think that makes more sense than
a member function.

LayoutTests:

Test that changes transform on a composited element with 2 background images,
and tests for no repaints.

  • fast/repaint/multiple-backgrounds-style-change-expected.txt: Added.
  • fast/repaint/multiple-backgrounds-style-change.html: Added.
2:06 PM Changeset in webkit [181709] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Pass cookies by reference in CookieHash functions
https://bugs.webkit.org/show_bug.cgi?id=142839

Reviewed by Sam Weinig.

  • platform/Cookie.h:

(WebCore::CookieHash::hash):
(WebCore::CookieHash::equal):

1:42 PM Changeset in webkit [181708] by ap@apple.com
  • 2 edits in trunk/Tools

Tweak how AppleSystemFontOSSubversion default is added
https://bugs.webkit.org/show_bug.cgi?id=142835

Reviewed by Dan Bernstein.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(setDefaultsToConsistentValuesForTesting):

12:54 PM Changeset in webkit [181707] by andersca@apple.com
  • 11 edits
    2 copies in trunk/Source/WebKit2

Add WKContextGetWebsiteDataStore API
https://bugs.webkit.org/show_bug.cgi?id=142832
rdar://problem/16544715

Reviewed by Sam Weinig.

Also add WKWebsiteDataStoreRef which is toll-free bridged to _WKWebsiteDataStore.

  • Shared/API/c/WKBase.h:

Add new declaration.

  • UIProcess/API/APIWebsiteDataStore.cpp:

(API::WebsiteDataStore::create):

  • UIProcess/API/APIWebsiteDataStore.h:

Add a new function that takes a configuration.

  • UIProcess/API/C/WKAPICast.h:

Add cast.

  • UIProcess/API/C/WKContext.cpp:

(WKContextGetWebsiteDataStore):
Return the context's website data store.

  • UIProcess/API/C/WKContext.h:

Add new declaration.

  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp: Added.
  • UIProcess/API/C/WKWebsiteDataStoreRef.h: Added.

Add new files.

  • UIProcess/WebKeyValueStorageManager.cpp:

(WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
(WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin):
(WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
(WebKit::WebKeyValueStorageManager::deleteAllEntries):
Update now that WebProcessPool holds on to an API::WebsiteDataStore.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::WebProcessPool):
(WebKit::WebProcessPool::createWebPage):

  • UIProcess/WebProcessPool.h:

WebProcessPool should hold on to an API::WebsiteDataStore instead of a WebKit::WebsiteDataStore.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

12:07 PM Changeset in webkit [181706] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Temporarily fix the !ENABLE(CSS_SELECTOR_JIT) and assertions-enabled build

  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::execute):

11:40 AM Changeset in webkit [181705] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Cannot invoke action menus anymore
https://bugs.webkit.org/show_bug.cgi?id=142797
<rdar://problem/20032670>

  • UIProcess/API/mac/WKView.mm:

Need one more respondsToSelector check.

11:30 AM Changeset in webkit [181704] by Joseph Pecoraro
  • 8 edits
    1 delete in trunk/Source/WebInspectorUI

Web Inspector: Scopes sidebar should use new ObjectTreeView and not ObjectPropertiesSection
https://bugs.webkit.org/show_bug.cgi?id=142808

Reviewed by Timothy Hatcher.

  • UserInterface/Models/PropertyPath.js:

(WebInspector.PropertyPath):
(WebInspector.PropertyPath.emptyPropertyPathForScope):
Allow a special property empty path for "Scopes". This way for a
"<scopeObject>.property" we can show just the tooltip "property".

  • UserInterface/Views/ObjectTreeView.css:

(.object-tree.properties-only > :matches(.title, .object-preview)):
(.object-tree.properties-only .object-tree-outline):
(.object-tree.properties-only .object-tree-property .property-name):
Tweak styles for only properties view, which won't have a top-level
preview and doesn't fade out enumerable properties.

  • UserInterface/Views/ObjectTreeView.js:

(WebInspector.ObjectTreeView.prototype.get treeOutline):
Access the TreeOutline.

(WebInspector.ObjectTreeView.prototype.showOnlyProperties):
Properties only view modifies the display slightly.

(WebInspector.ObjectTreeView.prototype.appendExtraPropertyDescriptor):
(WebInspector.ObjectTreeView.prototype._updateProperties):
Allow the client to add its own property descriptors to display
as a property in this ObjectTreeView.

  • UserInterface/Views/ScopeChainDetailsSidebarPanel.js:

(WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh):
Switch to using an ObjectTreeView.

(WebInspector.ScopeChainDetailsSidebarPanel.prototype._propertyPathIdentifierForTreeElement):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeAddHandler):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeExpandHandler):
(WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeCollapseHandler):
Keep track of what properties were expanded so we can auto-expand
them again when the sidebar refreshes.

  • UserInterface/Main.html:
  • UserInterface/Views/ScopeVariableTreeElement.js: Removed.
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:

Remove the now unused ScopeVariableTreeElement.js.

11:12 AM Changeset in webkit [181703] by mmaxfield@apple.com
  • 3 edits in trunk/Source/WebCore

Call CTFontSetRenderingParameters before rendering text
https://bugs.webkit.org/show_bug.cgi?id=142816

Reviewed by Darin Adler.

No new tests.

  • platform/graphics/cocoa/FontCascadeCocoa.mm:

(WebCore::showGlyphsWithAdvances):

  • platform/spi/cocoa/CoreTextSPI.h:
10:50 AM Changeset in webkit [181702] by Chris Dumez
  • 5 edits in trunk/Source

[WK2] Log the number of network cache requests that we have never seen before
https://bugs.webkit.org/show_bug.cgi?id=142828
<rdar://problem/19632130>

Reviewed by Antti Koivisto.

Source/WebCore:

Add diagnostic logging key for network cache efficacy logging.

  • page/DiagnosticLoggingKeys.cpp:

(WebCore::DiagnosticLoggingKeys::neverSeenBeforeKey):
(WebCore::DiagnosticLoggingKeys::requestKey):

  • page/DiagnosticLoggingKeys.h:

Source/WebKit2:

Log the number of network cache requests that we have never seen before
using diagnostic logging.

  • NetworkProcess/cache/NetworkCacheStatisticsCocoa.mm:

(WebKit::NetworkCache::Statistics::recordNotUsingCacheForRequest):
(WebKit::NetworkCache::Statistics::recordRetrievalFailure):

10:40 AM Changeset in webkit [181701] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed GTK Gardening 18th March
https://bugs.webkit.org/show_bug.cgi?id=142824

Unreviewed.

Patch by Marcos Chavarría Teijeiro <chavarria1991@gmail.com> on 2015-03-18

  • platform/gtk/TestExpectations:
10:40 AM Changeset in webkit [181700] by Antti Koivisto
  • 6 edits in trunk/Source/WebKit2

Prune least valuable cache entries first
https://bugs.webkit.org/show_bug.cgi?id=142810
rdar://problem/19632130

Reviewed by Darin Adler.

When pruning the cache estimate relative value of each entry using formula

age = current time - creation time
accessAge = last access time - creation time
value = accessAge / age

That is, we value entries that have been accessed recently and survived in the cache longest.

The most valuable entries don't get deleted at all while the deletion probablity ramps up for
lower value entries.

  • NetworkProcess/cache/NetworkCacheFileSystemPosix.h:

(WebKit::NetworkCache::fileTimes):

Get the creation time and access time for a file.

(WebKit::NetworkCache::updateFileAccessTimeIfNeeded):

Update access time manually if the file system doesn't do it automatically.

  • NetworkProcess/cache/NetworkCacheIOChannel.h:

(WebKit::NetworkCache::IOChannel::path):
(WebKit::NetworkCache::IOChannel::type):

  • NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:

(WebKit::NetworkCache::IOChannel::IOChannel):
(WebKit::NetworkCache::IOChannel::open):

Remember the file path and move most of the work to constructor.

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::Storage):
(WebKit::NetworkCache::Storage::remove):
(WebKit::NetworkCache::Storage::updateFileAccessTime):
(WebKit::NetworkCache::Storage::dispatchReadOperation):
(WebKit::NetworkCache::deletionProbability):

Compute the probability based on entry age and access time.

(WebKit::NetworkCache::Storage::shrinkIfNeeded):

  • NetworkProcess/cache/NetworkCacheStorage.h:

(WebKit::NetworkCache::Storage::serialBackgroundIOQueue):
(WebKit::NetworkCache::Storage::deleteQueue): Deleted.

More generic name.

10:27 AM Changeset in webkit [181699] by Yusuke Suzuki
  • 4 edits
    4 adds in trunk

Use filterRootId in SelectorQuery even if CSS JIT is not enabled
https://bugs.webkit.org/show_bug.cgi?id=142703

Reviewed by Benjamin Poulain.

Source/WebCore:

filterRootId pruning path is not inherently related to CSS JIT.
This patch enables filterRootId even in the environment
where CSS JIT is not enabled.

  • dom/SelectorQuery.cpp:

(WebCore::filterRootById):
(WebCore::SelectorDataList::executeSingleSelectorData):
(WebCore::SelectorDataList::execute):

  • dom/SelectorQuery.h:

LayoutTests:

This is covered by the following layout-tests.
CompilableSingleWithRootFilter and CompilableSingle are covered by them.

  • fast/selectors/filter-root-node-with-selector-contains-adjacents.html
  • fast/selectors/querySelector-id-filtering.html
  • fast/selectors/querySelector-scope-filtered-root.html

And add tests to cover the following cases.

  • Failures on selectorForIdLookup()'s rootNode.inDocument().
  • Failures on selectorForIdLookup()'s rootNode.document().inQuirksMode().
  • fast/selectors/querySelector-with-id-for-detached-element-expected.txt: Added.
  • fast/selectors/querySelector-with-id-for-detached-element.html: Added.
  • fast/selectors/querySelector-with-id-in-quirks-mode-expected.txt: Added.
  • fast/selectors/querySelector-with-id-in-quirks-mode.html: Added.
9:51 AM Changeset in webkit [181698] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Simple line layout: Use Vector<>::const_iterator instead of custom FlowContents::Iterator.
https://bugs.webkit.org/show_bug.cgi?id=142809

Reviewed by Antti Koivisto.

FlowContents::Iterator simply iterates on a vector<>. No need to custom implement it.

No change in functionality.

  • rendering/SimpleLineLayoutFlowContents.h:

(WebCore::SimpleLineLayout::FlowContents::begin):
(WebCore::SimpleLineLayout::FlowContents::end):
(WebCore::SimpleLineLayout::FlowContents::Iterator::Iterator): Deleted.
(WebCore::SimpleLineLayout::FlowContents::Iterator::operator++): Deleted.
(WebCore::SimpleLineLayout::FlowContents::Iterator::operator--): Deleted.
(WebCore::SimpleLineLayout::FlowContents::Iterator::operator==): Deleted.
(WebCore::SimpleLineLayout::FlowContents::Iterator::operator!=): Deleted.
(WebCore::SimpleLineLayout::FlowContents::Iterator::operator*): Deleted.
(WebCore::SimpleLineLayout::FlowContents::Iterator::operator->): Deleted.

  • rendering/SimpleLineLayoutTextFragmentIterator.cpp:

(WebCore::SimpleLineLayout::TextFragmentIterator::skipToNextPosition):

9:47 AM Changeset in webkit [181697] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

Simple line layout: Change FlowContents::segmentForPosition() to segmentForRun().
https://bugs.webkit.org/show_bug.cgi?id=142785

Reviewed by Antti Koivisto.

This is in transition to support <br>. A particular position could point to multiple
segments when <br> is directly followed by text.

No change in functionality.

  • rendering/SimpleLineLayoutFlowContents.cpp:

(WebCore::SimpleLineLayout::FlowContents::segmentIndexForRunSlow):
(WebCore::SimpleLineLayout::FlowContents::segmentIndexForPositionSlow): Deleted.

  • rendering/SimpleLineLayoutFlowContents.h:

(WebCore::SimpleLineLayout::FlowContents::segmentForRun):
(WebCore::SimpleLineLayout::FlowContents::segmentIndexForPosition): Deleted.
(WebCore::SimpleLineLayout::FlowContents::segmentForPosition): Deleted.

  • rendering/SimpleLineLayoutResolver.cpp:

(WebCore::SimpleLineLayout::RunResolver::Run::text):

9:27 AM Changeset in webkit [181696] by mitz@apple.com
  • 2 edits in trunk/Tools

prepare-ChangeLog doesn't understand C string literals split across multiple lines with \
https://bugs.webkit.org/show_bug.cgi?id=142815

Reviewed by Darin Adler.

  • Scripts/prepare-ChangeLog:

(get_function_line_ranges_for_cpp): If the line ends with a backslash instead of a matching
quotation mark, use new variable $quotation_mark to remember what we are looking for, and
keep consuming the quoted text until the matching quotation mark is reached. Emit the
warning only if a line ends without a backslash before the matching quotation mark was found.

9:22 AM Changeset in webkit [181695] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Skip trying to paint overlay scrollbars when there are none or they are clipped out
https://bugs.webkit.org/show_bug.cgi?id=142811
rdar://problem/20200725

Reviewed by Darin Adler.

In some content with lots of layers and overflow:scroll, we could spend 20% of
the time under paintOverflowControlsForFragments() setting up an (empty) clip,
and then trying to draw scrollbars that we don't have.

Avoid calling paintOverflowControlsForFragments() if there are no scrollbars,
and don't both setting up an empty clip just to paint nothing.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintOverflowControlsForFragments):

9:15 AM Changeset in webkit [181694] by peavo@outlook.com
  • 2 edits in trunk/Source/WebCore

[WinCairo] Unreviewed build fix after r181665.

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::setSize):

8:56 AM Changeset in webkit [181693] by commit-queue@webkit.org
  • 5 edits in trunk

Remove unused "preprocessor" parameter to sub-CodeGenerators
https://bugs.webkit.org/show_bug.cgi?id=142793

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-18
Reviewed by Darin Adler.

Source/WebCore:

  • bindings/scripts/CodeGenerator.pm:

(ProcessDocument):
(FileNamePrefix):

  • bindings/scripts/CodeGeneratorObjC.pm:

Tools:

  • WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:

(new):

7:48 AM Changeset in webkit [181692] by Alan Bujtas
  • 7 edits
    2 adds in trunk

Simple line layout: Split fragments on renderer boundary on the fly.
https://bugs.webkit.org/show_bug.cgi?id=142579

Reviewed by Antti Koivisto.

Fragment splitting at renderers' boundary at the end of the line is no longer needed.
This patch ensures that TextFragmentIterator::nextTextFragment() does not concatenate
fragments across renderer boundary.

Source/WebCore:

Test: fast/text/simple-line-with-multiple-renderers.html

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::revertRuns):
(WebCore::SimpleLineLayout::LineState::isEmpty):
(WebCore::SimpleLineLayout::LineState::appendFragmentAndCreateRunIfNeeded): Check if fragments need a new run and
whether neighboring fragments need collapsing.
(WebCore::SimpleLineLayout::LineState::revertUncommitted): Revert fragments over multiple renderers if they form
a fragment continuation.
(WebCore::SimpleLineLayout::LineState::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::forceFragmentToLine): Ensure that if a fragment has continuation across multiple renderers,
they all get added to the current line.
(WebCore::SimpleLineLayout::createLineRuns):
(WebCore::SimpleLineLayout::LineState::appendFragment): Deleted.
(WebCore::SimpleLineLayout::FragmentForwardIterator::FragmentForwardIterator): Deleted.
(WebCore::SimpleLineLayout::FragmentForwardIterator::operator++): Deleted.
(WebCore::SimpleLineLayout::FragmentForwardIterator::operator!=): Deleted.
(WebCore::SimpleLineLayout::FragmentForwardIterator::operator*): Deleted.
(WebCore::SimpleLineLayout::begin): Deleted.
(WebCore::SimpleLineLayout::end): Deleted.
(WebCore::SimpleLineLayout::preWrap): Deleted.
(WebCore::SimpleLineLayout::removeTrailingWhitespace): Deleted.
(WebCore::SimpleLineLayout::updateLineConstrains): Deleted.
(WebCore::SimpleLineLayout::splitRunsAtRendererBoundary): Deleted.
(WebCore::SimpleLineLayout::createTextRuns): Deleted.
(WebCore::SimpleLineLayout::create): Deleted.
(WebCore::SimpleLineLayout::Layout::create): Deleted.

  • rendering/SimpleLineLayoutFlowContents.h:

(WebCore::SimpleLineLayout::FlowContents::Iterator::operator+):
(WebCore::SimpleLineLayout::FlowContents::Iterator::operator*):
(WebCore::SimpleLineLayout::FlowContents::Iterator::operator->):

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintFlow): Unrelated fix on non-collapsed tab position.

  • rendering/SimpleLineLayoutTextFragmentIterator.cpp:

(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragmentIterator):
(WebCore::SimpleLineLayout::TextFragmentIterator::nextTextFragment):
(WebCore::SimpleLineLayout::TextFragmentIterator::revertToFragment):
(WebCore::SimpleLineLayout::TextFragmentIterator::textWidth):
(WebCore::SimpleLineLayout::TextFragmentIterator::skipToNextPosition):

  • rendering/SimpleLineLayoutTextFragmentIterator.h:

(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::TextFragment):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::overlapsToNextRenderer):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::isCollapsible):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::operator==):
(WebCore::SimpleLineLayout::TextFragmentIterator::isLineBreak):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::split): Deleted.

LayoutTests:

  • fast/text/simple-line-with-multiple-renderers-expected.html: Added.
  • fast/text/simple-line-with-multiple-renderers.html: Added.
6:47 AM Changeset in webkit [181691] by Manuel Rego Casasnovas
  • 11 edits
    4 adds in trunk

Flex and grid items should be painted as inline-blocks
https://bugs.webkit.org/show_bug.cgi?id=142266

Reviewed by Darin Adler.

Source/WebCore:

Based on Blink r157004 by <cbiesinger@chromium.org>.
https://src.chromium.org/viewvc/blink?revision=157004&view=revision

Both flexbox and grid specs define that the painting order of flex/grid
items is the same as inline blocks. See
http://dev.w3.org/csswg/css-flexbox/#painting and
http://dev.w3.org/csswg/css-grid/#z-order.

Extracted inline blocks painting code from InlineElementBox and moved to
a helper method that will be reused for flexboxes and grids.

Tests: css3/flexbox/flex-item-text-background-not-interleaved.html

fast/css-grid-layout/grid-item-text-background-not-interleaved.html

  • rendering/InlineElementBox.cpp:

(WebCore::InlineElementBox::paint): Move code to
RenderElement::paintAsInlineBlock().

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintChild): Add new argument to paint children
as inline blocks.

  • rendering/RenderBlock.h: Define PaintType enmu and modify paintChild()

signature to add the new argument.

  • rendering/RenderElement.cpp:

(WebCore::paintPhase): Paint element in a phase.
(WebCore::RenderElement::paintAsInlineBlock): Code extracted from
InlineElementBox::paint().

  • rendering/RenderElement.h: Add new method signature.
  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::paintChildren): Call
RenderBlock::paintChild() with the new argument.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::paintChildren): Ditto.

LayoutTests:

  • css3/flexbox/flex-item-text-background-not-interleaved-expected.html: Added.
  • css3/flexbox/flex-item-text-background-not-interleaved.html: Added.
  • fast/css-grid-layout/float-not-protruding-into-next-grid-item-expected.html:

Add some vertical space to avoid issues with backgrounds.

  • fast/css-grid-layout/float-not-protruding-into-next-grid-item.html:

Ditto.

  • fast/css-grid-layout/grid-item-text-background-not-interleaved-expected.html: Added.
  • fast/css-grid-layout/grid-item-text-background-not-interleaved.html: Added.
6:21 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
3:47 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
2:32 AM Changeset in webkit [181690] by Csaba Osztrogonác
  • 3 edits
    1 add
    1 delete in trunk/Tools

[EFL] Bump gstreamer version to 1.4.4
https://bugs.webkit.org/show_bug.cgi?id=142782

Reviewed by Philippe Normand.

  • efl/jhbuild.modules:
  • efl/patches/gst-libav.patch:
  • efl/patches/gst-plugins-bad-remove-gnustep-support.patch: Added.
  • efl/patches/gst-prevent-neon-check-in-configure-from-passing-under-aarch64.patch: Removed.
2:31 AM March 2015 Meeting edited by jfernandez@igalia.com
(diff)
1:51 AM March 2015 Meeting edited by adam.bergkvist@ericsson.com
(diff)
1:48 AM webrtc_in_webkit_2015.pdf attached to March 2015 Meeting by adam.bergkvist@ericsson.com
Slides from the WebRTC session at the 2015 WebKit contributors meeting
12:27 AM Changeset in webkit [181689] by Chris Dumez
  • 7 edits in trunk/Source

[WK2] Log total number of network cache queries using diagnostic logging
https://bugs.webkit.org/show_bug.cgi?id=142803
<rdar://problem/19632130>

Reviewed by Antti Koivisto.

Source/WebCore:

Add diagnostic logging key needed for network efficacy logging.

  • page/DiagnosticLoggingKeys.cpp:

(WebCore::DiagnosticLoggingKeys::retrievalRequestKey):

  • page/DiagnosticLoggingKeys.h:

Source/WebKit2:

Log total number of network cache queries using diagnostic logging.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::Cache::retrieve):

  • NetworkProcess/cache/NetworkCacheStatistics.h:
  • NetworkProcess/cache/NetworkCacheStatisticsCocoa.mm:

(WebKit::NetworkCache::Statistics::recordCacheRetrievalRequest):

12:26 AM Changeset in webkit [181688] by Chris Dumez
  • 5 edits in trunk/Source/WebKit2

[WK2] We should not even try the network cache for non-HTTP protocol requests
https://bugs.webkit.org/show_bug.cgi?id=142802
<rdar://problem/19632130>

Reviewed by Antti Koivisto.

We should not even try the network cache for non-HTTP protocol requests
and the network cache cannot handle those.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::start):

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::canRetrieve):
(WebKit::NetworkCache::Cache::retrieve):

  • NetworkProcess/cache/NetworkCache.h:
  • NetworkProcess/cache/NetworkCacheStatisticsCocoa.mm:

(WebKit::NetworkCache::retrieveDecisionToDiagnosticKey):

12:19 AM Changeset in webkit [181687] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

Fix the build after r181660

  • page/EventHandler.cpp:

(WebCore::EventHandler::setImmediateActionStage):

  • page/EventHandler.h:

(WebCore::EventHandler::setImmediateActionStage):
Un-inline setImmediateActionStage, because it is exported to WebCore, and
exporting inline thing causes random weak symbol errors on some platforms.

12:05 AM Changeset in webkit [181686] by Conrad Shultz
  • 6 edits in trunk/Source

Ignore some deprecation warnings
https://bugs.webkit.org/show_bug.cgi?id=142813

Reviewed by Mark Rowe.

Fixing the deprecations is tracked by: <rdar://problem/20201450>

Source/WebCore:

  • editing/cocoa/HTMLConverter.mm:

(HTMLConverter::_processElement):

Source/WebKit/mac:

  • WebCoreSupport/PopupMenuMac.mm:

(PopupMenuMac::populate):

Source/WebKit2:

  • UIProcess/mac/WebPopupMenuProxyMac.mm:

(WebKit::WebPopupMenuProxyMac::populate):

Mar 17, 2015:

11:09 PM Changeset in webkit [181685] by commit-queue@webkit.org
  • 9 edits
    2 deletes in trunk

Unreviewed, rolling out r181667, r181682, and r181683.
https://bugs.webkit.org/show_bug.cgi?id=142812

Broke multiple tests with ASan, plus dependent commits
(Requested by ap on #webkit).

Reverted changesets:

"Simple line layout: Split fragments on renderer boundary on
the fly."
https://bugs.webkit.org/show_bug.cgi?id=142579
http://trac.webkit.org/changeset/181667

"Simple line layout: Change FlowContents::segmentForPosition()
to segmentForRun()."
https://bugs.webkit.org/show_bug.cgi?id=142785
http://trac.webkit.org/changeset/181682

"Simple line layout: Use Vector<>::const_iterator instead of
custom FlowContents::Iterator."
https://bugs.webkit.org/show_bug.cgi?id=142809
http://trac.webkit.org/changeset/181683

10:38 PM Changeset in webkit [181684] by ap@apple.com
  • 3 edits in trunk/LayoutTests

fast/images/animated-png.html is crashing / failing on Yosemite
https://bugs.webkit.org/show_bug.cgi?id=142726

Further tweaked test expectations.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
9:00 PM Changeset in webkit [181683] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Simple line layout: Use Vector<>::const_iterator instead of custom FlowContents::Iterator.
https://bugs.webkit.org/show_bug.cgi?id=142809

Reviewed by Antti Koivisto.

FlowContents::Iterator simply iterates on a vector<>. No need to custom implement it.

No change in functionality.

  • rendering/SimpleLineLayoutFlowContents.h:

(WebCore::SimpleLineLayout::FlowContents::begin):
(WebCore::SimpleLineLayout::FlowContents::end):
(WebCore::SimpleLineLayout::FlowContents::Iterator::Iterator): Deleted.
(WebCore::SimpleLineLayout::FlowContents::Iterator::operator++): Deleted.
(WebCore::SimpleLineLayout::FlowContents::Iterator::operator--): Deleted.
(WebCore::SimpleLineLayout::FlowContents::Iterator::operator==): Deleted.
(WebCore::SimpleLineLayout::FlowContents::Iterator::operator!=): Deleted.
(WebCore::SimpleLineLayout::FlowContents::Iterator::operator*): Deleted.
(WebCore::SimpleLineLayout::FlowContents::Iterator::operator->): Deleted.

  • rendering/SimpleLineLayoutTextFragmentIterator.cpp:

(WebCore::SimpleLineLayout::TextFragmentIterator::skipToNextPosition):

8:40 PM Changeset in webkit [181682] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

Simple line layout: Change FlowContents::segmentForPosition() to segmentForRun().
https://bugs.webkit.org/show_bug.cgi?id=142785

Reviewed by Antti Koivisto.

This is in transition to support <br>. A particular position could point to multiple
segments when <br> is directly followed by text.

No change in functionality.

  • rendering/SimpleLineLayoutFlowContents.cpp:

(WebCore::SimpleLineLayout::FlowContents::segmentIndexForRunSlow):
(WebCore::SimpleLineLayout::FlowContents::segmentIndexForPositionSlow): Deleted.

  • rendering/SimpleLineLayoutFlowContents.h:

(WebCore::SimpleLineLayout::FlowContents::segmentForRun):
(WebCore::SimpleLineLayout::FlowContents::segmentIndexForPosition): Deleted.
(WebCore::SimpleLineLayout::FlowContents::segmentForPosition): Deleted.

  • rendering/SimpleLineLayoutResolver.cpp:

(WebCore::SimpleLineLayout::RunResolver::Run::text):

7:42 PM Changeset in webkit [181681] by ryuan.choi@navercorp.com
  • 12 edits
    1 copy
    3 adds in trunk

[EFL] Expose JavaScript binding interface through ewk_extension
https://bugs.webkit.org/show_bug.cgi?id=142033

Reviewed by Gyuyoung Kim.

.:

  • Source/cmake/OptionsEfl.cmake: Added HEADER_INSTALL_DIR variable.

Source/JavaScriptCore:

  • PlatformEfl.cmake: Install Javascript APIs.

Source/WebKit2:

  • PlatformEfl.cmake:
  • UIProcess/API/efl/tests/extensions/extension_sample.cpp: Registered test object for new test case.
  • UIProcess/API/efl/tests/test_ewk2_javascript_binding.cpp: Added simple binding API test case.

(EWK2ContextTestWithExtension::messageReceivedCallback):
(EWK2ContextTestWithExtension::EWK2ContextTestWithExtension):
(TEST_F):

  • WebProcess/InjectedBundle/API/efl/EWebKit_Extension.h:
  • WebProcess/InjectedBundle/API/efl/ewk_extension.cpp:

(EwkExtension::didCreatePage):
(EwkExtension::willDestroyPage):

  • WebProcess/InjectedBundle/API/efl/ewk_extension.h:
  • WebProcess/InjectedBundle/API/efl/ewk_extension_private.h:
  • WebProcess/InjectedBundle/API/efl/ewk_page.cpp: Added.

(toEwkPage):
(EwkPage::EwkPage):
(EwkPage::append):
(EwkPage::remove):
(EwkPage::didFinishDocumentLoadForFrame):
(ewk_page_js_global_context_get):
(ewk_page_client_register):
(ewk_page_client_unregister):

  • WebProcess/InjectedBundle/API/efl/ewk_page.h: Added.
  • WebProcess/InjectedBundle/API/efl/ewk_page_private.h: Added.

(EwkPage::page):

  • efl/ewebkit2-extension.pc.in:
6:50 PM Changeset in webkit [181680] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed gardening.

Tracked down the tests that were leaving the page cache in a bad state.
By skipping those tests, we can run all the others. These bugs are being
investigated in Bug 140871.

  • platform/win/TestExpectations:
6:34 PM Changeset in webkit [181679] by timothy_horton@apple.com
  • 4 edits in trunk/Source

Cannot invoke action menus anymore
https://bugs.webkit.org/show_bug.cgi?id=142797
<rdar://problem/20032670>

  • UIProcess/API/mac/WKView.mm:

Need a respondsToSelector check.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView otherMouseDown:]):
Need a respondsToSelector check.

6:32 PM Changeset in webkit [181678] by bshafiei@apple.com
  • 5 edits in branches/safari-600.5-branch/Source

Versioning.

6:21 PM Changeset in webkit [181677] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Fix the iOS build.

  • WebKitTestRunner/InjectedBundle/ios/InjectedBundleIOS.mm:

(WTR::InjectedBundle::platformInitialize):

6:21 PM Changeset in webkit [181676] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.5.15

New tag.

6:13 PM Changeset in webkit [181675] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Debugger Sidebar Icons Misaligned
https://bugs.webkit.org/show_bug.cgi?id=142654

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-17
Reviewed by Timothy Hatcher.

The debugger sidebar content was accidentally 1px too small. The
TreeOutline being inside of a .detail-section was getting a smaller
font-size. We should just have the normal font-size for the
debugger navigation sidebar. This matches the Resources sidebar
in the TreeOutline, and icons line up better.

  • UserInterface/Views/DebuggerSidebarPanel.css:

(.sidebar > .panel.navigation.debugger .details-section):

5:41 PM Changeset in webkit [181674] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Fix the iOS build

  • WebView/WebHTMLView.mm:
5:07 PM Changeset in webkit [181673] by ggaren@apple.com
  • 17 edits in trunk

Function bodies should always include braces
https://bugs.webkit.org/show_bug.cgi?id=142795

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Having a mode for excluding the opening and closing braces from a function
body was unnecessary and confusing.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock): Adopt the new one true linking function.

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::generateFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::link):
(JSC::UnlinkedFunctionExecutable::codeBlockFor): No need to pass through
a boolean: there is only one kind of function now.

(JSC::UnlinkedFunctionExecutable::linkInsideExecutable): Deleted.
(JSC::UnlinkedFunctionExecutable::linkGlobalCode): Deleted. Let's only
have one way to do things. This removes the old mode that would pretend
that a function always started at column 1. That pretense was not true:
an attribute event listener does not necessarily start at column 1.

  • bytecode/UnlinkedCodeBlock.h:
  • generate-js-builtins: Adopt the new one true linking function.
  • parser/Parser.h:

(JSC::Parser<LexerType>::parse):
(JSC::parse): needsReparsingAdjustment is always true now, so I removed it.

  • runtime/Executable.cpp:

(JSC::ScriptExecutable::newCodeBlockFor):
(JSC::FunctionExecutable::FunctionExecutable):
(JSC::ProgramExecutable::initializeGlobalProperties):
(JSC::FunctionExecutable::fromGlobalCode):

  • runtime/Executable.h:

(JSC::FunctionExecutable::create):
(JSC::FunctionExecutable::bodyIncludesBraces): Deleted. Removed unused stuff.

  • runtime/FunctionConstructor.cpp:

(JSC::constructFunctionSkippingEvalEnabledCheck): Always provide a
leading space because that's what this function's comment says is required
for web compatibility. We used to fake this up after the fact when
stringifying, based on the bodyIncludesBraces flag, but that flag is gone now.

  • runtime/FunctionPrototype.cpp:

(JSC::insertSemicolonIfNeeded):
(JSC::functionProtoFuncToString): No need to add braces and/or a space
after the fact -- we always have them now.

LayoutTests:

Updated these test results to reflect the fact that JavaScriptCore now
honors the source code text positions provided by WebCore, even for
attribute event handlers.

Unfortunately, the column numbers we used to report were wrong, and they
are still wrong now. The old column numbers were wrong because we would
always pretend that they started on column 1. The new column numbers
are wrong because WebCore records the column number after it finishes
parsing the element, rather than while it is parsing the event listener
attribute.

  • fast/events/window-onerror2-expected.txt:
  • fast/profiler/dead-time-expected.txt:
  • fast/profiler/inline-event-handler-expected.txt:
  • fast/profiler/stop-profiling-after-setTimeout-expected.txt:
  • js/dom/script-start-end-locations-expected.txt:
5:03 PM Changeset in webkit [181672] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Removal of multiline completion hint broken in Details sidebar
https://bugs.webkit.org/show_bug.cgi?id=142796

Patch by Tobias Reiss <tobi+webkit@basecode.de> on 2015-03-17
Reviewed by Joseph Pecoraro.

Prioritize CodeMirrorCompletionController over CSSStyleDeclarationTextEditor.
Both classes control the current CodeMirror instance of the Details Sidebar.
This change prevents possible race conditions during complete or delete-complete phases,
especially during operations on multiple styles in one line.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor):

4:42 PM Changeset in webkit [181671] by Chris Dumez
  • 7 edits
    1 copy
    1 move
    1 add
    1 delete in trunk/Source/WebCore

[Mac][iOS] setSharedTimerFireInterval() / stopSharedTimer() are expensive
https://bugs.webkit.org/show_bug.cgi?id=142752
<rdar://problem/20176731>

Reviewed by Antti Koivisto.

setSharedTimerFireInterval() / stopSharedTimer() are expensive on Mac
and iOS on pages using a lot of timers.

For example, on bing.com / iOS, ~15.4% of the CPU time is spent in
setSharedTimerFireInterval() and ~14.7% of the CPU time is spent in
stopSharedTimer(). The expensive calls are CFRunLoopAddTimer (11.4%),
CFRunLoopTimerInvalidate (14.1%), CFRunLoopTimerCreate (3.3%).

The issue is that we keep creating, adding to run loop modes, and then
destroying the sharedTimer for each firing event. This is very
expensive. In such case, the CFRunLoopTimerRef documentation advises to
"""
... create a repeating timer with an initial firing time in the distant
future (or the initial firing time) and a very large repeat interval—on
the order of decades or more—and add it to all the necessary run loop
modes. Then, when you know when the timer should fire next, you reset
the firing time with CFRunLoopTimerSetNextFireDate, perhaps from the
timer’s own callback function. This technique effectively produces a
reusable, asynchronous timer.
""" [1].

Doing so greatly decreases CPU time spend in:

  • setSharedTimerFireInterval(): 15.4% -> 4.6%
  • stopSharedTimer(): 14.6% -> 8.6%

Overall CPU time spent on bing.com in timerFired() goes down from
~61.2% to ~49.5%.

This patch also refactors the SharedTimer code to share as much as
possible between Mac and iOS.

This patch is based in part on the following patch:
http://trac.webkit.org/changeset/143210

[1] https://developer.apple.com/library/prerelease/ios/documentation/CoreFoundation/Reference/CFRunLoopTimerRef/index.html#//apple_ref/c/func/CFRunLoopTimerSetNextFireDate

  • WebCore.xcodeproj/project.pbxproj:
  • platform/SharedTimer.h:

(WebCore::SharedTimer::invalidate):
(WebCore::MainThreadSharedTimer::setFiredFunction): Deleted.
(WebCore::MainThreadSharedTimer::setFireInterval): Deleted.
(WebCore::MainThreadSharedTimer::stop): Deleted.

  • platform/ThreadTimers.cpp:

(WebCore::ThreadTimers::fireTimersInNestedEventLoop):

  • platform/cf/SharedTimerCF.mm: Added.

(WebCore::applicationDidBecomeActive):
(WebCore::setupPowerObserver):
(WebCore::setSharedTimerFiredFunction):
(WebCore::timerFired):
(WebCore::restartSharedTimer):
(WebCore::invalidateSharedTimer):
(WebCore::setSharedTimerFireInterval):
(WebCore::stopSharedTimer):

  • platform/efl/SharedTimerEfl.cpp:

(WebCore::invalidateSharedTimer):

  • platform/gtk/SharedTimerGtk.cpp:

(WebCore::invalidateSharedTimer):

  • platform/ios/SharedTimerIOS.mm: Removed.
  • platform/mac/PowerObserverMac.h: Copied from Source/WebCore/platform/efl/SharedTimerEfl.cpp.
  • platform/mac/PowerObserverMac.mm: Renamed from Source/WebCore/platform/mac/SharedTimerMac.mm.

(WebCore::PowerObserver::PowerObserver):
(WebCore::PowerObserver::~PowerObserver):
(WebCore::PowerObserver::didReceiveSystemPowerNotification):

  • platform/win/SharedTimerWin.cpp:

(WebCore::removeSharedTimer):

4:06 PM Changeset in webkit [181670] by mark.lam@apple.com
  • 3 edits
    2 adds in trunk/Source/JavaScriptCore

Refactor execution time limit tests out of testapi.c.
<https://webkit.org/b/142798>

Rubber stamped by Michael Saboff.

These tests were sometimes failing to time out on C loop builds. Let's
refactor them out of the big monolith that is testapi.c so that we can
reason more easily about them and make adjustments if needed.

  • API/tests/ExecutionTimeLimitTest.cpp: Added.

(currentCPUTime):
(currentCPUTimeAsJSFunctionCallback):
(shouldTerminateCallback):
(cancelTerminateCallback):
(extendTerminateCallback):
(testExecutionTimeLimit):

  • API/tests/ExecutionTimeLimitTest.h: Added.
  • API/tests/testapi.c:

(main):
(currentCPUTime): Deleted.
(currentCPUTime_callAsFunction): Deleted.
(shouldTerminateCallback): Deleted.
(cancelTerminateCallback): Deleted.
(extendTerminateCallback): Deleted.

3:57 PM Changeset in webkit [181669] by dino@apple.com
  • 3 edits in trunk/Tools

check-webkit-style should allow "bool a : 1"
https://bugs.webkit.org/show_bug.cgi?id=142794

Reviewed by Brent Fulgham.

We should allow member bitfields of the form:

bool m_var : 1;

It seems that Visual Studio 8 was the last compiler that
wasn't happy about not using unsigned here. We already have
about 500 cases (in WebCore) where people were ignoring this rule.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_language): Allow "bool".

  • Scripts/webkitpy/style/checkers/cpp_unittest.py: Add tests.

(CppStyleTest.test_enum_bitfields):
(CppStyleTest.test_plain_integral_bitfields):

3:48 PM Changeset in webkit [181668] by timothy_horton@apple.com
  • 6 edits in trunk/Source

Cannot invoke action menus anymore
https://bugs.webkit.org/show_bug.cgi?id=142797
<rdar://problem/20032670>

Reviewed by Beth Dakin.

  • UIProcess/API/mac/WKView.mm:

Don't process mouse events that would make an action menu; call super
and let AppKit take care of it. We have to duplicate the macro so that
we can avoid calling super for the internal-only methods.
Also, otherMouseMoved is simply not a thing, so remove it.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView otherMouseDown:]):
Don't override otherMouseDown: if the event would make an action menu.

  • platform/spi/mac/NSMenuSPI.h:

Add additional NSMenu SPI.

3:20 PM Changeset in webkit [181667] by Alan Bujtas
  • 7 edits
    2 adds in trunk

Simple line layout: Split fragments on renderer boundary on the fly.
https://bugs.webkit.org/show_bug.cgi?id=142579

Reviewed by Antti Koivisto.

Fragment splitting at renderers' boundary at the end of the line is no longer needed.
This patch ensures that TextFragmentIterator::nextTextFragment() does not concatenate
fragments across renderer boundary.

Source/WebCore:

Test: fast/text/simple-line-with-multiple-renderers.html

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::revertRuns):
(WebCore::SimpleLineLayout::LineState::isEmpty):
(WebCore::SimpleLineLayout::LineState::appendFragmentAndCreateRunIfNeeded): Check if fragments need a new run and
whether neighboring fragments need collapsing.
(WebCore::SimpleLineLayout::LineState::revertUncommitted): Revert fragments over multiple renderers if they form
a fragment continuation.
(WebCore::SimpleLineLayout::LineState::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::forceFragmentToLine): Ensure that if a fragment has continuation across multiple renderers,
they all get added to the current line.
(WebCore::SimpleLineLayout::createLineRuns):
(WebCore::SimpleLineLayout::LineState::appendFragment): Deleted.
(WebCore::SimpleLineLayout::FragmentForwardIterator::FragmentForwardIterator): Deleted.
(WebCore::SimpleLineLayout::FragmentForwardIterator::operator++): Deleted.
(WebCore::SimpleLineLayout::FragmentForwardIterator::operator!=): Deleted.
(WebCore::SimpleLineLayout::FragmentForwardIterator::operator*): Deleted.
(WebCore::SimpleLineLayout::begin): Deleted.
(WebCore::SimpleLineLayout::end): Deleted.
(WebCore::SimpleLineLayout::preWrap): Deleted.
(WebCore::SimpleLineLayout::removeTrailingWhitespace): Deleted.
(WebCore::SimpleLineLayout::updateLineConstrains): Deleted.
(WebCore::SimpleLineLayout::splitRunsAtRendererBoundary): Deleted.
(WebCore::SimpleLineLayout::createTextRuns): Deleted.
(WebCore::SimpleLineLayout::create): Deleted.
(WebCore::SimpleLineLayout::Layout::create): Deleted.

  • rendering/SimpleLineLayoutFlowContents.h:

(WebCore::SimpleLineLayout::FlowContents::Iterator::operator+):
(WebCore::SimpleLineLayout::FlowContents::Iterator::operator*):
(WebCore::SimpleLineLayout::FlowContents::Iterator::operator->):

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintFlow): Unrelated fix on non-collapsed tab position.

  • rendering/SimpleLineLayoutTextFragmentIterator.cpp:

(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragmentIterator):
(WebCore::SimpleLineLayout::TextFragmentIterator::nextTextFragment):
(WebCore::SimpleLineLayout::TextFragmentIterator::revertToFragment):
(WebCore::SimpleLineLayout::TextFragmentIterator::textWidth):
(WebCore::SimpleLineLayout::TextFragmentIterator::skipToNextPosition):

  • rendering/SimpleLineLayoutTextFragmentIterator.h:

(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::TextFragment):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::overlapsToNextRenderer):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::isCollapsible):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::operator==):
(WebCore::SimpleLineLayout::TextFragmentIterator::isLineBreak):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragment::split): Deleted.

LayoutTests:

  • fast/text/simple-line-with-multiple-renderers-expected.html: Added.
  • fast/text/simple-line-with-multiple-renderers.html: Added.
3:12 PM Changeset in webkit [181666] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

When tab hides, pause fullscreen and exit normally.
https://bugs.webkit.org/show_bug.cgi?id=142685

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-03-17
Reviewed by Eric Carlson.

Pause fullscreen playback when switching tabs. Exit fullscreen is not necessary and even prevents
the normal flow of teardown. This allows the normal exit fullscreen call to succeed and call its callback.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen):

2:29 PM Changeset in webkit [181665] by peavo@outlook.com
  • 2 edits in trunk/Source/WebCore

[WinCairo] Video position is incorrect when located inside a frame.
https://bugs.webkit.org/show_bug.cgi?id=142784

Reviewed by Brent Fulgham.

We need to take the enclosing frame's position into account, when finding the video position.

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::setSize):

2:15 PM Changeset in webkit [181664] by ggaren@apple.com
  • 16 edits in trunk/Source/JavaScriptCore

Built-in functions should know that they use strict mode
https://bugs.webkit.org/show_bug.cgi?id=142788

Reviewed by Mark Lam.

Even though all of our builtin functions use strict mode, the parser
thinks that they don't. This is because Executable::toStrictness treats
builtin-ness and strict-ness as mutually exclusive.

The fix is to disambiguate builtin-ness from strict-ness.

This bug is currently unobservable because of some other parser bugs. But
it causes lots of test failures once those other bugs are fixed.

  • API/JSScriptRef.cpp:

(parseScript):

  • builtins/BuiltinExecutables.cpp:

(JSC::BuiltinExecutables::createBuiltinExecutable): Adopt the new API
for a separate value to indicate builtin-ness vs strict-ness.

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::generateFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::codeBlockFor): Ditto.

  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedFunctionExecutable::toStrictness): Deleted. This function
was misleading since it pretended that no builtin function was ever
strict, which is the opposite of true.

  • parser/Lexer.cpp:

(JSC::Lexer<T>::Lexer):

  • parser/Lexer.h:
  • parser/Parser.cpp:

(JSC::Parser<LexerType>::Parser):

  • parser/Parser.h:

(JSC::parse): Adopt the new API.

  • parser/ParserModes.h: Added JSParserBuiltinMode, and tried to give

existing modes clearer names.

  • runtime/CodeCache.cpp:

(JSC::CodeCache::getGlobalCodeBlock):
(JSC::CodeCache::getProgramCodeBlock):
(JSC::CodeCache::getEvalCodeBlock):
(JSC::CodeCache::getFunctionExecutableFromGlobalCode): Adopt the new API.

  • runtime/CodeCache.h:

(JSC::SourceCodeKey::SourceCodeKey): Be sure to treat strict-ness and
bulitin-ness as separate pieces of the code cache key. We would not want
a user function to match a built-in function in the cache, even if they
agreed about strictness, since builtin functions have different lexing
rules.

  • runtime/Completion.cpp:

(JSC::checkSyntax):

  • runtime/Executable.cpp:

(JSC::FunctionExecutable::FunctionExecutable):
(JSC::ProgramExecutable::checkSyntax):

  • runtime/Executable.h:

(JSC::FunctionExecutable::create):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::createProgramCodeBlock):
(JSC::JSGlobalObject::createEvalCodeBlock): Adopt the new API.

1:47 PM Changeset in webkit [181663] by benjamin@webkit.org
  • 9 edits in trunk

Compile character ranges targeting the same state as range check in the bytecode
https://bugs.webkit.org/show_bug.cgi?id=142759

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-03-17
Reviewed by Alex Christensen.

Source/WebCore:

Previously, character ranges would be compiled as many individual character checks.
For example, a transition on "[a-z]" would do 26 character checks + jump, which leads
to enormous matchines.

With this patch, we find the ranges at lowering time and generate a single instruction
for them: "CheckValueRange". This helps making the machine denser when the input
use character sets.

The second part of this patch goes further in the case where the transitions out of
a state cover the entire alphabet. In that case, we create a fallback transition
on the fly and remove all the ranges made useless.
That case is common when ranges are used with inverse character set (e.g. [a]+a).

  • contentextensions/DFABytecode.h:

(WebCore::ContentExtensions::instructionSizeWithArguments):

  • contentextensions/DFABytecodeCompiler.cpp:

(WebCore::ContentExtensions::DFABytecodeCompiler::emitCheckValueRange):
(WebCore::ContentExtensions::DFABytecodeCompiler::compileNode):
(WebCore::ContentExtensions::DFABytecodeCompiler::compileNodeTransitions):
(WebCore::ContentExtensions::DFABytecodeCompiler::compileCheckForRange):

  • contentextensions/DFABytecodeCompiler.h:

Extend the compiler to detect ranges and lower them as CheckValueRange.

  • contentextensions/DFABytecodeInterpreter.cpp:

(WebCore::ContentExtensions::DFABytecodeInterpreter::interpret):
Range checks in the interpreter.

  • contentextensions/NFA.cpp:

(WebCore::ContentExtensions::NFA::setFinal):
This assertion does not make sense with the current codebase. Actions are "compressed",
it is possible to have two patterns with the same action.

  • contentextensions/NFAToDFA.cpp:

(WebCore::ContentExtensions::simplifyTransitions):
A very simple DFA optimization function: it only reduce the strength of ranges.

(WebCore::ContentExtensions::NFAToDFA::convert):

Tools:

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(TestWebKitAPI::TEST_F):

1:28 PM Changeset in webkit [181662] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r181423): Crash @ generatedcontent.org at com.apple.WebCore: WebCore::MediaPlayer::maximumDurationToCacheMediaTime const + 4
https://bugs.webkit.org/show_bug.cgi?id=142787

Reviewed by Eric Carlson.

Null check m_player before derefencing.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

1:22 PM Changeset in webkit [181661] by youenn.fablet@crf.canon.fr
  • 6 edits in trunk/Tools

W3C test parser and converter should use test importer host
https://bugs.webkit.org/show_bug.cgi?id=142729

Reviewed by Bem Jones-Bey.

When instantiated by TestImporter, TestParser and TestConverter are now using the same host.
This enables adding more TestImporter unit testing.
This patch also ensures that the git object instantiated by TestDownloader is using the
same Executive and FileSystem object as TestDownloader, again to enable TestImporter/TestDownloader unit testing.

  • Scripts/webkitpy/common/system/filesystem_mock.py:

(MockFileSystem.copytree): Fixes implementation as it creates a runtime error.

  • Scripts/webkitpy/w3c/test_downloader.py:

(TestDownloader.git): Set the executive of the git object to the one of TestDownloader. Refactoring in a new git function for future reuse.
(TestDownloader.checkout_test_repository): Making use of the new git function.

  • Scripts/webkitpy/w3c/test_importer.py:

(TestImporter.find_importable_tests): Adding host as parameter to the parser.
(TestImporter.import_tests): Adding host as parameter to the converter.

  • Scripts/webkitpy/w3c/test_importer_unittest.py:

(TestImporterTest.create_test_download_importer): Creating a test downloader mock, to be reused by other tests.
(TestImporterTest):
(TestImporterTest.test_harnesslinks_conversion): Adding test to check that test harness links are converted for CSS tests but not WPT tests.

  • Scripts/webkitpy/w3c/test_parser.py:

(TestParser.init): Adding host as parameter constructor.

1:20 PM Changeset in webkit [181660] by Beth Dakin
  • 12 edits in trunk/Source

DOM mouse events have weird timing for force clickable elements in Safari 8.0.3 on
10.10.2
https://bugs.webkit.org/show_bug.cgi?id=142700
-and corresponding-
rdar://problem/20165168

Reviewed by Tim Horton.

Source/WebCore:

This patch adds a new enum and member variable so that EventHandler can keep track
of the current immediate action state.

  • page/EventHandler.cpp:

(WebCore::EventHandler::EventHandler):

A new mouse press even is starting. We can re-set m_immediateActionStage to none
unless a Hit Test has already been performed.
(WebCore::EventHandler::handleMousePressEvent):

If an immediate action was completed, then send mouse to the DOM and return early.
This will prevent us from doing our own normal mouseup behaviors such as
navigating to a link that was clicked — we only want to do that if the click was
not used to perform an immediate action.
(WebCore::EventHandler::handleMouseReleaseEvent):

  • page/EventHandler.h:

(WebCore::EventHandler::setImmediateActionStage):

Source/WebKit2:

No need to tell the WKImmediateActionController about mouse down any more since we
are expecting it at the beginning of an immediate action interaction.

  • UIProcess/API/mac/WKView.mm:

(-[WKView mouseDown:]):

Set the delaysPrimaryMouseButtonEvents to NO for the
_immediateActionGestureRecognizer. This will cause AppKit to send up the mouse
events at the expected time.
(-[WKView initWithFrame:processPool:configuration:webView:]):

WebCore::EventHandler now needs to know if an immediate action cancelled or
completed. This plumbs that information down.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::immediateActionDidCancel):
(WebKit::WebPageProxy::immediateActionDidComplete):

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/WKImmediateActionController.h:
  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
(-[WKImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
(-[WKImmediateActionController wkView:willHandleMouseDown:]): Deleted.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Call EventHandler::setImmediateActionStage() with the appropriate stage.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performActionMenuHitTestAtLocation):
(WebKit::WebPage::immediateActionDidCancel):
(WebKit::WebPage::immediateActionDidComplete):

1:11 PM Changeset in webkit [181659] by dino@apple.com
  • 5 edits in trunk/LayoutTests

Implement Scroll Container Animation Triggers
https://bugs.webkit.org/show_bug.cgi?id=142732

Unreviewed attempt to make the test reproducible.

  • animations/trigger-container-scroll-simple.html: Add a step-start timing

function so the animation instantly moves to the end position.

12:58 PM Changeset in webkit [181658] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Implement Scroll Container Animation Triggers
https://bugs.webkit.org/show_bug.cgi?id=142732

Attempt to fix the build.

  • css/CSSComputedStyleDeclaration.cpp: Add an #if ENABLE guard.
12:39 PM Changeset in webkit [181657] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Use a better parameter name for Document.getElementsByClassName
https://bugs.webkit.org/show_bug.cgi?id=142771

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-17
Reviewed by Chris Dumez.

  • bindings/objc/PublicDOMInterfaces.h:
  • dom/Document.idl:
12:15 PM Changeset in webkit [181656] by timothy_horton@apple.com
  • 17 edits
    2 adds in trunk

Reproducible null deref under ScriptedAnimationController::createDisplayRefreshMonitor
https://bugs.webkit.org/show_bug.cgi?id=142776
<rdar://problem/18921338>

Reviewed by Alexey Proskuryakov.

Test: fast/animation/request-animation-frame-unparented-iframe-crash.html

In some cases (like the new test), we can end up trying to start
requestAnimationFrame on a Document that has no Page. Most paths null-checked
the Page and did the right thing, but one failed to do so. In addition,
the current fallback (when Page is null) can result in us constructing
the wrong kind of DisplayRefreshMonitor, which could lead to trouble
down the road when it's reused. Instead, just completely avoid making a
DisplayRefreshMonitor in the null-page case.

  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::createDisplayRefreshMonitor):
If the page is null, bail.

  • dom/ScriptedAnimationController.h:
  • platform/graphics/DisplayRefreshMonitor.cpp:

(WebCore::DisplayRefreshMonitor::create):
Use Optional<> to make it easy to distinguish between ChromeClient
being unreachable (because we don't have a Page for some reason) and
ChromeClient declaring that it doesn't want to override the type of
DisplayRefreshMonitor that is created.

If ChromeClient was unreachable for some reason, we'll get back an engaged
nullptr and return it (instead of creating a DisplayRefreshMonitor based
on the platform). This avoids creating the wrong type of DisplayRefreshMonitor
in the rare case where we can't reach the ChromeClient (e.g. a freshly unparented
IFrame).

If instead the client returns a disengaged Nullopt, we'll interpret that as
"construct the default type", which falls back on the platform #ifdefs to
decide what to make.

  • platform/graphics/DisplayRefreshMonitorManager.cpp:

(WebCore::DisplayRefreshMonitorManager::ensureMonitorForClient):
(WebCore::DisplayRefreshMonitorManager::scheduleAnimation):
Silently handle the case where we failed to make a DisplayRefreshMonitor.

  • platform/graphics/DisplayRefreshMonitor.h:
  • platform/graphics/DisplayRefreshMonitorClient.h:
  • platform/graphics/GraphicsLayerUpdater.cpp:

(WebCore::GraphicsLayerUpdater::createDisplayRefreshMonitor):

  • platform/graphics/GraphicsLayerUpdater.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::createDisplayRefreshMonitor):

  • rendering/RenderLayerCompositor.h:

Adjust to the new signature of createDisplayRefreshMonitor, and return
an engaged (nullptr) Optional if we can't get to ChromeClient for any reason.

  • page/ChromeClient.h:

Return Nullopt (indicating a lack of override) by default.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createDisplayRefreshMonitor):

  • WebProcess/WebCoreSupport/WebChromeClient.h:

Adjust to the new signature.

  • fast/animation/request-animation-frame-unparented-iframe-crash-expected.txt: Added.
  • fast/animation/request-animation-frame-unparented-iframe-crash.html: Added.

Add a test that ensures that calling requestAnimationFrame on a recently-unparented
frame doesn't crash.

12:01 PM Changeset in webkit [181655] by dino@apple.com
  • 11 edits
    2 adds in trunk

Implement Scroll Container Animation Triggers
https://bugs.webkit.org/show_bug.cgi?id=142732

Reviewed by Simon Fraser.

Source/WebCore:

Test: animations/trigger-container-scroll-simple.html

Basic implementation of container-scroll. It only checks
the page scroll position for trigger values (not the scrolling
container in an overflow).

  • css/CSSComputedStyleDeclaration.cpp: Add CSSPropertyWebkitAnimationTrigger

so that this property will appear in the inspector.

  • page/FrameView.cpp:

(WebCore::FrameView::sendScrollEvent): If the page has scrolled, let the animation
controller know about it.

  • page/animation/AnimationBase.cpp:

(WebCore::AnimationBase::updateStateMachine): Whitespace fix.
(WebCore::AnimationBase::fireAnimationEventsIfNeeded): If there is a trigger,
and the scroll position is past it, then tell the state machine that
we should start.
(WebCore::AnimationBase::timeToNextService): Use the scroll position as
an input to the update timer if a trigger is involved.

  • page/animation/AnimationController.cpp:

(WebCore::AnimationControllerPrivate::ensureCompositeAnimation): Add whitespace.
(WebCore::AnimationControllerPrivate::scrollWasUpdated): Call updateAnimations.
(WebCore::AnimationController::scrollWasUpdated): Call into AnimationControllerPrivate.

  • page/animation/AnimationController.h:
  • page/animation/AnimationControllerPrivate.h:
  • page/animation/CompositeAnimation.cpp: Keep a record of whether we have a scroll

triggered animation.
(WebCore::CompositeAnimation::CompositeAnimation):
(WebCore::CompositeAnimation::updateKeyframeAnimations):

  • page/animation/CompositeAnimation.h:

(WebCore::CompositeAnimation::hasScrollTriggeredAnimation):

  • platform/animation/Animation.cpp:

(WebCore::Animation::operator=):

LayoutTests:

Test that checks if an animation only triggers when the page
is scrolled.

  • animations/trigger-container-scroll-simple-expected.txt: Added.
  • animations/trigger-container-scroll-simple.html: Added.
11:58 AM Changeset in webkit [181654] by Simon Fraser
  • 7 edits in trunk/Source/WebCore

Move some code from LogicalSelectionOffsetCaches into RenderElement
https://bugs.webkit.org/show_bug.cgi?id=142758

Reviewed by Myles C. Maxfield.

LogicalSelectionOffsetCaches had some useful code regarding containing blocks etc
that should be used in more places, so move it into RenderElement.

No behavior change.

  • rendering/LogicalSelectionOffsetCaches.h:

(WebCore::LogicalSelectionOffsetCaches::LogicalSelectionOffsetCaches):
(WebCore::isContainingBlockCandidateForAbsolutelyPositionedObject): Deleted.
(WebCore::isNonRenderBlockInline): Deleted.
(WebCore::containingBlockForFixedPosition): Deleted.
(WebCore::containingBlockForAbsolutePosition): Deleted.
(WebCore::containingBlockForObjectInFlow): Deleted.

  • rendering/RenderBlock.cpp: No need to initialize static data.

(WebCore::RenderBlock::positionedObjects): nullptr

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::containingBlockForFixedPosition):
(WebCore::RenderElement::containingBlockForAbsolutePosition):
(WebCore::isNonRenderBlockInline):
(WebCore::RenderElement::containingBlockForObjectInFlow):

  • rendering/RenderElement.h:

(WebCore::RenderElement::canContainAbsolutelyPositionedObjects):

  • rendering/RenderLayer.cpp:

(WebCore::isContainerForPositioned):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containingBlock):

11:54 AM March 2015 Meeting edited by Antti Koivisto
(diff)
11:47 AM Disk cache.pdf attached to March 2015 Meeting by Antti Koivisto
Disk cache slides
11:02 AM Changeset in webkit [181653] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

[WinCairo] Unreviewed build fix after r181640.

  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:

Tell Windows how to find ShaderLang.h.

10:50 AM Changeset in webkit [181652] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Skip some IndexDB tests that don't apply on Windows.

  • platform/win/TestExpectations:
9:09 AM Changeset in webkit [181651] by Antti Koivisto
  • 5 edits
    2 adds in trunk

Disk cache should support Vary: Cookie
https://bugs.webkit.org/show_bug.cgi?id=142770
Source/WebKit2:

rdar://problem/19764945

Reviewed by Anders Carlsson.

Cookies are not part of the original request but are added by the networking layer when submitting the request.
Fetch them explicitly when resolving Vary: Cookie.

The implementation is not perfect as it fetches the cookie for the cache entry when saving a Vary:Cookie response,
not when making the request. In principle the cookie may have changed in-between. This should be enough to handle
reasonable cases though. Fetching cookies for every request might be too expensive for this rarely used feature.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::headerValueForVary):
(WebKit::NetworkCache::encodeStorageEntry):
(WebKit::NetworkCache::verifyVaryingRequestHeaders):

LayoutTests:

Reviewed by Anders Carlsson.

  • http/tests/cache/disk-cache-vary-cookie-expected.txt: Added.
  • http/tests/cache/disk-cache-vary-cookie.html: Added.
8:50 AM Changeset in webkit [181650] by fpizlo@apple.com
  • 22 edits in trunk/Source/JavaScriptCore

DFG IR shouldn't have a separate node for every kind of put hint that could be described using PromotedLocationDescriptor
https://bugs.webkit.org/show_bug.cgi?id=142769

Reviewed by Michael Saboff.

When we sink an object allocation, we need to have some way of tracking what stores would
have happened had the allocation not been sunk, so that we know how to rematerialize the
object on OSR exit. Prior to this change, trunk had two ways of describing such a "put
hint":

  • The PutStrutureHint and PutByOffsetHint node types.
  • The PromotedLocationDescriptor class, which has an enum with cases StructurePLoc and NamedPropertyPLoc.


We also had ways of converting from a Node with those two node types to a
PromotedLocationDescriptor, and we had a way of converting a PromotedLocationDescriptor to
a Node.

This change removes the redundancy. We now have just one node type that corresponds to a
put hint, and it's called PutHint. It has a PromotedLocationDescriptor as metadata.
Converting between a PutHint node and a PromotedLocationDescriptor and vice-versa is now
trivial.

This means that if we add new kinds of sunken objects, we'll have less pro-forma to write
for the put hints to those objects. This is mainly to simplify the implementation of
arguments elimination in bug 141174.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::mergeRelevantToOSR):

  • dfg/DFGMayExit.cpp:

(JSC::DFG::mayExit):

  • dfg/DFGNode.cpp:

(JSC::DFG::Node::convertToPutHint):
(JSC::DFG::Node::convertToPutStructureHint):
(JSC::DFG::Node::convertToPutByOffsetHint):
(JSC::DFG::Node::promotedLocationDescriptor):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasIdentifier):
(JSC::DFG::Node::hasPromotedLocationDescriptor):
(JSC::DFG::Node::convertToPutByOffsetHint): Deleted.
(JSC::DFG::Node::convertToPutStructureHint): Deleted.

  • dfg/DFGNodeType.h:
  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp:

(JSC::DFG::LocalOSRAvailabilityCalculator::executeNode):

  • dfg/DFGObjectAllocationSinkingPhase.cpp:

(JSC::DFG::ObjectAllocationSinkingPhase::run):
(JSC::DFG::ObjectAllocationSinkingPhase::lowerNonReadingOperationsOnPhantomAllocations):
(JSC::DFG::ObjectAllocationSinkingPhase::handleNode):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGPromoteHeapAccess.h:

(JSC::DFG::promoteHeapAccess):

  • dfg/DFGPromotedHeapLocation.cpp:

(JSC::DFG::PromotedHeapLocation::createHint):

  • dfg/DFGPromotedHeapLocation.h:

(JSC::DFG::PromotedLocationDescriptor::imm1):
(JSC::DFG::PromotedLocationDescriptor::imm2):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validateCPS):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):

8:48 AM Changeset in webkit [181649] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

'pageLoaded' diagnostic logging is too verbose
https://bugs.webkit.org/show_bug.cgi?id=142727
<rdar://problem/18937048>

Reviewed by Eric Carlson.

Make 'pageLoaded' diagnostic logging less verbose:

  • Log once per main frame instead of once for subframe
  • Apply sampling
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::checkLoadCompleteForThisFrame):

6:37 AM Changeset in webkit [181648] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.7.92

WebKitGTK+ 2.7.92

6:08 AM Changeset in webkit [181647] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.8

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.7.92 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.7.92.
5:39 AM Changeset in webkit [181646] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore/platform/gtk/po

Merge r181645 - [l10n] Updated Hebrew translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=142781

Patch by Yosef Or Boczko <yoseforb@gnome.org> on 2015-03-17
Reviewed by Carlos Garcia Campos.

  • he.po:
5:38 AM Changeset in webkit [181645] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[l10n] Updated Hebrew translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=142781

Patch by Yosef Or Boczko <yoseforb@gnome.org> on 2015-03-17
Reviewed by Carlos Garcia Campos.

  • he.po:
5:23 AM Changeset in webkit [181644] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r181643 - [GTK] Wrong transfer annotations used in GObject DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=142780

Reviewed by Gustavo Noronha Silva.

We are using transfer none for all methods returning a GObject DOM
Object. That's not true. Only objects derived from Node are
automatically released by the DOM object cache and can be transfer
none. All other objects are added to the cache only to avoid
creating the same wrapper twice for the same core object, but
caller should release the returned reference.

  • bindings/gobject/WebKitDOMCustomUnstable.h:
  • bindings/scripts/CodeGeneratorGObject.pm:

(GetTransferTypeForReturnType):
(GenerateFunction):

5:22 AM Changeset in webkit [181643] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

[GTK] Wrong transfer annotations used in GObject DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=142780

Reviewed by Gustavo Noronha Silva.

We are using transfer none for all methods returning a GObject DOM
Object. That's not true. Only objects derived from Node are
automatically released by the DOM object cache and can be transfer
none. All other objects are added to the cache only to avoid
creating the same wrapper twice for the same core object, but
caller should release the returned reference.

  • bindings/gobject/WebKitDOMCustomUnstable.h:
  • bindings/scripts/CodeGeneratorGObject.pm:

(GetTransferTypeForReturnType):
(GenerateFunction):

5:20 AM WebKitGTK/2.8.x edited by Carlos Garcia Campos
(diff)
5:18 AM Changeset in webkit [181642] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore/platform/gtk/po

Merge r181639 - [l10n] Updated Polish translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=142306

Patch by Piotr Drąg <piotrdrag@gmail.com> on 2015-03-17
Reviewed by Carlos Garcia Campos.

  • pl.po:
5:16 AM Changeset in webkit [181641] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.8

Merge r181631 - [GTK] WebKitDOM objects leaking
https://bugs.webkit.org/show_bug.cgi?id=118788

Reviewed by Darin Adler and Sergio Villar Senin.

Source/WebCore:

Use a DOMwindowObserver class, derived from DOMWindowProperty to
be notified when the window object is detached from the frame to
clear the DOM objects associated to that frame in that case too.

  • bindings/gobject/DOMObjectCache.cpp:

Tools:

Update DOMObjectCache unit test to check that DOM objects are also
released when new contents are loaded in the web view, and the old
document is detached from the frame.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNode.cpp:

(testWebKitDOMObjectCache):

  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp:

(runTest):

5:14 AM Changeset in webkit [181640] by Carlos Garcia Campos
  • 7 edits
    2 adds in releases/WebKitGTK/webkit-2.8/Source

Merge r181629 - [CMake] Use a forwarding header for ANGLE's ShaderLang.h to avoid picking up ANGLE's EGL headers
https://bugs.webkit.org/show_bug.cgi?id=142530

Reviewed by Darin Adler.

Source/ThirdParty/ANGLE:

  • ANGLE/ShaderLang.h: Added. Includes include/GLSLANG/ShaderLang.h. Used in WebCore

so we can avoid using ANGLE's EGL headers and use the system-default headers instead.

Source/WebCore:

Include the ANGLE's ShaderLang.h through the new forwarding header. This allows
us to not list Source/ThirdParty/ANGLE/include in the list of inclusion directories
and thus avoid ANGLE's EGL and GLES2/GLES3 headers, defaulting to the system-provided
headers instead.

Source/ThirdParty/ANGLE/include/KHR is still used because ANGLE's khrplatform.h is
required by the ShaderLang.h header. Source/ThirdParty/ANGLE/src is not used for the
whole WebCore library anymore, only the ANGLESupport library.

  • CMakeLists.txt:
  • platform/graphics/ANGLEWebKitBridge.h:
  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:

Source/WebKit2:

  • CMakeLists.txt: Replace the Source/ThirdParty/ANGLE/include/GLSLANG entry

in the list of inclusion directories for WebKit2 with Source/ThirdParty/ANGLE,
possible due to the new forwarding header for ANGLE's ShaderLang.h.

4:57 AM Changeset in webkit [181639] by berto@igalia.com
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[l10n] Updated Polish translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=142306

Patch by Piotr Drąg <piotrdrag@gmail.com> on 2015-03-17
Reviewed by Carlos Garcia Campos.

  • pl.po:
4:48 AM Changeset in webkit [181638] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebKit2

Merge r181620 - REGRESSION(r180924): Unable to build WebKitGTK+ with threaded compositor

Unreviewed build fix.

  • WebProcess/WebPage/LayerTreeHost.h:

Remove duplicated declaration of setNativeSurfaceHandleForCompositing.

4:47 AM Changeset in webkit [181637] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.8

Merge r181600 - AX: Crash viewing http://www.last.fm/
https://bugs.webkit.org/show_bug.cgi?id=142309

Reviewed by Chris Fleizach.

Source/WebCore:

The crash occurs when a not-yet-rendered object emits a children-changed
signal. If an assistive technology is listening, AT-SPI2 will attempt to
create and cache the state set for the child being added and the creation
of the state set assumes a rendered object.

Test: platform/gtk/accessibility/no-notification-for-unrendered-iframe-children.html

  • accessibility/atk/AXObjectCacheAtk.cpp:

(WebCore::AXObjectCache::attachWrapper):

LayoutTests:

This test doesn't verify the absence of the crash because the crash seems
to require that an assistive technology is listening for events, and that
AT-SPI2 is caching the tree for that assistive technology -- something we
cannot count on being the case on our bots. (I suspect that the reason non-
assistive technology users of Epiphany were getting hit by this is because
Caribou was listening for events in the background, thus they were AT users
without realizing it. That Caribou issue is in theory now resolved.) What
this test does verify is the absence of children-changed:add accessibility
signals for non-rendered objects, which is the source of the crash given
the aforementioned environment.

  • platform/gtk/accessibility/no-notification-for-unrendered-iframe-children-expected.txt: Added.
  • platform/gtk/accessibility/no-notification-for-unrendered-iframe-children.html: Added.
4:46 AM Changeset in webkit [181636] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebKit2

Merge r181599 - ASSERT(m_plugin) on plugins/snapshotting/snapshot-plugin-not-quite-blocked-by-image.html
https://bugs.webkit.org/show_bug.cgi?id=142637

Reviewed by Dean Jackson.

  • WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::pluginSnapshotTimerFired):

m_plugin can be legitimately null.

4:44 AM Changeset in webkit [181635] by Carlos Garcia Campos
  • 8 edits in releases/WebKitGTK/webkit-2.8/Source

Merge r181570 - [ARM] Enable generating idiv instructions if it is supported
https://bugs.webkit.org/show_bug.cgi?id=142725

Reviewed by Michael Saboff.

Source/JavaScriptCore:

  • assembler/ARMAssembler.h: Added sdiv and udiv implementation for ARM Traditional instruction set.

(JSC::ARMAssembler::sdiv):
(JSC::ARMAssembler::udiv):

  • assembler/ARMv7Assembler.h: Use HAVE(ARM_IDIV_INSTRUCTIONS) instead of CPU(APPLE_ARMV7S).
  • assembler/AbstractMacroAssembler.h:

(JSC::isARMv7IDIVSupported):
(JSC::optimizeForARMv7IDIVSupported):
(JSC::isARMv7s): Renamed to isARMv7IDIVSupported().
(JSC::optimizeForARMv7s): Renamed to optimizeForARMv7IDIVSupported().

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileArithDiv):
(JSC::DFG::SpeculativeJIT::compileArithMod):

Source/WTF:

  • wtf/Platform.h: Set HAVE_ARM_IDIV_INSTRUCTIONS based on GCC macro too.
4:43 AM Changeset in webkit [181634] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r181565 - URLs visited during private browsing show up in WebpageIcons.db
rdar://problem/11254910 and https://bugs.webkit.org/show_bug.cgi?id=142733

Patch by Sam Weinig. Reviewed by Brady Eidson.

  • loader/icon/IconController.cpp:

(WebCore::IconController::startLoader): Bail early here if the page is using an ephemeral session.
(WebCore::IconController::continueLoadWithDecision): Instead of here.

4:38 AM Changeset in webkit [181633] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.8/Source/WebKit2

Merge r181555 - Unreviewed. Add new Notification classes to GTK+ API documentation.

Add WebKitNotification and WebKitNotificationPermissionRequest to
the documentation and fix some other typos causing warnings when
generating HTML documentation.

  • UIProcess/API/gtk/WebKitUserContent.cpp:
  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_class_init):

  • UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
4:38 AM Changeset in webkit [181632] by Carlos Garcia Campos
  • 7 edits
    26 adds in releases/WebKitGTK/webkit-2.8

Merge r181553 - Add APNG support
https://bugs.webkit.org/show_bug.cgi?id=17022

Patch by Max Stepin <maxstepin@gmail.com> on 2015-03-16
Reviewed by Carlos Garcia Campos.

Source/WebCore:

Test: fast/images/animated-png.html

  • platform/image-decoders/ImageDecoder.h:

(WebCore::ImageFrame::divide255):
(WebCore::ImageFrame::overRGBA):

  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::frameHeader):
(WebCore::readChunks):
(WebCore::PNGImageReader::PNGImageReader):
(WebCore::PNGImageDecoder::PNGImageDecoder):
(WebCore::PNGImageDecoder::frameBufferAtIndex):
(WebCore::PNGImageDecoder::headerAvailable):
(WebCore::PNGImageDecoder::rowAvailable):
(WebCore::PNGImageDecoder::pngComplete):
(WebCore::PNGImageDecoder::readChunks):
(WebCore::PNGImageDecoder::frameHeader):
(WebCore::PNGImageDecoder::init):
(WebCore::PNGImageDecoder::clearFrameBufferCache):
(WebCore::PNGImageDecoder::initFrameBuffer):
(WebCore::PNGImageDecoder::frameComplete):
(WebCore::PNGImageDecoder::processingStart):
(WebCore::PNGImageDecoder::processingFinish):
(WebCore::PNGImageDecoder::fallbackNotAnimated):

  • platform/image-decoders/png/PNGImageDecoder.h:

(WebCore::PNGImageDecoder::frameCount):
(WebCore::PNGImageDecoder::repetitionCount):
(WebCore::PNGImageDecoder::isComplete):

Source/WTF:

  • wtf/FeatureDefines.h:

LayoutTests:

  • fast/images/animated-png-expected.html: Added.
  • fast/images/animated-png.html: Added.
  • fast/images/resources/apng00-ref.png: Added.
  • fast/images/resources/apng00.png: Added.
  • fast/images/resources/apng01-ref.png: Added.
  • fast/images/resources/apng01.png: Added.
  • fast/images/resources/apng02-ref.png: Added.
  • fast/images/resources/apng02.png: Added.
  • fast/images/resources/apng04-ref.png: Added.
  • fast/images/resources/apng04.png: Added.
  • fast/images/resources/apng08-ref.png: Added.
  • fast/images/resources/apng08.png: Added.
  • fast/images/resources/apng10-ref.png: Added.
  • fast/images/resources/apng10.png: Added.
  • fast/images/resources/apng11-ref.png: Added.
  • fast/images/resources/apng11.png: Added.
  • fast/images/resources/apng12-ref.png: Added.
  • fast/images/resources/apng12.png: Added.
  • fast/images/resources/apng14-ref.png: Added.
  • fast/images/resources/apng14.png: Added.
  • fast/images/resources/apng18-ref.png: Added.
  • fast/images/resources/apng18.png: Added.
  • fast/images/resources/apng24-ref.png: Added.
  • fast/images/resources/apng24.png: Added.
  • fast/images/resources/apng26-ref.png: Added.
  • fast/images/resources/apng26.png: Added.
  • platform/mac/TestExpectations:
4:10 AM Changeset in webkit [181631] by Carlos Garcia Campos
  • 5 edits in trunk

[GTK] WebKitDOM objects leaking
https://bugs.webkit.org/show_bug.cgi?id=118788

Reviewed by Darin Adler and Sergio Villar Senin.

Source/WebCore:

Use a DOMwindowObserver class, derived from DOMWindowProperty to
be notified when the window object is detached from the frame to
clear the DOM objects associated to that frame in that case too.

  • bindings/gobject/DOMObjectCache.cpp:

Tools:

Update DOMObjectCache unit test to check that DOM objects are also
released when new contents are loaded in the web view, and the old
document is detached from the frame.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNode.cpp:

(testWebKitDOMObjectCache):

  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp:

(runTest):

3:04 AM Changeset in webkit [181630] by zandobersek@gmail.com
  • 5 edits in trunk/Source/WebKit2

[WK2] Use C++ lambdas in IPC::Connection
https://bugs.webkit.org/show_bug.cgi?id=138018

Reviewed by Anders Carlsson.

Replace uses of WTF::bind() in the IPC::Connection class with C++ lambdas.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::dispatchWorkQueueMessageReceiverMessage):
(IPC::Connection::invalidate):
(IPC::Connection::sendMessage):
(IPC::Connection::processIncomingMessage): Simplify the error messages so we
don't have to format strings on-the-fly, removing the issues of cross-thread
string copying altogether.
(IPC::Connection::dispatchDidReceiveInvalidMessage): The parameters are now
of the StringReference type.
(IPC::Connection::enqueueIncomingMessage):

  • Platform/IPC/Connection.h:
  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::Connection::receiveSourceEventHandler):

  • Platform/IPC/unix/ConnectionUnix.cpp:

(IPC::Connection::open):

2:45 AM Changeset in webkit [181629] by zandobersek@gmail.com
  • 7 edits
    2 adds in trunk/Source

[CMake] Use a forwarding header for ANGLE's ShaderLang.h to avoid picking up ANGLE's EGL headers
https://bugs.webkit.org/show_bug.cgi?id=142530

Reviewed by Darin Adler.

Source/ThirdParty/ANGLE:

  • ANGLE/ShaderLang.h: Added. Includes include/GLSLANG/ShaderLang.h. Used in WebCore

so we can avoid using ANGLE's EGL headers and use the system-default headers instead.

Source/WebCore:

Include the ANGLE's ShaderLang.h through the new forwarding header. This allows
us to not list Source/ThirdParty/ANGLE/include in the list of inclusion directories
and thus avoid ANGLE's EGL and GLES2/GLES3 headers, defaulting to the system-provided
headers instead.

Source/ThirdParty/ANGLE/include/KHR is still used because ANGLE's khrplatform.h is
required by the ShaderLang.h header. Source/ThirdParty/ANGLE/src is not used for the
whole WebCore library anymore, only the ANGLESupport library.

  • CMakeLists.txt:
  • platform/graphics/ANGLEWebKitBridge.h:
  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:

Source/WebKit2:

  • CMakeLists.txt: Replace the Source/ThirdParty/ANGLE/include/GLSLANG entry

in the list of inclusion directories for WebKit2 with Source/ThirdParty/ANGLE,
possible due to the new forwarding header for ANGLE's ShaderLang.h.

2:33 AM Changeset in webkit [181628] by msaboff@apple.com
  • 7 edits in trunk/Source

Windows X86-64 should use the fixed executable allocator
https://bugs.webkit.org/show_bug.cgi?id=142749

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Added jit/ExecutableAllocatorFixedVMPool.cpp to Windows build.

  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • jit/ExecutableAllocatorFixedVMPool.cpp: Don't include unistd.h on Windows.

Source/WTF:

Set ENABLE_EXECUTABLE_ALLOCATOR_FIXED for Windows.
Needed to export MetaAllocator::currentStatistics() for use in JavaScriptCore.

  • wtf/MetaAllocator.h:
  • wtf/Platform.h:
2:03 AM Changeset in webkit [181627] by youenn.fablet@crf.canon.fr
  • 2 edits in trunk/Tools

W3C test importer default import folder should be LayoutTests/imported/w3c
https://bugs.webkit.org/show_bug.cgi?id=142728

Reviewed by Bem Jones-Bey.

  • Scripts/webkitpy/w3c/test_importer.py:

(parse_args): Updating the default destination option value to 'imported/w3c'.

1:43 AM Changeset in webkit [181626] by commit-queue@webkit.org
  • 14 edits
    9 adds in trunk/Source/WebInspectorUI

Web Inspector: Show rendering frames (and FPS) in Layout and Rendering timeline
https://bugs.webkit.org/show_bug.cgi?id=142029

Patch by Matt Baker <Matt Baker> on 2015-03-17
Reviewed by Timothy Hatcher.

Add UI for showing runloop records and their child records as a frame histogram,
with the recording time on the x-axis and the frame duration on the y-axis. Each frame
is comprised of colored regions representing the time spent in various activities (script,
layout, etc).

Eventually the Frames timeline will replace the Layout & Rendering timeline. Until the views
for the new timeline are finalized the Layout & Rendering timeline will remain in place.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Main.html:

New string and files.

  • UserInterface/Controllers/TimelineManager.js:

(WebInspector.TimelineManager.prototype.eventRecorded):
(WebInspector.TimelineManager.prototype.pageDidLoad):
(WebInspector.TimelineManager.prototype._processNestedRecords):
(WebInspector.TimelineManager.prototype._processRecord):
(WebInspector.TimelineManager.prototype._processEvent):
(WebInspector.TimelineManager.prototype._loadNewRecording):
(WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Deleted.
Added support for new runloop record type and nested record handling.

  • UserInterface/Images/Frames.png: Added.
  • UserInterface/Images/Frames@2x.png: Added.
  • UserInterface/Images/FramesLarge.png: Added.
  • UserInterface/Images/FramesLarge@2x.png: Added.

New images for runloop timeline overview graph and runloop tree records.

  • UserInterface/Models/RunLoopTimelineRecord.js: Added.

(WebInspector.RunLoopTimelineRecord):
(WebInspector.RunLoopTimelineRecord.prototype.get children):
(WebInspector.RunLoopTimelineRecord.prototype.get durationRemainder):
(WebInspector.RunLoopTimelineRecord.prototype.durationForRecords.get var):
Extends TimelineRecord to add child records and subframe duration details.

  • UserInterface/Models/Timeline.js:

(WebInspector.Timeline.prototype.get displayName):
(WebInspector.Timeline.prototype.get iconClassName):
New UI strings and icons.

  • UserInterface/Models/TimelineRecord.js:
  • UserInterface/Views/ContentView.js:

(WebInspector.ContentView):

  • UserInterface/Views/LayoutTimelineView.js:

(WebInspector.LayoutTimelineView.prototype._layoutTimelineRecordAdded):

  • UserInterface/Views/TimelineRecordTreeElement.js:

(WebInspector.TimelineRecordTreeElement):
Added support for new runloop record type.

  • UserInterface/Views/RunLoopTimelineOverviewGraph.css: Added.

(.timeline-overview-graph.runloop > .divider):
(.timeline-overview-graph.runloop > .divider > span):
New styles for runloop timeline graph.

  • UserInterface/Views/RunLoopTimelineOverviewGraph.js: Added.

(WebInspector.RunLoopTimelineOverviewGraph):
(WebInspector.RunLoopTimelineOverviewGraph.prototype.updateLayout.createFrame):
(WebInspector.RunLoopTimelineOverviewGraph.prototype.get graphHeightSeconds.this):
(WebInspector.RunLoopTimelineOverviewGraph.prototype.get graphHeightSeconds):
(WebInspector.RunLoopTimelineOverviewGraph.prototype._updateDividers.createDividerAtPosition.get if):
New overview graph for displaying TimelineRecordFrames and horizontal frame budget dividers.

  • UserInterface/Views/TimelineIcons.css:

(.runloop-icon .icon):
(.runloop-icon.large .icon):
(.runloop-record .icon):

  • UserInterface/Views/TimelineSidebarPanel.js:

New runloop icon styles.

  • UserInterface/Views/TimelineOverviewGraph.js:

(WebInspector.TimelineOverviewGraph):
Updated factory to support creation of the new overview graph.

  • UserInterface/Views/TimelineRecordFrame.css: Added.

(.timeline-record-frame):
(.timeline-record-frame > .frame):
(.timeline-record-frame > .dropped):
(.timeline-record-frame > .frame > .duration):
(.timeline-record-frame > .frame > .duration:first-child):
(.timeline-record-frame > .frame > .duration:last-child):
(.timeline-record-frame > .frame > .duration.timeline-record-type-network):
(.timeline-record-frame > .frame > .duration.timeline-record-type-layout):
(.timeline-record-frame > .frame > .duration.timeline-record-type-script):
New styles for frame bars in the runloop timeline graph.

  • UserInterface/Views/TimelineRecordFrame.js: Added.

(WebInspector.TimelineRecordFrame):
(WebInspector.TimelineRecordFrame.createCombinedFrames):
(WebInspector.TimelineRecordFrame.prototype.get element):
(WebInspector.TimelineRecordFrame.prototype.get duration):
(WebInspector.TimelineRecordFrame.prototype.get records):
(WebInspector.TimelineRecordFrame.prototype.set records):
(WebInspector.TimelineRecordFrame.prototype._updateChildElements.createDurationElement):
New view representing a single frame within the runloop overview graph.

  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:

New files.

1:41 AM Changeset in webkit [181625] by commit-queue@webkit.org
  • 7 edits in trunk/Source

Web Inspector: Show rendering frames (and FPS) in Layout and Rendering timeline
https://bugs.webkit.org/show_bug.cgi?id=142029

Patch by Matt Baker <Matt Baker> on 2015-03-17
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/protocol/Timeline.json:

Added new event type for runloop timeline records.

Source/WebCore:

Add new functionality to the Inspector timelines backend to add runloop data to timeline recordings.

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::currentRunLoop):
(WebCore::InspectorTimelineAgent::internalStart):
(WebCore::InspectorTimelineAgent::internalStop):
(WebCore::toProtocol):
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
Install observers for the begining and end of the runloop when recording begins. All other
instrumented timeline events get added as children of the current runloop record, which is
sent to the frontend once the runloop completes.

  • inspector/InspectorTimelineAgent.h:
  • platform/cf/RunLoopObserver.cpp:

(WebCore::RunLoopObserver::schedule):
Wrapper changed to allow observing arbitrary runloop activities.

  • platform/cf/RunLoopObserver.h:
1:39 AM Changeset in webkit [181624] by Philippe Normand
  • 7 edits
    1 add in trunk

[GTK] basic OpenWebRTC build support
https://bugs.webkit.org/show_bug.cgi?id=142393

Reviewed by Carlos Garcia Campos.

.:

  • Source/cmake/FindOpenWebRTC.cmake: Added.
  • Source/cmake/OptionsGTK.cmake: Look for OpenWebRTC library if

mediastream build is enabled.

Source/WebCore:

  • PlatformGTK.cmake: Add OpenWebRTC CFLAGS and LDFLAGS.

Tools:

  • gtk/jhbuild.modules: Add OpenWebRTC and its dependencies. This

is not the upstream OpenWebRTC repository. This temporary fork
contains a few patches needed by WebKit for audio/video rendering.

12:58 AM Changeset in webkit [181623] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.23.1/Source

Versioning.

12:56 AM Changeset in webkit [181622] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.23.1

New tag.

12:55 AM Changeset in webkit [181621] by gyuyoung.kim@samsung.com
  • 7 edits in trunk

[CMake][EFL] Build test tools only for developer mode
https://bugs.webkit.org/show_bug.cgi?id=142761

Reviewed by Csaba Osztrogonác.

Do not build EFL MiniBrowser, WebKitTestRunner, and ImageDiff on production mode.

.:

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/OptionsGTK.cmake: Move ENABLE_MINIBROWSER to common place.
  • Source/cmake/WebKitFeatures.cmake: Define ENABLE_MINIBROWSER variable.
  • Source/cmakeconfig.h.cmake:

Tools:

  • CMakeLists.txt:
12:31 AM Changeset in webkit [181620] by yoon@igalia.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r180924): Unable to build WebKitGTK+ with threaded compositor

Unreviewed build fix.

  • WebProcess/WebPage/LayerTreeHost.h:

Remove duplicated declaration of setNativeSurfaceHandleForCompositing.

12:15 AM Changeset in webkit [181619] by commit-queue@webkit.org
  • 7 edits in trunk

Remove never used "useLayerOnTop" bindings generator argument
https://bugs.webkit.org/show_bug.cgi?id=142773

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-17
Reviewed by Darin Adler.

Source/WebCore:

  • bindings/scripts/CodeGenerator.pm:
  • bindings/scripts/CodeGeneratorJS.pm:
  • bindings/scripts/CodeGeneratorObjC.pm:
  • bindings/scripts/generate-bindings.pl:

Tools:

  • WebKitTestRunner/InjectedBundle/Bindings/CodeGeneratorTestRunner.pm:

(new):

Mar 16, 2015:

10:55 PM Changeset in webkit [181618] by rniwa@webkit.org
  • 42 edits in trunk

Enable ES6 classes by default
https://bugs.webkit.org/show_bug.cgi?id=142774

Reviewed by Gavin Barraclough.

.:

  • Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

Enabled the feature and unskipped tests.

  • Configurations/FeatureDefines.xcconfig:
  • tests/stress/class-syntax-no-loop-tdz.js:
  • tests/stress/class-syntax-no-tdz-in-catch.js:
  • tests/stress/class-syntax-no-tdz-in-conditional.js:
  • tests/stress/class-syntax-no-tdz-in-loop-no-inline-super.js:
  • tests/stress/class-syntax-no-tdz-in-loop.js:
  • tests/stress/class-syntax-no-tdz.js:
  • tests/stress/class-syntax-tdz-in-catch.js:
  • tests/stress/class-syntax-tdz-in-conditional.js:
  • tests/stress/class-syntax-tdz-in-loop.js:
  • tests/stress/class-syntax-tdz.js:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

Unskipped tests and also fixed tests so that they can run under run-javascript-tests.

  • TestExpectations: Unskipped tests.
  • js/class-syntax-call-expected.txt:
  • js/class-syntax-declaration-expected.txt:
  • js/class-syntax-default-constructor-expected.txt:
  • js/class-syntax-expression-expected.txt:
  • js/class-syntax-extends-expected.txt:
  • js/class-syntax-super-expected.txt:
  • js/dom/reserved-words-as-property-expected.txt: Rebaselined now that "class" is a non-reserved keyword.
  • js/script-tests/class-syntax-call.js: Don't refer to "window" object as it doesn't exit when ran inside jsc.
  • js/script-tests/class-syntax-declaration.js: Rebaselined after r181611, which added default constructor support.
  • js/script-tests/class-syntax-default-constructor.js: Don't refer to "window" object. Also replaced shouldNotBe

by an explicit !== check as the former is not supported when ran inside jsc.

  • js/script-tests/class-syntax-expression.js: Rebaselined after r181611.
  • js/script-tests/class-syntax-extends.js: Ditto. Also replaced evalAndLog by shouldNotThrow as the former is not

supported inside jsc.

  • js/script-tests/class-syntax-super.js: Don't refer to "window" object as it doesn't exist inside jsc.
  • sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.11-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.27-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.5-expected.txt:
10:30 PM Changeset in webkit [181617] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Update the debug overlays after layout
https://bugs.webkit.org/show_bug.cgi?id=142768

Reviewed by Zalan Bujtas.

The debug overlays need to be updated after layout, in case elements with wheel event handlers
moved around.

DebugPageOverlays::didLayout() is cheap if there are no overlays.

Call DebugPageOverlays::didLayout() for all frames, not just the main frame, since subframes can contribute
to the main frame's event handler region.

  • page/DebugPageOverlays.cpp:

(WebCore::DebugPageOverlays::regionChanged):

  • page/DebugPageOverlays.h:

(WebCore::DebugPageOverlays::didLayout):
(WebCore::DebugPageOverlays::didChangeEventHandlers):

  • page/FrameView.cpp:

(WebCore::FrameView::layout):

10:15 PM Changeset in webkit [181616] by jonlee@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed fix for crash after r181608.

  • WebCore.xcodeproj/project.pbxproj: Include it in the WebCore framework.
9:43 PM Changeset in webkit [181615] by Simon Fraser
  • 6 edits in trunk/Source/WebCore

Generalize the Document code that maintains a set of nodes with event handlers
https://bugs.webkit.org/show_bug.cgi?id=142762

Reviewed by Zalan Bujtas, Darin Adler.

Document.h defines a TouchEventTargetSet type, which will in future be used for
other event types too (wheel events), so rename it to EventTargetSet.

Take didRemoveEventTargetNode() outside the TOUCH_EVENTS #ifdef, and change it
to take a reference.

  • dom/Document.cpp:

(WebCore::Document::prepareForDestruction): References
(WebCore::Document::didAddTouchEventHandler): Ditto.
(WebCore::Document::didRemoveEventTargetNode): Ditto.

  • dom/Document.h:

(WebCore::Document::touchEventTargets): No-one calls this; just remove the non

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::~HTMLInputElement): Pass a ref.
(WebCore::HTMLInputElement::didMoveToNewDocument): Pass a ref.

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::removeAllEventListeners): Pass a ref.

9:41 PM Changeset in webkit [181614] by Joseph Pecoraro
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Add more DOM Native Function parameter strings
https://bugs.webkit.org/show_bug.cgi?id=142760

Reviewed by Timothy Hatcher.

  • UserInterface/Models/NativeFunctionParameters.js:

Add native parameter strings generated and hand modified
for DOM built-in classes.

  • UserInterface/Views/ObjectTreePropertyTreeElement.js:

For native constructors "FooConstructor" the description is just
the name of the Constructor not the function string.

9:41 PM Changeset in webkit [181613] by Joseph Pecoraro
  • 7 edits in trunk/Source

Web Inspector: Object Previews in Indexed DB tables
https://bugs.webkit.org/show_bug.cgi?id=140813

Reviewed by Timothy Hatcher.

Source/WebCore:

  • inspector/InspectorIndexedDBAgent.cpp:

Include previews with object store objects.

Source/WebInspectorUI:

  • UserInterface/Views/FormattedValue.js:

(WebInspector.FormattedValue.createObjectTreeOrFormattedValueForRemoteObject):
Add a boolean param for ObjectTree construction if it should force allowing object expansion.

  • UserInterface/Views/IndexedDatabaseEntryDataGridNode.js:

(WebInspector.IndexedDatabaseEntryDataGridNode.prototype.createCellContent):
Switch to creating an ObjectTree or FormattedValue.

  • UserInterface/Views/IndexedDatabaseObjectStoreContentView.css:

(.content-view.indexed-database-object-store > .data-grid tr.selected):
Change row selection color to match the console's lighter blue instead of dark blue.

(.content-view.indexed-database-object-store > .data-grid .object-tree > :matches(.title, .object-preview)::before):
Adjust object tree disclosure triangle placement for larger line heights.

(.content-view.indexed-database-object-store > .data-grid td .section .header): Deleted.
(.content-view.indexed-database-object-store > .data-grid td .section .header::before): Deleted.
(.content-view.indexed-database-object-store > .data-grid td .section .header .title): Deleted.
(.content-view.indexed-database-object-store > .data-grid:focus tr.selected td .section .header::before): Deleted.
(.content-view.indexed-database-object-store > .data-grid:focus tr.selected td .section.expanded .header::before): Deleted.
(.content-view.indexed-database-object-store > .data-grid:focus tr.selected td .properties-tree li.parent::before): Deleted.
(.content-view.indexed-database-object-store > .data-grid:focus tr.selected td .properties-tree li.parent.expanded::before): Deleted.
(.content-view.indexed-database-object-store > .data-grid:focus tr.selected td .properties-tree li *): Deleted.
Remove now unnecessary styles.

  • UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:

(.object-tree .object-tree-array-index > .icon):
Increase the specificity to override ".data-grid td .icon" styles.

9:41 PM Changeset in webkit [181612] by Joseph Pecoraro
  • 8 edits in trunk

Web Inspector: Better Console Previews for Arrays / Small Objects
https://bugs.webkit.org/show_bug.cgi?id=142322

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/InjectedScriptSource.js:

Create deep valuePreviews for simple previewable objects,
such as arrays with 5 values, or basic objects with
3 properties.

Source/WebInspectorUI:

  • UserInterface/Views/ObjectPreviewView.js:

If there is a sub-preview, show the sub-preview.

  • UserInterface/Views/ObjectTreeView.js:

(WebInspector.ObjectTreeView):
For an ObjectTree that is not a root (e.g. one inside of
an array/set/map property tree element) allow it to be
expanded even if the preview is lossless.

LayoutTests:

  • inspector/model/remote-object-expected.txt:
  • inspector/model/remote-object.html:

Include a test with cyclic values, and update
results which now have sub-previews.

9:02 PM Changeset in webkit [181611] by rniwa@webkit.org
  • 12 edits
    3 adds in trunk

Source/JavaScriptCore:
Add support for default constructor
https://bugs.webkit.org/show_bug.cgi?id=142388

Reviewed by Filip Pizlo.

Added the support for default constructors. They're generated by ClassExprNode::emitBytecode
via BuiltinExecutables::createDefaultConstructor.

UnlinkedFunctionExecutable now has the ability to override SourceCode provided by the owner
executable. We can't make store SourceCode in UnlinkedFunctionExecutable since CodeCache can use
the same UnlinkedFunctionExecutable to generate code blocks for multiple functions.

Parser now has the ability to treat any function expression as a constructor of the kind specified
by m_defaultConstructorKind member variable.

  • builtins/BuiltinExecutables.cpp:

(JSC::BuiltinExecutables::createDefaultConstructor): Added.
(JSC::BuiltinExecutables::createExecutableInternal): Generalized from createBuiltinExecutable.
Parse default constructors as normal non-builtin functions. Override SourceCode in the unlinked
function executable since the Miranda function's code is definitely not in the owner executable's
source code. That's the whole point.

  • builtins/BuiltinExecutables.h:

(UnlinkedFunctionExecutable::createBuiltinExecutable): Added. Wraps createExecutableInternal.

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
(JSC::UnlinkedFunctionExecutable::linkInsideExecutable):
(JSC::UnlinkedFunctionExecutable::linkGlobalCode):

  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedFunctionExecutable::create):
(JSC::UnlinkedFunctionExecutable::symbolTable): Deleted.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitNewDefaultConstructor): Added.

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::ClassExprNode::emitBytecode): Generate the default constructor if needed.

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::parseFunctionInfo): Override ownerClassKind and assume the function as
a constructor if we're parsing a default constructor.
(JSC::Parser<LexerType>::parseClass): Allow omission of the class constructor.

  • parser/Parser.h:

(JSC::parse):

LayoutTests:
Implement default constructor

Add support for default constructor
https://bugs.webkit.org/show_bug.cgi?id=142388

Reviewed by Filip Pizlo.

Added tests for default constructors.

  • TestExpectations: Skipped the test since ES6 class syntax isn't enabled by default.
  • js/class-syntax-default-constructor-expected.txt: Added.
  • js/class-syntax-default-constructor.html: Added.
  • js/script-tests/class-syntax-default-constructor.js: Added.
8:56 PM Changeset in webkit [181610] by Nikita Vasilyev
  • 10 edits
    2 moves in trunk/Source/WebInspectorUI

Web Inspector: Rename ConsoleMessage and ConsoleMessageImpl to LegacyConsoleMessage and LegacyConsoleMessageImpl respectively
https://bugs.webkit.org/show_bug.cgi?id=142712

As a first step of ConsoleMessage refactoring (https://bugs.webkit.org/show_bug.cgi?id=142599):

  • Rename WebInspector.ConsoleMessage class to WebInspector.LegacyConsoleMessage
  • Rename WebInspector.ConsoleMessageImpl class to WebInspector.LegacyConsoleMessageImpl
  • Rename ConsoleMessage.js file to LegacyConsoleMessage.js
  • Rename ConsoleMessageImpl file to LegacyConsoleMessageImpl.js

Reviewed by Joseph Pecoraro.

  • UserInterface/Controllers/JavaScriptLogViewController.js:

(WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessage):

  • UserInterface/Controllers/LogManager.js:

(WebInspector.LogManager.prototype.messageWasAdded):

  • UserInterface/Main.html:
  • UserInterface/Models/DefaultDashboard.js:

(WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType):

  • UserInterface/Views/ConsoleCommandResult.js:

(WebInspector.ConsoleCommandResult):
(WebInspector.ConsoleCommandResult.prototype.toMessageElement):

  • UserInterface/Views/ConsoleGroup.js:

(WebInspector.ConsoleGroup.prototype.render):

  • UserInterface/Views/LegacyConsoleMessage.js: Renamed from Source/WebInspectorUI/UserInterface/Views/ConsoleMessage.js.

(WebInspector.LegacyConsoleMessage):
(WebInspector.LegacyConsoleMessage.prototype.isErrorOrWarning):
(WebInspector.LegacyConsoleMessage.prototype.updateRepeatCount):
(WebInspector.LegacyConsoleMessage.prototype.clone):
(WebInspector.LegacyConsoleMessage.create):

  • UserInterface/Views/LegacyConsoleMessageImpl.js: Renamed from Source/WebInspectorUI/UserInterface/Views/ConsoleMessageImpl.js.

(WebInspector.LegacyConsoleMessageImpl):
(WebInspector.LegacyConsoleMessageImpl.prototype._formatMessage):
(WebInspector.LegacyConsoleMessageImpl.prototype._shouldDumpStackTrace):
(WebInspector.LegacyConsoleMessageImpl.prototype._shouldHideURL):
(WebInspector.LegacyConsoleMessageImpl.prototype._firstNonNativeCallFrame):
(WebInspector.LegacyConsoleMessageImpl.prototype.get message):
(WebInspector.LegacyConsoleMessageImpl.prototype.get formattedMessage):
(WebInspector.LegacyConsoleMessageImpl.prototype._linkifyLocation):
(WebInspector.LegacyConsoleMessageImpl.prototype._linkifyCallFrame):
(WebInspector.LegacyConsoleMessageImpl.prototype.isErrorOrWarning):
(WebInspector.LegacyConsoleMessageImpl.prototype._format):
(WebInspector.LegacyConsoleMessageImpl.prototype._isExpandable):
(WebInspector.LegacyConsoleMessageImpl.prototype._formatParameter):
(WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsValue):
(WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsObject):
(WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsString):
(WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsNode):
(WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsArray):
(WebInspector.LegacyConsoleMessageImpl.prototype._rootPropertyPathForObject):
(WebInspector.LegacyConsoleMessageImpl.prototype._userProvidedColumnNames):
(WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsTable):
(WebInspector.LegacyConsoleMessageImpl.prototype.):
(WebInspector.LegacyConsoleMessageImpl.prototype.stringFormatter):
(WebInspector.LegacyConsoleMessageImpl.prototype.floatFormatter):
(WebInspector.LegacyConsoleMessageImpl.prototype.integerFormatter):
(WebInspector.LegacyConsoleMessageImpl.prototype.styleFormatter):
(WebInspector.LegacyConsoleMessageImpl.prototype.isWhitelistedProperty):
(WebInspector.LegacyConsoleMessageImpl.prototype.append):
(WebInspector.LegacyConsoleMessageImpl.prototype._formatWithSubstitutionString):
(WebInspector.LegacyConsoleMessageImpl.prototype.decorateMessageElement):
(WebInspector.LegacyConsoleMessageImpl.prototype.toMessageElement):
(WebInspector.LegacyConsoleMessageImpl.prototype._populateStackTraceTreeElement):
(WebInspector.LegacyConsoleMessageImpl.prototype.updateRepeatCount):
(WebInspector.LegacyConsoleMessageImpl.prototype.toString):
(WebInspector.LegacyConsoleMessageImpl.prototype.get text):
(WebInspector.LegacyConsoleMessageImpl.prototype.isEqual):
(WebInspector.LegacyConsoleMessageImpl.prototype.get stackTrace):
(WebInspector.LegacyConsoleMessageImpl.prototype.clone):
(WebInspector.LegacyConsoleMessageImpl.prototype.get levelString):
(WebInspector.LegacyConsoleMessageImpl.prototype.get clipboardPrefixString):
(WebInspector.LegacyConsoleMessageImpl.prototype.toClipboardString):

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype.didAppendConsoleMessage):
(WebInspector.LogContentView.prototype._messageAdded):
(WebInspector.LogContentView.prototype._filterMessages):
(WebInspector.LogContentView.prototype._reappendProvisionalMessages):

  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
8:31 PM Changeset in webkit [181609] by commit-queue@webkit.org
  • 2 edits
    1 add in trunk/LayoutTests

[EFL] fast/css/outline-auto-empty-rects.html is failing
https://bugs.webkit.org/show_bug.cgi?id=142570

Unreviewed EFL Gardening. Rebaseline the fast/css/outline-auto-empty-rects.html.

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-03-16

  • platform/efl/TestExpectations:
  • platform/efl/fast/css/outline-auto-empty-rects-expected.txt: Added.
8:28 PM Changeset in webkit [181608] by jer.noble@apple.com
  • 7 edits
    4 adds in trunk

[Mac] Update missing image UI
https://bugs.webkit.org/show_bug.cgi?id=142592

Reviewed by Darin Adler.

Update the broken image glyphs with new art (including a 3x image).

Test: fast/hidpi/broken-image-icon-very-hidpi.html

(WebCore::CachedImage::brokenImage):

7:58 PM Changeset in webkit [181607] by Conrad Shultz
  • 2 edits in trunk/Source/WebKit2

Don't pass nil as a fireDate for NSTimer
https://bugs.webkit.org/show_bug.cgi?id=142765

Reviewed by Dan Bernstein.

While we're here, switch to a selector that conforms to documented NSTimer API.

  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController cancelOperation:]):
Set the timer's fireDate as the future date matching the former interval; update the selector.
(-[WKFullScreenWindowController _watchdogTimerFired:]):
Timer callback; wrap -exitFullScreen.

7:27 PM Changeset in webkit [181606] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed EFL gardening on 17th Mar.

Register new crash, flaky, and timeout tests to EFL TestExpectations files.
Additionally some test related to video, form, accessibility tests are marked as failure.

  • platform/efl/TestExpectations:
6:47 PM Changeset in webkit [181605] by bshafiei@apple.com
  • 5 edits in branches/safari-600.5-branch/Source

Merged r181587. rdar://problem/20181605

6:04 PM Changeset in webkit [181604] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source

Versioning.

6:02 PM Changeset in webkit [181603] by bshafiei@apple.com
  • 5 edits in branches/safari-600.5-branch/Source

Versioning.

5:33 PM Changeset in webkit [181602] by dino@apple.com
  • 16 edits
    9 adds in trunk

Parsing and Style Resolution of Container-based Animation Triggers
https://bugs.webkit.org/show_bug.cgi?id=142687
<rdar://problem/20170007>

Reviewed by Simon Fraser.

Source/WebCore:

Take 2 after the previous patch was rolled out.

This is the beginning of a prototype implementation of
CSS Animation Triggers, as described by
https://lists.w3.org/Archives/Public/www-style/2014Sep/0135.html

In this patch we parse and resolve the value of a new
CSS property "-webkit-animation-trigger". At the moment it
only accepts one function value "container-scroll", which
will trigger the animation at an absolute position within
an element's scrolling container. We expect the syntax to
change in the near future, as the spec is written.

Tests: animations/trigger-computed-style.html

animations/trigger-parsing.html

  • WebCore.xcodeproj/project.pbxproj: Add the new files.
  • css/CSSAnimationTriggerScrollValue.cpp: Added.

(WebCore::CSSAnimationTriggerScrollValue::customCSSText): Output text for computed style.
(WebCore::CSSAnimationTriggerScrollValue::equals): Compare two values.

  • css/CSSAnimationTriggerScrollValue.h: Added. This holds the CSS side of the

scroll trigger. This name may change in the future to better represent the
type of trigger, but it is good enough for now.
(WebCore::CSSAnimationTriggerScrollValue::create):
(WebCore::CSSAnimationTriggerScrollValue::startValue):
(WebCore::CSSAnimationTriggerScrollValue::endValue):
(WebCore::CSSAnimationTriggerScrollValue::CSSAnimationTriggerScrollValue):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::createAnimationTriggerValue): Maps an AnimationTrigger into a CSSValue.
(WebCore::getAnimationTriggerValue): Gets the current computed style.
(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseAnimationTrigger): Parse the "container-scroll" function
and record the value as a CSSAnimationTriggerScrollValue.
(WebCore::CSSParser::parseAnimationProperty): Handle the new property.

  • css/CSSParser.h:
  • css/CSSPropertyNames.in: Add "-webkit-animation-trigger".
  • css/CSSToStyleMap.cpp:

(WebCore::CSSToStyleMap::mapAnimationTrigger): Map a CSSValue into a trigger value on
an Animation object.

  • css/CSSToStyleMap.h:
  • css/CSSValue.cpp: Handle the new CSSValue type.

(WebCore::CSSValue::equals):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):

  • css/CSSValue.h:

(WebCore::CSSValue::isAnimationTriggerScrollValue):

  • platform/animation/Animation.cpp: Make sure to initialise m_trigger and m_triggerSet,

and use them in the operator==.

  • platform/animation/Animation.h: Add AnimationTrigger as a new field.

(WebCore::Animation::isTriggerSet):
(WebCore::Animation::isEmpty):

  • platform/animation/AnimationTrigger.h: Added. New base class and subclasses for

"auto" and the scrolling trigger.
(WebCore::AnimationTrigger::~AnimationTrigger):
(WebCore::AnimationTrigger::type):
(WebCore::AnimationTrigger::isAutoAnimationTrigger):
(WebCore::AnimationTrigger::isScrollAnimationTrigger):
(WebCore::AnimationTrigger::AnimationTrigger):
(WebCore::AutoAnimationTrigger::create):
(WebCore::AutoAnimationTrigger::~AutoAnimationTrigger):
(WebCore::AutoAnimationTrigger::AutoAnimationTrigger):
(WebCore::ScrollAnimationTrigger::create):
(WebCore::ScrollAnimationTrigger::~ScrollAnimationTrigger):
(WebCore::ScrollAnimationTrigger::startValue):
(WebCore::ScrollAnimationTrigger::setStartValue):
(WebCore::ScrollAnimationTrigger::endValue):
(WebCore::ScrollAnimationTrigger::setEndValue):
(WebCore::ScrollAnimationTrigger::hasEndValue):
(WebCore::ScrollAnimationTrigger::setHasEndValue):
(WebCore::ScrollAnimationTrigger::ScrollAnimationTrigger):

LayoutTests:

Take 2.

New tests that exercise the parser and computed style
of -webkit-animation-trigger.

  • animations/script-tests/trigger-computed-style.js: Added.

(testComputedTriggerRule):

  • animations/script-tests/trigger-parsing.js: Added.

(testTriggerRule):

  • animations/trigger-computed-style-expected.txt: Added.
  • animations/trigger-computed-style.html: Added.
  • animations/trigger-parsing-expected.txt: Added.
  • animations/trigger-parsing.html: Added.
5:29 PM Changeset in webkit [181601] by achristensen@apple.com
  • 8 edits in trunk/Source

Progress towards CMake on Mac
https://bugs.webkit.org/show_bug.cgi?id=142747

Reviewed by Chris Dumez.

Source/JavaScriptCore:

  • CMakeLists.txt:

Include AugmentableInspectorController.h in CMake build.

Source/WebCore:

  • CMakeLists.txt:
  • PlatformMac.cmake:

Added more directories, interfaces, and forwarding headers.
Temporarily disabled the generating of ObjC bindings in CMake builds.

  • platform/mac/PasteboardMac.mm:

Removed unused include.

Source/WebKit2:

  • PlatformMac.cmake:

Started adding Mac-specific directories and headers.

5:28 PM WebKitGTK/2.8.x edited by jdiggs@igalia.com
(diff)
5:12 PM Changeset in webkit [181600] by jdiggs@igalia.com
  • 3 edits
    2 adds in trunk

AX: Crash viewing http://www.last.fm/
https://bugs.webkit.org/show_bug.cgi?id=142309

Reviewed by Chris Fleizach.

Source/WebCore:

The crash occurs when a not-yet-rendered object emits a children-changed
signal. If an assistive technology is listening, AT-SPI2 will attempt to
create and cache the state set for the child being added and the creation
of the state set assumes a rendered object.

Test: platform/gtk/accessibility/no-notification-for-unrendered-iframe-children.html

  • accessibility/atk/AXObjectCacheAtk.cpp:

(WebCore::AXObjectCache::attachWrapper):

LayoutTests:

This test doesn't verify the absence of the crash because the crash seems
to require that an assistive technology is listening for events, and that
AT-SPI2 is caching the tree for that assistive technology -- something we
cannot count on being the case on our bots. (I suspect that the reason non-
assistive technology users of Epiphany were getting hit by this is because
Caribou was listening for events in the background, thus they were AT users
without realizing it. That Caribou issue is in theory now resolved.) What
this test does verify is the absence of children-changed:add accessibility
signals for non-rendered objects, which is the source of the crash given
the aforementioned environment.

  • platform/gtk/accessibility/no-notification-for-unrendered-iframe-children-expected.txt: Added.
  • platform/gtk/accessibility/no-notification-for-unrendered-iframe-children.html: Added.
4:58 PM Changeset in webkit [181599] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

ASSERT(m_plugin) on plugins/snapshotting/snapshot-plugin-not-quite-blocked-by-image.html
https://bugs.webkit.org/show_bug.cgi?id=142637

Reviewed by Dean Jackson.

  • WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::pluginSnapshotTimerFired):

m_plugin can be legitimately null.

4:58 PM Changeset in webkit [181598] by ap@apple.com
  • 2 edits in trunk/Tools

Fix webkitpy tests after r181585.

Looks like "me" cannot be anyone's email, it's a special case.

  • Scripts/webkitpy/common/config/contributors.json:
4:55 PM Changeset in webkit [181597] by commit-queue@webkit.org
  • 12 edits in trunk/Source/WebCore

Unreviewed, rolling out r181492.
https://bugs.webkit.org/show_bug.cgi?id=142756

May have regressed PLT (Requested by anttik on #webkit).

Reverted changeset:

"Cache glyph widths to GlyphPages"
https://bugs.webkit.org/show_bug.cgi?id=142028
http://trac.webkit.org/changeset/181492

4:46 PM Changeset in webkit [181596] by roger_fong@apple.com
  • 8 edits in trunk/Source/WebCore

[WebGL2] Instancing draw calls.
https://bugs.webkit.org/show_bug.cgi?id=126939.
<rdar://problem/15002379>

Reviewed by Dean Jackson.

Tested by a modified version of the 1.0.3 conformance tests:
conformance/extensions/angle-instanced-arrays.html
conformance/extensions/angle-instanced-arrays-out-of-bounds.html

These tests will be landed along with other modified extension conformance tests
once approval from Khronos is received.

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::clear): Generate error if clearing an integer color buffer.
(WebCore::WebGL2RenderingContext::vertexAttribDivisor): Call method from base class.
(WebCore::WebGL2RenderingContext::drawArraysInstanced): Ditto.
(WebCore::WebGL2RenderingContext::drawElementsInstanced): Ditto.
(WebCore::WebGL2RenderingContext::isIntegerFormat): Ditto.
(WebCore::WebGL2RenderingContext::validateDrawElements): Deleted. Move back to base class.

  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGL2RenderingContext.idl: Add a missing enum.
  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::clear): Copied from WebGLRenderingContextBase.
(WebCore::WebGLRenderingContext::validateDrawElements): Deleted. Move back to base class.

  • html/canvas/WebGLRenderingContext.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::clear): Deleted. Moved to WebGLRenderingContext.
(WebCore::WebGLRenderingContextBase::getVertexAttrib): Check for WebGL2 context.
(WebCore::WebGLRenderingContext::validateDrawElements): Ditto.

  • html/canvas/WebGLRenderingContextBase.h:
4:33 PM Changeset in webkit [181595] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.5.14

New tag.

4:32 PM Changeset in webkit [181594] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.15.16

New tag.

4:26 PM Changeset in webkit [181593] by commit-queue@webkit.org
  • 15 edits
    9 deletes in trunk

Unreviewed, rolling out r181572.
https://bugs.webkit.org/show_bug.cgi?id=142755

Caused weird test failures in transitions and animations
(Requested by dino on #webkit).

Reverted changeset:

"Parsing and Style Resolution of Container-based Animation
Triggers"
https://bugs.webkit.org/show_bug.cgi?id=142687
http://trac.webkit.org/changeset/181572

4:19 PM Changeset in webkit [181592] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, unskip inspector-protocol/dom-debugger/node-removed.html.

It looks like it was an actual failure caused by a patch being
processed by EWS.

4:12 PM Changeset in webkit [181591] by yoav@yoav.ws
  • 2 edits in trunk/Source/WebCore

Remove setCachedImage from HTMLImageElement since it is not used
https://bugs.webkit.org/show_bug.cgi?id=142740

Reviewed by Chris Dumez.

No new tests since this patch is just removing dead code.

HTMLImageElement::setCachedImage is not being called by anyone.
This patch removes it, since it's dead code.

  • html/HTMLImageElement.h:

(WebCore::HTMLImageElement::setCachedImage): Deleted.

4:12 PM Changeset in webkit [181590] by bshafiei@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r181575. rdar://problem/20174803

4:11 PM Changeset in webkit [181589] by roger_fong@apple.com
  • 2 edits in trunk/Source/ThirdParty/ANGLE

[Win] Unreviewed build fix after r181571.

  • include/GLES2/gl2softlinking.h:
4:11 PM Changeset in webkit [181588] by Nikita Vasilyev
  • 1 edit in trunk/Tools/Scripts/webkitpy/common/config/contributors.json

Unreviewed. Move myself from reviewers to commiters. I was added to reviewers by mistake.

4:01 PM Changeset in webkit [181587] by Brent Fulgham
  • 5 edits in trunk/Source

WebKit1 Clients Are Not Reliably Repainted
https://bugs.webkit.org/show_bug.cgi?id=142750
<rdar://problem/20042453>

Reviewed by Simon Fraser.

Source/WebCore:

  • page/FrameView.cpp:

(WebCore::FrameView::paintContents): Move "Red Rect" debug painting before
the early return so we can see when this happening in debug builds.

  • page/FrameView.h:

(WebCore::FrameView::inPaintableState): Added.

Source/WebKit/mac:

Check with the FrameView to see if we are in an immediately paintable state. If we are not,
mark the view as dirty once the _immediateScrollToPoint operation is complete so that the
region will be painted properly.

  • WebView/WebClipView.mm:

(-[WebClipView _immediateScrollToPoint:]):

3:52 PM Changeset in webkit [181586] by bshafiei@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r181565. rdar://problem/11254910

3:49 PM Changeset in webkit [181585] by Nikita Vasilyev
  • 1 edit in trunk/Tools/Scripts/webkitpy/common/config/contributors.json

Unreviewed. Add myself as a committer.

3:47 PM Changeset in webkit [181584] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

One more URTBF after r181578.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

3:44 PM Changeset in webkit [181583] by ap@apple.com
  • 2 edits in trunk/LayoutTests

inspector-protocol/dom-debugger/node-removed.html crashes on EWS
https://bugs.webkit.org/show_bug.cgi?id=142753

3:37 PM Changeset in webkit [181582] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

URTBF after r181578.

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::setCSSAnimationTriggersEnabled): Copy/paste error fixed.

3:25 PM Changeset in webkit [181581] by ap@apple.com
  • 2 edits
    1 delete in trunk/LayoutTests

Update results of fast/text/international/bidi-mirror-he-ar.html after <http://trac.webkit.org/changeset/181569>

Yosemite results now match Mavericks. I'm not 100% sure why the results changed
(probably different order of font fallback), but the test clearly still passes.

  • platform/mac-mavericks/fast/text/international/bidi-mirror-he-ar-expected.txt: Removed.
  • platform/mac/fast/text/international/bidi-mirror-he-ar-expected.txt:
3:21 PM Changeset in webkit [181580] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged patch for rdar://problem/20155503.

2:52 PM Changeset in webkit [181579] by ap@apple.com
  • 8 edits
    1 add in trunk

Add tolerance to WebAudio tests
https://bugs.webkit.org/show_bug.cgi?id=142676

Reviewed by Tim Horton.

Tools:

  • Scripts/webkitpy/common/wavediff.py: Added. Based on Jer Noble's work.
  • Scripts/webkitpy/layout_tests/controllers/test_result_writer.py:

(TestResultWriter.create_audio_diff_and_write_result):

  • Scripts/webkitpy/layout_tests/models/test_failures.py:

(FailureAudio.write_failure):

  • Scripts/webkitpy/port/base.py:

(Port.do_audio_results_differ):
Diff audio failures.

  • Scripts/webkitpy/port/test.py: Added a test for the tolerance, fixed existing

tests to use real parseable WAV data, and got rid of base64, which there didn't
seem to have been any reason for.

LayoutTests:

  • fast/harness/results.html: Display a diff link for audio tests, as we now have the diff.
  • platform/mac/TestExpectations: Unmark tests that should now pass everywhere.
2:24 PM Changeset in webkit [181578] by dino@apple.com
  • 7 edits in trunk/Source/WebKit2

Expose WK2 preference for Animation Triggers runtime flag
https://bugs.webkit.org/show_bug.cgi?id=142744

Reviewed by Anders Carlsson.

Expose CSSAnimationTriggersEnabled, linking it to the runtime enabled
feature flag.

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetCSSAnimationTriggersEnabled):
(WKPreferencesGetCSSAnimationTriggersEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
(WebKit::InjectedBundle::setCSSAnimationTriggersEnabled):

  • WebProcess/InjectedBundle/InjectedBundle.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

1:20 PM Changeset in webkit [181577] by Chris Dumez
  • 8 edits
    1 copy
    2 moves
    1 add in trunk

Make DatabaseContext suspendable if there is no pending database activity
https://bugs.webkit.org/show_bug.cgi?id=142716
<rdar://problem/19923085>

Reviewed by Andreas Kling.

Source/WebCore:

Make DatabaseContext suspendable if there is no pending database
activity, i.e:

  • No pending Database creation JS callback
  • No pending transaction(s)

Suspending is safe in this case because we are not going to interrupt
any database activity, nor fire any JS event.

This greatly increases the likelihood of pages using websql to enter
the PageCache.

Tests: fast/history/page-cache-webdatabase-no-transaction-db.html

fast/history/page-cache-webdatabase-pending-transaction.html

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::hasPendingTransaction):

  • Modules/webdatabase/Database.h:
  • Modules/webdatabase/DatabaseContext.cpp:

(WebCore::DatabaseContext::canSuspend):

  • Modules/webdatabase/DatabaseManager.cpp:

(WebCore::DatabaseManager::openDatabase):

  • Modules/webdatabase/DatabaseThread.cpp:

(WebCore::DatabaseThread::hasPendingDatabaseActivity):

  • Modules/webdatabase/DatabaseThread.h:

LayoutTests:

Add layout tests to check page-cacheability when WebSQL is used,
depending if there is pending database activity or not.

  • fast/history/page-cache-webdatabase-no-transaction-db-expected.txt: Added.
  • fast/history/page-cache-webdatabase-no-transaction-db.html: Copied from LayoutTests/fast/history/page-cache-webdatabase-opened-db.html.
  • fast/history/page-cache-webdatabase-pending-transaction-expected.txt: Renamed from LayoutTests/fast/history/page-cache-webdatabase-opened-db-expected.txt.
  • fast/history/page-cache-webdatabase-pending-transaction.html: Renamed from LayoutTests/fast/history/page-cache-webdatabase-opened-db.html.
1:06 PM Changeset in webkit [181576] by beidson@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Fix bug referenced in ChangeLog

1:05 PM Changeset in webkit [181575] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

Addressing additional review feedback after http://trac.webkit.org/changeset/181565
https://bugs.webkit.org/show_bug.cgi?id=142604

Reviewed by Darin Adler.

  • loader/icon/IconController.cpp:

(WebCore::IconController::startLoader): Null check page()

12:40 PM Changeset in webkit [181574] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed build fix attempt after r181571.

  • WebCore.vcxproj/WebCore.vcxproj:
12:30 PM Changeset in webkit [181573] by roger_fong@apple.com
  • 8 edits in trunk/Source/WebCore

[WebGL2] Multiple Render Targets.
https://bugs.webkit.org/show_bug.cgi?id=126994.
<rdar://problem/15815766>
Reviewed by Dean Jackson.
Tested by a modified version of the 1.0.3 conformance test:
conformance/extensions/webgl-draw-buffers.html
This test will be landed along with other modified extension conformance tests
once approval from Khronos is received.

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::drawBuffers): Mostly the same as WebGLDrawBuffers::drawBuffersWEBGL.
Returns different error messages, uses non EXT enums.
(WebCore::WebGL2RenderingContext::clearBufferiv): This actually does nothing for now but the validation has been implemented.
(WebCore::WebGL2RenderingContext::clearBufferuiv): Ditto.
(WebCore::WebGL2RenderingContext::clearBufferfv): Ditto.
(WebCore::WebGL2RenderingContext::clearBufferfi): Ditto.
(WebCore::WebGL2RenderingContext::validateFramebufferFuncParameters): Removes the extension object check.
(WebCore::WebGL2RenderingContext::getMaxDrawBuffers):
(WebCore::WebGL2RenderingContext::getMaxColorAttachments): Must return the same thing as getMaxDrawBuffers.
(WebCore::WebGL2RenderingContext::getParameter): Remove extension object checks.

  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGLFramebuffer.cpp:

(WebCore::WebGLFramebuffer::drawBuffersIfNecessary):

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::validateFramebufferFuncParameters): Copied from WebGLRenderingContextBase.
(WebCore::WebGLRenderingContext::getMaxDrawBuffers): Ditto.
(WebCore::WebGLRenderingContext::getMaxColorAttachments): Ditto.

  • html/canvas/WebGLRenderingContext.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::validateFramebufferFuncParameters): Deleted.

  • html/canvas/WebGLRenderingContextBase.h:
12:08 PM Changeset in webkit [181572] by dino@apple.com
  • 15 edits
    9 adds in trunk

Parsing and Style Resolution of Container-based Animation Triggers
https://bugs.webkit.org/show_bug.cgi?id=142687
<rdar://problem/20170007>

Reviewed by Simon Fraser.

Source/WebCore:

This is the beginning of a prototype implementation of
CSS Animation Triggers, as described by
https://lists.w3.org/Archives/Public/www-style/2014Sep/0135.html

In this patch we parse and resolve the value of a new
CSS property "-webkit-animation-trigger". At the moment it
only accepts one function value "container-scroll", which
will trigger the animation at an absolute position within
an element's scrolling container. We expect the syntax to
change in the near future, as the spec is written.

Tests: animations/trigger-computed-style.html

animations/trigger-parsing.html

  • WebCore.xcodeproj/project.pbxproj: Add the new files.
  • css/CSSAnimationTriggerScrollValue.cpp: Added.

(WebCore::CSSAnimationTriggerScrollValue::customCSSText): Output text for computed style.
(WebCore::CSSAnimationTriggerScrollValue::equals): Compare two values.

  • css/CSSAnimationTriggerScrollValue.h: Added. This holds the CSS side of the

scroll trigger. This name may change in the future to better represent the
type of trigger, but it is good enough for now.
(WebCore::CSSAnimationTriggerScrollValue::create):
(WebCore::CSSAnimationTriggerScrollValue::startValue):
(WebCore::CSSAnimationTriggerScrollValue::endValue):
(WebCore::CSSAnimationTriggerScrollValue::CSSAnimationTriggerScrollValue):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::createAnimationTriggerValue): Maps an AnimationTrigger into a CSSValue.
(WebCore::getAnimationTriggerValue): Gets the current computed style.
(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseAnimationTrigger): Parse the "container-scroll" function
and record the value as a CSSAnimationTriggerScrollValue.
(WebCore::CSSParser::parseAnimationProperty): Handle the new property.

  • css/CSSParser.h:
  • css/CSSPropertyNames.in: Add "-webkit-animation-trigger".
  • css/CSSToStyleMap.cpp:

(WebCore::CSSToStyleMap::mapAnimationTrigger): Map a CSSValue into a trigger value on
an Animation object.

  • css/CSSToStyleMap.h:
  • css/CSSValue.cpp: Handle the new CSSValue type.

(WebCore::CSSValue::equals):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):

  • css/CSSValue.h:

(WebCore::CSSValue::isAnimationTriggerScrollValue):

  • platform/animation/Animation.h: Add AnimationTrigger as a new field.

(WebCore::Animation::isTriggerSet):
(WebCore::Animation::isEmpty):

  • platform/animation/AnimationTrigger.h: Added. New base class and subclasses for

"auto" and the scrolling trigger.
(WebCore::AnimationTrigger::~AnimationTrigger):
(WebCore::AnimationTrigger::type):
(WebCore::AnimationTrigger::isAutoAnimationTrigger):
(WebCore::AnimationTrigger::isScrollAnimationTrigger):
(WebCore::AnimationTrigger::AnimationTrigger):
(WebCore::AutoAnimationTrigger::create):
(WebCore::AutoAnimationTrigger::~AutoAnimationTrigger):
(WebCore::AutoAnimationTrigger::AutoAnimationTrigger):
(WebCore::ScrollAnimationTrigger::create):
(WebCore::ScrollAnimationTrigger::~ScrollAnimationTrigger):
(WebCore::ScrollAnimationTrigger::startValue):
(WebCore::ScrollAnimationTrigger::setStartValue):
(WebCore::ScrollAnimationTrigger::endValue):
(WebCore::ScrollAnimationTrigger::setEndValue):
(WebCore::ScrollAnimationTrigger::hasEndValue):
(WebCore::ScrollAnimationTrigger::setHasEndValue):
(WebCore::ScrollAnimationTrigger::ScrollAnimationTrigger):

LayoutTests:

New tests that exercise the parser and computed style
of -webkit-animation-trigger.

  • animations/script-tests/trigger-computed-style.js: Added.

(testComputedTriggerRule):

  • animations/script-tests/trigger-parsing.js: Added.

(testTriggerRule):

  • animations/trigger-computed-style-expected.txt: Added.
  • animations/trigger-computed-style.html: Added.
  • animations/trigger-parsing-expected.txt: Added.
  • animations/trigger-parsing.html: Added.
12:03 PM Changeset in webkit [181571] by roger_fong@apple.com
  • 21 edits
    2 adds in trunk/Source/WebCore

[WebGL2] Vertex Array Objects.
https://bugs.webkit.org/show_bug.cgi?id=126944.
<rdar://problem/15002455>
Reviewed by Dean Jackson.
Tested by a modified version of the 1.0.3 conformance test:
conformance/extensions/oes-vertex-array-object.html
This test will be landed along with other modified extension conformance tests
once approval from Khronos is received.

  • html/canvas/OESVertexArrayObject.cpp: Associate extension calls only with WebGLRenderingContext.

(WebCore::OESVertexArrayObject::deleteVertexArrayOES):
(WebCore::OESVertexArrayObject::bindVertexArrayOES):

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::initializeVertexArrayObjects):
(WebCore::WebGLRenderingContext::getParameter):

  • html/canvas/WebGL2RenderingContext.cpp: Implement vertex array object calls as part WebGL2 context.

(WebCore::WebGL2RenderingContext::createVertexArray):
(WebCore::WebGL2RenderingContext::deleteVertexArray):
(WebCore::WebGL2RenderingContext::isVertexArray):
(WebCore::WebGL2RenderingContext::bindVertexArray):
(WebCore::WebGL2RenderingContext::initializeVertexArrayObjects):
(WebCore::WebGL2RenderingContext::getParameter):
Duplicate extension object vertex array object extension methods in GraphicsContext3D.
Implementation may change after we upgrade to newer GL headers and profile.

  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::createVertexArray):
(WebCore::GraphicsContext3D::deleteVertexArray):
(WebCore::GraphicsContext3D::isVertexArray):
(WebCore::GraphicsContext3D::bindVertexArray):
Have WebGLVertexArrayObjectOES and WebGLVertexArrayObject inherit from WebGLRenderingContextBase.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • html/canvas/WebGLVertexArrayObject.cpp:

(WebCore::WebGLVertexArrayObject::create):
(WebCore::WebGLVertexArrayObject::WebGLVertexArrayObject): Use GraphicsContext3D implementation of createVertexArray.
(WebCore::WebGLVertexArrayObject::deleteObjectImpl):

  • html/canvas/WebGLVertexArrayObject.h:
  • html/canvas/WebGLVertexArrayObjectBase.cpp: Added.

(WebCore::WebGLVertexArrayObjectBase::WebGLVertexArrayObjectBase):
(WebCore::WebGLVertexArrayObjectBase::setElementArrayBuffer):
(WebCore::WebGLVertexArrayObjectBase::setVertexAttribState):
(WebCore::WebGLVertexArrayObjectBase::unbindBuffer):
(WebCore::WebGLVertexArrayObjectBase::setVertexAttribDivisor):

  • html/canvas/WebGLVertexArrayObjectBase.h: Added.

(WebCore::WebGLVertexArrayObjectBase::~WebGLVertexArrayObjectBase):
(WebCore::WebGLVertexArrayObjectBase::VertexAttribState::VertexAttribState):
(WebCore::WebGLVertexArrayObjectBase::VertexAttribState::isBound):
(WebCore::WebGLVertexArrayObjectBase::VertexAttribState::validateBinding):
(WebCore::WebGLVertexArrayObjectBase::isDefaultObject):
(WebCore::WebGLVertexArrayObjectBase::hasEverBeenBound):
(WebCore::WebGLVertexArrayObjectBase::setHasEverBeenBound):
(WebCore::WebGLVertexArrayObjectBase::getElementArrayBuffer):
(WebCore::WebGLVertexArrayObjectBase::getVertexAttribState):

  • html/canvas/WebGLVertexArrayObjectOES.cpp:

(WebCore::WebGLVertexArrayObjectOES::WebGLVertexArrayObjectOES):
(WebCore::WebGLVertexArrayObjectOES::deleteObjectImpl):
(WebCore::WebGLVertexArrayObjectOES::setElementArrayBuffer): Deleted.
(WebCore::WebGLVertexArrayObjectOES::setVertexAttribState): Deleted.
(WebCore::WebGLVertexArrayObjectOES::unbindBuffer): Deleted.
(WebCore::WebGLVertexArrayObjectOES::setVertexAttribDivisor): Deleted.

  • html/canvas/WebGLVertexArrayObjectOES.h:
  • html/canvas/WebGLRenderingContextBase.cpp: Use WebGLVertexArrayObjectBase class.

(WebCore::WebGLRenderingContextBase::initializeNewContext):
(WebCore::WebGLRenderingContextBase::disableVertexAttribArray):
(WebCore::WebGLRenderingContextBase::validateVertexAttributes):
(WebCore::WebGLRenderingContextBase::enableVertexAttribArray):
(WebCore::WebGLRenderingContextBase::getVertexAttrib):
(WebCore::WebGLRenderingContextBase::initVertexAttrib0):
(WebCore::WebGLRenderingContextBase::simulateVertexAttrib0):
(WebCore::WebGLRenderingContextBase::restoreStatesAfterVertexAttrib0Simulation):

  • html/canvas/WebGLRenderingContextBase.h:

(WebCore::WebGLRenderingContextBase::setBoundVertexArrayObject):
Handle construction of WebGLGetInfo using WebGLVertexArrayObject.

  • bindings/js/JSWebGLRenderingContextBaseCustom.cpp:

(WebCore::toJS):

  • html/canvas/WebGLGetInfo.cpp:

(WebCore::WebGLGetInfo::WebGLGetInfo):
(WebCore::WebGLGetInfo::getWebGLVertexArrayObjectOES):
(WebCore::WebGLGetInfo::getWebGLVertexArrayObject):

  • html/canvas/WebGLGetInfo.h:
11:44 AM Changeset in webkit [181570] by Csaba Osztrogonác
  • 8 edits in trunk/Source

[ARM] Enable generating idiv instructions if it is supported
https://bugs.webkit.org/show_bug.cgi?id=142725

Reviewed by Michael Saboff.

Source/JavaScriptCore:

  • assembler/ARMAssembler.h: Added sdiv and udiv implementation for ARM Traditional instruction set.

(JSC::ARMAssembler::sdiv):
(JSC::ARMAssembler::udiv):

  • assembler/ARMv7Assembler.h: Use HAVE(ARM_IDIV_INSTRUCTIONS) instead of CPU(APPLE_ARMV7S).
  • assembler/AbstractMacroAssembler.h:

(JSC::isARMv7IDIVSupported):
(JSC::optimizeForARMv7IDIVSupported):
(JSC::isARMv7s): Renamed to isARMv7IDIVSupported().
(JSC::optimizeForARMv7s): Renamed to optimizeForARMv7IDIVSupported().

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileArithDiv):
(JSC::DFG::SpeculativeJIT::compileArithMod):

Source/WTF:

  • wtf/Platform.h: Set HAVE_ARM_IDIV_INSTRUCTIONS based on GCC macro too.
11:30 AM Changeset in webkit [181569] by ap@apple.com
  • 4 edits
    1 delete in trunk

[Mac] fast/forms/text-control-intrinsic-widths.html fails when MS Office is installed
https://bugs.webkit.org/show_bug.cgi?id=142720

Reviewed by Myles C. Maxfield.

Tools:

Activate system copies of Microsoft fonts for the current process, thus overriding
any other ones that could be preferred by the system otherwise.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(activateSystemCoreWebFonts):
(adjustFonts):

  • WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm:

(WTR::activateSystemCoreWebFonts):
(WTR::activateFonts):

LayoutTests:

  • platform/mac-mavericks/fast/forms/text-control-intrinsic-widths-expected.txt: Removed.

Mavericks result is no different from Yosemite.

11:23 AM Changeset in webkit [181568] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

Potentially uninitialized Inspector values
https://bugs.webkit.org/show_bug.cgi?id=142730

Reviewed by Joseph Pecoraro.

  • inspector/InspectorDOMAgent.cpp:

(WebCore::parseColor): Make sure color values are given an initial value.

11:11 AM Changeset in webkit [181567] by commit-queue@webkit.org
  • 10 edits
    2 moves in trunk/Source/WebInspectorUI

Unreviewed, rolling out r181517.
https://bugs.webkit.org/show_bug.cgi?id=142718

This patch broke GTK+ build (Requested by NVI on #webkit).

Reverted changeset:

"Web Inspector: Rename ConsoleMessage and ConsoleMessageImpl
to LegacyConsoleMessage and LegacyConsoleMessageImpl
respectively"
https://bugs.webkit.org/show_bug.cgi?id=142712
http://trac.webkit.org/changeset/181517

10:55 AM Changeset in webkit [181566] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Document more debug assertions.

  • platform/win/TestExpectations:
10:52 AM Changeset in webkit [181565] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

URLs visited during private browsing show up in WebpageIcons.db
rdar://problem/11254910 and https://bugs.webkit.org/show_bug.cgi?id=142733

Patch by Sam Weinig. Reviewed by Brady Eidson.

  • loader/icon/IconController.cpp:

(WebCore::IconController::startLoader): Bail early here if the page is using an ephemeral session.
(WebCore::IconController::continueLoadWithDecision): Instead of here.

10:42 AM Changeset in webkit [181564] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] APNG is not supported on Windows (but it IS supported on WinCairo)

  • platform/win/TestExpectations:
10:39 AM Changeset in webkit [181563] by fpizlo@apple.com
  • 2 edits
    4 adds in trunk/Source/JavaScriptCore

DFG::PutStackSinkingPhase should eliminate GetStacks that have an obviously known source, and emit GetStacks when the stack's value is needed and none is deferred
https://bugs.webkit.org/show_bug.cgi?id=141624

Reviewed by Geoffrey Garen.

Not eliminating GetStacks was an obvious omission from the original PutStackSinkingPhase.
Previously, we would treat GetStacks conservatively and assume that the stack slot
escaped. That's pretty dumb, since a GetStack is a local load of the stack. This change
makes GetStack a no-op from the standpoint of this phase's deferral analysis. At the end
we either keep the GetStack (if there was no concrete deferral) or we replace it with an
identity over the value that would have been stored by the deferred PutStack. Note that
this might be a Phi that the phase creates, so this is strictly stronger than what GCSE
could do.

But this change revealed the fact that this phase never correctly handled side effects in
case that we had done a GetStack, then a side-effect, and then found ourselves wanting the
value on the stack due to (for example) a Phi on a deferred PutStack and that GetStack.
Basically, it's only correct to use the SSA converter's incoming value mapping if we have
a concrete deferral - since anything but a concrete deferral may imply that the value has
been clobbered.

This has no performance change. I believe that the bug was previously benign because we
have so few operations that clobber the stack anymore, and most of those get used in a
very idiomatic way. The GetStack elimination will be very useful for the varargs
simplification that is part of bug 141174.

This includes a test for the case that Speedometer hit, plus tests for the other cases I
thought of once I realized the deeper issue.

  • dfg/DFGPutStackSinkingPhase.cpp:
  • tests/stress/get-stack-identity-due-to-sinking.js: Added.

(foo):
(bar):

  • tests/stress/get-stack-mapping-with-dead-get-stack.js: Added.

(bar):
(foo):

  • tests/stress/get-stack-mapping.js: Added.

(bar):
(foo):

  • tests/stress/weird-put-stack-varargs.js: Added.

(baz):
(foo):
(fuzz):
(bar):

10:13 AM Changeset in webkit [181562] by Conrad Shultz
  • 44 edits in trunk/Source

Allow clients to selectively disable plug-ins
https://bugs.webkit.org/show_bug.cgi?id=142506

Reviewed by Anders Carlsson.

Source/WebCore:

Add new functionality allow clients to declaratively disable individual plug-ins (in a manner that conceals them
from the page). As part of this:

1) Introduce the concept of web-visible plug-ins and related concepts, as distinct from the real underlying

set of plug-ins.

2) Where applicable, plumb additional information about plug-ins (specifically, bundle identification) deeper

down the stack.

3) Add generic functionality to PluginStrategy to support filtering plug-ins for visibility and introduce

a concrete implementation thereof in WebPlatformStrategies in WebKit2.

4) Add messaging infrastructure to allow clients to set and clear plug-in policies.

While currently only used in a very limited manner, the new declarative plug-in policies are written generically
so that they could be easily used in the future to reduce synchronous messaging to the client when loading plug-ins.

  • dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::createDocument):
Update to reflect function rename.

  • loader/SubframeLoader.cpp:

(WebCore::findPluginMIMETypeFromURL):
Adopt getWebVisibleMimesAndPluginIndices().
(WebCore::logPluginRequest):
Update to reflect function rename.
(WebCore::SubframeLoader::shouldUsePlugin):
Ditto.

  • platform/PlatformStrategies.h:

Export platformStrategies(), since it is now used in WebProcess.cpp.

  • plugins/DOMMimeType.cpp:

(WebCore::DOMMimeType::type):
(WebCore::DOMMimeType::description):
(WebCore::DOMMimeType::mimeClassInfo):
Adopt getWebVisibleMimesAndPluginIndices().
(WebCore::DOMMimeType::enabledPlugin):
Ditto.

  • plugins/DOMMimeType.h:

Don't return references in a few places where it is no longer safe to do so.
(WebCore::DOMMimeType::mimeClassInfo): Deleted.

  • plugins/DOMMimeTypeArray.cpp:

(WebCore::DOMMimeTypeArray::length):
Adopt getWebVisibleMimesAndPluginIndices().
(WebCore::DOMMimeTypeArray::item):
Ditto.
(WebCore::DOMMimeTypeArray::canGetItemsForName):
Ditto.
(WebCore::DOMMimeTypeArray::namedItem):
Ditto.

  • plugins/DOMPlugin.cpp:

(WebCore::DOMPlugin::pluginInfo):
Adopt getWebVisiblePlugins().
(WebCore::DOMPlugin::item):
Adopt getWebVisibleMimesAndPluginIndices().
(WebCore::DOMPlugin::canGetItemsForName):
Ditto.
(WebCore::DOMPlugin::namedItem):
Ditto.

  • plugins/DOMPlugin.h:

(WebCore::DOMPlugin::pluginInfo): Deleted.

  • plugins/DOMPluginArray.cpp:

(WebCore::DOMPluginArray::length):
Adopt getWebVisiblePlugins().
(WebCore::DOMPluginArray::item):
Ditto.
(WebCore::DOMPluginArray::canGetItemsForName):
Ditto.
(WebCore::DOMPluginArray::namedItem):
Ditto.

  • plugins/PluginData.cpp:

(WebCore::PluginData::PluginData):
Stash the passed-in Page and call initPlugins().
(WebCore::PluginData::getWebVisiblePlugins):
New member function; call through to PluginStrategy::getWebVisiblePluginInfo().
(WebCore::PluginData::getWebVisibleMimesAndPluginIndices):
New member function; build up the mimes and mimePluginIndices vectors in the same manner as before, but
limited to the web-visible plug-ins.
(WebCore::PluginData::supportsWebVisibleMimeType):
Renamed from supportsMimeType(); update to work in terms of web-visible plug-ins.
(WebCore::PluginData::pluginInfoForWebVisibleMimeType):
Renamed from pluginInfoForMimeType(); ditto.
(WebCore::PluginData::pluginNameForWebVisibleMimeType):
Renamed from pluginNameForMimeType(); ditto.
(WebCore::PluginData::pluginFileForWebVisibleMimeType):
Renamed from pluginFileForMimeType(); ditto.
(WebCore::PluginData::initPlugins):
(WebCore::PluginData::supportsMimeType): Deleted.
(WebCore::PluginData::pluginInfoForMimeType): Deleted.
(WebCore::PluginData::pluginNameForMimeType): Deleted.
(WebCore::PluginData::pluginFileForMimeType): Deleted.

  • plugins/PluginData.h:

Add a member variable for the associate Page; declare the PluginLoadClientPolicy enumeration; add
new members to PluginInfo for the clientLoadPolicy and bundle information.
(WebCore::PluginData::PluginData):
Replace some member functions with new ones that will hide plug-ins upon request from the client;
(WebCore::PluginData::mimes): Deleted.
(WebCore::PluginData::mimePluginIndices): Deleted.

  • plugins/PluginStrategy.h:

Declare new member functions for retrieving web-visible plug-ins and setting/clearing plug-in policies.

  • replay/SerializationMethods.cpp:

(JSC::EncodingTraits<PluginData>::encodeValue):
Remove now-obsolete code for handling MIME types and add a FIXME.
(JSC::DeserializedPluginData::DeserializedPluginData):
(JSC::EncodingTraits<PluginData>::decodeValue):
Ditto.
(JSC::EncodingTraits<PluginInfo>::encodeValue):
Handle the new members in PluginInfo.
(JSC::EncodingTraits<PluginInfo>::decodeValue):
Ditto.

  • replay/WebInputs.json:

Teach Replay about PluginLoadClientPolicy.

Source/WebKit/mac:

Add new functionality allow clients to declaratively disable individual plug-ins (in a manner that conceals them
from the page). As part of this:

1) Introduce the concept of web-visible plug-ins and related concepts, as distinct from the real underlying

set of plug-ins.

2) Where applicable, plumb additional information about plug-ins (specifically, bundle identification) deeper

down the stack.

3) Add generic functionality to PluginStrategy to support filtering plug-ins for visibility and introduce

a concrete implementation thereof in WebPlatformStrategies in WebKit2.

4) Add messaging infrastructure to allow clients to set and clear plug-in policies.

While currently only used in a very limited manner, the new declarative plug-in policies are written generically
so that they could be easily used in the future to reduce synchronous messaging to the client when loading plug-ins.

  • Plugins/WebBasePluginPackage.mm:

(-[WebBasePluginPackage getPluginInfoFromPLists]):
Set new members in PluginInfo.

  • Plugins/WebNetscapePluginPackage.mm:

(-[WebNetscapePluginPackage getPluginInfoFromResources]):
Set new members in PluginInfo.

  • WebCoreSupport/WebPlatformStrategies.h:
  • WebCoreSupport/WebPlatformStrategies.mm:

(WebPlatformStrategies::getWebVisiblePluginInfo):
Override to wrap getPluginInfo().
(WebPlatformStrategies::setPluginLoadClientPolicy):
Override to do nothing.
(WebPlatformStrategies::clearPluginClientPolicies):
Ditto.

  • WebView/WebFrame.mm:

(-[WebFrame _canProvideDocumentSource]):
Update to reflect function rename.

Source/WebKit/win:

  • WebCoreSupport/WebPlatformStrategies.h:
  • WebCoreSupport/WebPlatformStrategies.cpp:

(WebPlatformStrategies::getWebVisiblePluginInfo):
Wrap getPluginInfo();

  • WebView.cpp:

(WebView::canShowMIMEType):
Update to reflect function rename.

Source/WebKit2:

Add new functionality allow clients to declaratively disable individual plug-ins (in a manner that conceals them
from the page). As part of this:

1) Introduce the concept of web-visible plug-ins and related concepts, as distinct from the real underlying

set of plug-ins.

2) Where applicable, plumb additional information about plug-ins (specifically, bundle identification) deeper

down the stack.

3) Add generic functionality to PluginStrategy to support filtering plug-ins for visibility and introduce

a concrete implementation thereof in WebPlatformStrategies in WebKit2.

4) Add messaging infrastructure to allow clients to set and clear plug-in policies.

While currently only used in a very limited manner, the new declarative plug-in policies are written generically
so that they could be easily used in the future to reduce synchronous messaging to the client when loading plug-ins.

  • Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:

(WebKit::NetscapePluginModule::getPluginInfo):
Set new PluginInfo members.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<PluginInfo>::encode):
Handle new PluginInfo members.
(IPC::ArgumentCoder<PluginInfo>::decode):
Ditto.

  • Shared/WebProcessCreationParameters.h:

Declare a member to store client plug-in policies.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode):
Encode the policies.
(WebKit::WebProcessCreationParameters::decode):
Decode the policies.

  • UIProcess/API/C/WKAPICast.h:

(WebKit::toWKPluginLoadClientPolicy):
Teach how to cast between WebCore and WebKit2 policy definitions.
(WebKit::toPluginLoadClientPolicy):
Ditto.

  • UIProcess/API/C/WKPluginLoadPolicy.h:

Declare WKPluginLoadClientPolicy, matching PluginLoadClientPolicy in WebCore.

  • UIProcess/API/C/mac/WKContextPrivateMac.h:
  • UIProcess/API/C/mac/WKContextPrivateMac.mm:

(WKContextSetPluginLoadClientPolicy):
New function; wrap WebProcessPool::setPluginLoadClientPolicy().
(WKContextClearPluginClientPolicies):
New function; wrap WebProcessPool::clearPluginClientPolicies().

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::createNewWebProcess):
Copy any client plug-in policies to the new process' creation parameters.
(WebKit::WebProcessPool::setPluginLoadClientPolicy):
Send SetPluginLoadClientPolicy to all processes and stash the passed-in policy info.
(WebKit::WebProcessPool::clearPluginClientPolicies):
Send ClearPluginClientPolicies to all processes and clear any stashed policy info.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::pluginInfo):
Set new PluginInfo member.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::pluginSupportsExtension):
Adopt getWebVisibleMimesAndPluginIndices().
(WebKit::WebFrameLoaderClient::objectContentType):
Update to reflect reflect function rename.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::getPluginInfo):
Pass the Page to populatePluginCache().
(WebKit::WebPlatformStrategies::getWebVisiblePluginInfo):
New member function; wrap getPluginInfo(); if appropriate, filter out plug-ins the client has asked
to block on the current page.
(WebKit::WebPlatformStrategies::setPluginLoadClientPolicy):
New member function; map empty inputs to a wildcard character and insert the new policy into the nested map.
(WebKit::WebPlatformStrategies::clearPluginClientPolicies):
New member function; empty m_hostsToPluginIdentifierData.
(WebKit::WebPlatformStrategies::pluginLoadClientPolicyForHost):
New member function; look up the most specific policy for the given plug-in and host.
(WebKit::WebPlatformStrategies::populatePluginCache):
If appropriate, set the client load policy on the plug-ins; do this irrespective of whether the cache has
been populated since the Page, and therefore host, may change.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::canShowMIMEType):
Update to reflect function rename.

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):
Enumerate and process the client plug-in policies in the creation parameters.
(WebKit::WebProcess::setPluginLoadClientPolicy):
New member function; wrap PluginStrategy::setPluginLoadClientPolicy.
(WebKit::WebProcess::clearPluginClientPolicies):
New member function; wrap PluginStrategy::clearPluginClientPolicies().

  • WebProcess/WebProcess.messages.in:

Add messages for setting and clearing policies.

9:52 AM WebKitW3CTesting edited by youenn.fablet@crf.canon.fr
(diff)
9:51 AM Changeset in webkit [181561] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.23

New tag.

9:50 AM WebKitW3CTesting created by youenn.fablet@crf.canon.fr
9:49 AM Changeset in webkit [181560] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

9:47 AM Changeset in webkit [181559] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Mark fast/images/animated-png.html as [ Crash ImageOnlyFailure ]

It seems to fail instead of crash on Yosemite WK1.

  • platform/mac/TestExpectations:
9:45 AM March 2015 Meeting edited by youenn.fablet@crf.canon.fr
(diff)
9:44 AM Streams API 03132015.pptx attached to March 2015 Meeting by youenn.fablet@crf.canon.fr
Status of Streams API implementation into WebKit
9:42 AM March 2015 Meeting edited by youenn.fablet@crf.canon.fr
(diff)
9:32 AM Changeset in webkit [181558] by benjamin@webkit.org
  • 3 edits in trunk/Source/WTF

Fix StringView after r181525
Unreviewed.

Fix 2 silly mistakes I made in r181525.

  • wtf/text/StringView.cpp:

(WTF::StringView::startsWith):
(WTF::StringView::startsWithIgnoringASCIICase):
(WTF::StringView::endsWith):
(WTF::StringView::endsWithIgnoringASCIICase):
The implementation was inside the #ifdef.

  • wtf/text/StringView.h:

The symbols were not exported.

9:32 AM Changeset in webkit [181557] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, mark fast/images/animated-png.html as crashing

Mark fast/images/animated-png.html as crashing on Yosemite. This test
was introduced in r181553.

  • platform/mac/TestExpectations:
8:45 AM Changeset in webkit [181556] by commit-queue@webkit.org
  • 7 edits in trunk

Update Map/Set to treat -0 and 0 as the same value
https://bugs.webkit.org/show_bug.cgi?id=142709

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-16
Reviewed by Csaba Osztrogonác.

Source/JavaScriptCore:

  • runtime/MapData.h:

(JSC::MapDataImpl<Entry>::KeyType::KeyType):
No longer special case -0. It will be treated as the same as 0.

LayoutTests:

  • js/basic-map-expected.txt:
  • js/basic-set-expected.txt:
  • js/script-tests/basic-map.js:
  • js/script-tests/basic-set.js:

Update tests now that -0 and 0 are treated the same.

7:58 AM Changeset in webkit [181555] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebKit2

Unreviewed. Add new Notification classes to GTK+ API documentation.

Add WebKitNotification and WebKitNotificationPermissionRequest to
the documentation and fix some other typos causing warnings when
generating HTML documentation.

  • UIProcess/API/gtk/WebKitUserContent.cpp:
  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_class_init):

  • UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
7:32 AM Changeset in webkit [181554] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] REGRESSION(r178526): test_ewk2_storage_manager has been failed for a long time
https://bugs.webkit.org/show_bug.cgi?id=141249

Patch by Przemyslaw Piorkowski <p.piorkowski@samsung.com> on 2015-03-16
Reviewed by Gyuyoung Kim.

  • PlatformEfl.cmake: Enable test_ewk2_storage_manager for EFL port - it is passing now.
7:29 AM WebKitGTK/2.8.x edited by Carlos Garcia Campos
(diff)
7:24 AM Changeset in webkit [181553] by commit-queue@webkit.org
  • 8 edits
    26 adds in trunk

Add APNG support
https://bugs.webkit.org/show_bug.cgi?id=17022

Patch by Max Stepin <maxstepin@gmail.com> on 2015-03-16
Reviewed by Carlos Garcia Campos.

Source/WebCore:

Test: fast/images/animated-png.html

  • platform/image-decoders/ImageDecoder.h:

(WebCore::ImageFrame::divide255):
(WebCore::ImageFrame::overRGBA):

  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::frameHeader):
(WebCore::readChunks):
(WebCore::PNGImageReader::PNGImageReader):
(WebCore::PNGImageDecoder::PNGImageDecoder):
(WebCore::PNGImageDecoder::frameBufferAtIndex):
(WebCore::PNGImageDecoder::headerAvailable):
(WebCore::PNGImageDecoder::rowAvailable):
(WebCore::PNGImageDecoder::pngComplete):
(WebCore::PNGImageDecoder::readChunks):
(WebCore::PNGImageDecoder::frameHeader):
(WebCore::PNGImageDecoder::init):
(WebCore::PNGImageDecoder::clearFrameBufferCache):
(WebCore::PNGImageDecoder::initFrameBuffer):
(WebCore::PNGImageDecoder::frameComplete):
(WebCore::PNGImageDecoder::processingStart):
(WebCore::PNGImageDecoder::processingFinish):
(WebCore::PNGImageDecoder::fallbackNotAnimated):

  • platform/image-decoders/png/PNGImageDecoder.h:

(WebCore::PNGImageDecoder::frameCount):
(WebCore::PNGImageDecoder::repetitionCount):
(WebCore::PNGImageDecoder::isComplete):

Source/WTF:

  • wtf/FeatureDefines.h:

LayoutTests:

  • fast/images/animated-png-expected.html: Added.
  • fast/images/animated-png.html: Added.
  • fast/images/resources/apng00-ref.png: Added.
  • fast/images/resources/apng00.png: Added.
  • fast/images/resources/apng01-ref.png: Added.
  • fast/images/resources/apng01.png: Added.
  • fast/images/resources/apng02-ref.png: Added.
  • fast/images/resources/apng02.png: Added.
  • fast/images/resources/apng04-ref.png: Added.
  • fast/images/resources/apng04.png: Added.
  • fast/images/resources/apng08-ref.png: Added.
  • fast/images/resources/apng08.png: Added.
  • fast/images/resources/apng10-ref.png: Added.
  • fast/images/resources/apng10.png: Added.
  • fast/images/resources/apng11-ref.png: Added.
  • fast/images/resources/apng11.png: Added.
  • fast/images/resources/apng12-ref.png: Added.
  • fast/images/resources/apng12.png: Added.
  • fast/images/resources/apng14-ref.png: Added.
  • fast/images/resources/apng14.png: Added.
  • fast/images/resources/apng18-ref.png: Added.
  • fast/images/resources/apng18.png: Added.
  • fast/images/resources/apng24-ref.png: Added.
  • fast/images/resources/apng24.png: Added.
  • fast/images/resources/apng26-ref.png: Added.
  • fast/images/resources/apng26.png: Added.
  • platform/mac/TestExpectations:
5:30 AM Changeset in webkit [181552] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r181513 - Remove a redundant repaint when a layer becomes composited
https://bugs.webkit.org/show_bug.cgi?id=142711

Reviewed by Anders Carlsson.

RenderLayerCompositor::computeCompositingRequirements() doesn't need to call
repaintOnCompositingChange() when a layer is going to become composited,
because updateBacking() does exactly the same thing. I used an assertion
and ran the tests to ensure this wasn't a behavior change.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::computeCompositingRequirements):

5:28 AM Changeset in webkit [181551] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r181500 - RenderBlock::imageChange() calling const methods on exit
https://bugs.webkit.org/show_bug.cgi?id=142648

Reviewed by Brent Fulgham.

No new tests, no change on behavior.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::imageChanged): Deleted.

  • rendering/RenderBlock.h:
5:24 AM Changeset in webkit [181550] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore

Merge r181495 - Object allocation sinking phase shouldn't re-decorate previously sunken allocations on each fixpoint operation
https://bugs.webkit.org/show_bug.cgi?id=142686

Reviewed by Oliver Hunt.

Just because promoteHeapAccess() notifies us of an effect to a heap location in a node doesn't
mean that we should handle it as if it was for one of our sinking candidates. Instead we should
prune based on m_sinkCandidates.

This fixes a benign bug where we would generate a lot of repeated IR for some pathological
tests.

  • dfg/DFGObjectAllocationSinkingPhase.cpp:

(JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields):

5:20 AM Changeset in webkit [181549] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore

Merge r181486 - Prohibit GC while sweeping
https://bugs.webkit.org/show_bug.cgi?id=142638

Reviewed by Andreas Kling.

I noticed in https://bugs.webkit.org/show_bug.cgi?id=142636 that a GC
could trigger a sweep which could trigger another GC. Yo Dawg.

I tried to figure out whether this could cause problems or not and it
made me cross-eyed.

(Some clients like to report extra memory cost during deallocation as a
way to indicate that the GC now owns something exclusively. It's
arguably a bug to communicate with the GC in this way, but we shouldn't
do crazy when this happens.)

This patch makes explicit the fact that we don't allow GC while sweeping.

Usually, sweeping implicitly defers GC by virtue of happening during
allocation. But not always.

  • heap/Heap.cpp:

(JSC::Heap::collectAllGarbage): Defer GC while sweeping due to an
explicit GC request.

(JSC::Heap::didFinishCollection): Make sure that zombifying sweep
defers GC by not returning to the non-GC state until we're all done.

  • heap/IncrementalSweeper.cpp:

(JSC::IncrementalSweeper::sweepNextBlock): Defer GC while sweeping due
to a timer.

5:15 AM Changeset in webkit [181548] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] REGRESSION (r181511): Most layout tests crash with a NULL deref

Follow-up fix for:
[iOS] Presenting a modal sheet on top of a WKWebView causes it to lose focused, active state
<http://webkit.org/b/142702>

  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::isViewWindowActive): Add NULL check for m_webView.
(WebKit::PageClientImpl::isViewFocused): Ditto.

5:14 AM Changeset in webkit [181547] by Carlos Garcia Campos
  • 7 edits in releases/WebKitGTK/webkit-2.8/Source

Merge r181481 - Introduce WTF::Atomic to wrap std::atomic for a friendlier CAS.
<https://webkit.org/b/142661>

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Changed CodeBlock, and the DFG's crashLock to use WTF::Atomic instead of
std::atomic.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::visitAggregate):

  • bytecode/CodeBlock.h:
  • dfg/DFGCommon.cpp:

(JSC::DFG::startCrashing):

Source/WTF:

The CAS functions provided by std::atomic takes a reference to the expected
value and modifies it if the CAS fails. However, in a lot of our CAS usage,
we don't want the expected value to change. The solution to this is to
provide a WTF::Atomic struct that wraps std::atomic, and provide CAS
methods that won't alter the expected value if the CAS fails.

The method names in WTF::Atomic are chosen to be identical to those
in std::atomic so that WTF::Atomic can be a simple drop in replacement
for std::atomic.

Also changed ByteSpinLock to use WTF::Atomic instead of std::atomic.

  • wtf/Atomics.h:

(WTF::Atomic::load):
(WTF::Atomic::store):
(WTF::Atomic::compare_exchange_weak):
(WTF::Atomic::compare_exchange_strong):

  • wtf/ByteSpinLock.h:

(WTF::ByteSpinLock::ByteSpinLock):
(WTF::ByteSpinLock::lock):

4:48 AM Changeset in webkit [181546] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r181475 - Fix Debug build error 'comparison is always true due to limited range of data type [-Werror=type-limits]'
https://bugs.webkit.org/show_bug.cgi?id=142652

Patch by Joonghun Park <jh718.park@samsung.com> on 2015-03-13
Reviewed by Csaba Osztrogonác.

No new tests, no behavior changes.

Now CSSPropertyID type is uint16_t, so propertyID >= 0 check is needed no more.

  • css/CSSPrimitiveValue.cpp:

(WebCore::propertyName):

  • css/makeprop.pl:
4:47 AM Changeset in webkit [181545] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore

Merge r181469 - Change the DFG crashLock to use std::atomic.
<https://webkit.org/b/142649>

Reviewed by Filip Pizlo.

  • dfg/DFGCommon.cpp:

(JSC::DFG::startCrashing):
(JSC::DFG::isCrashing):

4:45 AM Changeset in webkit [181544] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WTF

Merge r181462 - Disable Yarr JIT for ARMv7k
https://bugs.webkit.org/show_bug.cgi?id=142645

Reviewed by Oliver Hunt.

Make the setting of ENABLE_YARR_JIT match ENABLE_JIT for ARMv7k.

  • wtf/Platform.h:
4:42 AM Changeset in webkit [181543] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WTF

Merge r181461 - Change WTF::ByteSpinLock to use std::atomic.
<https://webkit.org/b/142644>

Reviewed by Filip Pizlo.

  • wtf/ByteSpinLock.h:

(WTF::ByteSpinLock::ByteSpinLock):
(WTF::ByteSpinLock::lock):
(WTF::ByteSpinLock::unlock):
(WTF::ByteSpinLock::isHeld):

4:22 AM Changeset in webkit [181542] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/bmalloc

Merge r181457 - Assertion failure in bmalloc::LargeObject::validateSelf on Mavericks Debug layout test bot
https://bugs.webkit.org/show_bug.cgi?id=142642

Reviewed by Michael Saboff.

The typical backtrace to this crash shows the main thread trying to
realloc a large string while a DFG compiler thread tries to
free a large vector buffer.

I believe that this is a race condition -- at least in debug builds --
since the main thread will try to validate its object's neighbors
without holding a lock, even though those neighbors might be in the
midst of changing.

In general, there may be sneaky times when it is valid to look at an
object's metadata without holding the heap lock, but it is best not to
do so unless we have a really really good reason to.

  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::reallocate): Take a lock before reading the metadata
for this object, since we generally require any access to shared heap
metadata to take a lock.

4:21 AM Changeset in webkit [181541] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore

Merge r181456 - Use std::atomic for CodeBlock::m_visitAggregateHasBeenCalled.
<https://webkit.org/b/142640>

Reviewed by Mark Hahnenberg.

We used to spin our own compare and swap on a uint8_t. Now that we can
use C++11, let's use std::atomic instead.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::visitAggregate):

  • The CAS here needs std::memory_order_acquire ordering because it requires lock acquisition semantics to visit the CodeBlock.
  • bytecode/CodeBlock.h:

(JSC::CodeBlockSet::mark):

  • heap/CodeBlockSet.cpp:

(JSC::CodeBlockSet::clearMarksForFullCollection):
(JSC::CodeBlockSet::clearMarksForEdenCollection):

  • These can go with relaxed ordering because they are all done before the GC starts parallel marking.
4:13 AM Changeset in webkit [181540] by Carlos Garcia Campos
  • 8 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r181449 - Stop using single-include headers that are only available since GStreamer >= 1.2.

https://bugs.webkit.org/show_bug.cgi?id=142537

Patch by Sebastian Dröge <sebastian@centricular.com> on 2015-03-12
Reviewed by Philippe Normand.

  • platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
  • platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
  • platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:
  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
  • platform/graphics/gstreamer/GStreamerUtilities.cpp:
  • platform/graphics/gstreamer/GStreamerUtilities.h:
  • platform/graphics/gstreamer/ImageGStreamer.h:

Instead of using single-include headers for the GStreamer libraries,
directly include the headers we need. The single-include headers were
only added in 1.2, and this would be the only reason why we would
depend on 1.2.

3:43 AM Changeset in webkit [181539] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WTF

Merge r181436 - [ARM][Linux] GC sometimes stuck in an infinite loop if parallel GC is enabled
https://bugs.webkit.org/show_bug.cgi?id=141290

Reviewed by Carlos Garcia Campos.

  • wtf/Platform.h: Enable parallel GC after r181319.
3:42 AM Changeset in webkit [181538] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore

Merge r181435 - [cmake] Fix the incremental build issue revealed by r181419
https://bugs.webkit.org/show_bug.cgi?id=142613

Reviewed by Carlos Garcia Campos.

  • CMakeLists.txt:
3:41 AM Changeset in webkit [181537] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Users of Heap::deprecatedReportExtraMemory should switch to reportExtraMemoryAllocated+reportExtraMemoryVisited
https://bugs.webkit.org/show_bug.cgi?id=142595

Reviewed by Andreas Kling.

Fixed this bug for canvas.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::memoryCost): Factored out the helper function
required by our IDL generator.

(WebCore::HTMLCanvasElement::createImageBuffer): Use
reportExtraMemoryAllocated.

  • html/HTMLCanvasElement.h:
  • html/HTMLCanvasElement.idl: Adopt the IDL for reporting cost in the

right way during GC. This will match our reportExtraMemoryAllocated
with a reportExtraMemoryVisited during GC.

3:30 AM Changeset in webkit [181536] by Carlos Garcia Campos
  • 11 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r181412 - Unreviewed, rolling out r179340 and r179344.
https://bugs.webkit.org/show_bug.cgi?id=142598

Caused images to stay alive forever when navigating away from
the page before they finish loading. (Requested by kling on

Reverted changesets:

"CachedImage: ensure clients overrides imageChanged instead of
notifyFinished"
https://bugs.webkit.org/show_bug.cgi?id=140722
http://trac.webkit.org/changeset/179340

"HTMLImageLoader: fix build failure on assert condition after
r179340"
https://bugs.webkit.org/show_bug.cgi?id=140722
http://trac.webkit.org/changeset/179344

3:27 AM Changeset in webkit [181535] by gyuyoung.kim@samsung.com
  • 3 edits in trunk

[CMake][EFL] Rearrange OptionEFL.cmake to improve readability
https://bugs.webkit.org/show_bug.cgi?id=142722

Reviewed by Csaba Osztrogonác.

Categorize to define cmake variables, to find necessary packages,
use upper case for "glib_conponents" cmake variable name, re-arrange
wrong alphabet sorting, and so on.

  • CMakeLists.txt: Remove WinCE port.
  • Source/cmake/OptionsEfl.cmake:
3:19 AM Changeset in webkit [181534] by Carlos Garcia Campos
  • 13 edits in releases/WebKitGTK/webkit-2.8/Source

Merge r181411 - Many users of Heap::reportExtraMemory* are wrong, causing lots of memory growth
https://bugs.webkit.org/show_bug.cgi?id=142593

Reviewed by Andreas Kling.

Adopt deprecatedReportExtraMemory as a short-term fix for runaway
memory growth in these cases where we have not adopted
reportExtraMemoryVisited.

Long-term, we should use reportExtraMemoryAllocated+reportExtraMemoryVisited.
That's tracked by https://bugs.webkit.org/show_bug.cgi?id=142595.

Source/JavaScriptCore:

  • API/JSBase.cpp:

(JSReportExtraMemoryCost):

  • runtime/SparseArrayValueMap.cpp:

(JSC::SparseArrayValueMap::add):

Source/WebCore:

Using IOSDebug, I can see that the canvas stress test @ http://jsfiddle.net/fvyw4ba0/,
which used to keep > 1000 1MB NonVolatile GPU allocations live, now keeps about 10 live.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::reportExtraMemoryAllocated):

  • bindings/js/JSDocumentCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSImageDataCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSNodeListCustom.cpp:

(WebCore::createWrapper):

  • dom/CollectionIndexCache.cpp:

(WebCore::reportExtraMemoryAllocatedForCollectionIndexCache):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::createImageBuffer):

  • html/HTMLImageLoader.cpp:

(WebCore::HTMLImageLoader::imageChanged):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::dropProtection):

3:13 AM Changeset in webkit [181533] by Carlos Garcia Campos
  • 29 edits in releases/WebKitGTK/webkit-2.8/Source

Merge r181407 - Refactored the JSC::Heap extra cost API for clarity and to make some known bugs more obvious
https://bugs.webkit.org/show_bug.cgi?id=142589

Reviewed by Andreas Kling.

Source/JavaScriptCore:

  • API/JSBase.cpp:

(JSReportExtraMemoryCost): Added a FIXME to annotate a known bug.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::visitAggregate):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::setJITCode): Updated for rename.

  • heap/Heap.cpp:

(JSC::Heap::Heap):
(JSC::Heap::reportExtraMemoryAllocatedSlowCase):
(JSC::Heap::deprecatedReportExtraMemorySlowCase): Renamed our reporting
APIs to clarify their relationship to each other: One must report extra
memory at the time of allocation, and at the time the GC visits it.

(JSC::Heap::extraMemorySize):
(JSC::Heap::size):
(JSC::Heap::capacity):
(JSC::Heap::sizeAfterCollect):
(JSC::Heap::willStartCollection): Updated for renames. Added explicit
API for deprecated users who can't use our best API.

(JSC::Heap::reportExtraMemoryCostSlowCase): Deleted.
(JSC::Heap::extraSize): Deleted.

  • heap/Heap.h:
  • heap/HeapInlines.h:

(JSC::Heap::reportExtraMemoryAllocated):
(JSC::Heap::reportExtraMemoryVisited):
(JSC::Heap::deprecatedReportExtraMemory):
(JSC::Heap::reportExtraMemoryCost): Deleted. Ditto.

  • heap/SlotVisitor.h:
  • heap/SlotVisitorInlines.h:

(JSC::SlotVisitor::reportExtraMemoryVisited):
(JSC::SlotVisitor::reportExtraMemoryUsage): Deleted. Moved this
functionality into the Heap since it's pretty detailed in its access
to the heap.

  • runtime/JSArrayBufferView.cpp:

(JSC::JSArrayBufferView::ConstructionContext::ConstructionContext):

  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::JSGenericTypedArrayView<Adaptor>::visitChildren): Updated for
renames.

  • runtime/JSString.cpp:

(JSC::JSString::visitChildren):
(JSC::JSRopeString::resolveRopeToAtomicString):
(JSC::JSRopeString::resolveRope):

  • runtime/JSString.h:

(JSC::JSString::finishCreation): Updated for renames.

  • runtime/SparseArrayValueMap.cpp:

(JSC::SparseArrayValueMap::add): Added FIXME.

  • runtime/WeakMapData.cpp:

(JSC::WeakMapData::visitChildren): Updated for rename.

Source/WebCore:

Updated for renames to JSC extra cost APIs.

Added FIXMEs to our 10 use cases that are currently wrong, including
canvas, which is the cause of https://bugs.webkit.org/show_bug.cgi?id=142457.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::appendBufferInternal):
(WebCore::SourceBuffer::sourceBufferPrivateAppendComplete):
(WebCore::SourceBuffer::reportExtraMemoryAllocated):
(WebCore::SourceBuffer::reportExtraMemoryCost): Deleted.

  • Modules/mediasource/SourceBuffer.h:
  • bindings/js/JSDocumentCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSImageDataCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSNodeListCustom.cpp:

(WebCore::createWrapper):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • dom/CollectionIndexCache.cpp:

(WebCore::reportExtraMemoryAllocatedForCollectionIndexCache):
(WebCore::reportExtraMemoryCostForCollectionIndexCache): Deleted.

  • dom/CollectionIndexCache.h:

(WebCore::Iterator>::computeNodeCountUpdatingListCache):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::createImageBuffer):

  • html/HTMLCollection.h:

(WebCore::CollectionNamedElementCache::didPopulate):

  • html/HTMLImageLoader.cpp:

(WebCore::HTMLImageLoader::imageChanged):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::dropProtection):

3:00 AM Changeset in webkit [181532] by calvaris@igalia.com
  • 2 edits in trunk/Tools

Created Streams API watchlist
https://bugs.webkit.org/show_bug.cgi?id=142684

Reviewed by Benjamin Poulain.

  • Scripts/webkitpy/common/config/watchlist: Created StreamsAPI

watchlist and added Benjamin, Youenn and me to it.

2:38 AM Changeset in webkit [181531] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Tools

Merge r181399 - [GTK] Add support for handling TLS errors to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=142576

Reviewed by Sergio Villar Senin.

It's useful for testing TLS errors handling itself, but also to
allow ignoring TLS errors when testing.

  • MiniBrowser/gtk/BrowserWindow.c:

(webViewLoadFailedWithTLSerrors):
(browserWindowConstructed):

2:36 AM Changeset in webkit [181530] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.8

Merge r181395 - [GTK] Add an option to enable MiniBrowser for non developer builds and always install it
https://bugs.webkit.org/show_bug.cgi?id=126688

Reviewed by Gustavo Noronha Silva.

.:

Add ENABLE_MINIBROWSER option, enabled by default for development
builds and disabled for production builds unless explicilty enabled.

  • Source/cmake/OptionsGTK.cmake:

Tools:

  • CMakeLists.txt: Build testing tools only for developer builds,

but MiniBrowser when ENABLE_MINIBROWSER option is ON.

  • MiniBrowser/gtk/CMakeLists.txt: Only add

-DWEBKIT_INJECTED_BUNDLE_PATH to the build for developer builds,
and add a rule to install the MiniBrowser.

  • MiniBrowser/gtk/main.c:

(main): Only set WEBKIT_INJECTED_BUNDLE_PATH env var for developer
builds.

2:06 AM Changeset in webkit [181529] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.8

Merge r181392 - [GTK] Do not look for child processes in the UI process binary path
https://bugs.webkit.org/show_bug.cgi?id=135752

Reviewed by Gustavo Noronha Silva.

.:

  • Source/cmake/OptionsGTK.cmake: Add -DDEVELOPMENT_BUILD=1 to the

build for development builds.

Source/WebKit2:

It's only useful for internal tools and tests, but never when
installed, since we don't install the processes in the bin dir but
in the libexec dir.

  • Shared/gtk/ProcessExecutablePathGtk.cpp:

(WebKit::findWebKitProcess): Only look or the executables in the
UI process binary path or WEBKIT_EXEC_PATH for development builds.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(injectedBundleDirectory): Only check
WEBKIT_INJECTED_BUNDLE_PATH env var for development builds.

1:42 AM Changeset in webkit [181528] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.8

Merge r181387 - Inline block children do not have correct baselines if their children are also block elements
https://bugs.webkit.org/show_bug.cgi?id=142559

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-03-11
Reviewed by Darin Adler.

Source/WebCore:

Perform the same computation on child block elements as child inline elements.

Test: fast/text/baseline-inline-block-block-children.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::inlineBlockBaseline):

LayoutTests:

  • fast/text/baseline-inline-block-block-children-expected.html: Added.
  • fast/text/baseline-inline-block-block-children.html: Added.
1:16 AM Changeset in webkit [181527] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r181385 - [CMake][GStreamer] Building EFL or GTK with ENABLE_VIDEO and without ENABLE_WEB_AUDIO is broken.
https://bugs.webkit.org/show_bug.cgi?id=142577

Reviewed by Carlos Garcia Campos.

No new tests, this is a build fix.

  • PlatformEfl.cmake: Include GSTREAMER_AUDIO_LIBRARIES on the link step both for ENABLE_VIDEO and ENABLE_WEB_AUDIO.
  • PlatformGTK.cmake: Idem.
12:40 AM WebKitGTK/2.8.x edited by tpopela@redhat.com
(diff)
12:21 AM Changeset in webkit [181526] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed EFL gardening on 16th Mar.

Mark attachment tests to missing, Set writing mode tests to failure.
Unskip fast/forms/textfield-overflow-by-value-update.html which is
passing on EFL bot.

  • platform/efl/TestExpectations:

Mar 15, 2015:

11:51 PM Changeset in webkit [181525] by benjamin@webkit.org
  • 14 edits
    6 adds in trunk

CSS: fix the case-insensitive matching of the attribute selectors Begin, End and Hyphen
https://bugs.webkit.org/show_bug.cgi?id=142715

Reviewed by Brent Fulgham.

Source/WebCore:

Fix attribute matching with:
-Begin: [a=b].
-End: [a$=b].
-Hyphen: [a|=b].

Tests: fast/selectors/attribute-endswith-value-matching-is-ascii-case-insensitive.html

fast/selectors/attribute-hyphen-value-matching-is-ascii-case-insensitive.html
fast/selectors/attribute-startswith-value-matching-is-ascii-case-insensitive.html

  • css/SelectorChecker.cpp:

(WebCore::attributeValueMatches):
I forgot to change CSSSelector::Exact in my last patch.
The tests could not catch that since we use the CSS JIT almost everywhere.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::attributeValueBeginsWith):
(WebCore::SelectorCompiler::attributeValueEndsWith):
(WebCore::SelectorCompiler::attributeValueMatchHyphenRule):

Source/WTF:

Add the necessary infrastructure to test startsWith() and endsWith() with
ASCII case-insentive comparisons.

  • wtf/text/AtomicString.h:

(WTF::AtomicString::startsWith):
(WTF::AtomicString::startsWithIgnoringASCIICase):
(WTF::AtomicString::endsWith):
(WTF::AtomicString::endsWithIgnoringASCIICase):

  • wtf/text/StringCommon.h:

(WTF::loadUnaligned):
(WTF::equal):
I moved the low level equal() code from StringImpl to StringCommon
since it is used by both StringImpl and StringView.

(WTF::equalCommon):
(WTF::equalIgnoringASCIICaseCommon):
Ideally we should drop the "Common" part of the name but StringView
wants this inline for some reason. I prefered keeping the current behavior
since I don't know how StringView's matching performance was evaluated.

(WTF::startsWith):
(WTF::startsWithIgnoringASCIICase):
(WTF::endsWith):
(WTF::endsWithIgnoringASCIICase):
Make all that code shared between StringView and Stringimpl.

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::startsWith):
(WTF::StringImpl::startsWithIgnoringASCIICase):
(WTF::StringImpl::endsWith):
(WTF::StringImpl::endsWithIgnoringASCIICase):
(WTF::equal):
(WTF::stringImplContentEqual): Deleted.

  • wtf/text/StringImpl.h:

(WTF::loadUnaligned): Deleted.
(WTF::equal): Deleted.

  • wtf/text/StringView.cpp:

(WTF::StringView::startsWith):
(WTF::StringView::startsWithIgnoringASCIICase):
(WTF::StringView::endsWith):
(WTF::StringView::endsWithIgnoringASCIICase):

  • wtf/text/StringView.h:

Since those are new, we can safely make them out-of-line and
evaluate the inlining impact as needed.

  • wtf/text/WTFString.h:

(WTF::String::startsWithIgnoringASCIICase):
(WTF::String::endsWith):
(WTF::String::endsWithIgnoringASCIICase):

Tools:

  • TestWebKitAPI/Tests/WTF/StringImpl.cpp:

(TestWebKitAPI::TEST):

LayoutTests:

  • fast/selectors/attribute-endswith-value-matching-is-ascii-case-insensitive-expected.txt: Added.
  • fast/selectors/attribute-endswith-value-matching-is-ascii-case-insensitive.html: Added.
  • fast/selectors/attribute-hyphen-value-matching-is-ascii-case-insensitive-expected.txt: Added.
  • fast/selectors/attribute-hyphen-value-matching-is-ascii-case-insensitive.html: Added.
  • fast/selectors/attribute-startswith-value-matching-is-ascii-case-insensitive-expected.txt: Added.
  • fast/selectors/attribute-startswith-value-matching-is-ascii-case-insensitive.html: Added.
11:28 PM Changeset in webkit [181524] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Fixed the iOS build after r181522.

  • page/FrameView.cpp:

(WebCore::FrameView::performPostLayoutTasks):

10:44 PM Changeset in webkit [181523] by aestes@apple.com
  • 5 edits in trunk/Source/WebCore

[Content Filtering] Adopt new NEFilterSource SPI
https://bugs.webkit.org/show_bug.cgi?id=142710
rdar://problem/19023855

Reviewed by Dan Bernstein.

Teach NetworkExtensionContentFilter to use a new, alternate NEFilterSource SPI on platforms where it is available.

  • platform/ContentFilter.cpp:

(WebCore::ContentFilter::types): Renamed HAVE(NE_FILTER_SOURCE) to HAVE(NETWORK_EXTENSION).

  • platform/cocoa/NetworkExtensionContentFilter.h: Renamed member variables to remove redundancy, forward-declared NEFilterSourceStatus,

added a dispatch_semaphore member variable to avoid creating and destroying multiple semaphores, and made m_originalData a SharedBuffer.

  • platform/cocoa/NetworkExtensionContentFilter.mm:

(decisionInfoReplacementData): Returned the replacement data from a decision handler info dictionary.
(WebCore::createNEFilterSource): Created either an old-style or new-style NEFilterSource object.
(WebCore::NetworkExtensionContentFilter::NetworkExtensionContentFilter): Called receivedResponse:decisionHandler: when using the new SPI.
(WebCore::NetworkExtensionContentFilter::~NetworkExtensionContentFilter): Released the dispatch_semaphore.
(WebCore::NetworkExtensionContentFilter::addData): Appended the copied NSData to m_originalData, avoiding an additional copy previously
being made by NSMutableData. Used the new receivedData:decisionHandler: SPI when appropriate.
(WebCore::NetworkExtensionContentFilter::finishedAddingData): Used the new finishedLoadingWithDecisionHandler: SPI when appropriate.
(WebCore::NetworkExtensionContentFilter::needsMoreData): Changed m_neFilterSourceStatus to m_status.
(WebCore::NetworkExtensionContentFilter::didBlockData): Ditto.
(WebCore::NetworkExtensionContentFilter::getReplacementData): Returned the replacement data from NEFilterSource if the load was blocked.
Otherwise, returned the original data.
(WebCore::NetworkExtensionContentFilter::handleDecision): Added a helper to set m_status and m_replacementData, and to signal m_semaphore.

  • platform/spi/cocoa/NEFilterSourceSPI.h: Declared the new NEFilterSource SPI on platforms that support it.
10:34 PM Changeset in webkit [181522] by Brent Fulgham
  • 3 edits
    4 adds in trunk

Scroll snap points are not supported on iframe content
https://bugs.webkit.org/show_bug.cgi?id=142582
<rdar://problem/20121319>

Source/WebCore:

Tested by css3/scroll-snap/scroll-snap-iframe.html

Reviewed by Simon Fraser.

The scroll snap points were not being applied to the iframe contents because the code
that sets up the scroll snap point content is not called for iframes.

To correct this, we need to make sure the snap offsets are set during post-frame layout
for iframes. We also need to make sure (on Mac) that the scroll animator and timers are updated.

  • page/FrameView.cpp:

(WebCore::FrameView::performPostLayoutTasks): Call 'updateSnapOffsets' if the frame is not a
MainFrame. Also notify scroll animators they need to update their snap point settings.

LayoutTests:

Reviewed by Simon Fraser.

  • css3/scroll-snap/resources: Added.
  • css3/scroll-snap/resources/iframe-content.html: Added.
  • css3/scroll-snap/scroll-snap-iframe-expected.txt: Added.
  • css3/scroll-snap/scroll-snap-iframe.html: Added.
10:31 PM Changeset in webkit [181521] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Add the same is<RenderBox> test to KeyframeAnimation::computeExtentOfTransformAnimation()
that ImplicitAnimation::computeExtentOfTransformAnimation() has, and change the latter
to the more canonical is<RenderBox>() form.

Fixes an assertion in animations/animation-on-inline-crash.html

  • page/animation/ImplicitAnimation.cpp:

(WebCore::ImplicitAnimation::computeExtentOfTransformAnimation):

  • page/animation/KeyframeAnimation.cpp:

(WebCore::KeyframeAnimation::computeExtentOfTransformAnimation):

7:26 PM Changeset in webkit [181520] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

And another fix. Thanks to Hunseop Jeong for the fix.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::runPostTypeUpdateTasks):
(WebCore::HTMLInputElement::didMoveToNewDocument):

7:24 PM Changeset in webkit [181519] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix the touch-event build.

  • dom/Document.cpp:

(WebCore::Document::didAddTouchEventHandler):
(WebCore::Document::didRemoveTouchEventHandler):

5:40 PM Changeset in webkit [181518] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Console Scrolls Unexpectedly when Clicking inside un-selected Expanding Object
https://bugs.webkit.org/show_bug.cgi?id=142655

Don't scroll when selection change is triggered by clicking, e.g.
only scroll on arrow up and down key press events.

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype._mousemove):
(WebInspector.LogContentView.prototype._updateMessagesSelection):
(WebInspector.LogContentView.prototype._upArrowWasPressed):
(WebInspector.LogContentView.prototype._downArrowWasPressed):

5:19 PM Changeset in webkit [181517] by Nikita Vasilyev
  • 10 edits
    2 moves in trunk/Source/WebInspectorUI

Web Inspector: Rename ConsoleMessage and ConsoleMessageImpl to LegacyConsoleMessage and LegacyConsoleMessageImpl respectively
https://bugs.webkit.org/show_bug.cgi?id=142712

As a first step of ConsoleMessage refactoring (https://bugs.webkit.org/show_bug.cgi?id=142599):

  • Rename WebInspector.ConsoleMessage class to WebInspector.LegacyConsoleMessage
  • Rename WebInspector.ConsoleMessageImpl class to WebInspector.LegacyConsoleMessageImpl
  • Rename ConsoleMessage.js file to LegacyConsoleMessage.js
  • Rename ConsoleMessageImpl file to LegacyConsoleMessageImpl.js

Reviewed by Joseph Pecoraro.

  • UserInterface/Controllers/JavaScriptLogViewController.js:

(WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessage):

  • UserInterface/Controllers/LogManager.js:

(WebInspector.LogManager.prototype.messageWasAdded):

  • UserInterface/Main.html:
  • UserInterface/Models/DefaultDashboard.js:

(WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType):

  • UserInterface/Views/ConsoleCommandResult.js:

(WebInspector.ConsoleCommandResult):
(WebInspector.ConsoleCommandResult.prototype.toMessageElement):

  • UserInterface/Views/ConsoleGroup.js:

(WebInspector.ConsoleGroup.prototype.render):

  • UserInterface/Views/LegacyConsoleMessage.js: Renamed from Source/WebInspectorUI/UserInterface/Views/ConsoleMessage.js.

(WebInspector.LegacyConsoleMessage):
(WebInspector.LegacyConsoleMessage.prototype.isErrorOrWarning):
(WebInspector.LegacyConsoleMessage.prototype.updateRepeatCount):
(WebInspector.LegacyConsoleMessage.prototype.clone):
(WebInspector.LegacyConsoleMessage.create):

  • UserInterface/Views/LegacyConsoleMessageImpl.js: Renamed from Source/WebInspectorUI/UserInterface/Views/ConsoleMessageImpl.js.

(WebInspector.LegacyConsoleMessageImpl):
(WebInspector.LegacyConsoleMessageImpl.prototype._formatMessage):
(WebInspector.LegacyConsoleMessageImpl.prototype._shouldDumpStackTrace):
(WebInspector.LegacyConsoleMessageImpl.prototype._shouldHideURL):
(WebInspector.LegacyConsoleMessageImpl.prototype._firstNonNativeCallFrame):
(WebInspector.LegacyConsoleMessageImpl.prototype.get message):
(WebInspector.LegacyConsoleMessageImpl.prototype.get formattedMessage):
(WebInspector.LegacyConsoleMessageImpl.prototype._linkifyLocation):
(WebInspector.LegacyConsoleMessageImpl.prototype._linkifyCallFrame):
(WebInspector.LegacyConsoleMessageImpl.prototype.isErrorOrWarning):
(WebInspector.LegacyConsoleMessageImpl.prototype._format):
(WebInspector.LegacyConsoleMessageImpl.prototype._isExpandable):
(WebInspector.LegacyConsoleMessageImpl.prototype._formatParameter):
(WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsValue):
(WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsObject):
(WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsString):
(WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsNode):
(WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsArray):
(WebInspector.LegacyConsoleMessageImpl.prototype._rootPropertyPathForObject):
(WebInspector.LegacyConsoleMessageImpl.prototype._userProvidedColumnNames):
(WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsTable):
(WebInspector.LegacyConsoleMessageImpl.prototype.):
(WebInspector.LegacyConsoleMessageImpl.prototype.stringFormatter):
(WebInspector.LegacyConsoleMessageImpl.prototype.floatFormatter):
(WebInspector.LegacyConsoleMessageImpl.prototype.integerFormatter):
(WebInspector.LegacyConsoleMessageImpl.prototype.styleFormatter):
(WebInspector.LegacyConsoleMessageImpl.prototype.isWhitelistedProperty):
(WebInspector.LegacyConsoleMessageImpl.prototype.append):
(WebInspector.LegacyConsoleMessageImpl.prototype._formatWithSubstitutionString):
(WebInspector.LegacyConsoleMessageImpl.prototype.decorateMessageElement):
(WebInspector.LegacyConsoleMessageImpl.prototype.toMessageElement):
(WebInspector.LegacyConsoleMessageImpl.prototype._populateStackTraceTreeElement):
(WebInspector.LegacyConsoleMessageImpl.prototype.updateRepeatCount):
(WebInspector.LegacyConsoleMessageImpl.prototype.toString):
(WebInspector.LegacyConsoleMessageImpl.prototype.get text):
(WebInspector.LegacyConsoleMessageImpl.prototype.isEqual):
(WebInspector.LegacyConsoleMessageImpl.prototype.get stackTrace):
(WebInspector.LegacyConsoleMessageImpl.prototype.clone):
(WebInspector.LegacyConsoleMessageImpl.prototype.get levelString):
(WebInspector.LegacyConsoleMessageImpl.prototype.get clipboardPrefixString):
(WebInspector.LegacyConsoleMessageImpl.prototype.toClipboardString):

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype.didAppendConsoleMessage):
(WebInspector.LogContentView.prototype._messageAdded):
(WebInspector.LogContentView.prototype._filterMessages):
(WebInspector.LogContentView.prototype._reappendProvisionalMessages):

  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
5:16 PM Changeset in webkit [181516] by commit-queue@webkit.org
  • 5 edits in trunk

Web Inspector: Better handle displaying -0
https://bugs.webkit.org/show_bug.cgi?id=142708

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-15
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Modeled after a blink change:

Patch by <aandrey@chromium.org>
DevTools: DevTools: Show -0 for negative zero in console
https://src.chromium.org/viewvc/blink?revision=162605&view=revision

  • inspector/InjectedScriptSource.js:

When creating a description string, or preview value string
for -0, be sure the string is "-0" and not "0".

LayoutTests:

Add tests for -0 in different places.
I don't understand yet why the test says "0" for
the property previews of "-0". Everything behaves
correctly, but I can't see to make the test show
the right value appear in the test. That is worth
investigating separately though.

  • inspector/model/remote-object-expected.txt:
  • inspector/model/remote-object.html:
4:07 PM Changeset in webkit [181515] by Simon Fraser
  • 33 edits
    20 adds in trunk

Reduce the side-effects of animations turning off overlap testing
https://bugs.webkit.org/show_bug.cgi?id=92791

Reviewed by Dean Jackson.

Source/WebCore:

When a layer is running a transition or animation of the transform property,
we would simply disable overlap testing for later layers, which had the side-effect
of promoting lots of unrelated elements into layers temporarily.

Fix by maintaining overlap, but computing an overlap extent that takes the animation
into account.

Rotations are currently treated as full rotations. If an extent for the overlap is
hard to compute (e.g. 3d transforms, or matrix animations with a rotation component),
then we fall back to the current behavior.

Tests: compositing/layer-creation/mismatched-rotated-transform-animation-overlap.html

compositing/layer-creation/mismatched-rotated-transform-transition-overlap.html
compositing/layer-creation/mismatched-transform-transition-overlap.html
compositing/layer-creation/multiple-keyframes-animation-overlap.html
compositing/layer-creation/scale-rotation-animation-overlap.html
compositing/layer-creation/scale-rotation-transition-overlap.html
compositing/layer-creation/translate-animation-overlap.html
compositing/layer-creation/translate-scale-animation-overlap.html
compositing/layer-creation/translate-scale-transition-overlap.html
compositing/layer-creation/translate-transition-overlap.html

  • page/animation/AnimationBase.cpp:

(WebCore::containsRotation):
(WebCore::AnimationBase::computeTransformedExtentViaTransformList): When we have matched
transform lists, we can map a rectangle through the various operations. Transform-origin
is used to shift the origin of the box first, and then unshift after. If we encounter
a rotation, for now assume it's a full rotation (a future patch could tighten this up).
(WebCore::AnimationBase::computeTransformedExtentViaMatrix): If we're using matrix
interpolation, we have to decompose the matrix to see if there's any rotation component,
and, if there is, fall back to current behavior.

  • page/animation/AnimationBase.h:
  • page/animation/AnimationController.cpp:

(WebCore::AnimationControllerPrivate::computeExtentOfAnimation):
(WebCore::AnimationController::computeExtentOfAnimation):

  • page/animation/AnimationController.h:
  • page/animation/AnimationControllerPrivate.h:
  • page/animation/CompositeAnimation.cpp:

(WebCore::CompositeAnimation::computeExtentOfTransformAnimation): Ask active keyframe
animations and transitions to compute the bounds extent.

  • page/animation/CompositeAnimation.h:
  • page/animation/ImplicitAnimation.cpp:

(WebCore::ImplicitAnimation::computeExtentOfTransformAnimation): Compute the extent
of the start and end transforms, and union them.

  • page/animation/ImplicitAnimation.h:
  • page/animation/KeyframeAnimation.cpp:

(WebCore::KeyframeAnimation::animate):
(WebCore::KeyframeAnimation::getAnimatedStyle): Some nullptr goodness.
(WebCore::KeyframeAnimation::computeExtentOfTransformAnimation): Compute an extent
for each keyframe, and take their union.

  • page/animation/KeyframeAnimation.h:
  • platform/graphics/GeometryUtilities.cpp:

(WebCore::euclidianDistance): Use Pythagoras to compute a distance.
(WebCore::boundsOfRotatingRect): Given a rect whose location is relative
to the rotation origin, compute a bounds for the rotated rect by computing
the furthest corner from the origin, and sweeping out a circle.

  • platform/graphics/GeometryUtilities.h:
  • platform/graphics/transforms/Matrix3DTransformOperation.h:
  • platform/graphics/transforms/MatrixTransformOperation.h:
  • platform/graphics/transforms/PerspectiveTransformOperation.h:
  • platform/graphics/transforms/RotateTransformOperation.h:
  • platform/graphics/transforms/ScaleTransformOperation.h:
  • platform/graphics/transforms/SkewTransformOperation.h:
  • platform/graphics/transforms/TransformOperation.h:

(WebCore::TransformOperation::isAffectedByTransformOrigin):

  • platform/graphics/transforms/TransformOperations.cpp:

(WebCore::TransformOperations::affectedByTransformOrigin): Ask all the operations if
they are affected by transform-origin.
(WebCore::TransformOperations::blendByMatchingOperations): nullptr.

  • platform/graphics/transforms/TransformOperations.h:
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::pushMappingToContainer): Comment fix. Only take transforms into account
if the geometry map says so (which is most of the time).

  • rendering/RenderGeometryMap.cpp:

(WebCore::RenderGeometryMap::mapToContainer): RenderLayerCompositor is now using the
geometry map in a way that is incompatible with this assertion; it deliberately ignores
transforms sometimes, so we can't easily verify that the mapping matches mapping through
renderers.
(WebCore::RenderGeometryMap::pushMappingsToAncestor): Save and restore the UseTransforms
bit.

  • rendering/RenderGeometryMap.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::boundingBox): Whitespace.
(WebCore::RenderLayer::getOverlapBoundsIncludingChildrenAccountingForTransformAnimations): Helper
function to get the bounds of a layer, including descendants, when a transform animation is running.

  • rendering/RenderLayer.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::CompositingState::CompositingState): Add a ancestorHasTransformAnimation
flag to detect nested animated transforms.
(WebCore::RenderLayerCompositor::OverlapExtent::knownToBeHaveExtentUncertainty): This returns true when
the layer is animating transform, and the transition/animation is such that we can't easily compute the
bounds of the animation.
(WebCore::RenderLayerCompositor::computeExtent): const RenderLayer&.
Compute the animated bounds if there's a transform animation running.
(WebCore::RenderLayerCompositor::addToOverlapMap): const RenderLayer&
(WebCore::RenderLayerCompositor::addToOverlapMapRecursive): const RenderLayer&
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
Delay the call to pushMappingsToAncestor() until knowing if there's a transform animation running, and
if there is, push the mapping while ignoring transforms (since the transform is implicitly taken into account
for overlap via the computed animated bounds).
If this layer is running a transform animation, set the childState.ancestorHasTransformAnimation flag so
that descendants will know (nested transform animations fall back to current behavior).
The if (.... && isRunningAcceleratedTransformAnimation()) is what previously caused us to turn off overlap
testing in the face of animations. That now only happens if we were unable to easily compute the animation bounds.
(WebCore::RenderLayerCompositor::isRunningTransformAnimation): This previously tested whether an accelerated animation
was running, but that's timing sensitive; AnimationController can start the transform animation, but it's not yet
considered accelerated until we get an async callback from GraphicsLayer, yet this code needed to know if the
animation was running.
Since transform animations are always accelerated, we can just test for a running transform animation.
(WebCore::RenderLayerCompositor::isRunningAcceleratedTransformAnimation): Deleted.

  • rendering/RenderLayerCompositor.h:
  • rendering/style/RenderStyle.cpp:

(WebCore::requireTransformOrigin): Some FIXME comments.

LayoutTests:

These test overlay an animated element with a grid of position: relative squares.
These reveal the overlap area by selectively getting composited.

  • compositing/layer-creation/animation-overlap-with-children-expected.txt:
  • compositing/layer-creation/mismatched-rotated-transform-animation-overlap-expected.txt: Added.
  • compositing/layer-creation/mismatched-rotated-transform-animation-overlap.html: Added.
  • compositing/layer-creation/mismatched-rotated-transform-transition-overlap-expected.txt: Added.
  • compositing/layer-creation/mismatched-rotated-transform-transition-overlap.html: Added.
  • compositing/layer-creation/mismatched-transform-transition-overlap-expected.txt: Added.
  • compositing/layer-creation/mismatched-transform-transition-overlap.html: Added.
  • compositing/layer-creation/multiple-keyframes-animation-overlap-expected.txt: Added.
  • compositing/layer-creation/multiple-keyframes-animation-overlap.html: Added.
  • compositing/layer-creation/scale-rotation-animation-overlap-expected.txt: Added.
  • compositing/layer-creation/scale-rotation-animation-overlap.html: Added.
  • compositing/layer-creation/scale-rotation-transition-overlap-expected.txt: Added.
  • compositing/layer-creation/scale-rotation-transition-overlap.html: Added.
  • compositing/layer-creation/translate-animation-overlap-expected.txt: Added.
  • compositing/layer-creation/translate-animation-overlap.html: Added.
  • compositing/layer-creation/translate-scale-animation-overlap-expected.txt: Added.
  • compositing/layer-creation/translate-scale-animation-overlap.html: Added.
  • compositing/layer-creation/translate-scale-transition-overlap-expected.txt: Added.
  • compositing/layer-creation/translate-scale-transition-overlap.html: Added.
  • compositing/layer-creation/translate-transition-overlap-expected.txt: Added.
  • compositing/layer-creation/translate-transition-overlap.html: Added.
3:47 PM Changeset in webkit [181514] by Simon Fraser
  • 11 edits in trunk/Source

Clean up related to wheelEvent names
https://bugs.webkit.org/show_bug.cgi?id=142713

Reviewed by Anders Carlsson.

Add EventNames::isWheelEventType() and use it in places that test for the
two wheel event names.

Source/WebCore:

  • dom/Document.cpp:

(WebCore::Document::didAddWheelEventHandler):
(WebCore::Document::didRemoveWheelEventHandler):

  • dom/Document.h: No need for exports (I grepped). Pass the Node*, which

will be used in a later patch.

  • dom/EventNames.h:

(WebCore::EventNames::isWheelEventType):

  • dom/Node.cpp:

(WebCore::Node::didMoveToNewDocument):
(WebCore::tryAddEventListener):
(WebCore::tryRemoveEventListener):
(WebCore::Node::defaultEventHandler):

  • html/shadow/MediaControlsApple.cpp:

(WebCore::MediaControlsAppleEventListener::handleEvent):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::removeEventListener):

  • page/ios/FrameIOS.mm:

(WebCore::ancestorRespondingToScrollWheelEvents): Remove dead code.

Source/WebKit2:

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::handleEvent):

1:42 PM Changeset in webkit [181513] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Remove a redundant repaint when a layer becomes composited
https://bugs.webkit.org/show_bug.cgi?id=142711

Reviewed by Anders Carlsson.

RenderLayerCompositor::computeCompositingRequirements() doesn't need to call
repaintOnCompositingChange() when a layer is going to become composited,
because updateBacking() does exactly the same thing. I used an assertion
and ran the tests to ensure this wasn't a behavior change.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::computeCompositingRequirements):

12:43 PM Changeset in webkit [181512] by benjamin@webkit.org
  • 19 edits
    3 adds in trunk

Change the exact attribute matching to be ASCII case-insensitive
https://bugs.webkit.org/show_bug.cgi?id=142609

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-03-15
Reviewed by Darin Adler.

Source/WebCore:

In CSS, testing attribute values should be ASCII case-insensitive,
previously we were using full unicode case conversion.

Test: fast/selectors/attribute-exact-value-match-is-ascii-case-insensitive.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseKeyframeSelector):
The CSS parser has its own fast version for ASCII case insensitive.
This code was using the general equalIgnoringASCIICase() which was causing name conflicts,
change that to the normal CSS parser version.

  • css/SelectorCheckerTestFunctions.h:

(WebCore::equalIgnoringASCIICase): Deleted.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueExactMatching):

Source/WTF:

Add support for ASCII case insensitive comparisons to all the string
classes.

The new file StringCommon.h has the common algorithm to avoid repeating
the same code with different types.

  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • wtf/ASCIICType.h:

(WTF::toASCIILower):

  • wtf/CMakeLists.txt:
  • wtf/text/AtomicString.h:

(WTF::equalIgnoringASCIICase):

  • wtf/text/StringCommon.h: Added.

(WTF::equalIgnoringASCIICase):
(WTF::equalIgnoringASCIICaseCommon):

  • wtf/text/StringImpl.cpp:

(WTF::equalIgnoringASCIICase):
(WTF::equalIgnoringASCIICaseNonNull):
(WTF::StringImpl::utf8Impl):
(WTF::StringImpl::defaultWritingDirection): Deleted.
(WTF::StringImpl::adopt): Deleted.
(WTF::StringImpl::sizeInBytes): Deleted.
(WTF::putUTF8Triple): Deleted.
(WTF::StringImpl::utf8): Deleted.

  • wtf/text/StringImpl.h:

(WTF::StringImpl::isSubString): Deleted.
(WTF::find): Deleted.

Tools:

  • TestWebKitAPI/Tests/WTF/StringImpl.cpp:
  • TestWebKitAPI/Tests/WTF/StringView.cpp:

LayoutTests:

  • fast/selectors/attribute-exact-value-match-is-ascii-case-insensitive-expected.txt: Added.
  • fast/selectors/attribute-exact-value-match-is-ascii-case-insensitive.html: Added.
12:30 PM Changeset in webkit [181511] by mitz@apple.com
  • 6 edits in trunk/Source/WebKit2

[iOS] Presenting a modal sheet on top of a WKWebView causes it to lose focused, active state
https://bugs.webkit.org/show_bug.cgi?id=142702

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView becomeFirstResponder]): Override to delegate first responder status to the
WKContentView if possible.
(-[WKWebView _retainActiveFocusedState]): New SPI that prevents view hierarchy changes from
affecting the active and focused state of the view. Increments a counter ivar and returns a
completion block (which callers must call when they’re done) that decrements it back.

  • UIProcess/API/Cocoa/WKWebViewInternal.h: Declared new _activeFocusedStateRetainCount ivar

with @package access.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h: Declared new method.
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::isViewWindowActive): Return true if active/focused state is to be
maintained despite not being visible.
(WebKit::PageClientImpl::isViewFocused): Return true if active/focused state is to be
maintained despite not being active.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView resignFirstResponder]): Don’t blur the assisted node if active/focused
state is to be maintained.

12:13 PM Changeset in webkit [181510] by Brent Fulgham
  • 5 edits in trunk/Source/WebCore

scroll snap points do not properly account for zoomed pages
https://bugs.webkit.org/show_bug.cgi?id=142706
<rdar://problem/20165771>

Reviewed by Anders Carlsson.

When a WebView is zoomed (such that it has a non-unity pageScaleFactor), we need to account for this
scaling value when selecting our correct scroll snap point target, as well as when specifying the
pixel location for our animation to target.

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::pageScaleFactor): Added new delegate method.

  • platform/cocoa/ScrollController.h:

(WebCore::ScrollControllerClient::pageScaleFactor): Added new default delegate.

  • platform/cocoa/ScrollController.mm:

(WebCore::ScrollController::beginScrollSnapAnimation): Calculate the correct scroll target
based on the page scale factor.

11:16 AM WebKitGTK/2.6.x edited by berto@igalia.com
(diff)
10:52 AM Changeset in webkit [181509] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Document more debug assertions for later review.

  • platform/win/TestExpectations:
10:45 AM Changeset in webkit [181508] by Csaba Osztrogonác
  • 41 edits in trunk/Source/WebCore

Fix run-bindings-tests on the WinCairo bot
https://bugs.webkit.org/show_bug.cgi?id=142588

Reviewed by Alex Christensen.

  • bindings/scripts/test/JS/JSFloat64Array.cpp: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSFloat64Array.h: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSTestActiveDOMObject.h: Modified property svn:eol-style.
  • bindings/scripts/test/JS/JSTestCallback.cpp: Modified property svn:eol-style.
  • bindings/scripts/test/JS/JSTestCallback.h: Modified property svn:eol-style.
  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSTestCustomNamedGetter.h: Modified property svn:eol-style.
  • bindings/scripts/test/JS/JSTestEventConstructor.cpp: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSTestEventConstructor.h: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSTestEventTarget.cpp: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSTestEventTarget.h: Modified property svn:eol-style.
  • bindings/scripts/test/JS/JSTestException.cpp: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSTestException.h: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.h: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSTestImplements.cpp: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSTestImplements.h: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSTestInterface.cpp: Modified property svn:eol-style.
  • bindings/scripts/test/JS/JSTestInterface.h: Modified property svn:eol-style.
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Modified property svn:eol-style.
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.h: Modified property svn:eol-style.
  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSTestNamedConstructor.h: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSTestNondeterministic.cpp: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSTestNondeterministic.h: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSTestObj.cpp: Modified property svn:eol-style.
  • bindings/scripts/test/JS/JSTestObj.h: Modified property svn:eol-style.
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.h: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Modified property svn:eol-style.
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: Modified property svn:eol-style.
  • bindings/scripts/test/JS/JSTestSupplemental.cpp: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSTestSupplemental.h: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSTestTypedefs.cpp: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSTestTypedefs.h: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSattribute.cpp: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSattribute.h: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSreadonly.cpp: Added property svn:eol-style.
  • bindings/scripts/test/JS/JSreadonly.h: Added property svn:eol-style.
10:00 AM Changeset in webkit [181507] by Darin Adler
  • 74 edits in trunk

More event handler improvements
https://bugs.webkit.org/show_bug.cgi?id=142701

Reviewed by Anders Carlsson.

Source/WebCore:

These are the improvements:

  • Use EventHandler rather than EventListener as the the type for event handler attributes. This matches the HTML specification, and also makes sense, since EventListener means something else (and we use it to mean that!). Also renamed JSWindowEventListener to WindowEventHandler. Even though this only affects the JavaScript code generated, it's not really a JavaScript-specific flag.
  • Tweak formatting on addEventListener/removeEventListener/dispatchEvent in all the IDL files where the appear. This includes changing the spelling from "evt" to "event". Some day we should fix this so these functions only need to appear in EventTarget.idl.
  • Tweak formatting a bit on the IDL files we had to modify anyway.
  • Use [Conditional] more often and #if less often in IDL files.
  • Added a new [DocumentEventHandler] attribute for the selectionchange event. This involved adding new event handler attribute functions to JSEventListener.h for use by the JavaScript bindings.
  • Removed a little unused code from the JavaScript code bindings generator.
  • Improved the mechanism used by HTMLElement and SVGElement to share the list of content attributes that are event handlers so there is only one map rather than two. Made a similar mechanism so that HTMLBodyElement and HTMLFrameSetElement can share the list of window event handlers.
  • Followed the HTML specification by putting all the event handler support in the HTMLElement class rather than having event handlers apply only a the particular element that uses those events. We already did this for most of our event handlers, but we are now doing it for all of them.
  • Modules/battery/BatteryManager.idl: Use EventHandler instead of EventListener

as appropriate. Also reformatted addEventListener/removeEventListener/dispatchEvent.

  • Modules/encryptedmedia/MediaKeySession.idl: Ditto.
  • Modules/indexeddb/IDBDatabase.idl: Ditto.
  • Modules/indexeddb/IDBOpenDBRequest.idl: Ditto.
  • Modules/indexeddb/IDBRequest.idl: Ditto.
  • Modules/indexeddb/IDBTransaction.idl: Ditto.
  • Modules/mediastream/MediaStream.idl: Ditto.
  • Modules/mediastream/MediaStreamTrack.idl: Ditto.
  • Modules/mediastream/RTCDTMFSender.idl: Ditto.
  • Modules/mediastream/RTCDataChannel.idl: Ditto.
  • Modules/mediastream/RTCPeerConnection.idl: Ditto.
  • Modules/speech/SpeechSynthesisUtterance.idl: Ditto.
  • Modules/webaudio/AudioBufferSourceNode.idl: Ditto.
  • Modules/webaudio/AudioContext.idl: Ditto.
  • Modules/webaudio/OscillatorNode.idl: Ditto.
  • Modules/webaudio/ScriptProcessorNode.idl: Ditto.
  • Modules/websockets/WebSocket.idl: Ditto.
  • css/FontLoader.idl: Ditto.
  • dom/EventListener.idl: Ditto.
  • dom/EventTarget.idl: Ditto.
  • dom/MessagePort.idl: Ditto.
  • dom/Node.idl: Ditto.
  • dom/WebKitNamedFlow.idl: Ditto.
  • fileapi/FileReader.idl: Ditto.
  • html/MediaController.idl: Ditto.
  • html/track/AudioTrackList.idl: Ditto.
  • html/track/TextTrackCue.idl: Ditto.
  • html/track/TextTrackList.idl: Ditto.
  • html/track/VideoTrackList.idl: Ditto.
  • loader/appcache/DOMApplicationCache.idl: Ditto.
  • page/EventSource.idl: Ditto.
  • page/Performance.idl: Ditto.
  • workers/AbstractWorker.idl: Ditto.
  • workers/DedicatedWorkerGlobalScope.idl: Ditto.
  • workers/Worker.idl: Ditto.
  • workers/WorkerGlobalScope.idl: Ditto.
  • xml/XMLHttpRequest.idl: Ditto.
  • xml/XMLHttpRequestUpload.idl: Ditto.
  • Modules/notifications/Notification.idl: Did the above, but also used

[Conditional] instead of #if throughout.

  • html/track/TextTrack.idl: Ditto.
  • Modules/webaudio/AudioNode.idl: Tweaked paragraphing of this file.
  • bindings/js/JSEventListener.cpp:

(WebCore::windowEventHandlerAttribute): Renamed to take the word "forwarded"
out of this. More closely matches the terminology used in IDL files and the
HTML specification.
(WebCore::setWindowEventHandlerAttribute): Ditto.
(WebCore::documentEventHandlerAttribute): Added.
(WebCore::setDocumentEventHandlerAttribute): Added.

  • bindings/js/JSEventListener.h: Updated for above changes.
  • bindings/objc/PublicDOMInterfaces.h: Renamed argument from "evt" to "event".
  • bindings/scripts/CodeGeneratorGObject.pm:

(SkipAttribute): Skip attributes of type "EventHandler" rather than attributes
of type "EventListener".

  • bindings/scripts/CodeGeneratorObjC.pm:

(SkipAttribute): Ditto.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation): Look for the type EventHandler instead of the type
EventListener for event handler attributes. Also added code to handle the new
DocumentEventHandler, and use the name WindowEventHandler instead of the name
JSWindowEventListener. Removed unneeded preflight check to see if we have
writable attributes; it was not doing us any good. (That caused a lot of code
to be un-indented and makes the diff hard to read.)

  • bindings/scripts/IDLAttributes.txt: Removed JSWindowEventListener, and added

WindowEventHandler and DocumentEventHandler.

  • bindings/scripts/test/TestObj.idl: Use the type EventHandler instead of the

type EventListener. The test output is unchanged, though.

  • dom/Document.idl: Got rid of the conditionals and merged all the event handler

attributes into a single sorted, unconditional list. Added some that were missing,
as detected by the event-handler-attributes.html test.

  • dom/Element.idl: Ditto. This includes moving attributes here that were formerly

only in certain element classes. Note that the script event handler attribute
support is still here, even though it should be in HTMLElement and SVGElement
instead. There's a FIXME about that, but no real urgency in fixing it.

  • html/HTMLAttributeNames.in: Added onmessage. Previously, the support for this

was from the script attribute only, not the content attribute.

  • html/HTMLBodyElement.cpp:

(WebCore::HTMLBodyElement::createWindowEventHandlerNameMap): Added. This
contains the list of all the window event handlers that can be set on a body
or frameset element and which are triggered by events on the window.
(WebCore::HTMLBodyElement::eventNameForWindowEventHandlerAttribute): Added.
This is the function to call to use the map above. Given an attribute, it
returns either null if it is not a window event handler attribute, or the
event type if it is one.
(WebCore::HTMLBodyElement::parseAttribute): Updated to use the new
functions above. Handling of these attributes is now unconditional, but
also we don't have to keep the nested if statements here up to date, just
the list of event handler attributes names in the map create function above.

  • html/HTMLBodyElement.h: Added public eventNameForWindowEventHandlerAttribute

and private createWindowEventHandlerNameMap functions.

  • html/HTMLBodyElement.idl: Updated to use WindowEventHandler, DocumentEventHandler,

and EventHandler. Also made everything unconditional. Also filled out the list here
to match the list handled as content attributes. All covered by the test.

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::createEventHandlerNameMap): Added. Replaces the old
populate function. Changed the list of event handler attributes to be a bit more
complete, and to be entirely unconditional. Also refactored this function to use
a new populateEventHandlerNameMap helper, shared with HTMLBodyElement.
(WebCore::HTMLElement::populateEventHandlerNameMap): Added. Factors out the code
that both this class and HTMLBodyElement use to build event handler name maps.
(WebCore::HTMLElement::eventNameForEventHandlerAttribute): Added. This is the
function that call to use the map above. Given an attribute it returns either
null if it is not an event handler attribute, or the event type if it is one.
This is actually two functions. One is a protected function for use by both this
class and HTMLBodyElement so they can share things like the optimization to look
for the "on" prefix. The other is the public function that we actually use in
HTMLElement and SVGElement.
(WebCore::HTMLElement::editabilityFromContentEditableAttr): Tweaked and refactored
to use lineageOfType. Would have been even simpler if this took an element instead
of a node. Unrelated to the event handler changes.
(WebCore::HTMLElement::parseAttribute): Removed long-obsolete code that decided
whether to call through to the base class. The base class function is empty and
never needs to be called, and in any case there is no value in doing work to
decide whether to call through to an empty function. Changed the style of the
function to use early return instead of else. Worth considering whether we want
to return early or call through to base class in this family of functions. It's
more efficient to return early, but doesn't work well if both the derived class
and base class want to respond to changes to the same attribute. The new logic
for event handler attributes is more straightforward than the old, since the
eventNameForEventHandlerAttribute has the logic.
(WebCore::HTMLElement::textToFragment): Tweaked and refactored a bit, and also
changed to return a Ref since this never fails and needs to return null.

  • html/HTMLElement.h: Updated for above changes. This includes a template version

of populateEventHandlerNameMap that extracts the array size at compile time and
passes it to the non-template function that does the work.

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::parseAttribute): Removed unneeded code to handle
event handler attributes handled by HTMLElement.

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::parseAttribute): Ditto.

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::parseAttribute): Ditto.

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::parseAttribute): Ditto.

  • html/HTMLScriptElement.cpp:

(WebCore::HTMLScriptElement::parseAttribute): Ditto.

  • html/HTMLFrameSetElement.cpp:

(WebCore::HTMLFrameSetElement::parseAttribute): Changed function to early return
style, and added FIXMEs about the many problems in the attribute handling code.
Replaced all the code to handle window event handlers with a new bit of code that
calls HTMLBodyElement::eventNameForWindowEventHandlerAttribute.

  • html/HTMLFrameSetElement.idl: Changed to match the list of window event handlers

in HTMLBodyElement.idl, although I did not add the document event handler here.
As in the various other cases, having some extra event handlers does not seem to
do harm and this is covered by the event-handler-attributes.html test.

  • html/HTMLMarqueeElement.idl: Renamed EventListener to EventHandler in comment.
  • page/DOMWindow.idl: As with Element and Document, removed conditionals, and

filled out the list of event handlers so all the tests in
event-handler-attributes.html will pass.

  • svg/SVGElement.cpp:

(WebCore::SVGElement::parseAttribute): Changed code to the early return style,
and replaced the event handler attribute code with new much simpler code that
uses the new HTMLElement::eventNameForEventHandlerAttribute. Also changed the
way we call through to base classes. Just call through to the
SVGLangSpace::parseAttribute function unconditionally, and don't try to use
early return style to arbitrate among base classes. We should make this
simplification throughout the SVG code; there's no need for the complexity
that was there before just to cut down slightly on calls through to base
class parseAttribute functions.

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::parseAttribute): Changed some of this code to the
early return style and corrected some comments about the window event handler
attributes here. These could use some further testing and might later need to be
properly supported when the attributes are set in script, not just in content.

  • svg/SVGScriptElement.cpp:

(WebCore::SVGScriptElement::isSupportedAttribute): Deleted.
(WebCore::SVGScriptElement::parseAttribute): Changed this function to use the
early return style and also to call through to all three base classes. This is
a pattern we should follow elsewhere in SVG to simplify the code. There is no
need for the supportedAttributes sets like the one in this calass, and the code
is unnecessarily complex, perhaps in an attempt to optimize performance. I'm
pretty sure the old code was slower than this new code will be. No need for the
extra hash table lookup every time. Also removed handling of event handler
attribute which is taken care of by SVGElement now.
(WebCore::SVGScriptElement::svgAttributeChanged): Made similar changes for
the same reason as in parseAttribute. This function really needs a new name:
It's the same as parseAttribute, except it's also used when implementing
changes due to SVG animation.

  • svg/SVGScriptElement.h: Removed isSupportedAttribute.

LayoutTests:

  • fast/dom/event-handler-attributes-expected.txt: Updated to expect more passing tests,

and to accomodate some changes to what's tested and expected.

  • fast/dom/event-handler-attributes.html: Update test to cover more events since we

no longer compile the event handlers conditionally; it's OK to have some handlers for
events even if the features in question aren't turned on.

8:05 AM Changeset in webkit [181506] by ddkilzer@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

[iOS] REGRESSION (r181191): Add results for css3/blending/svg-blend-plus-lighter.html

Regressed with:

Support "plus-lighter" in mix-blend mode
<https://bugs.webkit.org/show_bug.cgi?id=142416>
<rdar://problem/19993979>

  • platform/ios-simulator/css3/blending/svg-blend-plus-lighter-expected.txt: Add.

Mar 14, 2015:

10:32 PM Changeset in webkit [181505] by Simon Fraser
  • 28 edits in trunk/Source

Clean up use of flags in localToContainer-type functions
https://bugs.webkit.org/show_bug.cgi?id=142704

Reviewed by Alexey Proskuryakov.

Source/WebCore:

RenderObject::localToContainerQuad() had the questionable behavior of always
enforcing UseTransforms in the flags. However, a future patch will need to call
localToContainerQuad() without this flag.

Fix by requiring callers of localToAbsoluteQuad(), localToContainerQuad(), localToContainerPoint(),
and absoluteToLocalQuad() to pass the UseTransforms flag in, providing it as a default argument.

The default value of the MapCoordinatesFlags parameter to mapLocalToContainer(),
a lower-level function, is removed.

Sprinkle a few more nullptrs around.

No behavior change.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::selectionGapRectsForRepaint): call the higher-level localToContainerPoint()
instead of mapLocalToContainer().
(WebCore::RenderBlock::absoluteQuads): Pass UseTransforms.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::absoluteQuads): Ditto.

  • rendering/RenderBox.h:
  • rendering/RenderFlowThread.h:
  • rendering/RenderGeometryMap.h:

(WebCore::RenderGeometryMap::absolutePoint):
(WebCore::RenderGeometryMap::absoluteRect):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::collectSelectionRects): This function was erroneously passing
'false' as flags. Pass UseTransforms instead (but no behavior change since
UseTransforms was forced on lower down).

  • rendering/RenderInline.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollRectToVisible): UseTransforms is the parameter default, remove it.

  • rendering/RenderLineBreak.cpp:

(WebCore::RenderLineBreak::absoluteQuads):
(WebCore::RenderLineBreak::collectSelectionRects): Another erroneous 'false'.

  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::absoluteQuadsForBoxInRegion):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::localToContainerQuad): Here's where we no longer force
the UseTransforms bit.
(WebCore::RenderObject::localToContainerPoint): Also here.

  • rendering/RenderObject.h: I prefer bit flags lined up. Makes it easier to spot errors.

(WebCore::RenderObject::localToAbsoluteQuad):

  • rendering/RenderText.cpp:

(WebCore::RenderText::collectSelectionRects): Another bad 'false'.

  • rendering/RenderTextLineBoxes.cpp:

(WebCore::RenderTextLineBoxes::absoluteRectsForRange):
(WebCore::RenderTextLineBoxes::absoluteQuads):
(WebCore::RenderTextLineBoxes::absoluteQuadsForRange):

  • rendering/RenderView.h:
  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::collectAbsoluteQuads):

  • rendering/svg/RenderSVGForeignObject.h:
  • rendering/svg/RenderSVGInline.cpp:

(WebCore::RenderSVGInline::absoluteQuads): Another bad 'false'.

  • rendering/svg/RenderSVGInline.h:
  • rendering/svg/RenderSVGModelObject.cpp:

(WebCore::RenderSVGModelObject::absoluteQuads):

  • rendering/svg/RenderSVGModelObject.h:
  • rendering/svg/RenderSVGRoot.h:
  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::absoluteQuads):

  • rendering/svg/RenderSVGText.h:
  • rendering/svg/SVGRenderSupport.h:

Source/WebKit2:

Pass UseTransforms explicitly to localToContainerPoint()

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getAssistedNodeInformation):

10:11 PM Changeset in webkit [181504] by Brent Fulgham
  • 5 edits in trunk/Source

Source/WebCore:
[iOS] scroll snap points are animating to the wrong positions...
https://bugs.webkit.org/show_bug.cgi?id=142705
<rdar://problem/20136946>

Reviewed by Simon Fraser.

Avoid adding an extra '0' snap point to our set. We always start with one zero; this
extra append just forces us to do more steps in our search for nearest snap point.

  • page/scrolling/AxisScrollSnapOffsets.cpp:

(WebCore::updateFromStyle): Remove extra '0' appended to offsets.

Source/WebKit2:
[iOS] scroll snap points are animating to the wrong positions.
https://bugs.webkit.org/show_bug.cgi?id=142705
<rdar://problem/20136946>

Reviewed by Simon Fraser.

Scroll snapping was landing in the wrong place on iOS because of two problems:
(1) It was searching for the closest snap offset point using unscaled 'screen' pixels,
which caused it to always choose one of the earliest snap point options.
(2) It was then selecting a scaled snap point coordinate and passing it back to UIKit
to animate the snap. This caused it to select a target point beyond the 'screen' pixel
we want to hit.

The solution to both problems are to scale the scroll destination UIKit suggests so that
we search among the scaled points with a valid value. Then, we need to scale the returned
value back to screen units before handing it back to UIKit to process.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView scrollViewWillBeginDragging:]): Drive-by fix. Get rid of extra ';' at
the end of the line.

  • UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:

(WebKit::RemoteScrollingCoordinatorProxy::closestSnapOffsetForMainFrameScrolling):

9:58 PM Changeset in webkit [181503] by rniwa@webkit.org
  • 4 edits
    3 adds in trunk

parseClass should popScope after pushScope
https://bugs.webkit.org/show_bug.cgi?id=142689

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

Pop the parser scope as needed.

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseClass):

LayoutTests:

Added a regression test for the test case that caught this bug.

  • TestExpectations: Skipped the test since ES6 class syntax isn't enabled by default.
  • js/class-syntax-scoping-expected.txt: Added.
  • js/class-syntax-scoping.html: Added.
  • js/script-tests/class-syntax-scoping.js: Added.

(test):

3:54 PM Changeset in webkit [181502] by dino@apple.com
  • 10 edits in trunk/Source

Feature flag for Animations Level 2
https://bugs.webkit.org/show_bug.cgi?id=142699
<rdar://problem/20165097>

Reviewed by Brent Fulgham.

Add ENABLE_CSS_ANIMATIONS_LEVEL_2 and a runtime flag animationTriggersEnabled.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • bindings/generic/RuntimeEnabledFeatures.cpp:

(WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):

  • bindings/generic/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setAnimationTriggersEnabled):
(WebCore::RuntimeEnabledFeatures::animationTriggersEnabled):

2:42 PM Changeset in webkit [181501] by msaboff@apple.com
  • 2 edits in trunk/Source/WTF

Disable Yarr JIT for ARMv7k
https://bugs.webkit.org/show_bug.cgi?id=142645

Rubber stamped by Geoffrey Garen.

Changed the setting of ENABLE_YARR_JIT to be predicated on ENABLED_JIT.

  • wtf/Platform.h:
1:49 PM Changeset in webkit [181500] by cavalcantii@gmail.com
  • 3 edits in trunk/Source/WebCore

RenderBlock::imageChange() calling const methods on exit
https://bugs.webkit.org/show_bug.cgi?id=142648

Reviewed by Brent Fulgham.

No new tests, no change on behavior.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::imageChanged): Deleted.

  • rendering/RenderBlock.h:
11:25 AM Changeset in webkit [181499] by vjaquez@igalia.com
  • 9 edits in trunk

[GStreamer] share GL context in pipeline
https://bugs.webkit.org/show_bug.cgi?id=142693

Reviewed by Philippe Normand.

.:

Add search of gstreamer-gl library in the GStreamer installation. If
it is found, WTF_USE_GSTREAMER_GL macro is defined.

  • Source/cmake/FindGStreamer.cmake:
  • Source/cmake/OptionsGTK.cmake:

Source/WebCore:

GstGL elements in a pipeline need to be aware of the application's
display and its GL context. This information is shared through context
messages between the pipeline and the browser.

This patch shares this context through a GStreamer's synchronous
message, using the GL information held in the web process.

This patch is based on the work of Philippe Normand for Bug 138562.

No new tests because this is platform specific and it depends in the
run-time availability and configurations of GstGL elements.

  • PlatformGTK.cmake: appends the GstGL header files in the include

directories. Also its library directory is appended.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::mediaPlayerPrivateSyncMessageCallback): New callback function.
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
Initialize the new class attributes.
(WebCore::MediaPlayerPrivateGStreamer::handleSyncMessage): New method
for handling synchronous messages from the pipeline. This method
currently only handles the GL context sharing.
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): Configures
the pipeline's bus to handle the synchronous messages.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Add new

class methods and attributes.

Source/WebKit2:

  • WebProcess/gtk/WebProcessMainGtk.cpp: Enable XInitThreads() if

GSTREAMER_GL is used, since GstGL elements use another thread for
queuing GL operations.

10:45 AM Changeset in webkit [181498] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r181487.
https://bugs.webkit.org/show_bug.cgi?id=142695

Caused Speedometer/Full.html to fail (Requested by smfr on
#webkit).

Reverted changeset:

"DFG::PutStackSinkingPhase should eliminate GetStacks that
have an obviously known source"
https://bugs.webkit.org/show_bug.cgi?id=141624
http://trac.webkit.org/changeset/181487

9:29 AM Changeset in webkit [181497] by msaboff@apple.com
  • 8 edits
    6 adds in trunk

ES6: Add binary and octal literal support
https://bugs.webkit.org/show_bug.cgi?id=142681

Reviewed by Ryosuke Niwa.

Source/JavaScriptCore:

Added a binary literal parser function, parseBinary(), to Lexer patterned after the octal parser.
Refactored the parseBinary, parseOctal and parseDecimal to use a constant size for the number of
characters to try and handle directly. Factored out the shifting past any prefix to be handled by
the caller. Added binary and octal parsing to toDouble() via helper functions.

  • parser/Lexer.cpp:

(JSC::Lexer<T>::parseHex):
(JSC::Lexer<T>::parseBinary):
(JSC::Lexer<T>::parseOctal):
(JSC::Lexer<T>::parseDecimal):
(JSC::Lexer<T>::lex):

  • parser/Lexer.h:
  • parser/ParserTokens.h:
  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::jsBinaryIntegerLiteral):
(JSC::jsOctalIntegerLiteral):
(JSC::toDouble):

Source/WTF:

  • wtf/ASCIICType.h:

(WTF::isASCIIBinaryDigit): New support function.
(WTF::isASCIIOctalDigit): Updated to use logical and (&&) instead of binary and (&).

LayoutTests:

New tests.

  • js/binary-literals-expected.txt: Added.
  • js/binary-literals.html: Added.
  • js/octal-literals-expected.txt: Added.
  • js/octal-literals.html: Added.
  • js/script-tests/binary-literals.js: Added.
  • js/script-tests/octal-literals.js: Added.

Mar 13, 2015:

7:57 PM Changeset in webkit [181496] by achristensen@apple.com
  • 11 edits
    4 adds in trunk

Progress towards CMake on Mac.
https://bugs.webkit.org/show_bug.cgi?id=142680

Reviewed by Gyuyoung Kim.

.:

  • CMakeLists.txt:
  • Source/PlatformMac.cmake: Added stub.
  • Source/cmake/OptionsMac.cmake:

Change defines to get CMake working.

Source/bmalloc:

  • CMakeLists.txt:
  • PlatformMac.cmake:

Added Zone.cpp to Mac CMake builds.

Source/JavaScriptCore:

  • PlatformMac.cmake:

Generate TracingDtrace.h based on project.pbxproj.

Source/WebCore:

  • PlatformMac.cmake:

Added new include directories and removed old source files.

Source/WebKit:

  • CMakeLists.txt: Added.

Source/WebKit2:

  • PlatformMac.cmake: Added.
7:50 PM Changeset in webkit [181495] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Object allocation sinking phase shouldn't re-decorate previously sunken allocations on each fixpoint operation
https://bugs.webkit.org/show_bug.cgi?id=142686

Reviewed by Oliver Hunt.

Just because promoteHeapAccess() notifies us of an effect to a heap location in a node doesn't
mean that we should handle it as if it was for one of our sinking candidates. Instead we should
prune based on m_sinkCandidates.

This fixes a benign bug where we would generate a lot of repeated IR for some pathological
tests.

  • dfg/DFGObjectAllocationSinkingPhase.cpp:

(JSC::DFG::ObjectAllocationSinkingPhase::promoteSunkenFields):

7:50 PM Changeset in webkit [181494] by commit-queue@webkit.org
  • 44 edits in trunk/Source

Unreviewed, rolling out r181483.
https://bugs.webkit.org/show_bug.cgi?id=142688

Caused use-after-free on many tests (Requested by ap on
#webkit).

Reverted changeset:

"Allow clients to selectively disable plug-ins"
https://bugs.webkit.org/show_bug.cgi?id=142506
http://trac.webkit.org/changeset/181483

6:44 PM Changeset in webkit [181493] by bshafiei@apple.com
  • 8 edits in tags/Safari-601.1.22.1/Source

Merged r181491. rdar://problem/20153362

6:10 PM Changeset in webkit [181492] by Antti Koivisto
  • 12 edits in trunk/Source/WebCore

Cache glyph widths to GlyphPages
https://bugs.webkit.org/show_bug.cgi?id=142028

Reviewed by Andreas Kling.

Currently we have a separate cache in Font for glyph widths. In practice we always need
the widths so we can just cache them in GlyphPages. This simplifies the code and removes
a per-character hash lookup from WidthIterator.

  • platform/graphics/Font.cpp:

(WebCore::Font::Font):
(WebCore::Font::initCharWidths):
(WebCore::Font::platformGlyphInit):
(WebCore::createAndFillGlyphPage):
(WebCore::Font::computeWidthForGlyph):

Rename to make it clear this doesn't cache.

(WebCore::GlyphPage::setGlyphDataForIndex):

Initialize the width.
This could go to GlyphPage.cpp if we had one.

  • platform/graphics/Font.h:

(WebCore::Font::glyphZeroWidth):
(WebCore::Font::isZeroWidthSpaceGlyph):
(WebCore::Font::zeroGlyph): Deleted.
(WebCore::Font::setZeroGlyph): Deleted.
(WebCore::Font::widthForGlyph): Deleted.

  • platform/graphics/FontCascade.cpp:

(WebCore::offsetToMiddleOfGlyph):

  • platform/graphics/FontCascadeFonts.cpp:

(WebCore::FontCascadeFonts::glyphDataForCharacter):

  • platform/graphics/GlyphPage.h:

(WebCore::GlyphData::GlyphData):

Return width too as part of GlyphData.

(WebCore::GlyphPage::glyphDataForIndex):
(WebCore::GlyphPage::setGlyphDataForCharacter):
(WebCore::GlyphPage::setGlyphDataForIndex):
(WebCore::GlyphPage::GlyphPage):

  • platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::advanceInternal):

No need to lookup width separately now.

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::ComplexTextController::adjustGlyphsAndAdvances):

  • platform/graphics/mac/ComplexTextControllerCoreText.mm:

(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::advanceForGlyph):

  • rendering/svg/SVGTextRunRenderingContext.cpp:

(WebCore::missingGlyphForFont):

  • svg/SVGFontData.cpp:

(WebCore::SVGFontData::initializeFont):

5:52 PM Changeset in webkit [181491] by eric.carlson@apple.com
  • 8 edits in trunk/Source

[Mac] Enable WIRELESS_PLAYBACK_TARGET
https://bugs.webkit.org/show_bug.cgi?id=142635

Reviewed by Darin Adler.

  • Configurations/FeatureDefines.xcconfig:
4:01 PM Changeset in webkit [181490] by rniwa@webkit.org
  • 14 edits
    3 adds in trunk

Class constructor should throw TypeError when "called"
https://bugs.webkit.org/show_bug.cgi?id=142566

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Added ConstructorKind::None to denote code that doesn't belong to an ES6 class.
This allows BytecodeGenerator to emit code to throw TypeError when generating code block
to call ES6 class constructors.

Most of changes are about increasing the number of bits to store ConstructorKind from one
bit to two bits.

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::generateFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):

  • bytecode/UnlinkedCodeBlock.h:

(JSC::ExecutableInfo::ExecutableInfo):
(JSC::ExecutableInfo::needsActivation):
(JSC::ExecutableInfo::usesEval):
(JSC::ExecutableInfo::isStrictMode):
(JSC::ExecutableInfo::isConstructor):
(JSC::ExecutableInfo::isBuiltinFunction):
(JSC::ExecutableInfo::constructorKind):
(JSC::UnlinkedFunctionExecutable::constructorKind):
(JSC::UnlinkedCodeBlock::constructorKind):
(JSC::UnlinkedFunctionExecutable::constructorKindIsDerived): Deleted.
(JSC::UnlinkedCodeBlock::constructorKindIsDerived): Deleted.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::generate): Don't emit bytecode when we had already emitted code
to throw TypeError.
(JSC::BytecodeGenerator::BytecodeGenerator): Emit code to throw TypeError when generating
code to call.
(JSC::BytecodeGenerator::emitReturn):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::constructorKind):
(JSC::BytecodeGenerator::constructorKindIsDerived): Deleted.

  • bytecompiler/NodesCodegen.cpp:

(JSC::ThisNode::emitBytecode):
(JSC::FunctionCallValueNode::emitBytecode):

  • parser/Nodes.cpp:

(JSC::FunctionBodyNode::FunctionBodyNode):

  • parser/Nodes.h:
  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseFunctionInfo): Renamed the incoming function argument to
ownerClassKind. Set constructorKind to Base or Derived only if we're parsing a constructor.
(JSC::Parser<LexerType>::parseFunctionDeclaration):
(JSC::Parser<LexerType>::parseClass): Don't parse static methods using MethodMode since that
would result in BytecodeGenerator erroneously treating static method named "constructor" as
a class constructor.
(JSC::Parser<LexerType>::parsePropertyMethod):
(JSC::Parser<LexerType>::parsePrimaryExpression):

  • parser/Parser.h:
  • parser/ParserModes.h:
  • runtime/Executable.h:

(JSC::EvalExecutable::executableInfo):
(JSC::ProgramExecutable::executableInfo):

LayoutTests:

Added tests for calling class constructors.

  • TestExpectations: Skipped the test since ES6 class syntax isn't enabled by default.
  • js/class-syntax-call-expected.txt: Added.
  • js/class-syntax-call.html: Added.
  • js/script-tests/class-syntax-call.js: Added.
3:34 PM March 2015 Meeting edited by achristensen@apple.com
(diff)
3:33 PM March 2015 Meeting edited by achristensen@apple.com
(diff)
3:32 PM CMake edited by achristensen@apple.com
(diff)
3:30 PM Changeset in webkit [181489] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix typo restoreUserInterfaceForOptimizedFullscreeStopWithCompletionHandler.
https://bugs.webkit.org/show_bug.cgi?id=142678

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-03-13
Reviewed by Eric Carlson.

Add the missing 'n' in "fullscreen".

  • platform/spi/ios/AVKitSPI.h:
3:28 PM CMake created by achristensen@apple.com
2:40 PM WebKitDotOrgUpdates created by bfulgham@webkit.org
2:07 PM Changeset in webkit [181488] by timothy_horton@apple.com
  • 5 edits in trunk/Source

Sites that use a device-width viewport but don't have enough height to fill the view are scaled up
https://bugs.webkit.org/show_bug.cgi?id=142664
<rdar://problem/18859470>

Reviewed by Benjamin Poulain.

  • page/ViewportConfiguration.cpp:

(WebCore::ViewportConfiguration::shouldIgnoreHorizontalScalingConstraints):
(WebCore::ViewportConfiguration::shouldIgnoreVerticalScalingConstraints):
(WebCore::ViewportConfiguration::shouldIgnoreScalingConstraints):
Split shouldIgnoreScalingConstraints into one for each dimension.

(WebCore::ViewportConfiguration::initialScale):
(WebCore::ViewportConfiguration::minimumScale):
Don't force the initial and minimum scales to cover the whole view if the
page claims to want to lay out to device width but then lays out too big.
This will allow pages that misbehave in this way to scale down further
than they previously could, but will result in a region of empty background
color being exposed at the initial/minimum scale.

(WebCore::ViewportConfiguration::description):
Update the logging to show each dimension separately.

  • page/ViewportConfiguration.h:
  • UIProcess/ios/WKScrollView.mm:

(-[WKScrollView _rubberBandOffsetForOffset:maxOffset:minOffset:range:outside:]):
Now that the WKContentView can (without pinching) be smaller than the unobscured
region of the WKWebView, we need to take that into account when deciding where
to retarget scrolling.

1:57 PM March 2015 Meeting edited by bfulgham@webkit.org
(diff)
1:56 PM March 2015 Meeting edited by bfulgham@webkit.org
(diff)
1:55 PM March 2015 Meeting edited by bfulgham@webkit.org
(diff)
1:18 PM Changeset in webkit [181487] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFG::PutStackSinkingPhase should eliminate GetStacks that have an obviously known source
https://bugs.webkit.org/show_bug.cgi?id=141624

Reviewed by Oliver Hunt.

This was an obvious omission from the original PutStackSinkingPhase. Previously, we would treat
GetStacks conservatively and assume that the stack slot escaped. That's pretty dumb, since a
GetStack is a local load of the stack. This change makes GetStack a no-op from the standpoint of
this phase's deferral analysis. At the end we either keep the GetStack (if there was no concrete
deferral) or we replace it with an identity over the value that would have been stored by the
deferred PutStack. Note that this might be a Phi that the phase creates, so this is strictly
stronger than what GCSE could do.

This is probably not a speed-up now, but it will be very useful for the varargs simplification
done in bug 141174.

  • dfg/DFGPutStackSinkingPhase.cpp:
1:14 PM Changeset in webkit [181486] by ggaren@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Prohibit GC while sweeping
https://bugs.webkit.org/show_bug.cgi?id=142638

Reviewed by Andreas Kling.

I noticed in https://bugs.webkit.org/show_bug.cgi?id=142636 that a GC
could trigger a sweep which could trigger another GC. Yo Dawg.

I tried to figure out whether this could cause problems or not and it
made me cross-eyed.

(Some clients like to report extra memory cost during deallocation as a
way to indicate that the GC now owns something exclusively. It's
arguably a bug to communicate with the GC in this way, but we shouldn't
do crazy when this happens.)

This patch makes explicit the fact that we don't allow GC while sweeping.

Usually, sweeping implicitly defers GC by virtue of happening during
allocation. But not always.

  • heap/Heap.cpp:

(JSC::Heap::collectAllGarbage): Defer GC while sweeping due to an
explicit GC request.

(JSC::Heap::didFinishCollection): Make sure that zombifying sweep
defers GC by not returning to the non-GC state until we're all done.

  • heap/IncrementalSweeper.cpp:

(JSC::IncrementalSweeper::sweepNextBlock): Defer GC while sweeping due
to a timer.

1:04 PM Changeset in webkit [181485] by mark.lam@apple.com
  • 28 edits
    1 add
    1 delete in trunk/Source

Replace TCSpinLock with a new WTF::SpinLock based on WTF::Atomic.
<https://webkit.org/b/142674>

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

  • API/JSValue.mm:

(handerForStructTag):

  • API/JSWrapperMap.mm:
  • dfg/DFGCommon.cpp:

(JSC::DFG::startCrashing):
(JSC::DFG::isCrashing):

  • Changed to use a StaticSpinLock since that's what this code was trying to do anyway.
  • heap/CopiedBlock.h:

(JSC::CopiedBlock::CopiedBlock):

  • heap/CopiedSpace.cpp:

(JSC::CopiedSpace::CopiedSpace):

  • heap/CopiedSpace.h:
  • heap/GCThreadSharedData.cpp:

(JSC::GCThreadSharedData::GCThreadSharedData):

  • heap/GCThreadSharedData.h:
  • heap/ListableHandler.h:

(JSC::ListableHandler::List::List):

  • parser/SourceProvider.cpp:
  • profiler/ProfilerDatabase.cpp:

(JSC::Profiler::Database::addDatabaseToAtExit):
(JSC::Profiler::Database::removeDatabaseFromAtExit):
(JSC::Profiler::Database::removeFirstAtExitDatabase):

Source/WebCore:

No new tests because there is no new functionality. This is a refactoring effort.

  • bindings/objc/WebScriptObject.mm:
  • platform/ios/wak/WAKWindow.mm:

(-[WAKWindow initWithLayer:]):
(-[WAKWindow initWithFrame:]):

Source/WebKit2:

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::EventDispatcher):

  • WebProcess/WebPage/EventDispatcher.h:
  • WebProcess/WebPage/ViewUpdateDispatcher.cpp:

(WebKit::ViewUpdateDispatcher::ViewUpdateDispatcher):

  • WebProcess/WebPage/ViewUpdateDispatcher.h:

Source/WTF:

We no longer use TCMalloc in our code, and we now have C++11. This replaces the
TCMalloc_SpinLock with a new WTF::SpinLock based on WTF::Atomic (which is a
wrapper around std::atomic).

Note that there is a StaticSpinLock and a SpinLock:

  1. StaticSpinLock is an alias for SpinLockBase, and its initialization relies on static / global std:atomic being automatically initialized to 0 at compile time. Hence, StaticSpinLock should only be used for statics / globals (including static members of classes / structs).
  1. SpinLock is derived from SpinLockBase, and adds a default constructor to initialize its internal atomic value to 0. Because SpinLock has a constructor, it cannot be used for statics / globals. Objects that want to embed a spin lock as an instance field should use SpinLock so that it is initialized properly. std::atomic will not automatically initialize instance fields to 0. Hence, StaticSpinLock will not work correctly as instance fields of a class / struct.
  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/MetaAllocator.cpp:

(WTF::MetaAllocator::~MetaAllocator):
(WTF::MetaAllocator::MetaAllocator):

  • wtf/MetaAllocator.h:
  • wtf/SpinLock.h: Added.

(WTF::SpinLockBase::lock):
(WTF::SpinLockBase::unlock):
(WTF::SpinLockBase::isLocked):
(WTF::SpinLockBase::slowLock):
(WTF::SpinLock::SpinLock):

  • wtf/TCSpinLock.h: Removed.
  • wtf/text/AtomicString.cpp:
12:24 PM Changeset in webkit [181484] by commit-queue@webkit.org
  • 11 edits
    2 adds in trunk

AX: Provide API for assistive tech to ignore DOM key event handlers
https://bugs.webkit.org/show_bug.cgi?id=142059

Patch by Doug Russell <d_russell@apple.com> on 2015-03-13
Reviewed by Beth Dakin.

Assistive technology applications on the desktop are heavily dependent on keyboard navigation being reliable. This is greatly hindered by sites that handle key events without updating keyboard selection and then consume the event. It is important for assistive technology apps to allow users to decide to ignore these handlers that are incorrect for their purposes.

This can be fixed by exposing, via a new accessibility attribute, a way to decide, for a given WebCore::Frame, to pre-empt DOM dispatch and instead let accessibility caret browsing take place.

Source/WebCore:

Test: platform/mac/accessibility/prevent-keyboard-event-dispatch.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::preventKeyboardDOMEventDispatch):
(WebCore::AccessibilityObject::setPreventKeyboardDOMEventDispatch):

  • accessibility/AccessibilityObject.h:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[WebAccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
(-[WebAccessibilityObjectWrapper _accessibilitySetValue:forAttribute:]):

  • dom/Element.cpp:

(WebCore::Element::dispatchKeyEvent):

  • page/EventHandler.cpp:

(WebCore::EventHandler::keyEvent):
(WebCore::handleKeyboardSelectionMovement):
(WebCore::EventHandler::handleKeyboardSelectionMovementForAccessibility):

  • page/EventHandler.h:
  • page/Settings.in:

LayoutTests:

  • accessibility/parent-delete-expected.txt:
  • platform/mac/accessibility/document-attributes-expected.txt:
  • platform/mac/accessibility/prevent-keyboard-event-dispatch-expected.txt: Added.
  • platform/mac/accessibility/prevent-keyboard-event-dispatch.html: Added.
11:58 AM Changeset in webkit [181483] by Conrad Shultz
  • 44 edits in trunk/Source

Allow clients to selectively disable plug-ins
https://bugs.webkit.org/show_bug.cgi?id=142506

Reviewed by Anders Carlsson.

Source/WebCore:

Add new functionality allow clients to declaratively disable individual plug-ins (in a manner that conceals them
from the page). As part of this:

1) Introduce the concept of web-visible plug-ins and related concepts, as distinct from the real underlying

set of plug-ins.

2) Where applicable, plumb additional information about plug-ins (specifically, bundle identification) deeper

down the stack.

3) Add generic functionality to PluginStrategy to support filtering plug-ins for visibility and introduce

a concrete implementation thereof in WebPlatformStrategies in WebKit2.

4) Add messaging infrastructure to allow clients to set and clear plug-in policies.

While currently only used in a very limited manner, the new declarative plug-in policies are written generically
so that they could be easily used in the future to reduce synchronous messaging to the client when loading plug-ins.

  • dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::createDocument):
Update to reflect function rename.

  • loader/SubframeLoader.cpp:

(WebCore::findPluginMIMETypeFromURL):
Adopt getWebVisibleMimesAndPluginIndices().
(WebCore::logPluginRequest):
Update to reflect function rename.
(WebCore::SubframeLoader::shouldUsePlugin):
Ditto.

  • platform/PlatformStrategies.h:

Export platformStrategies(), since it is now used in WebProcess.cpp.

  • plugins/DOMMimeType.cpp:

(WebCore::DOMMimeType::type):
(WebCore::DOMMimeType::description):
(WebCore::DOMMimeType::mimeClassInfo):
Adopt getWebVisibleMimesAndPluginIndices().
(WebCore::DOMMimeType::enabledPlugin):
Ditto.

  • plugins/DOMMimeType.h:

Don't return references in a few places where it is no longer safe to do so.
(WebCore::DOMMimeType::mimeClassInfo): Deleted.

  • plugins/DOMMimeTypeArray.cpp:

(WebCore::DOMMimeTypeArray::length):
Adopt getWebVisibleMimesAndPluginIndices().
(WebCore::DOMMimeTypeArray::item):
Ditto.
(WebCore::DOMMimeTypeArray::canGetItemsForName):
Ditto.
(WebCore::DOMMimeTypeArray::namedItem):
Ditto.

  • plugins/DOMPlugin.cpp:

(WebCore::DOMPlugin::pluginInfo):
Adopt getWebVisiblePlugins().
(WebCore::DOMPlugin::item):
Adopt getWebVisibleMimesAndPluginIndices().
(WebCore::DOMPlugin::canGetItemsForName):
Ditto.
(WebCore::DOMPlugin::namedItem):
Ditto.

  • plugins/DOMPlugin.h:

(WebCore::DOMPlugin::pluginInfo): Deleted.

  • plugins/DOMPluginArray.cpp:

(WebCore::DOMPluginArray::length):
Adopt getWebVisiblePlugins().
(WebCore::DOMPluginArray::item):
Ditto.
(WebCore::DOMPluginArray::canGetItemsForName):
Ditto.
(WebCore::DOMPluginArray::namedItem):
Ditto.

  • plugins/PluginData.cpp:

(WebCore::PluginData::PluginData):
Stash the passed-in Page and call initPlugins().
(WebCore::PluginData::getWebVisiblePlugins):
New member function; call through to PluginStrategy::getWebVisiblePluginInfo().
(WebCore::PluginData::getWebVisibleMimesAndPluginIndices):
New member function; build up the mimes and mimePluginIndices vectors in the same manner as before, but
limited to the web-visible plug-ins.
(WebCore::PluginData::supportsWebVisibleMimeType):
Renamed from supportsMimeType(); update to work in terms of web-visible plug-ins.
(WebCore::PluginData::pluginInfoForWebVisibleMimeType):
Renamed from pluginInfoForMimeType(); ditto.
(WebCore::PluginData::pluginNameForWebVisibleMimeType):
Renamed from pluginNameForMimeType(); ditto.
(WebCore::PluginData::pluginFileForWebVisibleMimeType):
Renamed from pluginFileForMimeType(); ditto.
(WebCore::PluginData::initPlugins):
(WebCore::PluginData::supportsMimeType): Deleted.
(WebCore::PluginData::pluginInfoForMimeType): Deleted.
(WebCore::PluginData::pluginNameForMimeType): Deleted.
(WebCore::PluginData::pluginFileForMimeType): Deleted.

  • plugins/PluginData.h:

Add a member variable for the associate Page; declare the PluginLoadClientPolicy enumeration; add
new members to PluginInfo for the clientLoadPolicy and bundle information.
(WebCore::PluginData::PluginData):
Replace some member functions with new ones that will hide plug-ins upon request from the client;
(WebCore::PluginData::mimes): Deleted.
(WebCore::PluginData::mimePluginIndices): Deleted.

  • plugins/PluginStrategy.h:

Declare new member functions for retrieving web-visible plug-ins and setting/clearing plug-in policies.

  • replay/SerializationMethods.cpp:

(JSC::EncodingTraits<PluginData>::encodeValue):
Remove now-obsolete code for handling MIME types and add a FIXME.
(JSC::DeserializedPluginData::DeserializedPluginData):
(JSC::EncodingTraits<PluginData>::decodeValue):
Ditto.
(JSC::EncodingTraits<PluginInfo>::encodeValue):
Handle the new members in PluginInfo.
(JSC::EncodingTraits<PluginInfo>::decodeValue):
Ditto.

  • replay/WebInputs.json:

Teach Replay about PluginLoadClientPolicy.

Source/WebKit/mac:

Add new functionality allow clients to declaratively disable individual plug-ins (in a manner that conceals them
from the page). As part of this:

1) Introduce the concept of web-visible plug-ins and related concepts, as distinct from the real underlying

set of plug-ins.

2) Where applicable, plumb additional information about plug-ins (specifically, bundle identification) deeper

down the stack.

3) Add generic functionality to PluginStrategy to support filtering plug-ins for visibility and introduce

a concrete implementation thereof in WebPlatformStrategies in WebKit2.

4) Add messaging infrastructure to allow clients to set and clear plug-in policies.

While currently only used in a very limited manner, the new declarative plug-in policies are written generically
so that they could be easily used in the future to reduce synchronous messaging to the client when loading plug-ins.

  • Plugins/WebBasePluginPackage.mm:

(-[WebBasePluginPackage getPluginInfoFromPLists]):
Set new members in PluginInfo.

  • Plugins/WebNetscapePluginPackage.mm:

(-[WebNetscapePluginPackage getPluginInfoFromResources]):
Set new members in PluginInfo.

  • WebCoreSupport/WebPlatformStrategies.h:
  • WebCoreSupport/WebPlatformStrategies.mm:

(WebPlatformStrategies::getWebVisiblePluginInfo):
Override to wrap getPluginInfo().
(WebPlatformStrategies::setPluginLoadClientPolicy):
Override to do nothing.
(WebPlatformStrategies::clearPluginClientPolicies):
Ditto.

  • WebView/WebFrame.mm:

(-[WebFrame _canProvideDocumentSource]):
Update to reflect function rename.

Source/WebKit/win:

  • WebCoreSupport/WebPlatformStrategies.h:
  • WebCoreSupport/WebPlatformStrategies.cpp:

(WebPlatformStrategies::getWebVisiblePluginInfo):
Wrap getPluginInfo();

  • WebView.cpp:

(WebView::canShowMIMEType):
Update to reflect function rename.

Source/WebKit2:

Add new functionality allow clients to declaratively disable individual plug-ins (in a manner that conceals them
from the page). As part of this:

1) Introduce the concept of web-visible plug-ins and related concepts, as distinct from the real underlying

set of plug-ins.

2) Where applicable, plumb additional information about plug-ins (specifically, bundle identification) deeper

down the stack.

3) Add generic functionality to PluginStrategy to support filtering plug-ins for visibility and introduce

a concrete implementation thereof in WebPlatformStrategies in WebKit2.

4) Add messaging infrastructure to allow clients to set and clear plug-in policies.

While currently only used in a very limited manner, the new declarative plug-in policies are written generically
so that they could be easily used in the future to reduce synchronous messaging to the client when loading plug-ins.

  • Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:

(WebKit::NetscapePluginModule::getPluginInfo):
Set new PluginInfo members.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<PluginInfo>::encode):
Handle new PluginInfo members.
(IPC::ArgumentCoder<PluginInfo>::decode):
Ditto.

  • Shared/WebProcessCreationParameters.h:

Declare a member to store client plug-in policies.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode):
Encode the policies.
(WebKit::WebProcessCreationParameters::decode):
Decode the policies.

  • UIProcess/API/C/WKAPICast.h:

(WebKit::toWKPluginLoadClientPolicy):
Teach how to cast between WebCore and WebKit2 policy definitions.
(WebKit::toPluginLoadClientPolicy):
Ditto.

  • UIProcess/API/C/WKPluginLoadPolicy.h:

Declare WKPluginLoadClientPolicy, matching PluginLoadClientPolicy in WebCore.

  • UIProcess/API/C/mac/WKContextPrivateMac.h:
  • UIProcess/API/C/mac/WKContextPrivateMac.mm:

(WKContextSetPluginLoadClientPolicy):
New function; wrap WebProcessPool::setPluginLoadClientPolicy().
(WKContextClearPluginClientPolicies):
New function; wrap WebProcessPool::clearPluginClientPolicies().

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::createNewWebProcess):
Copy any client plug-in policies to the new process' creation parameters.
(WebKit::WebProcessPool::setPluginLoadClientPolicy):
Send SetPluginLoadClientPolicy to all processes and stash the passed-in policy info.
(WebKit::WebProcessPool::clearPluginClientPolicies):
Send ClearPluginClientPolicies to all processes and clear any stashed policy info.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::pluginInfo):
Set new PluginInfo member.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::pluginSupportsExtension):
Adopt getWebVisibleMimesAndPluginIndices().
(WebKit::WebFrameLoaderClient::objectContentType):
Update to reflect reflect function rename.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:
  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::getPluginInfo):
Pass the Page to populatePluginCache().
(WebKit::WebPlatformStrategies::getWebVisiblePluginInfo):
New member function; wrap getPluginInfo(); if appropriate, filter out plug-ins the client has asked
to block on the current page.
(WebKit::WebPlatformStrategies::setPluginLoadClientPolicy):
New member function; map empty inputs to a wildcard character and insert the new policy into the nested map.
(WebKit::WebPlatformStrategies::clearPluginClientPolicies):
New member function; empty m_hostsToPluginIdentifierData.
(WebKit::WebPlatformStrategies::pluginLoadClientPolicyForHost):
New member function; look up the most specific policy for the given plug-in and host.
(WebKit::WebPlatformStrategies::populatePluginCache):
If appropriate, set the client load policy on the plug-ins; do this irrespective of whether the cache has
been populated since the Page, and therefore host, may change.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::canShowMIMEType):
Update to reflect function rename.

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):
Enumerate and process the client plug-in policies in the creation parameters.
(WebKit::WebProcess::setPluginLoadClientPolicy):
New member function; wrap PluginStrategy::setPluginLoadClientPolicy.
(WebKit::WebProcess::clearPluginClientPolicies):
New member function; wrap PluginStrategy::clearPluginClientPolicies().

  • WebProcess/WebProcess.messages.in:

Add messages for setting and clearing policies.

11:19 AM Changeset in webkit [181482] by rniwa@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

BytecodeGenerator needs to be re-entrant to support miranda functions
https://bugs.webkit.org/show_bug.cgi?id=142627

Reviewed by Filip Pizlo.

Made CodeCache::getGlobalCodeBlock and CodeCache::getFunctionExecutableFromGlobalCode re-entrant
by not keeping AddResult while invoking BytecodeGenerator::generate.

This is needed to support Miranda functions since they need to be lazily initialized.

  • runtime/CodeCache.cpp:

(JSC::CodeCache::getGlobalCodeBlock):
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):

  • runtime/CodeCache.h:

(JSC::CodeCacheMap::findCacheAndUpdateAge): Extracted from add.
(JSC::CodeCacheMap::addCache): Extracted from add.
(JSC::CodeCacheMap::add): Deleted.

11:02 AM Changeset in webkit [181481] by mark.lam@apple.com
  • 7 edits in trunk/Source

Introduce WTF::Atomic to wrap std::atomic for a friendlier CAS.
<https://webkit.org/b/142661>

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Changed CodeBlock, and the DFG's crashLock to use WTF::Atomic instead of
std::atomic.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::visitAggregate):

  • bytecode/CodeBlock.h:
  • dfg/DFGCommon.cpp:

(JSC::DFG::startCrashing):

Source/WTF:

The CAS functions provided by std::atomic takes a reference to the expected
value and modifies it if the CAS fails. However, in a lot of our CAS usage,
we don't want the expected value to change. The solution to this is to
provide a WTF::Atomic struct that wraps std::atomic, and provide CAS
methods that won't alter the expected value if the CAS fails.

The method names in WTF::Atomic are chosen to be identical to those
in std::atomic so that WTF::Atomic can be a simple drop in replacement
for std::atomic.

Also changed ByteSpinLock to use WTF::Atomic instead of std::atomic.

  • wtf/Atomics.h:

(WTF::Atomic::load):
(WTF::Atomic::store):
(WTF::Atomic::compare_exchange_weak):
(WTF::Atomic::compare_exchange_strong):

  • wtf/ByteSpinLock.h:

(WTF::ByteSpinLock::ByteSpinLock):
(WTF::ByteSpinLock::lock):

10:58 AM Changeset in webkit [181480] by Chris Dumez
  • 12 edits
    3 adds in trunk

XMLHttpRequests should not prevent a page from entering PageCache
https://bugs.webkit.org/show_bug.cgi?id=142612
<rdar://problem/19923085>

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Make XMLHttpRequest ActiveDOMObjects suspendable in most cases to
drastically improve the likelihood of pages using them to enter
PageCache. XMLHttpRequest used to be only suspendable when not
loading. After this patch, if the XMLHttpRequest is loading when
navigating away from the page, it will be aborted and the page
will enter the PageCache. Upon restoring the page from PageCache,
the XMLHttpRequests' error handlers will be executed to give them
a chance to reload if they want to.

Test: http/tests/navigation/page-cache-xhr.html

  • history/PageCache.cpp:

(WebCore::logCanCacheFrameDecision):
(WebCore::PageCache::canCachePageContainingThisFrame):
Do not prevent a page to enter the page cache ff the main document has
an error that is a cancellation and all remaining subresource loaders
are for XHR. We extend the pre-existing mechanism used on iOS, which
allowed PageCaching if the remaining resource loads are for images.

  • loader/DocumentLoader.cpp:

(WebCore::areAllLoadersPageCacheAcceptable):
Mark XHR loaders as PageCache acceptable.

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::isXMLHttpRequest):

  • loader/DocumentThreadableLoader.h:
  • loader/ThreadableLoader.h:
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::areAllClientsXMLHttpRequests):

  • loader/cache/CachedResource.h:
  • loader/cache/CachedResourceClient.h:

(WebCore::CachedResourceClient::isXMLHttpRequest):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::XMLHttpRequest):
(WebCore::XMLHttpRequest::createRequest):
(WebCore::XMLHttpRequest::canSuspend):
Report that we can suspend XMLHttpRequests as long as the window load
event has already fired. If the window load event has not fired yet,
it would be unsafe to cancel the load in suspend() as it would
potentially cause arbitrary JS execution while suspending.

(WebCore::XMLHttpRequest::suspend):
If suspending for PageCache and the request is currently loading, abort
the load and mark that we should fire the error event upon restoring
from PageCache.

(WebCore::XMLHttpRequest::resume):
(WebCore::XMLHttpRequest::resumeTimerFired):
Upon resuming, fire the error event in a timer if the load was aborted
for suspending. We need to do this in a timer because we are not allowed
to execute arbitrary JS inside resume().

(WebCore::XMLHttpRequest::stop):
Add a assertion to make sure we are not firing event inside stop() as
this would potentially cause arbitrary JS execution and it would be
unsafe. It seems to me that our code is currently unsafe but the
assertion does not seem to be hit by our current layout tests. I am
adding the assertion as it would make it clear we have a bug and we
need to fix it.

  • xml/XMLHttpRequest.h:

LayoutTests:

Add a tests to make sure that loading XMLHttpRequests do not prevent a
page from entering PageCache.

  • http/tests/navigation/page-cache-xhr-expected.txt: Added.
  • http/tests/navigation/page-cache-xhr.html: Added.
  • http/tests/navigation/resources/page-cache-helper.html: Added.
9:00 AM Changeset in webkit [181479] by youenn.fablet@crf.canon.fr
  • 3 edits
    3 adds in trunk

WebKit test infrastructure should automate the process of cloning W3C test suite and importing tests from it
https://bugs.webkit.org/show_bug.cgi?id=134764

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

TestRepositories defines the git repositories used to import tests.
It defines for each repository the infrastructure paths to always import, the paths to skip and the revision to use.
ImportExpectartions defines the tests to import.

  • resources/ImportExpectations: Added.
  • resources/TestRepositories: Added.

Tools:

TestDownloader is introduced to download W3C tests from the official
W3C tests repositories (https://github.com/w3c/web-platform-tests.git
and https://github.com/w3c/csswg-test.git).
TestDownloader clones the repositories and checkouts revisions of the tests
defined in LayoutTests/imported/w3c/resources/TestRepositories.

Similarly to https://codereview.chromium.org/148173016,
TestDownloader copies part of the files based on the rules
defined in LayoutTests/imported/w3c/resources/ImportExpectations.

TestDownloader is used by TestImporter when no source directory is provided.

  • Scripts/webkitpy/w3c/test_downloader.py: Added.

(TestDownloader):
(TestDownloader.default_options):
(TestDownloader.load_test_repositories):
(TestDownloader.init):
(TestDownloader.checkout_test_repository):
(TestDownloader._init_paths_from_expectations):
(TestDownloader._add_test_suite_paths):
(TestDownloader._empty_directory):
(TestDownloader.copy_tests):
(TestDownloader.download_tests):

  • Scripts/webkitpy/w3c/test_importer.py:

(main):
(parse_args):
(TestImporter.init):
(TestImporter.do_import):
(TestImporter.test_downloader):
(TestImporter.find_importable_tests.should_keep_subdir):
(TestImporter.should_convert_test_harness_links):
(TestImporter.import_tests):
(TestImporter.write_import_log):

8:45 AM WebKitGTK/Gardening/Calendar edited by clopez@igalia.com
(diff)
6:50 AM Changeset in webkit [181478] by commit-queue@webkit.org
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed Gardening 13th March.
https://bugs.webkit.org/show_bug.cgi?id=142665

Unreviewed.

Patch by Marcos Chavarría Teijeiro <chavarria1991@gmail.com> on 2015-03-13

  • platform/gtk/TestExpectations:
  • platform/gtk/fast/borders/mixed-border-style2-expected.txt: Added. The result was missing.
6:47 AM Changeset in webkit [181477] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

Rebaseline accessibility/color-well.html
https://bugs.webkit.org/show_bug.cgi?id=141697

Patch by Marcos Chavarría Teijeiro <chavarria1991@gmail.com> on 2015-03-13
Reviewed by Chris Fleizach.

The revision (r179922) which makes this test fail, implements a color
picker for GTK+ platform. So now we have different accessibility
information for a color input and we could update the expected file.

TestExpectations has also been updated.

  • platform/gtk/TestExpectations:
  • platform/gtk/accessibility/color-well-expected.txt:
6:00 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
1:27 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
1:08 AM Changeset in webkit [181476] by jhoneycutt@apple.com
  • 3 edits in trunk/Source/WebKit2

Use UIDocumentMenuViewController to allow selection of files from
iCloud Drive in WKFileUploadPanel

Part of <https://bugs.webkit.org/show_bug.cgi?id=142596> WebKit on
iOS should support file upload from iCloud Drive
<rdar://problem/12178991>

Reviewed by Andy Estes.

  • Platform/spi/ios/UIKitSPI.h:

Include UIDocumentMenuViewController_Private.h if it exists. If not,
declare this new SPI.

  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(fallbackIconForFile):
Create a UIDocumentInteractionController for the file, and return a
thumbnail image from its smallest icon.

(iconForImageFile):
If we can get a UIImage from the file, create a thumbnail from it.
Otherwise, call fallbackIconForFile().

(iconForVideoFile):
Code moved from -[_WKVideoFileUploadItem displayImage].

(iconForFile):
Get the file's extension, and get the extension's preferred UTI. If the
UTI is an image type, call iconForImageFile(). If it's a video type,
call iconForVideoFile(). Otherwise, return the fallback icon.

(-[_WKFileUploadItem initWithFileURL:]):
Added an initializer that takes a file URL.

(-[_WKFileUploadItem fileURL]):
(-[_WKImageFileUploadItem initWithFileURL:originalImage:]):
(-[_WKVideoFileUploadItem displayImage]):
(WKFileUploadPanel):
Inherit from UIDocumentPickerDelegate and UIDocumentMenuDelegate. Add
an ivar for the document menu controller.

(-[WKFileUploadPanel dealloc]):
(-[WKFileUploadPanel presentWithParameters:resultListener:]):
If instances of UIDocumentMenuViewController respond to
-_setIgnoreApplicationEntitlementForImport:, meaning we can disable the
assertion that the current app has the iCloud Documents entitlement,
then show the document picker menu. Otherwise, show the current source
selection UI. The runtime check will be removed when a newer UIKit is
available.

(UTIsForMIMETypes):
Return the UTIs for the <input> element's "accept" attribute's MIME
type list.

(-[WKFileUploadPanel _mediaTypesForPickerSourceType:]):
Call UTIsForMIMETypes(). Fall back to available source types for this
picker type.

(-[WKFileUploadPanel _documentPickerMenuMediaTypes]):
Call UTIsForMIMETypes(). Fall back to the all-encompassing
"public.item" UTI.

(-[WKFileUploadPanel _photoLibraryButtonLabel]):
(-[WKFileUploadPanel _cameraButtonLabel]):
Factored out of -_showMediaSourceSelectionSheet. Return the
appropriate label for the camera button, based on whether it can take a
photo or video, or return nil if the camera is not available.

(-[WKFileUploadPanel _showMediaSourceSelectionSheet]):
Changed to use -_cameraButtonLabel and
-_presentForCurrentInterfaceIdiom:.

(-[WKFileUploadPanel _showDocumentPickerMenu]):
Create a UIDocumentMenuViewController, and populate it with options to
open the photo library or take a picture or video. If iCloud Drive or
other document sources are available, they will be added automatically.

(-[WKFileUploadPanel _presentForCurrentInterfaceIdiom:]):
(-[WKFileUploadPanel documentMenu:didPickDocumentPicker:]):
(-[WKFileUploadPanel documentMenuWasCancelled:]):
(-[WKFileUploadPanel documentPicker:didPickDocumentAtURL:]):
(-[WKFileUploadPanel documentPickerWasCancelled:]):
(-[WKFileUploadPanel _uploadItemFromMediaInfo:successBlock:failureBlock:]):

(-[_WKImageFileUploadItem initWithFilePath:originalImage:]): Deleted.
(-[_WKImageFileUploadItem fileURL]): Deleted.
(-[_WKVideoFileUploadItem initWithFilePath:mediaURL:]): Deleted.
(-[_WKVideoFileUploadItem fileURL]): Deleted.

12:52 AM Changeset in webkit [181475] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Fix Debug build error 'comparison is always true due to limited range of data type [-Werror=type-limits]'
https://bugs.webkit.org/show_bug.cgi?id=142652

Patch by Joonghun Park <jh718.park@samsung.com> on 2015-03-13
Reviewed by Csaba Osztrogonác.

No new tests, no behavior changes.

Now CSSPropertyID type is uint16_t, so propertyID >= 0 check is needed no more.

  • css/CSSPrimitiveValue.cpp:

(WebCore::propertyName):

  • css/makeprop.pl:
12:18 AM Changeset in webkit [181474] by commit-queue@webkit.org
  • 1 edit
    3 adds in trunk/LayoutTests

Unreviewed GTK+ Gardening
https://bugs.webkit.org/show_bug.cgi?id=142620

Rebaseline the missing test result

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-03-13

  • platform/gtk/fast/borders/mixed-border-style2-expected.png: Added.
  • platform/gtk/fast/css/css2-system-fonts-expected.txt: Added.
  • platform/gtk/fast/text/tatechuyoko-expected.txt: Added.

Mar 12, 2015:

11:26 PM Changeset in webkit [181473] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.22.1/Source

Versioning.

11:23 PM Changeset in webkit [181472] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.22.1

New tag.

11:17 PM Changeset in webkit [181471] by bshafiei@apple.com
  • 5 edits in branches/safari-600.5-branch/Source

Versioning.

11:17 PM Changeset in webkit [181470] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source

Versioning.

8:02 PM Changeset in webkit [181469] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Change the DFG crashLock to use std::atomic.
<https://webkit.org/b/142649>

Reviewed by Filip Pizlo.

  • dfg/DFGCommon.cpp:

(JSC::DFG::startCrashing):
(JSC::DFG::isCrashing):

7:01 PM Changeset in webkit [181468] by commit-queue@webkit.org
  • 14 edits
    4 deletes in trunk/Source/WebCore

Remove DrawingBuffer
https://bugs.webkit.org/show_bug.cgi?id=142641

Patch by Zan Dobersek <zdobersek@igalia.com> on 2015-03-12
Reviewed by Darin Adler.

Remove the DrawingBuffer class. Objects of this type were only held in the
WebGLRenderingContext (later renamed to WebGLRenderingContextBase) on the
Chromium port, with the relevant code removed in r147888. Since then, the
m_drawingBuffer member variable has always been null.

  • CMakeLists.txt:
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::copyTexImage2D):

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::copyTexImage2D):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::WebGLRenderingContextBase):
(WebCore::WebGLRenderingContextBase::initializeNewContext):
(WebCore::WebGLRenderingContextBase::destroyGraphicsContext3D):
(WebCore::WebGLRenderingContextBase::markContextChanged):
(WebCore::WebGLRenderingContextBase::clearIfComposited):
(WebCore::WebGLRenderingContextBase::paintRenderingResultsToCanvas):
(WebCore::WebGLRenderingContextBase::paintRenderingResultsToImageData):
(WebCore::WebGLRenderingContextBase::reshape):
(WebCore::WebGLRenderingContextBase::drawingBufferWidth):
(WebCore::WebGLRenderingContextBase::drawingBufferHeight):
(WebCore::WebGLRenderingContextBase::activeTexture):
(WebCore::WebGLRenderingContextBase::bindFramebuffer):
(WebCore::WebGLRenderingContextBase::bindTexture):
(WebCore::WebGLRenderingContextBase::copyTexSubImage2D):
(WebCore::WebGLRenderingContextBase::deleteFramebuffer):
(WebCore::WebGLRenderingContextBase::disable):
(WebCore::WebGLRenderingContextBase::enable):
(WebCore::WebGLRenderingContextBase::getContextAttributes):
(WebCore::WebGLRenderingContextBase::readPixels):
(WebCore::WebGLRenderingContextBase::loseContextImpl):
(WebCore::WebGLRenderingContextBase::getBoundFramebufferWidth):
(WebCore::WebGLRenderingContextBase::getBoundFramebufferHeight):
(WebCore::WebGLRenderingContextBase::maybeRestoreContext):

  • html/canvas/WebGLRenderingContextBase.h:

(WebCore::ScopedDrawingBufferBinder::ScopedDrawingBufferBinder): Deleted.
(WebCore::ScopedDrawingBufferBinder::~ScopedDrawingBufferBinder): Deleted.

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/cairo/DrawingBufferCairo.cpp: Removed.
  • platform/graphics/gpu/DrawingBuffer.cpp: Removed.
  • platform/graphics/gpu/DrawingBuffer.h: Removed.
  • platform/graphics/gpu/mac/DrawingBufferMac.mm: Removed.
  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
(WebCore::GraphicsContext3D::paintRenderingResultsToImageData):

6:57 PM Changeset in webkit [181467] by fpizlo@apple.com
  • 6 edits in trunk/Source

Bytecode liveness analysis should have more lambdas and fewer sets
https://bugs.webkit.org/show_bug.cgi?id=142647

Reviewed by Mark Lam.

Source/JavaScriptCore:

In bug 141174 I'll need to identify all of the bytecode kill sites. This requires hooking into
the bytecode analysis' stepOverFunction method, except in such a way that we observe uses that
are not in outs. This refactors stepOverFunction so that you can pass it use/def functors that
can either be used to propagate outs (as we do right now) or to additionally detect kills or
whatever else.

In order to achieve this, the liveness analysis was moved off of maintaining uses/defs
bitvectors. This wasn't helping the abstraction and was probably inefficient. The new code
should be a bit faster since we don't have to clear uses/defs bitvectors on each instruction. On
the other hand, being able to intercept each use means that our code for exception handlers is
no longer a bitwise-merge; it requires finding set bits. Fortunately, this code only kicks in
for instructions inside a try, and its performance is O(live at catch), so that's probably not
bad.

  • bytecode/BytecodeLivenessAnalysis.cpp:

(JSC::indexForOperand):
(JSC::stepOverInstruction):
(JSC::computeLocalLivenessForBytecodeOffset):
(JSC::BytecodeLivenessAnalysis::computeFullLiveness):
(JSC::setForOperand): Deleted.

  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

Source/WTF:

Add a method for iterating each set bit in a FastBitVector. Uses a functor as a callback since
this allows for a more efficient algorithm.

  • wtf/FastBitVector.h:

(WTF::FastBitVector::forEachSetBit):

6:11 PM Changeset in webkit [181466] by rniwa@webkit.org
  • 31 edits
    10 adds in trunk/Source/JavaScriptCore

"this" should be in TDZ until super is called in the constructor of a derived class
https://bugs.webkit.org/show_bug.cgi?id=142527

Reviewed by Mark Hahnenberg.

DFG and FTL implementations co-authored by Filip Pizlo.

In ES6 class syntax, "this" register must be in the "temporal dead zone" (TDZ) and throw ReferenceError until
super() is called inside the constructor of a derived class.

Added op_check_tdz, a new OP code, which throws a reference error when the first operand is an empty value
to all tiers of JIT and LLint. The op code throws in the slow path on the basis that a TDZ error should be
a programming error and not a part of the programs' normal control flow. In DFG, this op code is represented
by a no-op must-generate node CheckNotEmpty modeled after CheckCell.

Also made the constructor of a derived class assign the empty value to "this" register rather than undefined
so that ThisNode can emit the op_check_tdz to check the initialized-ness of "this" in such a constructor.

  • bytecode/BytecodeList.json: Added op_check_tdz.
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset): Ditto.
(JSC::computeDefsForBytecodeOffset): Ditto.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode): Ditto.

  • bytecode/ExitKind.cpp:

(JSC::exitKindToString): Added TDZFailure.

  • bytecode/ExitKind.h: Ditto.
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator): Assign the empty value to "this" register to indicate it's in TDZ.
(JSC::BytecodeGenerator::emitTDZCheck): Added.
(JSC::BytecodeGenerator::emitReturn): Emit the TDZ check since "this" can still be in TDZ if super() was never
called. e.g. class B extends A { constructor() { } }

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::ThisNode::emitBytecode): Always emit the TDZ check if we're inside the constructor of a derived class.
We can't omit this check even if the result was ignored per spec.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): Previously, empty value could never appear
in a local variable. This is no longer true so generalize this code. Also added the support for CheckNotEmpty.
Like CheckCell, we phantomize this DFG node in the constant folding phase if the type of the operand is already
found to be not empty. Otherwise filter out SpecEmpty.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock): Added op_check_tdz.

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel): op_check_tdz can be compiled and inlined.

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize): CheckNotEmpty doesn't read or write values.

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants): Convert CheckNotEmpty to a phantom if non-emptiness had already
been proven for the operand prior to this node.

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC): CheckNotEmpty does not trigger GC.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode): CheckNotEmpty is a no-op in the fixup phase.

  • dfg/DFGNodeType.h: CheckNotEmpty cannot be removed even if the result was ignored. See ThisNode::emitBytecode.
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate): CheckNotEmpty doesn't return any value.

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute): CheckNotEmpty doesn't load from heap so it's safe.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile): Speculative the operand to be not empty. OSR exit if the speculation fails.

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile): Ditto.

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile): CheckNotEmpty can be compiled in FTL.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode): Calls compileCheckNotEmpty for CheckNotEmpty.
(JSC::FTL::LowerDFGToLLVM::compileCheckNotEmpty): OSR exit with "TDZFailure" if the operand is not empty.

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass): Added op_check_tdz.
(JSC::JIT::privateCompileSlowCases): Ditto.

  • jit/JIT.h:
  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_check_tdz): Implements op_check_tdz in Baseline JIT.
(JSC::JIT::emitSlow_op_check_tdz): Ditto.

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_check_tdz): Ditto.
(JSC::JIT::emitSlow_op_check_tdz): Ditto.

  • llint/LowLevelInterpreter32_64.asm: Implements op_check_tdz in LLint.
  • llint/LowLevelInterpreter64.asm: Ditto.
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL): Throws a reference error for op_check_tdz. Shared by LLint and Baseline JIT.

  • runtime/CommonSlowPaths.h:
  • tests/stress/class-syntax-no-loop-tdz.js: Added.
  • tests/stress/class-syntax-no-tdz-in-catch.js: Added.
  • tests/stress/class-syntax-no-tdz-in-conditional.js: Added.
  • tests/stress/class-syntax-no-tdz-in-loop-no-inline-super.js: Added.
  • tests/stress/class-syntax-no-tdz-in-loop.js: Added.
  • tests/stress/class-syntax-no-tdz.js: Added.
  • tests/stress/class-syntax-tdz-in-catch.js: Added.
  • tests/stress/class-syntax-tdz-in-conditional.js: Added.
  • tests/stress/class-syntax-tdz-in-loop.js: Added.
  • tests/stress/class-syntax-tdz.js: Added.
5:57 PM Changeset in webkit [181465] by rniwa@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION(r180726): Removing an empty line at the end of textarea clears the entire texture
https://bugs.webkit.org/show_bug.cgi?id=142646

Reviewed by Darin Adler.

Source/WebCore:

The bug was caused by TypingCommand::deleteKeyPressed erroneously determining the editable root to be empty because
Position::atStartOfTree returns true when it's anchored at a BR that is immediately below the root editable element.

Fixed the bug by replacing the use of the deprecated atFirstEditingPositionForNode by a code that understands modern
position types such as PositionIsBeforeAnchor in atStartOfTree and atEndOfTree. These two functions will no longer
return true when anchored before or after BR after this patch.

Test: editing/deleting/delete-empty-line-breaks-at-end-of-textarea.html

  • dom/Position.cpp:

(WebCore::Position::atStartOfTree):
(WebCore::Position::atEndOfTree):

LayoutTests:

Added a regression test for deleting empty lines at the end of a textarea element.

  • editing/deleting/delete-empty-line-breaks-at-end-of-textarea-expected.txt: Added.
  • editing/deleting/delete-empty-line-breaks-at-end-of-textarea.html: Added.
5:55 PM Changeset in webkit [181464] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.15.15

New tag.

5:53 PM Changeset in webkit [181463] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.5.13

New tag.

5:40 PM Changeset in webkit [181462] by msaboff@apple.com
  • 2 edits in trunk/Source/WTF

Disable Yarr JIT for ARMv7k
https://bugs.webkit.org/show_bug.cgi?id=142645

Reviewed by Oliver Hunt.

Make the setting of ENABLE_YARR_JIT match ENABLE_JIT for ARMv7k.

  • wtf/Platform.h:
5:20 PM Changeset in webkit [181461] by mark.lam@apple.com
  • 2 edits in trunk/Source/WTF

Change WTF::ByteSpinLock to use std::atomic.
<https://webkit.org/b/142644>

Reviewed by Filip Pizlo.

  • wtf/ByteSpinLock.h:

(WTF::ByteSpinLock::ByteSpinLock):
(WTF::ByteSpinLock::lock):
(WTF::ByteSpinLock::unlock):
(WTF::ByteSpinLock::isHeld):

4:54 PM Changeset in webkit [181460] by Brent Fulgham
  • 2 edits in trunk/Source/ThirdParty/ANGLE

[Win] Unreviewed build fix (part 2).

  • ANGLE.vcxproj/libGLESv2Common.props: Missed a directory separator.
4:47 PM Changeset in webkit [181459] by Brent Fulgham
  • 2 edits in trunk/Source/ThirdParty/ANGLE

[Win] Unreviewed build fix for some DirectX SDK Installs

  • ANGLE.vcxproj/libGLESv2Common.props: Correct path for Lib and

Include paths based on problems others have had building WebKit
under different Windows and DirectX revisions.

3:57 PM Changeset in webkit [181458] by Yusuke Suzuki
  • 23 edits
    1 move
    1 add in trunk

Integrate MapData into JSMap and JSSet
https://bugs.webkit.org/show_bug.cgi?id=142556

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

This patch integrates MapData into JSMap and JSSet.
This removes 2 object allocation per one JSMap / JSSet.

MapDataImpl is specialized into MapData and SetData.
In the case of SetData, it does not have the dummy values
previously stored in the MapDataImpl. So the storage size of SetData
becomes the half of the previous implementation.

And now MapData and SetData are completely integrated into JSMap and JSSet,
these structures are not exposed to the other code even in WebCore world.

And at the same time, this patch fixes missing destroy functions
in JSMapIterator and JSSetIterator.
They are needed because MapData::const_iterator is a non-trivial destructor.

(JSC::JSMap::destroy):
(JSC::JSMap::visitChildren):
(JSC::JSMap::copyBackingStore):
(JSC::JSMap::has):
(JSC::JSMap::size):
(JSC::JSMap::get):
(JSC::JSMap::set):
(JSC::JSMap::clear):
(JSC::JSMap::remove):
(JSC::JSMap::finishCreation): Deleted.

  • runtime/JSMap.h:

(JSC::JSMap::Entry::key):
(JSC::JSMap::Entry::value):
(JSC::JSMap::Entry::visitChildren):
(JSC::JSMap::Entry::setKey):
(JSC::JSMap::Entry::setKeyWithoutWriteBarrier):
(JSC::JSMap::Entry::setValue):
(JSC::JSMap::Entry::clear):
(JSC::JSMap::begin):
(JSC::JSMap::end):
(JSC::JSMap::JSMap):
(JSC::JSMap::mapData): Deleted.

  • runtime/JSMapIterator.cpp:

(JSC::JSMapIterator::finishCreation):
(JSC::JSMapIterator::destroy):
(JSC::JSMapIterator::visitChildren):

  • runtime/JSMapIterator.h:

(JSC::JSMapIterator::JSMapIterator):

  • runtime/JSSet.cpp:

(JSC::JSSet::destroy):
(JSC::JSSet::visitChildren):
(JSC::JSSet::copyBackingStore):
(JSC::JSSet::has):
(JSC::JSSet::size):
(JSC::JSSet::add):
(JSC::JSSet::clear):
(JSC::JSSet::remove):
(JSC::JSSet::finishCreation): Deleted.

  • runtime/JSSet.h:

(JSC::JSSet::Entry::key):
(JSC::JSSet::Entry::value):
(JSC::JSSet::Entry::visitChildren):
(JSC::JSSet::Entry::setKey):
(JSC::JSSet::Entry::setKeyWithoutWriteBarrier):
(JSC::JSSet::Entry::setValue):
(JSC::JSSet::Entry::clear):
(JSC::JSSet::begin):
(JSC::JSSet::end):
(JSC::JSSet::JSSet):
(JSC::JSSet::mapData): Deleted.

  • runtime/JSSetIterator.cpp:

(JSC::JSSetIterator::finishCreation):
(JSC::JSSetIterator::visitChildren):
(JSC::JSSetIterator::destroy):

  • runtime/JSSetIterator.h:

(JSC::JSSetIterator::JSSetIterator):

  • runtime/MapConstructor.cpp:

(JSC::constructMap):

  • runtime/MapData.h:

(JSC::MapDataImpl::const_iterator::key):
(JSC::MapDataImpl::const_iterator::value):
(JSC::MapDataImpl::size):
(JSC::MapDataImpl<Entry>::MapDataImpl):
(JSC::MapDataImpl<Entry>::clear):
(JSC::MapDataImpl<Entry>::KeyType::KeyType):
(JSC::MapDataImpl<Entry>::const_iterator::internalIncrement):
(JSC::MapDataImpl<Entry>::const_iterator::ensureSlot):
(JSC::MapDataImpl<Entry>::const_iterator::const_iterator):
(JSC::MapDataImpl<Entry>::const_iterator::~const_iterator):
(JSC::MapDataImpl<Entry>::const_iterator::operator):
(JSC::=):
(JSC::MapData::const_iterator::key): Deleted.
(JSC::MapData::const_iterator::value): Deleted.
(JSC::MapData::create): Deleted.
(JSC::MapData::createStructure): Deleted.
(JSC::MapData::size): Deleted.
(JSC::MapData::clear): Deleted.
(JSC::MapData::KeyType::KeyType): Deleted.
(JSC::MapData::const_iterator::internalIncrement): Deleted.
(JSC::MapData::const_iterator::ensureSlot): Deleted.
(JSC::MapData::const_iterator::const_iterator): Deleted.
(JSC::MapData::const_iterator::~const_iterator): Deleted.
(JSC::MapData::const_iterator::operator*): Deleted.
(JSC::MapData::const_iterator::end): Deleted.
(JSC::MapData::const_iterator::operator!=): Deleted.
(JSC::MapData::const_iterator::operator==): Deleted.

  • runtime/MapDataInlines.h: Renamed from Source/JavaScriptCore/runtime/MapData.cpp.

(JSC::MapDataImpl<Entry>::find):
(JSC::MapDataImpl<Entry>::contains):
(JSC::MapDataImpl<Entry>::add):
(JSC::MapDataImpl<Entry>::set):
(JSC::MapDataImpl<Entry>::get):
(JSC::MapDataImpl<Entry>::remove):
(JSC::MapDataImpl<Entry>::replaceAndPackBackingStore):
(JSC::MapDataImpl<Entry>::replaceBackingStore):
(JSC::MapDataImpl<Entry>::ensureSpaceForAppend):
(JSC::MapDataImpl<Entry>::visitChildren):
(JSC::MapDataImpl<Entry>::copyBackingStore):

  • runtime/MapPrototype.cpp:

(JSC::getMap):
(JSC::mapProtoFuncClear):
(JSC::mapProtoFuncDelete):
(JSC::mapProtoFuncForEach):
(JSC::mapProtoFuncGet):
(JSC::mapProtoFuncHas):
(JSC::mapProtoFuncSet):
(JSC::mapProtoFuncSize):
(JSC::getMapData): Deleted.

  • runtime/SetPrototype.cpp:

(JSC::getSet):
(JSC::setProtoFuncAdd):
(JSC::setProtoFuncClear):
(JSC::setProtoFuncDelete):
(JSC::setProtoFuncForEach):
(JSC::setProtoFuncHas):
(JSC::setProtoFuncSize):
(JSC::getMapData): Deleted.

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

Source/WebCore:

Now Set has SetData and it's different from MapData.
And MapData/SetData are completely integrated into JSSet and JSMap.
Structured-cloning algorithm need to be aware of these changes.
And in the case of JSSet, since JSSet doesn't need dummy value for construction,
Structured-cloning only serialize the keys in JSSet.

  • ForwardingHeaders/runtime/MapDataInlines.h: Added.
  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::serialize):
(WebCore::CloneDeserializer::consumeCollectionDataTerminationIfPossible):
(WebCore::CloneDeserializer::deserialize):
(WebCore::CloneDeserializer::consumeMapDataTerminationIfPossible): Deleted.

LayoutTests:

Test structure-clone implementation that becomes aware of the difference between Map and Set.

  • fast/storage/serialized-script-value.html:
3:50 PM Changeset in webkit [181457] by ggaren@apple.com
  • 2 edits in trunk/Source/bmalloc

Assertion failure in bmalloc::LargeObject::validateSelf on Mavericks Debug layout test bot
https://bugs.webkit.org/show_bug.cgi?id=142642

Reviewed by Michael Saboff.

The typical backtrace to this crash shows the main thread trying to
realloc a large string while a DFG compiler thread tries to
free a large vector buffer.

I believe that this is a race condition -- at least in debug builds --
since the main thread will try to validate its object's neighbors
without holding a lock, even though those neighbors might be in the
midst of changing.

In general, there may be sneaky times when it is valid to look at an
object's metadata without holding the heap lock, but it is best not to
do so unless we have a really really good reason to.

  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::reallocate): Take a lock before reading the metadata
for this object, since we generally require any access to shared heap
metadata to take a lock.

3:49 PM March 2015 Meeting edited by Simon Fraser
(diff)
3:14 PM Changeset in webkit [181456] by mark.lam@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Use std::atomic for CodeBlock::m_visitAggregateHasBeenCalled.
<https://webkit.org/b/142640>

Reviewed by Mark Hahnenberg.

We used to spin our own compare and swap on a uint8_t. Now that we can
use C++11, let's use std::atomic instead.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::visitAggregate):

  • The CAS here needs std::memory_order_acquire ordering because it requires lock acquisition semantics to visit the CodeBlock.
  • bytecode/CodeBlock.h:

(JSC::CodeBlockSet::mark):

  • heap/CodeBlockSet.cpp:

(JSC::CodeBlockSet::clearMarksForFullCollection):
(JSC::CodeBlockSet::clearMarksForEdenCollection):

  • These can go with relaxed ordering because they are all done before the GC starts parallel marking.
3:04 PM FiveYearPlan edited by bfulgham@webkit.org
(diff)
2:54 PM FiveYearPlan edited by bfulgham@webkit.org
(diff)
2:33 PM FiveYearPlan edited by bfulgham@webkit.org
(diff)
2:27 PM FiveYearPlan edited by bfulgham@webkit.org
(diff)
2:15 PM FiveYearPlan created by bfulgham@webkit.org
2:04 PM WikiStart edited by bfulgham@webkit.org
(diff)
2:01 PM Changeset in webkit [181455] by mitz@apple.com
  • 3 edits in trunk/Source/WebCore

Finish up <rdar://problem/20086546> [Cocoa] Add an option to treat certificate chains with SHA1-signed certificates as insecure

Added back OS X bits that I couldn’t land initially in r181317 or had to remove in r181327.

  • platform/network/mac/CertificateInfoMac.mm:

(WebCore::CertificateInfo::containsNonRootSHA1SignedCertificate):

  • platform/spi/cocoa/SecuritySPI.h:
1:59 PM WebKitGTK/2.8.x edited by clopez@igalia.com
(diff)
1:49 PM Changeset in webkit [181454] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r181448. rdar://problem/20130417

1:37 PM Changeset in webkit [181453] by ggaren@apple.com
  • 3 edits in trunk/Source/WebCore

REGRESSION: Crash under Heap::reportExtraMemoryAllocatedSlowCase for media element
https://bugs.webkit.org/show_bug.cgi?id=142636

Reviewed by Mark Hahnenberg.

This was a pre-existing bug that I made a lot worse in
<https://trac.webkit.org/changeset/181411>.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute): Compare size before
subtracting rather than subtracting and then comparing to zero. The
latter technique is not valid for unsigned integers, which will happily
underflow into giant numbers.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::reportExtraMemoryAllocated): This code was

technically correct, but I took the opportunity to clean it up a bit.
There's no need to do two checks here, and it smells bad to check for
a negative unsigned integer.

1:32 PM Changeset in webkit [181452] by jonowells@apple.com
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: Debugger sidebar should group global breakpoints together
https://bugs.webkit.org/show_bug.cgi?id=142607

Reviewed by Timothy Hatcher.

Update the DebuggerSidebarPanel class to hold global breakpoints such as "All Exceptions" in one container. This
will be the place future such breakpoints are added.

  • Localizations/en.lproj/localizedStrings.js: Added string.
  • UserInterface/Main.html: Small rearrangement.
  • UserInterface/Views/DebuggerSidebarPanel.js: Change how exception breaking options are displayed.

(WebInspector.DebuggerSidebarPanel):
(WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected):
(WebInspector.DebuggerSidebarPanel.prototype._compareTopLevelTreeElements):

  • UserInterface/Views/FolderTreeElement.js: Support additional classes for icons.
  • UserInterface/Views/ResourceSidebarPanel.js: Change call to FolderTreeElement constructor.
1:24 PM Changeset in webkit [181451] by ap@apple.com
  • 2 edits in trunk/Tools

[Mavericks] Test snapshots are 1600x1200 on Retina devices
https://bugs.webkit.org/show_bug.cgi?id=142630

Reviewed by Tim Horton.

  • WebKitTestRunner/mac/PlatformWebViewMac.mm: (WTR::PlatformWebView::windowSnapshotImage):

Removed an ifdef that disabled the fix on Mavericks.

1:04 PM schedule.png attached to March 2015 Meeting by Simon Fraser
schedule
12:44 PM Changeset in webkit [181450] by Simon Fraser
  • 2 edits in trunk/LayoutTests

These hidpi filter tests pass sometimes.

  • platform/mac/TestExpectations:
12:31 PM Changeset in webkit [181449] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebCore

Stop using single-include headers that are only available since GStreamer >= 1.2.

https://bugs.webkit.org/show_bug.cgi?id=142537

Patch by Sebastian Dröge <sebastian@centricular.com> on 2015-03-12
Reviewed by Philippe Normand.

  • platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
  • platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
  • platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp:
  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
  • platform/graphics/gstreamer/GStreamerUtilities.cpp:
  • platform/graphics/gstreamer/GStreamerUtilities.h:
  • platform/graphics/gstreamer/ImageGStreamer.h:

Instead of using single-include headers for the GStreamer libraries,
directly include the headers we need. The single-include headers were
only added in 1.2, and this would be the only reason why we would
depend on 1.2.

12:26 PM Changeset in webkit [181448] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

Adopt new API for keyboard event handling.
https://bugs.webkit.org/show_bug.cgi?id=142602
rdar://problem/19966087

Reviewed by Sam Weinig.

Adopts the new API.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _didHandleKeyEvent:]):

12:13 PM Changeset in webkit [181447] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

Remove isWK2 cruft from webkitdirs.pm after r170426
https://bugs.webkit.org/show_bug.cgi?id=142618

Reviewed by Daniel Bates.

  • Scripts/webkitdirs.pm:

(isWK2): Deleted.

11:38 AM Changeset in webkit [181446] by ap@apple.com
  • 14 edits in trunk

testRunner.setAlwaysAcceptCookies does not work with NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=138687

Source/WebKit2:

Reviewed by Carlos Garcia Campos.

  • UIProcess/WebCookieManagerProxy.cpp:

(WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy): Don't change system-wide
cookie accept policy when in testing mode. Also, update the policy in WebProcesses too,
as we still do some networking there.

  • UIProcess/WebProcessPool.h:
  • WebProcess/InjectedBundle/API/c/WKBundle.cpp:

(WKBundleSetAlwaysAcceptCookies): Deleted.

  • WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::setAlwaysAcceptCookies): Deleted.

  • WebProcess/InjectedBundle/InjectedBundle.h:

Remove WKBundleSetAlwaysAcceptCookies SPI, as WKTR now uses an API in UI process.

Tools:

Reviewed by Carlos Garcia Campos.

Always change cookie policy from UI process, as changing it from WebProcess doesn't
affect other processes.

The implementation is imperfect, because the change happens asynchronously, but I
don't expect it to be a problem in practice.

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::beginTesting):

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setAlwaysAcceptCookies):

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::invoke):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

LayoutTests:

Unreviewed (only code changes were reviewed).

  • platform/gtk/TestExpectations:
  • platform/mac-wk2/TestExpectations:

Unskip tests that used to be affected.

11:19 AM March 2015 Meeting edited by Simon Fraser
(diff)
10:46 AM Changeset in webkit [181445] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

WKErrorDomain should be declared nonnull
https://bugs.webkit.org/show_bug.cgi?id=142628

Reviewed by Antti Koivisto.

Add WK_ASSUME_NONNULL_BEGIN and WK_ASSUME_NONNULL_END so everything will be implicitly nonnull.

  • UIProcess/API/Cocoa/WKError.h:
10:41 AM Changeset in webkit [181444] by bshafiei@apple.com
  • 16 edits
    2 copies in tags/Safari-601.1.22/Source

Merged r181442. rdar://problem/11903887

10:27 AM Changeset in webkit [181443] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

PDFs don't snapshot properly in iOS Safari
https://bugs.webkit.org/show_bug.cgi?id=142623

Patch by Ian Henderson <ian@ianhenderson.org> on 2015-03-12
Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):
If we have a _customContentView, use UIView snapshotting instead of
trying to snapshot the web page.

10:18 AM Changeset in webkit [181442] by eric.carlson@apple.com
  • 16 edits
    2 adds in trunk/Source

[Mac] Update AirPlay handling
https://bugs.webkit.org/show_bug.cgi?id=142541

Source/WebCore:

Unreviewed, respond to post-review comments.

  • dom/Document.cpp:

(WebCore::Document::didChoosePlaybackTarget):

  • page/ChromeClient.h:
  • page/Page.cpp:

(WebCore::Page::showPlaybackTargetPicker):
(WebCore::Page::didChoosePlaybackTarget):
(WebCore::Page::configurePlaybackTargetMonitoring):

Source/WebKit2:

Unreviewed, respond to post-review comments and add previously reviewed changes
missed by a bungled merge.

  • Shared/mac/WebCoreArgumentCodersMac.mm:
  • UIProcess/WebMediaPlaybackTargetPickerProxy.cpp:

(WebKit::WebMediaPlaybackTargetPickerProxy::~WebMediaPlaybackTargetPickerProxy):

  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::createPlaybackTargetPicker):

  • UIProcess/mac/WebMediaPlaybackTargetPickerProxyMac.h: Added.
  • UIProcess/mac/WebMediaPlaybackTargetPickerProxyMac.mm: Added.
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:
  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/mac/WebPageMac.mm:
  • WebProcess/com.apple.WebProcess.sb.in:
10:02 AM Changeset in webkit [181441] by Simon Fraser
  • 3 edits in trunk/LayoutTests

Clean up after JoePeck.

  • http/tests/security/contentSecurityPolicy/injected-inline-style-blocked-expected.txt:
  • http/tests/security/contentSecurityPolicy/inline-style-allowed-while-cloning-objects-expected.txt:
9:55 AM Changeset in webkit [181440] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[EFL] Enable building EFL 1.13 with NEON support
https://bugs.webkit.org/show_bug.cgi?id=142619

Reviewed by Gyuyoung Kim.

  • efl/jhbuild.modules:
9:40 AM Changeset in webkit [181439] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix the !ENABLE(PICTURE_SIZES) build
https://bugs.webkit.org/show_bug.cgi?id=142617

Reviewed by Darin Adler.

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):

9:10 AM Changeset in webkit [181438] by commit-queue@webkit.org
  • 2 edits
    5 adds in trunk/LayoutTests

Unreviewed EFL gardening on 13th Mar.
https://bugs.webkit.org/show_bug.cgi?id=142624

Rebaseline the missing test result.

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-03-12

  • platform/efl/TestExpectations:
  • platform/efl/editing/inserting/before-after-input-element-expected.png: Added.
  • platform/efl/editing/inserting/before-after-input-element-expected.txt: Added.
  • platform/efl/fast/css/css2-system-fonts-expected.txt: Added.
  • platform/efl/fast/text/tatechuyoko-expected.png: Added.
  • platform/efl/fast/text/tatechuyoko-expected.txt: Added.
9:10 AM Changeset in webkit [181437] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Console Errors during provisional document loads get lost with "Clear Log on Reload"
https://bugs.webkit.org/show_bug.cgi?id=142603

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-12
Reviewed by Timothy Hatcher.

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype._messageAdded):
(WebInspector.LogContentView.prototype._provisionalLoadStarted):
Detect a provisional load has started to start save messages that come in at this time.

(WebInspector.LogContentView.prototype._sessionStarted):
Reappend provisional load messages if we auto-cleared.

(WebInspector.LogContentView.prototype._reappendProvisionalMessages):
(WebInspector.LogContentView.prototype._clearProvisionalState):
Helpers for dealing with the provisional loading state.

8:35 AM March 2015 Meeting edited by Simon Fraser
(diff)
7:53 AM March 2015 Meeting edited by zandobersek@gmail.com
(diff)
7:50 AM Changeset in webkit [181436] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WTF

[ARM][Linux] GC sometimes stuck in an infinite loop if parallel GC is enabled
https://bugs.webkit.org/show_bug.cgi?id=141290

Reviewed by Carlos Garcia Campos.

  • wtf/Platform.h: Enable parallel GC after r181319.
7:13 AM March 2015 Meeting edited by adam.bergkvist@ericsson.com
(diff)
3:27 AM Changeset in webkit [181435] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

[cmake] Fix the incremental build issue revealed by r181419
https://bugs.webkit.org/show_bug.cgi?id=142613

Reviewed by Carlos Garcia Campos.

  • CMakeLists.txt:
1:21 AM March 2015 Meeting edited by benjamin@webkit.org
(diff)
1:16 AM March 2015 Meeting edited by benjamin@webkit.org
(diff)

Mar 11, 2015:

11:54 PM March 2015 Meeting edited by Chris Dumez
(diff)
11:37 PM Changeset in webkit [181434] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebCore

Unreviewed follow-up fix to r181426. Initialize TextPosition with zeros in case it gets used.

Address ASSERT in LayoutTests/printing/page-format-data.html.

  • dom/InlineStyleSheetOwner.cpp:

(WebCore::InlineStyleSheetOwner::InlineStyleSheetOwner):
In case the TextPosition gets used because it wasn't created by a parser,
zeros are more realistic values then beforeFirst.

11:33 PM March 2015 Meeting edited by Simon Fraser
Organizing the topics (diff)
11:31 PM March 2015 Meeting edited by Simon Fraser
(diff)
11:22 PM Changeset in webkit [181433] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged patch for rdar://problem/20128911.

11:18 PM Changeset in webkit [181432] by bshafiei@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged patch for rdar://problem/20128856.

11:05 PM Changeset in webkit [181431] by bshafiei@apple.com
  • 31 edits
    5 copies in tags/Safari-601.1.22/Source

Merged r181423. rdar://problem/11903887

10:57 PM Changeset in webkit [181430] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source

Versioning.

10:57 PM Changeset in webkit [181429] by bshafiei@apple.com
  • 5 edits in branches/safari-600.5-branch/Source

Versioning.

10:00 PM Changeset in webkit [181428] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Media element time no longer updates while scrubbing following r181279.
https://bugs.webkit.org/show_bug.cgi?id=142606.
<rdar://problem/20131014>

Reviewed by Eric Carlson.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.handleWrapperMouseMove):
Update time as a result of a mouse move if we are scrubbing.

9:53 PM Changeset in webkit [181427] by Brent Fulgham
  • 2 edits
    1 add in trunk/LayoutTests

[Win] Update test expectations after r181408.

Also update with more debug assertions.

  • platform/win/TestExpectations:
  • platform/win/fast/forms/input-auto-fill-button-expected.txt: Added.
9:49 PM Changeset in webkit [181426] by Joseph Pecoraro
  • 11 edits
    4 adds in trunk

Web Inspector: CSS parser errors in the console should include column numbers
https://bugs.webkit.org/show_bug.cgi?id=114313

Reviewed by Darin Adler.

Source/WebCore:

Test: inspector-protocol/console/warnings-errors.html

  • css/CSSParser.h:

(WebCore::CSSParser::currentCharacterOffset):
Get the current character offset depending on the source type.
Add instance variables to track column position and start
line / column for inline stylesheets.

  • css/CSSParser.cpp:

(WebCore::CSSParser::CSSParser):
(WebCore::CSSParser::parseSheet):
Initialize new instance variables.

(WebCore::CSSParser::currentLocation):
Update to include column information for the token. Also, if we are on the
first line we may need to take into account a start column offset as well.

(WebCore::CSSParser::realLex):
Set the token's start column.
When bumping the line number, reset the column offset for the next
line with the next character.

(WebCore::CSSParser::syntaxError):
(WebCore::CSSParser::logError):
Include column information.

  • css/StyleSheetContents.cpp:

(WebCore::StyleSheetContents::parseAuthorStyleSheet):
(WebCore::StyleSheetContents::parseString):
(WebCore::StyleSheetContents::parseStringAtPosition):
Include column information.

  • css/StyleSheetContents.h:
  • dom/InlineStyleSheetOwner.cpp:

(WebCore::InlineStyleSheetOwner::InlineStyleSheetOwner):
(WebCore::InlineStyleSheetOwner::createSheet):
Save and use column information later on.

  • dom/InlineStyleSheetOwner.h:
  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::ensureSourceData):
Updated parser signature needs starting column and no longer has optional parameters.

Source/WebInspectorUI:

  • UserInterface/Views/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl.prototype._linkifyLocation):
Column numbers in console messages are also 1 based and should be adjusted.

LayoutTests:

Test errors in both external and inline CSS and Scripts to ensure they have
expected line:column information.

  • inspector-protocol/console/warnings-errors-expected.txt: Added.
  • inspector-protocol/console/warnings-errors.html: Added.
  • inspector-protocol/resources/errors.css: Added.
  • inspector-protocol/resources/errors.js: Added.
8:27 PM Changeset in webkit [181425] by Simon Fraser
  • 1 edit
    1 move in trunk/LayoutTests

Rename the Mavericks result for input-auto-fill-button.html to use the
correct name.

  • platform/mac-mavericks/fast/forms/input-auto-fill-button-expected.txt: Renamed from LayoutTests/platform/mac-mavericks/fast/forms/input-auto-fill-button.txt.
7:20 PM March 2015 Meeting edited by Chris Dumez
(diff)
7:16 PM March 2015 Meeting edited by Chris Dumez
Add WebKit Network Cache topic (diff)
7:01 PM Changeset in webkit [181424] by Antti Koivisto
  • 3 edits in trunk/Source/WebKit2

Cache traversal missing large entries
https://bugs.webkit.org/show_bug.cgi?id=142601

Reviewed by Andreas Kling.

When traversing cache entries we only read the header data from disk. This didn't work
correctly for entries larger than the read size.

  • NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:

(WebKit::NetworkCache::IOChannel::read):

Partial reads only receive one callback with 'done' set to true.
Ensure we actually return data in this case.

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::decodeEntryHeader):

Add some logging.

6:54 PM Changeset in webkit [181423] by eric.carlson@apple.com
  • 31 edits
    5 adds in trunk/Source

[Mac] Update AirPlay handling
https://bugs.webkit.org/show_bug.cgi?id=142541

Reviewed by Sam Weinig.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • dom/Document.cpp:

(WebCore::Document::showPlaybackTargetPicker):
(WebCore::Document::addPlaybackTargetPickerClient):
(WebCore::Document::removePlaybackTargetPickerClient):
(WebCore::Document::configurePlaybackTargetMonitoring):
(WebCore::Document::requiresPlaybackTargetRouteMonitoring):
(WebCore::Document::playbackTargetAvailabilityDidChange):
(WebCore::Document::didChoosePlaybackTarget):

  • dom/Document.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::registerWithDocument):
(WebCore::HTMLMediaElement::unregisterWithDocument):
(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h:
  • html/HTMLMediaSession.cpp:

(WebCore::HTMLMediaSession::HTMLMediaSession):
(WebCore::HTMLMediaSession::registerWithDocument):
(WebCore::HTMLMediaSession::unregisterWithDocument):
(WebCore::HTMLMediaSession::showPlaybackTargetPicker):
(WebCore::HTMLMediaSession::hasWirelessPlaybackTargets):
(WebCore::HTMLMediaSession::setHasPlaybackTargetAvailabilityListeners):
(WebCore::HTMLMediaSession::didChoosePlaybackTarget):
(WebCore::HTMLMediaSession::externalOutputDeviceAvailableDidChange):
(WebCore::HTMLMediaSession::requiresPlaybackTargetRouteMonitoring):

  • html/HTMLMediaSession.h:
  • page/ChromeClient.h:
  • page/Page.cpp:

(WebCore::Page::didChoosePlaybackTarget):
(WebCore::Page::playbackTargetAvailabilityDidChange):
(WebCore::Page::configurePlaybackTargetMonitoring):

  • page/Page.h:

(WebCore::Page::hasWirelessPlaybackTarget):
(WebCore::Page::playbackTarget):

  • platform/audio/MediaSession.cpp:

(WebCore::MediaSession::clientDataBufferingTimerFired):
(WebCore::MediaSession::wirelessRoutesAvailableDidChange): Deleted.

  • platform/audio/MediaSession.h:

(WebCore::MediaSession::didChoosePlaybackTarget):
(WebCore::MediaSession::externalOutputDeviceAvailableDidChange):
(WebCore::MediaSession::requiresPlaybackTargetRouteMonitoring):
(WebCore::MediaSessionClient::setWirelessPlaybackTarget):

  • platform/audio/MediaSessionManager.cpp:

(WebCore::MediaSessionManager::wirelessRoutesAvailableChanged): Deleted.

  • platform/audio/MediaSessionManager.h:

(WebCore::MediaSessionManager::configureWireLessTargetMonitoring):

  • platform/audio/ios/MediaSessionManagerIOS.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm:

(WebCore::MediaSessionManageriOS::externalOutputDeviceAvailableDidChange):
(-[WebMediaSessionHelper wirelessRoutesAvailableDidChange:]):

  • platform/graphics/AVPlaybackTarget.h: Added.

(WebCore::AVPlaybackTarget::~AVPlaybackTarget):
(WebCore::AVPlaybackTarget::AVPlaybackTarget):
(WebCore::AVPlaybackTarget::setDevicePickerContext):
(WebCore::AVPlaybackTarget::devicePickerContext):

  • platform/graphics/AVPlaybackTargetPickerClient.h: Added.

(WebCore::AVPlaybackTargetPickerClient::~AVPlaybackTargetPickerClient):

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::setWirelessPlaybackTarget):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::setWirelessPlaybackTarget):

  • platform/graphics/avfoundation/AVPlaybackTargetMac.mm: Added.

(WebCore::AVPlaybackTarget::encode):
(WebCore::AVPlaybackTarget::decode):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::isCurrentPlaybackTargetWireless):
(WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessPlaybackTargetType):
(WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessVideoPlaybackDisabled):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setWirelessVideoPlaybackDisabled):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setWirelessPlaybackTarget):
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateDisableExternalPlayback):
(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):

Source/WebKit2:

  • Shared/WebCoreArgumentCoders.h:
  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<AVPlaybackTarget>::encode):
(IPC::ArgumentCoder<AVPlaybackTarget>::decode):

  • UIProcess/PageClient.h:
  • UIProcess/WebAVPlaybackTargetPickerProxy.cpp: Added.

(WebKit::WebAVPlaybackTargetPickerProxy::WebAVPlaybackTargetPickerProxy):
(WebKit::WebAVPlaybackTargetPickerProxy::~WebAVPlaybackTargetPickerProxy):
(WebKit::WebAVPlaybackTargetPickerProxy::showPlaybackTargetPicker):
(WebKit::WebAVPlaybackTargetPickerProxy::startingMonitoringPlaybackTargets):
(WebKit::WebAVPlaybackTargetPickerProxy::stopMonitoringPlaybackTargets):

  • UIProcess/WebAVPlaybackTargetPickerProxy.h: Added.

(WebKit::WebAVPlaybackTargetPickerProxy::Client::~Client):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::devicePickerProxy):
(WebKit::WebPageProxy::showPlaybackTargetPicker):
(WebKit::WebPageProxy::startingMonitoringPlaybackTargets):
(WebKit::WebPageProxy::stopMonitoringPlaybackTargets):
(WebKit::WebPageProxy::didChoosePlaybackTarget):
(WebKit::WebPageProxy::externalOutputDeviceAvailableDidChange):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::createPlaybackTargetPicker):

  • UIProcess/mac/WebAVPlaybackTargetPickerProxyMac.h: Added.
  • UIProcess/mac/WebAVPlaybackTargetPickerProxyMac.mm: Added.

(WebKit::WebAVPlaybackTargetPickerProxyMac::create):
(WebKit::WebAVPlaybackTargetPickerProxyMac::WebAVPlaybackTargetPickerProxyMac):
(WebKit::WebAVPlaybackTargetPickerProxyMac::~WebAVPlaybackTargetPickerProxyMac):
(WebKit::WebAVPlaybackTargetPickerProxyMac::outputeDeviceAvailabilityChangedTimerFired):
(WebKit::WebAVPlaybackTargetPickerProxyMac::availableDevicesDidChange):
(WebKit::WebAVPlaybackTargetPickerProxyMac::devicePicker):
(WebKit::WebAVPlaybackTargetPickerProxyMac::showPlaybackTargetPicker):
(WebKit::WebAVPlaybackTargetPickerProxyMac::currentDeviceDidChange):
(WebKit::WebAVPlaybackTargetPickerProxyMac::startingMonitoringPlaybackTargets):
(WebKit::WebAVPlaybackTargetPickerProxyMac::stopMonitoringPlaybackTargets):
(-[WebAVOutputDevicePickerMenuControllerHelper initWithCallback:]):
(-[WebAVOutputDevicePickerMenuControllerHelper clearCallback]):
(-[WebAVOutputDevicePickerMenuControllerHelper observeValueForKeyPath:ofObject:change:context:]):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebAVPlaybackTargetPicker.cpp: Added.

(WebKit::WebAVPlaybackTargetPicker::WebAVPlaybackTargetPicker):
(WebKit::WebAVPlaybackTargetPicker::showPlaybackDevicePicker):
(WebKit::WebAVPlaybackTargetPicker::configureWireLessTargetMonitoring):
(WebKit::WebAVPlaybackTargetPicker::addClient):
(WebKit::WebAVPlaybackTargetPicker::removeClient):
(WebKit::WebAVPlaybackTargetPicker::didChoosePlaybackTarget):
(WebKit::WebAVPlaybackTargetPicker::playbackTargetAvailabilityDidChange):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::showPlaybackTargetPicker):
(WebKit::WebChromeClient::startingMonitoringPlaybackTargets):
(WebKit::WebChromeClient::stopMonitoringPlaybackTargets):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::playbackTargetSelected):
(WebKit::WebPage::playbackTargetAvailabilityDidChange):

  • WebProcess/com.apple.WebProcess.sb.in:
6:10 PM Changeset in webkit [181422] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Mark compositing/backgrounds/background-image-with-negative-zindex.html as
an image failure, since r179871 was rolled out.

  • platform/mac/TestExpectations:
6:03 PM Changeset in webkit [181421] by commit-queue@webkit.org
  • 17 edits
    1 copy
    1 add in trunk

[Content Extensions] Add resource type and load type triggers.
https://bugs.webkit.org/show_bug.cgi?id=142422

Patch by Alex Christensen <achristensen@webkit.org> on 2015-03-11
Reviewed by Benjamin Poulain.

Source/WebCore:

New API tests.

  • WebCore.xcodeproj/project.pbxproj:
  • contentextensions/ContentExtensionCompiler.cpp:

(WebCore::ContentExtensions::compileRuleList):

  • contentextensions/ContentExtensionParser.cpp:

(WebCore::ContentExtensions::getTypeFlags):
(WebCore::ContentExtensions::loadTrigger):

  • contentextensions/ContentExtensionRule.h:
  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::actionsForResourceLoad):
(WebCore::ContentExtensions::ContentExtensionsBackend::actionsForURL): Deleted.

  • contentextensions/ContentExtensionsBackend.h:
  • contentextensions/DFABytecode.h:

(WebCore::ContentExtensions::instructionSizeWithArguments):

  • contentextensions/DFABytecodeCompiler.cpp:

(WebCore::ContentExtensions::DFABytecodeCompiler::emitAppendConditionalAction):
(WebCore::ContentExtensions::DFABytecodeCompiler::compileNode):

  • contentextensions/DFABytecodeCompiler.h:
  • contentextensions/DFABytecodeInterpreter.cpp:

(WebCore::ContentExtensions::DFABytecodeInterpreter::interpret):

  • contentextensions/DFABytecodeInterpreter.h:
  • loader/ResourceLoadInfo.cpp: Added.

(WebCore::toResourceType):
(WebCore::readResourceType):
(WebCore::readLoadType):
(WebCore::ResourceLoadInfo::isThirdParty):
(WebCore::ResourceLoadInfo::getResourceFlags):

  • loader/ResourceLoadInfo.h: Added.
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):

  • page/UserContentController.cpp:

(WebCore::UserContentController::actionsForResourceLoad):
(WebCore::UserContentController::actionsForURL): Deleted.

  • page/UserContentController.h:

Tools:

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(TestWebKitAPI::testRequest):
(TestWebKitAPI::mainDocumentRequest):
(TestWebKitAPI::TEST_F):
(TestWebKitAPI::testURL): Deleted.

5:38 PM Changeset in webkit [181420] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the build.

  • page/EventHandler.cpp:

(WebCore::EventHandler::selectClosestWordFromHitTestResult):
(WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
(WebCore::EventHandler::handleMousePressEventTripleClick):
(WebCore::EventHandler::handleMousePressEventSingleClick):

5:35 PM Changeset in webkit [181419] by rniwa@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

"static" should not be a reserved keyword in non-strict mode even when ES6 class is enabled
https://bugs.webkit.org/show_bug.cgi?id=142600

Reviewed by Mark Lam.

Make "static" RESERVED_IF_STRICT and manually detect it in parseClass.

No new tests. This is already checked by js/reserved-words.html and js/keywords-and-reserved_words.html

  • parser/Keywords.table:
  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseClass):

  • parser/ParserTokens.h:
5:33 PM Changeset in webkit [181418] by timothy_horton@apple.com
  • 6 edits
    8 adds in trunk

<attachment> shouldn't use "user-select: all"
https://bugs.webkit.org/show_bug.cgi?id=142453

Reviewed by Darin Adler.

It turns out that "user-select: all" is rife with bugs; in lieu of fixing them
all (at least for now), let's not use "user-select: all" in the default stylesheet
for <attachment>. It's really overkill anyway, since <attachment> can't have children.
The only "user-select: all" behavior we actually want is select-on-click.
So, we'll implement that in a slightly different way.

Tests: fast/attachment/attachment-select-on-click-inside-user-select-all.html

fast/attachment/attachment-select-on-click.html

  • css/html.css:

(attachment):
No more "user-select: all".

(attachment:focus): Deleted.
We stopped using attachment focus a while back and forgot to remove this.

  • dom/Node.h:

(WebCore::Node::shouldSelectOnMouseDown):
Add a virtual function that Node subclasses can override to indicate they
should be selected on mouse down.

  • html/HTMLAttachmentElement.h:

Override the aforementioned virtual function; <attachment> should always
be selected on mouse down.

  • page/EventHandler.cpp:

(WebCore::nodeToSelectOnMouseDownForNode):
Determine which node should be selected when a mousedown hits the given node.
If there's any "user-select: all", we go with the outermost "user-select: all".
Otherwise, we give the node a chance to say that it wants to be selected itself.

(WebCore::expandSelectionToRespectSelectOnMouseDown):
Rename this function, it's not just about "user-select: all" anymore.
Make use of nodeToSelectOnMouseDownForNode.

(WebCore::EventHandler::selectClosestWordFromHitTestResult):
(WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
(WebCore::EventHandler::handleMousePressEventTripleClick):
(WebCore::EventHandler::handleMousePressEventSingleClick):
(WebCore::expandSelectionToRespectUserSelectAll): Deleted.
Adjust to the new names.

  • fast/attachment/attachment-select-on-click-inside-user-select-all.html: Added.
  • fast/attachment/attachment-select-on-click.html: Added.
  • platform/mac/fast/attachment/attachment-select-on-click-expected.png: Added.
  • platform/mac/fast/attachment/attachment-select-on-click-expected.txt: Added.
  • platform/mac/fast/attachment/attachment-select-on-click-inside-user-select-all-expected.png: Added.
  • platform/mac/fast/attachment/attachment-select-on-click-inside-user-select-all-expected.txt: Added.
  • platform/mac-mavericks/fast/attachment/attachment-select-on-click-inside-user-select-all-expected.txt: Added.
  • platform/mac-mavericks/fast/attachment/attachment-select-on-click-expected.txt: Added.

Add two tests. One, for the basic functionality of clicking on an
<attachment> to select it. The second, to test that clicking on an
<attachment> inside a larger "user-select: all" element still selects
the whole "user-select: all" element.

5:29 PM Changeset in webkit [181417] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.15.14

New tag.

5:28 PM Changeset in webkit [181416] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.5.12

New tag.

5:20 PM March 2015 Meeting edited by abaldeva@ea.com
(diff)
5:15 PM Changeset in webkit [181415] by ggaren@apple.com
  • 4 edits in trunk/Source/WebCore

Users of Heap::deprecatedReportExtraMemory should switch to reportExtraMemoryAllocated+reportExtraMemoryVisited
https://bugs.webkit.org/show_bug.cgi?id=142595

Reviewed by Andreas Kling.

Fixed this bug for canvas.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::memoryCost): Factored out the helper function
required by our IDL generator.

(WebCore::HTMLCanvasElement::createImageBuffer): Use
reportExtraMemoryAllocated.

  • html/HTMLCanvasElement.h:
  • html/HTMLCanvasElement.idl: Adopt the IDL for reporting cost in the

right way during GC. This will match our reportExtraMemoryAllocated
with a reportExtraMemoryVisited during GC.

4:52 PM Changeset in webkit [181414] by mmirman@apple.com
  • 2 edits in trunk/LayoutTests

Update windows test results

Unreviewed followup to r181353

  • platform/win/fast/events/event-attribute-expected.txt: update windows test results.
4:28 PM Changeset in webkit [181413] by roger_fong@apple.com
  • 3 edits in trunk/Source/WebCore

A number of minor edits to the media controls on OSX.
https://bugs.webkit.org/show_bug.cgi?id=142551.
<rdar://problem/20114707>
Reviewed by Darin Adler.
This covers a slew of minor edits to the new media controls. They are as follows.
Small vertical placements adjustments to inline control elements.
Make sure buttons have no focus outlines.
Expand height of mute box that triggers the volume panel appearing.
Turn all button colors into an slightly transparent white.
Center status display text in fullscreen mode.
Lower position of captions container in fullscreen mode.
Show the controls on when done loading of the video an status display is hidden.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-panel):
(audio::-webkit-media-controls-panel button:focus):
(audio::-webkit-media-controls-rewind-button):
(audio::-webkit-media-controls-play-button):
(audio::-webkit-media-controls-play-button.paused):
(audio::-webkit-media-controls-panel .mute-box):
(video::-webkit-media-controls-volume-max-button):
(audio::-webkit-media-controls-panel .volume-box):
(video::-webkit-media-controls-volume-min-button):
(audio::-webkit-media-controls-wireless-playback-picker-button):
(audio::-webkit-media-controls-toggle-closed-captions-button):
(audio::-webkit-media-controls-closed-captions-container li.selected:hover::before):
(audio::-webkit-media-controls-fullscreen-button):
(audio::-webkit-media-controls-fullscreen-button.exit):
(audio::-webkit-media-controls-status-display):
(audio::-webkit-media-controls-time-remaining-display):
(video:-webkit-full-screen::-webkit-media-controls-panel .volume-box):
(video:-webkit-full-screen::-webkit-media-controls-volume-max-button):
(video:-webkit-full-screen::-webkit-media-controls-volume-min-button):
(video:-webkit-full-screen::-webkit-media-controls-play-button):
(video:-webkit-full-screen::-webkit-media-controls-play-button.paused):
(video:-webkit-full-screen::-webkit-media-controls-seek-back-button):
(video:-webkit-full-screen::-webkit-media-controls-seek-forward-button):
(video:-webkit-full-screen::-webkit-media-controls-status-display):
(video:-webkit-full-screen::-webkit-media-controls-closed-captions-container):
(audio::-webkit-media-controls-panel button:active): Deleted.

  • Modules/mediacontrols/mediaControlsApple.js:
3:52 PM Changeset in webkit [181412] by commit-queue@webkit.org
  • 11 edits in trunk/Source/WebCore

Unreviewed, rolling out r179340 and r179344.
https://bugs.webkit.org/show_bug.cgi?id=142598

Caused images to stay alive forever when navigating away from
the page before they finish loading. (Requested by kling on
#webkit).

Reverted changesets:

"CachedImage: ensure clients overrides imageChanged instead of
notifyFinished"
https://bugs.webkit.org/show_bug.cgi?id=140722
http://trac.webkit.org/changeset/179340

"HTMLImageLoader: fix build failure on assert condition after
r179340"
https://bugs.webkit.org/show_bug.cgi?id=140722
http://trac.webkit.org/changeset/179344

3:32 PM Changeset in webkit [181411] by ggaren@apple.com
  • 13 edits in trunk/Source

Many users of Heap::reportExtraMemory* are wrong, causing lots of memory growth
https://bugs.webkit.org/show_bug.cgi?id=142593

Reviewed by Andreas Kling.

Adopt deprecatedReportExtraMemory as a short-term fix for runaway
memory growth in these cases where we have not adopted
reportExtraMemoryVisited.

Long-term, we should use reportExtraMemoryAllocated+reportExtraMemoryVisited.
That's tracked by https://bugs.webkit.org/show_bug.cgi?id=142595.

Source/JavaScriptCore:

  • API/JSBase.cpp:

(JSReportExtraMemoryCost):

  • runtime/SparseArrayValueMap.cpp:

(JSC::SparseArrayValueMap::add):

Source/WebCore:

Using IOSDebug, I can see that the canvas stress test @ http://jsfiddle.net/fvyw4ba0/,
which used to keep > 1000 1MB NonVolatile GPU allocations live, now keeps about 10 live.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::reportExtraMemoryAllocated):

  • bindings/js/JSDocumentCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSImageDataCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSNodeListCustom.cpp:

(WebCore::createWrapper):

  • dom/CollectionIndexCache.cpp:

(WebCore::reportExtraMemoryAllocatedForCollectionIndexCache):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::createImageBuffer):

  • html/HTMLImageLoader.cpp:

(WebCore::HTMLImageLoader::imageChanged):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::dropProtection):

3:23 PM Changeset in webkit [181410] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the build

Unreviewed.

  • Shared/Downloads/mac/DownloadMac.mm:

(WebKit::Download::start):
(WebKit::Download::resume):

3:02 PM Changeset in webkit [181409] by aestes@apple.com
  • 4 edits in trunk

REGRESSION (r180985): contentfiltering/block-after-add-data.html crashes with GuardMalloc
https://bugs.webkit.org/show_bug.cgi?id=142526

Reviewed by Darin Adler.

Source/WebCore:

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::dataReceived): Don't delete m_contentFilter until after we're done using its replacement data.

LayoutTests:

3:01 PM Changeset in webkit [181408] by weinig@apple.com
  • 44 edits
    5 adds in trunk

Allow adding a button in input elements for auto fill related functionality
<rdar://problem/19782066>
https://bugs.webkit.org/show_bug.cgi?id=142564

Reviewed by Anders Carlsson.

Source/WebCore:

Test: fast/forms/input-auto-fill-button.html

  • Adds a new button that can be shown in <input> elements - AutoFillButtonElement.
  • Makes the spelling of AutoFill consistent throughout WebCore and WebKit (except where not feasible due to exported API/SPI).
  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:

Add new files.

  • css/html.css:

(input::-webkit-auto-fill-button):
(input::-webkit-auto-fill-button:hover):
(input::-webkit-auto-fill-button:active):
Add default style rules for the AutoFill button based on the ones
used for caps lock indicator.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::HTMLInputElement):
(WebCore::HTMLInputElement::autoFillButtonElement):
(WebCore::HTMLInputElement::reset):
(WebCore::HTMLInputElement::setValueFromRenderer):
(WebCore::HTMLInputElement::setAutoFilled):
(WebCore::HTMLInputElement::setShowAutoFillButton):
(WebCore::HTMLInputElement::setAutofilled): Deleted.

  • html/HTMLInputElement.h:

(WebCore::HTMLInputElement::isAutoFilled):
(WebCore::HTMLInputElement::showAutoFillButton):
(WebCore::HTMLInputElement::isAutofilled): Deleted.
Add new bit to represent whether the AutoFill button should be shown
or not. By default it is not shown, and the client must enable it.

  • html/InputType.cpp:

(WebCore::InputType::updateAutoFillButton):

  • html/InputType.h:

(WebCore::InputType::autoFillButtonElement):
Add new virtual methods for updating and accessing the AutoFill button.

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::createShadowSubtree):
(WebCore::TextFieldInputType::autoFillButtonElement):
(WebCore::TextFieldInputType::destroyShadowSubtree):
(WebCore::TextFieldInputType::updatePlaceholderText):
(WebCore::TextFieldInputType::shouldDrawAutoFillButton):
(WebCore::TextFieldInputType::autoFillButtonElementWasClicked):
(WebCore::TextFieldInputType::createContainer):
(WebCore::TextFieldInputType::createAutoFillButton):
(WebCore::TextFieldInputType::updateAutoFillButton):

  • html/TextFieldInputType.h:

Add support for adding the AutoFill to the shadow DOM of textfields. The implementation
is slightly different than for the caps lock indicator, because I didn't want to force
the creation of a container for all <input> elements just in case an AutoFill button was
added. Instead, if an AutoFill button is added, the container is created on the fly and
the existing DOM is updated to move into it. Once a container is created, it is never
removed.

  • html/shadow/AutoFillButtonElement.cpp: Added.

(WebCore::AutoFillButtonElement::create):
(WebCore::AutoFillButtonElement::AutoFillButtonElement):
(WebCore::AutoFillButtonElement::defaultEventHandler):

  • html/shadow/AutoFillButtonElement.h: Added.

Add div subclass that swallows the click event and forwards it to the ChromeClient.

  • page/ChromeClient.h:

Add handleAutoFillButtonClick client function to inform WebKit that the AutoFill
button was clicked.

  • testing/Internals.cpp:

(WebCore::Internals::setAutofilled):
(WebCore::Internals::setShowAutoFillButton):

  • testing/Internals.h:
  • testing/Internals.idl:

Expose a new internals.setShowAutoFillButton() function to allow testing
of the AutoFill button from layout tests.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::isValueAutofilled):

  • css/SelectorCheckerTestFunctions.h:

(WebCore::isAutofilled):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::canShareStyleWithControl):
Update for new spelling of AutoFill.

Source/WebKit/mac:

  • DOM/WebDOMOperations.mm:

(-[DOMHTMLInputElement _setAutofilled:]):
Update for consistent spelling of AutoFill.

Source/WebKit2:

  • Adds new SPI to respond to clicks on the AutoFill button (both bundle and UIProcess).
  • Adds new SPI to enable/disable the display of the AutoFill button on an element.
  • Adds new SPI to get the bounds of the AutoFill button.
  • Updates spelling of AutoFill to be consistent.
  • UIProcess/API/APIUIClient.h:

(API::UIClient::didClickAutoFillButton):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

  • UIProcess/API/C/WKPageUIClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::handleAutoFillButtonClick):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h:

(API::InjectedBundle::PageUIClient::didClickAutoFillButton):

  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:

(WebKit::InjectedBundlePageUIClient::didClickAutoFillButton):

  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::handleAutoFillButtonClick):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h:

Pipe the didClickAutoFillButton to the SPI layer.

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:

(-[WKWebProcessPlugInNodeHandle HTMLInputElementIsAutoFilled]):
(-[WKWebProcessPlugInNodeHandle setHTMLInputElementIsAutoFilled:]):
Update for new spelling of AutoFill.

  • WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
  • WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:

(WKBundleNodeHandleGetHTMLInputElementAutoFilled):
(WKBundleNodeHandleSetHTMLInputElementAutoFilled):
Added. Replaces WKBundleNodeHandleGetHTMLInputElementAutofilled/WKBundleNodeHandleSetHTMLInputElementAutofilled
which are now deprecated due to inconsistent spelling of AutoFill.

(WKBundleNodeHandleGetHTMLInputElementAutoFillButtonEnabled):
(WKBundleNodeHandleSetHTMLInputElementAutoFillButtonEnabled):
(WKBundleNodeHandleGetHTMLInputElementAutoFillButtonBounds):
Added.

(WKBundleNodeHandleGetHTMLInputElementAutofilled):
(WKBundleNodeHandleSetHTMLInputElementAutofilled):
Deprecated.

  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:

(WebKit::InjectedBundleNodeHandle::getOrCreate):
(WebKit::InjectedBundleNodeHandle::create):
(WebKit::InjectedBundleNodeHandle::InjectedBundleNodeHandle):
(WebKit::InjectedBundleNodeHandle::~InjectedBundleNodeHandle):
(WebKit::InjectedBundleNodeHandle::coreNode):
(WebKit::InjectedBundleNodeHandle::document):
(WebKit::InjectedBundleNodeHandle::elementBounds):
(WebKit::InjectedBundleNodeHandle::renderRect):
(WebKit::InjectedBundleNodeHandle::renderedImage):
(WebKit::InjectedBundleNodeHandle::visibleRange):
(WebKit::InjectedBundleNodeHandle::setHTMLInputElementValueForUser):
(WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutoFilled):
(WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutoFilled):
(WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutoFillButtonEnabled):
(WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutoFillButtonEnabled):
(WebKit::InjectedBundleNodeHandle::htmlInputElementAutoFillButtonBounds):
(WebKit::InjectedBundleNodeHandle::htmlInputElementLastChangeWasUserEdit):
(WebKit::InjectedBundleNodeHandle::htmlTextAreaElementLastChangeWasUserEdit):
(WebKit::InjectedBundleNodeHandle::isTextField):
(WebKit::InjectedBundleNodeHandle::htmlTableCellElementCellAbove):
(WebKit::InjectedBundleNodeHandle::documentFrame):
(WebKit::InjectedBundleNodeHandle::htmlFrameElementContentFrame):
(WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
(WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutofilled): Deleted.
(WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutofilled): Deleted.

  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:

Fix-up InjectedBundleNodeHandle to store its underlying Node in a Ref, rather than a RefPtr.
Add helpers to implement the new SPI for WKBundleNodeHandleRef.

Tools:

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createOtherPage):
(WTR::TestController::createWebViewWithOptions):
Update for new callback.

LayoutTests:

  • fast/forms/input-auto-fill-button-expected.txt: Added.
  • fast/forms/input-auto-fill-button.html: Added.
2:43 PM March 2015 Meeting edited by achristensen@apple.com
(diff)
2:29 PM Changeset in webkit [181407] by ggaren@apple.com
  • 29 edits in trunk/Source

Refactored the JSC::Heap extra cost API for clarity and to make some known bugs more obvious
https://bugs.webkit.org/show_bug.cgi?id=142589

Reviewed by Andreas Kling.

Source/JavaScriptCore:

  • API/JSBase.cpp:

(JSReportExtraMemoryCost): Added a FIXME to annotate a known bug.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::visitAggregate):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::setJITCode): Updated for rename.

  • heap/Heap.cpp:

(JSC::Heap::Heap):
(JSC::Heap::reportExtraMemoryAllocatedSlowCase):
(JSC::Heap::deprecatedReportExtraMemorySlowCase): Renamed our reporting
APIs to clarify their relationship to each other: One must report extra
memory at the time of allocation, and at the time the GC visits it.

(JSC::Heap::extraMemorySize):
(JSC::Heap::size):
(JSC::Heap::capacity):
(JSC::Heap::sizeAfterCollect):
(JSC::Heap::willStartCollection): Updated for renames. Added explicit
API for deprecated users who can't use our best API.

(JSC::Heap::reportExtraMemoryCostSlowCase): Deleted.
(JSC::Heap::extraSize): Deleted.

  • heap/Heap.h:
  • heap/HeapInlines.h:

(JSC::Heap::reportExtraMemoryAllocated):
(JSC::Heap::reportExtraMemoryVisited):
(JSC::Heap::deprecatedReportExtraMemory):
(JSC::Heap::reportExtraMemoryCost): Deleted. Ditto.

  • heap/SlotVisitor.h:
  • heap/SlotVisitorInlines.h:

(JSC::SlotVisitor::reportExtraMemoryVisited):
(JSC::SlotVisitor::reportExtraMemoryUsage): Deleted. Moved this
functionality into the Heap since it's pretty detailed in its access
to the heap.

  • runtime/JSArrayBufferView.cpp:

(JSC::JSArrayBufferView::ConstructionContext::ConstructionContext):

  • runtime/JSGenericTypedArrayViewInlines.h:

(JSC::JSGenericTypedArrayView<Adaptor>::visitChildren): Updated for
renames.

  • runtime/JSString.cpp:

(JSC::JSString::visitChildren):
(JSC::JSRopeString::resolveRopeToAtomicString):
(JSC::JSRopeString::resolveRope):

  • runtime/JSString.h:

(JSC::JSString::finishCreation): Updated for renames.

  • runtime/SparseArrayValueMap.cpp:

(JSC::SparseArrayValueMap::add): Added FIXME.

  • runtime/WeakMapData.cpp:

(JSC::WeakMapData::visitChildren): Updated for rename.

Source/WebCore:

Updated for renames to JSC extra cost APIs.

Added FIXMEs to our 10 use cases that are currently wrong, including
canvas, which is the cause of https://bugs.webkit.org/show_bug.cgi?id=142457.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::appendBufferInternal):
(WebCore::SourceBuffer::sourceBufferPrivateAppendComplete):
(WebCore::SourceBuffer::reportExtraMemoryAllocated):
(WebCore::SourceBuffer::reportExtraMemoryCost): Deleted.

  • Modules/mediasource/SourceBuffer.h:
  • bindings/js/JSDocumentCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSImageDataCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSNodeListCustom.cpp:

(WebCore::createWrapper):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • dom/CollectionIndexCache.cpp:

(WebCore::reportExtraMemoryAllocatedForCollectionIndexCache):
(WebCore::reportExtraMemoryCostForCollectionIndexCache): Deleted.

  • dom/CollectionIndexCache.h:

(WebCore::Iterator>::computeNodeCountUpdatingListCache):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::createImageBuffer):

  • html/HTMLCollection.h:

(WebCore::CollectionNamedElementCache::didPopulate):

  • html/HTMLImageLoader.cpp:

(WebCore::HTMLImageLoader::imageChanged):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::dropProtection):

2:14 PM Changeset in webkit [181406] by bshafiei@apple.com
  • 4 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r181351. rdar://problem/20123049

2:08 PM Changeset in webkit [181405] by benjamin@webkit.org
  • 10 edits in trunk

Add basic support for BOL and EOL assertions to the URL Filter parser
https://bugs.webkit.org/show_bug.cgi?id=142568

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-03-11
Reviewed by Alex Christensen.

Source/WebCore:

This patch adds heavily restricted support for BOL and EOL to the URL filter parser.

Both assertions must be the first/last term of their pattern. Any advanced combination
results in a parsing error.

The BOL assertion is easy to represent: currently, any pattern starts at the beginning
of a line and the NFA are generated accordingly.

I had two options to represent the EOL assertion:
1) Add a new special transition on EOL.
2) Add a new vector of actions to the states, conditional to the EOL input.

I picked the first option to avoid growing every state by a vector
that would be empty in the vast majority of cases.

On the matching side, the interpreter was modified to support transitions on '\0'.
DFABytecodeInstruction::CheckValue now stops when running on a character after
the end of the string.

DFABytecodeInstruction::Jump gets two fixes: First we now account for the index
to avoid going past the end of the input. Second, stop on '\0' too... the reason
is that the unconditional jump is only used for fallback edges of the DFA, fallback
edge are not supposed to accept '\0'.

  • contentextensions/DFA.cpp:

(WebCore::ContentExtensions::printTransitions):

  • contentextensions/DFABytecodeInterpreter.cpp:

(WebCore::ContentExtensions::DFABytecodeInterpreter::interpret):

  • contentextensions/DFANode.h:
  • contentextensions/NFA.cpp:

(WebCore::ContentExtensions::NFA::addTransition):
(WebCore::ContentExtensions::NFA::addEpsilonTransition):
(WebCore::ContentExtensions::printTransitions):

  • contentextensions/NFANode.h:
  • contentextensions/NFAToDFA.cpp:

(WebCore::ContentExtensions::populateTransitions):
(WebCore::ContentExtensions::NFAToDFA::convert):

  • contentextensions/URLFilterParser.cpp:

(WebCore::ContentExtensions::Term::Term):
(WebCore::ContentExtensions::Term::isEndOfLineAssertion):
(WebCore::ContentExtensions::GraphBuilder::assertionBOL):
(WebCore::ContentExtensions::GraphBuilder::assertionEOL):
(WebCore::ContentExtensions::GraphBuilder::sinkFloatingTermIfNecessary):

Tools:

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(TestWebKitAPI::TEST_F):

2:03 PM Changeset in webkit [181404] by rniwa@webkit.org
  • 6 edits in trunk

Calling super() in a base class results in a crash
https://bugs.webkit.org/show_bug.cgi?id=142563

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

The bug was caused by BytecodeGenerator trying to generate "super" expression inside the constructor of a base class.
Disallow that by keeping track of whether "super" has been used in the current scope or not (needsSuperBinding flag)
and then throwing a syntax error in parseFunctionInfo if it was used and the current scope wasn't the constructor of
a derived class.

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseFunctionInfo): Don't allow super() or super.foo outside the constructor of a derived class.
(JSC::Parser<LexerType>::parseClass): Pass in the constructor kind to parseGetterSetter.
(JSC::Parser<LexerType>::parseGetterSetter): Ditto to parseFunctionInfo.
(JSC::Parser<LexerType>::parseMemberExpression): Set needsSuperBinding flag true on the containing scope.

  • parser/Parser.h:

(JSC::Scope::Scope):
(JSC::Scope::needsSuperBinding): Added.
(JSC::Scope::setNeedsSuperBinding): Added.

LayoutTests:

Added more test cases to an existing test.

  • js/class-syntax-super-expected.txt:
  • js/script-tests/class-syntax-super.js:
2:01 PM March 2015 Meeting edited by Simon Fraser
(diff)
2:00 PM March 2015 Meeting edited by Simon Fraser
(diff)
1:27 PM Changeset in webkit [181403] by jer.noble@apple.com
  • 5 edits in trunk/Source/WebCore

[Mac] Update fullscreen placeholder UI to use Vibrancy.
https://bugs.webkit.org/show_bug.cgi?id=142586

Reviewed by Eric Carlson.

Update the fullscreen placeholder with a translucent vibrant appearance
using NSVisualEffectView. Since NSVisuaEffectView is only available for
OS X 10.10 and above, wrap the new implementation in a version check and
retain the old implementation.

Drive-by: Update the strings for the placeholder view with new HI guidance
as well.

  • English.lproj/Localizable.strings:
  • platform/LocalizedStrings.cpp:

(WebCore::clickToExitFullScreenText):

  • platform/mac/WebCoreFullScreenPlaceholderView.h:
  • platform/mac/WebCoreFullScreenPlaceholderView.mm:

(-[WebCoreFullScreenPlaceholderView setExitWarningVisible:]):

1:18 PM Changeset in webkit [181402] by bshafiei@apple.com
  • 4 edits
    2 copies in branches/safari-600.5-branch

Merged r181351. <rdar://problem/20123022>

1:08 PM Changeset in webkit [181401] by Said Abou-Hallawa
  • 3 edits in trunk/LayoutTests

svg/animations/smil-leak-*.svg tests are flaky.
https://bugs.webkit.org/show_bug.cgi?id=114280

Unreviewed.

Some svg tests were flaky on mac only but they became flaky on all ports
after r181345. They pass locally and on EWS but not on bots. Mark them to
be flaky on all ports till we figure out the problem with these tests.

12:16 PM Changeset in webkit [181400] by timothy_horton@apple.com
  • 6 edits in trunk/Source

Make it possible to zoom on pages that claim to lay out to device size and then fail to do so
https://bugs.webkit.org/show_bug.cgi?id=142549

Reviewed by Simon Fraser.

  • page/ViewportConfiguration.cpp:

(WebCore::ViewportConfiguration::ViewportConfiguration):
Rename m_ignoreScalingConstraints to m_canIgnoreScalingConstraints,
because it being true does not guarantee that we will ignore scaling constraints,
but it being false does guarantee that we won't.

(WebCore::ViewportConfiguration::shouldIgnoreScalingConstraints):
Ignore scaling constraints if the page:

a) claimed to want to lay out to device-width and then laid out too wide
b) claimed to want to lay out to device-height and then laid out too tall
c) claimed to want to lay out with initialScale=1 and then laid out too wide

(WebCore::ViewportConfiguration::initialScale):
(WebCore::ViewportConfiguration::minimumScale):
(WebCore::ViewportConfiguration::allowsUserScaling):
Call shouldIgnoreScalingConstraints() instead of looking at the local, so we can
have some more logic here (as above).

(WebCore::ViewportConfiguration::description):
Dump whether we're ignoring scaling constraints.

(WebCore::ViewportConfiguration::dump):
Use WTFLogAlways so that the output goes to various other logging mechanisms
instead of just stderr.

  • page/ViewportConfiguration.h:

(WebCore::ViewportConfiguration::setCanIgnoreScalingConstraints):
(WebCore::ViewportConfiguration::setIgnoreScalingConstraints): Deleted.

  • Shared/WebPreferencesDefinitions.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):
Flip the pref on by default.

12:14 PM Changeset in webkit [181399] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] Add support for handling TLS errors to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=142576

Reviewed by Sergio Villar Senin.

It's useful for testing TLS errors handling itself, but also to
allow ignoring TLS errors when testing.

  • MiniBrowser/gtk/BrowserWindow.c:

(webViewLoadFailedWithTLSerrors):
(browserWindowConstructed):

11:26 AM March 2015 Meeting edited by Simon Fraser
(diff)
11:25 AM March 2015 Meeting edited by Simon Fraser
(diff)
11:22 AM Changeset in webkit [181398] by mmaxfield@apple.com
  • 35 edits in trunk

Use out-of-band messaging for RenderBox::firstLineBaseline() and RenderBox::inlineBlockBaseline()
https://bugs.webkit.org/show_bug.cgi?id=142569

Reviewed by David Hyatt.

Source/WebCore:

Currently, RenderBox::firstLineBaseline() and RenderBox::inlineBlockBaseline() return -1 to mean
that its baseline should be skipped. Instead of using this sentinel value, this patch changes the
return type from int to Optional<int>.

No new tests because there is no behavior change.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::baselinePosition):
(WebCore::RenderBlock::firstLineBaseline):
(WebCore::RenderBlock::inlineBlockBaseline):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::firstLineBaseline):
(WebCore::RenderBlockFlow::inlineBlockBaseline):

  • rendering/RenderBlockFlow.h:
  • rendering/RenderBox.h:

(WebCore::RenderBox::firstLineBaseline):
(WebCore::RenderBox::inlineBlockBaseline):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::baselinePosition):
(WebCore::RenderFlexibleBox::firstLineBaseline):
(WebCore::RenderFlexibleBox::inlineBlockBaseline):
(WebCore::RenderFlexibleBox::marginBoxAscentForChild):

  • rendering/RenderFlexibleBox.h:
  • rendering/RenderMenuList.h:
  • rendering/RenderTable.cpp:

(WebCore::RenderTable::cellAbove):
(WebCore::RenderTable::cellBelow):
(WebCore::RenderTable::cellBefore):
(WebCore::RenderTable::cellAfter):
(WebCore::RenderTable::firstLineBlock):
(WebCore::RenderTable::baselinePosition):
(WebCore::RenderTable::inlineBlockBaseline):
(WebCore::RenderTable::firstLineBaseline):

  • rendering/RenderTable.h:
  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::cellBaselinePosition):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::firstLineBaseline):

  • rendering/RenderTableSection.h:
  • rendering/RenderTextControl.h:
  • rendering/mathml/RenderMathMLBlock.cpp:

(WebCore::RenderMathMLBlock::baselinePosition):
(WebCore::RenderMathMLTable::firstLineBaseline):

  • rendering/mathml/RenderMathMLBlock.h:
  • rendering/mathml/RenderMathMLFraction.cpp:

(WebCore::RenderMathMLFraction::firstLineBaseline):

  • rendering/mathml/RenderMathMLFraction.h:
  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::firstLineBaseline):

  • rendering/mathml/RenderMathMLOperator.h:
  • rendering/mathml/RenderMathMLRoot.cpp:

(WebCore::RenderMathMLRoot::firstLineBaseline):
(WebCore::RenderMathMLRoot::layout):

  • rendering/mathml/RenderMathMLRoot.h:
  • rendering/mathml/RenderMathMLRow.cpp:

(WebCore::RenderMathMLRow::layout):

  • rendering/mathml/RenderMathMLScripts.cpp:

(WebCore::RenderMathMLScripts::layout):
(WebCore::RenderMathMLScripts::firstLineBaseline):

  • rendering/mathml/RenderMathMLScripts.h:
  • rendering/mathml/RenderMathMLSpace.cpp:

(WebCore::RenderMathMLSpace::firstLineBaseline):

  • rendering/mathml/RenderMathMLSpace.h:
  • rendering/mathml/RenderMathMLUnderOver.cpp:

(WebCore::RenderMathMLUnderOver::firstLineBaseline):

  • rendering/mathml/RenderMathMLUnderOver.h:

Source/WTF:

Provide a callback to Optional::valueOrCompute() which is evaluated only if necessary.

  • wtf/Optional.h:

(WTF::Optional::valueOrCompute):

Tools:

Test Optional::valueOrCompute().

  • TestWebKitAPI/Tests/WTF/Optional.cpp:

(TestWebKitAPI::TEST):

11:21 AM Changeset in webkit [181397] by timothy_horton@apple.com
  • 5 edits in trunk

<attachment>s should be created when dropping files onto contentEditable areas
https://bugs.webkit.org/show_bug.cgi?id=142494
<rdar://problem/19982553>

Reviewed by Anders Carlsson.

Covered by existing tests.

  • editing/mac/EditorMac.mm:

(WebCore::Editor::WebContentReader::readFilenames):
Instead of inserting the dropped URLs as strings, make an <attachment>
for each.

  • editing/pasteboard/drag-files-to-editable-element-expected.txt:
  • editing/pasteboard/drag-files-to-editable-element.html:

Update the test to expect <attachment>s instead of filenames.

11:13 AM Changeset in webkit [181396] by hyatt@apple.com
  • 6 edits in trunk

Optimize offsetWidth and offsetHeight to avoid doing layouts.
https://bugs.webkit.org/show_bug.cgi?id=142544

Reviewed by Beth Dakin.

Source/WebCore:

  • dom/Document.cpp:

(WebCore::Document::updateLayoutIfDimensionsOutOfDate):

  • dom/Document.h:

Added a new method that only updates layout if it determines that the desired dimensions are out
of date.

  • dom/Element.cpp:

(WebCore::Element::offsetWidth):
(WebCore::Element::offsetHeight):
Patch offsetWidth and offsetHeight to call the new method rather than updateLayoutIgnorePendingStylesheets.

LayoutTests:

  • fast/images/repaint-subrect-grid.html:

Patch this test to use the window.internals update layout method rather than
relying on document.body.offsetWidth.

11:08 AM Changeset in webkit [181395] by Carlos Garcia Campos
  • 6 edits in trunk

[GTK] Add an option to enable MiniBrowser for non developer builds and always install it
https://bugs.webkit.org/show_bug.cgi?id=126688

Reviewed by Gustavo Noronha Silva.

.:

Add ENABLE_MINIBROWSER option, enabled by default for development
builds and disabled for production builds unless explicilty enabled.

  • Source/cmake/OptionsGTK.cmake:

Tools:

  • CMakeLists.txt: Build testing tools only for developer builds,

but MiniBrowser when ENABLE_MINIBROWSER option is ON.

  • MiniBrowser/gtk/CMakeLists.txt: Only add

-DWEBKIT_INJECTED_BUNDLE_PATH to the build for developer builds,
and add a rule to install the MiniBrowser.

  • MiniBrowser/gtk/main.c:

(main): Only set WEBKIT_INJECTED_BUNDLE_PATH env var for developer
builds.

10:57 AM Changeset in webkit [181394] by bshafiei@apple.com
  • 11 edits
    4 deletes in tags/Safari-601.1.22

Merged r181389.

10:49 AM Changeset in webkit [181393] by Brent Fulgham
  • 5 edits
    1 add in trunk/Tools

Add some DateMath tests to TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=142565

Reviewed by Alexey Proskuryakov.

  • TestWebKitAPI/CMakeLists.txt: Add new DateMath.cpp file.
  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj: Ditto.
  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj.filters: Ditto.
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Ditto."
  • TestWebKitAPI/Tests/WTF/DateMath.cpp: Added.
10:47 AM Changeset in webkit [181392] by Carlos Garcia Campos
  • 5 edits in trunk

[GTK] Do not look for child processes in the UI process binary path
https://bugs.webkit.org/show_bug.cgi?id=135752

Reviewed by Gustavo Noronha Silva.

.:

  • Source/cmake/OptionsGTK.cmake: Add -DDEVELOPMENT_BUILD=1 to the

build for development builds.

Source/WebKit2:

It's only useful for internal tools and tests, but never when
installed, since we don't install the processes in the bin dir but
in the libexec dir.

  • Shared/gtk/ProcessExecutablePathGtk.cpp:

(WebKit::findWebKitProcess): Only look or the executables in the
UI process binary path or WEBKIT_EXEC_PATH for development builds.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(injectedBundleDirectory): Only check
WEBKIT_INJECTED_BUNDLE_PATH env var for development builds.

9:38 AM Changeset in webkit [181391] by mmaxfield@apple.com
  • 1 edit
    7 adds in trunk/LayoutTests

[Win] Test gardening after r181260

Unreviewed.

  • platform/win/svg/text/select-textLength-spacingAndGlyphs-squeeze-1-expected.txt: Added.
  • platform/win/svg/text/select-textLength-spacingAndGlyphs-squeeze-2-expected.txt: Added.
  • platform/win/svg/text/select-textLength-spacingAndGlyphs-squeeze-3-expected.txt: Added.
  • platform/win/svg/text/select-textLength-spacingAndGlyphs-squeeze-4-expected.txt: Added.
  • platform/win/svg/text/select-textLength-spacingAndGlyphs-stretch-1-expected.txt: Added.
  • platform/win/svg/text/select-textLength-spacingAndGlyphs-stretch-2-expected.txt: Added.
  • platform/win/svg/text/select-textLength-spacingAndGlyphs-stretch-3-expected.txt: Added.
9:31 AM Changeset in webkit [181390] by mmaxfield@apple.com
  • 1 edit
    3 copies
    2 adds
    1 delete in trunk/LayoutTests

Test gardening after r181278

Unreviewed.

Until Windows adopts the SVG -> OTF Converter, we should mark this test as Mac-only.

  • platform/mac/svg/fonts/resources/svg-font-general.svg: Renamed from LayoutTests/svg/fonts/resources/svg-font-general.svg.
  • platform/mac/svg/fonts/svg-font-general-expected.html: Renamed from LayoutTests/svg/fonts/svg-font-general-expected.html.
  • platform/mac/svg/fonts/svg-font-general.html: Renamed from LayoutTests/svg/fonts/svg-font-general.html.
8:58 AM Changeset in webkit [181389] by commit-queue@webkit.org
  • 11 edits
    4 deletes in trunk

Unreviewed, rolling out r181367.
https://bugs.webkit.org/show_bug.cgi?id=142581

Caused crashes on the debug bots (Requested by cdumez on
#webkit).

Reverted changeset:

"Web Inspector: CSS parser errors in the console should
include column numbers"
https://bugs.webkit.org/show_bug.cgi?id=114313
http://trac.webkit.org/changeset/181367

7:52 AM Changeset in webkit [181388] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Reload after Global Search results in empty Resources Sidebar.
https://bugs.webkit.org/show_bug.cgi?id=142572

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-11
Reviewed by Timothy Hatcher.

If you reload when the search content tree outline is showing, break out
to show the resource tree outline.

  • UserInterface/Views/ResourceSidebarPanel.js:

(WebInspector.ResourceSidebarPanel.prototype._showResourcesContentTreeOutline):
(WebInspector.ResourceSidebarPanel.prototype._showSearchContentTreeOutline):

7:41 AM Changeset in webkit [181387] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

Inline block children do not have correct baselines if their children are also block elements
https://bugs.webkit.org/show_bug.cgi?id=142559

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-03-11
Reviewed by Darin Adler.

Source/WebCore:

Perform the same computation on child block elements as child inline elements.

Test: fast/text/baseline-inline-block-block-children.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::inlineBlockBaseline):

LayoutTests:

  • fast/text/baseline-inline-block-block-children-expected.html: Added.
  • fast/text/baseline-inline-block-block-children.html: Added.
7:09 AM Changeset in webkit [181386] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: SearchResultTreeElement.representedObject is missing a saveIdentityToCookie implementation
https://bugs.webkit.org/show_bug.cgi?id=134698

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-11
Reviewed by Timothy Hatcher.

This will restore selection of a global search tree element if you
close and reopen the inspector in such a case.

  • UserInterface/Models/DOMSearchMatchObject.js:

(WebInspector.DOMSearchMatchObject.prototype.get resource):
(WebInspector.DOMSearchMatchObject.titleForDOMNode):
Cookie has the resource URL, DOM Node title, and text range.

  • UserInterface/Models/SourceCodeSearchMatchObject.js:

(WebInspector.SourceCodeSearchMatchObject.prototype.get sourceCodeTextRange):
Cookie has the source code URL and text range.

7:00 AM Changeset in webkit [181385] by clopez@igalia.com
  • 3 edits in trunk/Source/WebCore

[CMake][GStreamer] Building EFL or GTK with ENABLE_VIDEO and without ENABLE_WEB_AUDIO is broken.
https://bugs.webkit.org/show_bug.cgi?id=142577

Reviewed by Carlos Garcia Campos.

No new tests, this is a build fix.

  • PlatformEfl.cmake: Include GSTREAMER_AUDIO_LIBRARIES on the link step both for ENABLE_VIDEO and ENABLE_WEB_AUDIO.
  • PlatformGTK.cmake: Idem.
4:03 AM Changeset in webkit [181384] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore

Merge r181343 - Use std::numeric_limits<unsigned>::max() instead of (unsigned)-1.
<https://webkit.org/b/142539>

Reviewed by Benjamin Poulain.

  • jit/JIT.cpp:

(JSC::JIT::JIT):
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::privateCompile):
(JSC::JIT::privateCompileExceptionHandlers):

  • jit/JITInlines.h:

(JSC::JIT::emitNakedCall):
(JSC::JIT::addSlowCase):
(JSC::JIT::addJump):
(JSC::JIT::emitJumpSlowToHot):
(JSC::JIT::emitGetVirtualRegister):

  • jit/SlowPathCall.h:

(JSC::JITSlowPathCall::call):

  • yarr/Yarr.h:
3:49 AM Changeset in webkit [181383] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.8/Source

Merge r181326 - GCC: CRASH() should be annotated with NORETURN
https://bugs.webkit.org/show_bug.cgi?id=142524

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-03-10
Reviewed by Anders Carlsson.

Source/JavaScriptCore:

Don't return from a NORETURN function. This used to avoid a warning from GCC, but now it
causes one.

  • jsc.cpp:

Source/WTF:

Add COMPILER(GCC) to #ifdefs that already exist for Clang.

  • wtf/Assertions.cpp:
  • wtf/Assertions.h:
3:23 AM Changeset in webkit [181382] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.8/Source/WebKit2

Merge r181324 - [GTK] Contents not shown when entering AC mode unless the window is resized
https://bugs.webkit.org/show_bug.cgi?id=142347

Reviewed by Žan Doberšek.

The problem is once again that we are now creating the redirected
X window in realize method. When entering AC mode we resize the
redirected window to the drawing area size. Since the size hasn't
changed from the drawing area point of view, the web process is
not notified. The WebProcess always uses the window size, instead
of the root layer size, to make sure it's in sync, see the comment
in LayerTreeHostGtk::compositeLayersToContext(). So, we need to
enforce a resize when we change the size of the redirected window
when entering AC mode.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseEnterAcceleratedCompositingMode):

  • UIProcess/DrawingAreaProxyImpl.h:

(WebKit::DrawingAreaProxyImpl::forceResize):

3:22 AM Changeset in webkit [181381] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r181323 - [GTK] GL_MAX_VARYING_FLOATS is not defined in OpenGL ES 2
https://bugs.webkit.org/show_bug.cgi?id=142529

Reviewed by Žan Doberšek.

Do not use GL_MAX_VARYING_FLOATS when platform is GTK+ and using
OpenGL ES 2.

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::checkVaryingsPacking):

3:21 AM Changeset in webkit [181380] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r181322 - Unreviewed. Fix GTK+ build with OpenGL ES 2 enabled.

Remove USE(OPENGL) ifdef from GLContext.cpp, since there's nothing
specific to OpenGL in that file, and everything depending on
configure options is already protected by USE(GLX) and USE(EGL)
ifdefs. This is causing linking issues when building with OpenGL
ES 2, because the header doesn't have the ifdef, and the cpp file
is not compiled leaving all the interface undefined.

Patch by José Dapena Paz <jdapena@igalia.com> on 2015-03-10
Rubber-stamped by Carlos Garcia Campos.

  • platform/graphics/GLContext.cpp:
3:20 AM Changeset in webkit [181379] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.8

Merge r181321 - [GTK] Add a configure option to build with OpenGL ES 2
https://bugs.webkit.org/show_bug.cgi?id=142498

Patch by Carlos Garcia Campos <cgarcia@igalia.com> and José Dapena Paz <jdapena@igalia.com> on 2015-03-10
Reviewed by Martin Robinson.

.:

Add ENABLE_GLES2 option. It's disabled by default, but if passed
GLES2 is required and OpenGL is not even searched. Otherwise we
search for OpenGL as usual, using it only if present.

  • Source/cmake/OptionsGTK.cmake:

Source/WebCore:

Build GLES or GL specific files depending on the build options.

  • PlatformGTK.cmake:
3:19 AM Changeset in webkit [181378] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r181320 - Shrink the CSSPropertyID enum type
https://bugs.webkit.org/show_bug.cgi?id=142456

Reviewed by Sam Weinig.

Specify uint16_t as the base type for the CSSPropertyID enum.
This is enough to cover all of the CSS properties (429 at this moment,
with static_assert covering future changes). It halves the enum type size,
from 4 bytes to 2, reducing the size of various CSSPropertyID containers.

No new tests -- no change in behavior.

  • css/CSSPrimitiveValue.cpp:

(WebCore::propertyName): Remove the unnecessary propertyID < 0 check.

  • css/makeprop.pl:
3:06 AM Changeset in webkit [181377] by Carlos Garcia Campos
  • 12 edits in releases/WebKitGTK/webkit-2.8/Source

Merge r181329 - bmalloc: tryFastMalloc shouldn't crash
https://bugs.webkit.org/show_bug.cgi?id=142443

Reviewed by Darin Adler.

Source/bmalloc:

Added support for tryMalloc.

We assume that non-x-large allocations always succeed, and we crash
otherwise, since normal allocation failure will just cause the next
non-try allocation or internal metadata allocation to fail, and it's
hard and not really useful to keep limping along after that. But
extra-large allocations can meaningfully fail, and we can recover.

  • bmalloc/Heap.cpp:

(bmalloc::Heap::allocateXLarge):
(bmalloc::Heap::tryAllocateXLarge):

  • bmalloc/Heap.h: Added support for non-crashy x-large allocation.
  • bmalloc/VMAllocate.h:

(bmalloc::tryVMAllocate):
(bmalloc::vmAllocate): Added support for non-crashy VM allocation.

  • bmalloc/bmalloc.h:

(bmalloc::api::tryMalloc):
(bmalloc::api::realloc):
(bmalloc::api::free): Tried to clarify our behavior with some comments.
Unfortunately, calling what we do "malloc" is still not quite right, since
malloc returns null on failure and we don't.

Source/WTF:

  • wtf/FastMalloc.cpp:

(WTF::fastMalloc):
(WTF::fastRealloc):
(WTF::fastAlignedMalloc): Don't check for null. bmalloc automatically
crashes on allocation failure, and we'd rather not pay for an extra check.

(WTF::tryFastMalloc): Added an opt-out API to return null rather than
crashing, since some clients need this.

(WTF::tryFastRealloc): Deleted. Unused.

  • wtf/FastMalloc.h:
2:38 AM Changeset in webkit [181376] by Carlos Garcia Campos
  • 6 edits
    1 delete in releases/WebKitGTK/webkit-2.8/Source/WTF

Merge r180814 - Remove unused PossiblyNull
https://bugs.webkit.org/show_bug.cgi?id=142124

Reviewed by Andreas Kling.

  • WTF.vcxproj/WTF.vcxproj: Removed the file.
  • WTF.vcxproj/WTF.vcxproj.filters: Ditto.
  • WTF.xcodeproj/project.pbxproj: Ditto.
  • wtf/CMakeLists.txt: Ditto.
  • wtf/PossiblyNull.h: Removed.
  • wtf/FastMalloc.h: Moved everything to the left.

Moved member functions out of the TryMallocReturnValue class definition.
(WTF::TryMallocReturnValue::operator PossiblyNull<T>): Deleted.
(WTF::TryMallocReturnValue::getValue): Marked inline, changed to work
only with pointer types, not arbitrary non-pointer types.

2:11 AM Changeset in webkit [181375] by Carlos Garcia Campos
  • 7 edits
    1 add in releases/WebKitGTK/webkit-2.8/Source

Merge r181305 - 8-bit version of weakCompareAndSwap() can cause an infinite loop.
https://webkit.org/b/142513>

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Added a test that exercises the 8-bit CAS from multiple threads. The threads
will contend to set bits in a large array of bytes using the CAS function.

  • API/tests/CompareAndSwapTest.cpp: Added.

(Bitmap::Bitmap):
(Bitmap::numBits):
(Bitmap::clearAll):
(Bitmap::concurrentTestAndSet):
(setBitThreadFunc):
(testCompareAndSwap):

  • API/tests/testapi.c:

(main):

Source/WTF:

Presently, Bitmap::concurrentTestAndSet() uses the 8-bit version of
weakCompareAndSwap() (which compares and swaps an uint8_t value).
Bitmap::concurrentTestAndSet() has a loop that checks if a bit in the
byte of interest has been set. If not, it will call the 8-bit CAS
function to set the bit.

Under the covers, for ARM, the 8-bit CAS function actually works with a
32-bit CAS. The 8-bit CAS will first fetch the 32-bit value in memory
that should contain the 8-bit value, and check if it contains the
expected byte. If the value in memory doesn't have the expected byte,
it will return early to its caller. The expectation is that the caller
will reload the byte from memory and call the 8-bit CAS again.

Unfortunately, this code path that returns early does not have a
compiler fence. Without a compiler fence, the C++ compiler can
optimize away the reloading of the expected byte value, leaving it
unchanged. As a result, we'll have a infinite loop here that checks a
value that will never change, and the loop will not terminate until the
value changes.

The fix is to eliminate the early return check in the 8-bit CAS, and
have it always call down to the 32-bit CAS. The 32-bit CAS has a
compiler fence which will prevent this issue.

  • wtf/Atomics.h:

(WTF::weakCompareAndSwap):

1:45 AM Changeset in webkit [181374] by Carlos Garcia Campos
  • 16 edits
    1 copy
    1 add in releases/WebKitGTK/webkit-2.8/Source

Merge r181297 - Stale entries in WeakGCMaps are keeping tons of WeakBlocks alive unnecessarily.
<https://webkit.org/b/142115>
<rdar://problem/19992268>

Reviewed by Geoffrey Garen.

Prune stale entries from WeakGCMaps as part of every full garbage collection.
This frees up tons of previously-stuck WeakBlocks that were only sitting around
with finalized handles waiting to die.

Note that WeakGCMaps register/unregister themselves with the GC heap in their
ctor/dtor, so creating one now requires passing the VM.

Average time spent in the PruningStaleEntriesFromWeakGCMaps GC phase appears
to be between 0.01ms and 0.3ms, though I've seen a few longer ones at ~1.2ms.
It seems somewhat excessive to do this on every Eden collection, so it's only
doing work in full collections for now.

Because the GC may now mutate WeakGCMap below object allocation, I've made it
so that the classic HashMap::add() optimization can't be used with WeakGCMap.
This caused intermittent test failures when originally landed due to having
an invalid iterator on the stack after add() inserted a new entry and we
proceeded to allocate the new object, triggering GC.

  • API/JSWeakObjectMapRefInternal.h:

(OpaqueJSWeakObjectMap::create):
(OpaqueJSWeakObjectMap::OpaqueJSWeakObjectMap):

  • API/JSWeakObjectMapRefPrivate.cpp:
  • API/JSWrapperMap.mm:

(-[JSWrapperMap initWithContext:]):
(-[JSWrapperMap jsWrapperForObject:]): Pass VM to WeakGCMap constructor.

  • JavaScriptCore.xcodeproj/project.pbxproj: Add WeakGCMapInlines.h and make

it project-private so WebCore clients can access it.

  • heap/Heap.cpp:

(JSC::Heap::collect):
(JSC::Heap::pruneStaleEntriesFromWeakGCMaps): Added a new GC phase for pruning
stale entries from WeakGCMaps. This is only executed during full collections.

  • heap/Heap.h:
  • heap/HeapInlines.h:

(JSC::Heap::registerWeakGCMap):
(JSC::Heap::unregisterWeakGCMap): Added a mechanism for WeakGCMaps to register
themselves with the Heap and provide a pruning callback.

  • runtime/PrototypeMap.h:

(JSC::PrototypeMap::PrototypeMap):

  • runtime/Structure.cpp:

(JSC::StructureTransitionTable::add): Pass VM to WeakGCMap constructor.

  • runtime/JSCInlines.h: Add "WeakGCMapInlines.h"
  • runtime/JSGlobalObject.cpp: Include "WeakGCMapInlines.h" so this builds.
  • runtime/JSString.cpp:

(JSC::jsStringWithCacheSlowCase):

  • runtime/PrototypeMap.cpp:

(JSC::PrototypeMap::addPrototype):
(JSC::PrototypeMap::emptyObjectStructureForPrototype): Remove HashMap add()
optimization since it's not safe in the GC-managed WeakGCMap world.

  • runtime/VM.cpp:

(JSC::VM::VM): Pass VM to WeakGCMap constructor.

  • runtime/WeakGCMap.h:

(JSC::WeakGCMap::set):
(JSC::WeakGCMap::add):
(JSC::WeakGCMap::WeakGCMap): Deleted.
(JSC::WeakGCMap::gcMap): Deleted.
(JSC::WeakGCMap::gcMapIfNeeded): Deleted.

  • runtime/WeakGCMapInlines.h: Added.

(JSC::WeakGCMap::WeakGCMap):
(JSC::WeakGCMap::~WeakGCMap):
(JSC::WeakGCMap::pruneStaleEntries): Moved ctor, dtor and pruning callback
to WeakGCMapInlines.h to fix interdependent header issues. Removed code that
prunes WeakGCMap at certain growth milestones and instead rely on the GC
callback for housekeeping.

1:44 AM Changeset in webkit [181373] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

1:41 AM Changeset in webkit [181372] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.22

New tag.

1:10 AM Changeset in webkit [181371] by Philippe Normand
  • 13 edits
    6 moves in trunk/Source/WebCore

Rename MediaStreamCenter to RealtimeMediaSourceCenter
https://bugs.webkit.org/show_bug.cgi?id=142535

Reviewed by Eric Carlson.

As per bug title, rename MediaStreamCenter to
RealtimeMediaSourceCenter, this class manages
RealtimeMediaSources, not MediaStreams. Some un-needed includes of
the header were also removed.

12:45 AM Changeset in webkit [181370] by Carlos Garcia Campos
  • 8 edits
    4 adds in releases/WebKitGTK/webkit-2.8

Merge r181292 - REGRESSION(r176978): Inline-blocks with overflowing contents have ascents that are too large
https://bugs.webkit.org/show_bug.cgi?id=141783

Reviewed by David Hyatt.

Source/WebCore:

When we have an inline-block element, and we want to find its baseline (to lay out other
elements on the same line) we loop through the element's children and ask them what their
baselines are. The children use the location of the top of their last line to compute this
value. However, if the child has overflow-y, this might not be the correct calculation.

This behavior is in the spec: "The baseline of an 'inline-block' is the baseline of its last
line box in the normal flow, unless it has either no in-flow line boxes or if its 'overflow'
property has a computed value other than 'visible', in which case the baseline is the bottom
margin edge."

-- http://www.w3.org/TR/CSS21/visudet.html#leading

However, we believe that a better policy is, when overflow is not "visible," to place the
baseline at the bottom of the block if the contents overflowed in the Y direction, and to place
it at the bottom of the last line if the contents did not overflow in the Y direction. This is
partially consistent with previous behavior, and isn't too far from the spec to cause too many
breakages.

Test: fast/css/inline-block-tricky-baselines.html

fast/text/baseline-inline-block.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::inlineBlockBaseline):

LayoutTests:

Update expected results.

  • css3/flexbox/child-overflow-expected.html:
  • css3/flexbox/child-overflow.html:
  • fast/css/inline-block-tricky-baselines-expected.html: Added.
  • fast/css/inline-block-tricky-baselines.html: Added.
  • fast/forms/textfield-overflow-by-value-update-expected.txt:
  • fast/text/baseline-inline-block-expected.html: Added.
  • fast/text/baseline-inline-block.html: Added.
  • platform/mac/fast/forms/search-vertical-alignment-expected.txt:
12:41 AM Changeset in webkit [181369] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.8/Source/WebKit2

Merge r181272 - bmalloc: tryFastMalloc shouldn't crash
https://bugs.webkit.org/show_bug.cgi?id=142443

Reviewed by Anders Carlsson.

Part 1: Stop using tryFastRealloc.

  • Shared/ShareableBitmap.cpp:

(WebKit::ShareableBitmap::resize): Deleted.

  • Shared/ShareableBitmap.h: Removed the resize function because it has

no clients.

  • WebProcess/Plugins/PluginProxy.cpp:

(WebKit::PluginProxy::updateBackingStore): Changed to allocate a new
backing store instead of resizing the old one. This has three advantages:

(1) Might be more memory-efficient, since you don't have to keep the old
one around while allocating the new one.

(2) Avoids the overhead of realloc() copying the contents of the old
backing store even though we only want uninitialized memory.

(3) Makes resize failure consistent with initial allocation failure.
Previously, while initial allocation failure would set the backing store
to null, resize failure would keep the old wrong backing store and then
tell it not to paint. Now, resize failure also sets the backing store to
null.

12:10 AM Changeset in webkit [181368] by gyuyoung.kim@samsung.com
  • 12 edits in trunk/Source/WebCore

Remove unnecessary create() factory functions
https://bugs.webkit.org/show_bug.cgi?id=142558

Reviewed by Darin Adler.

create() function which just returns new instance can be replaced with std::make_unique<>.

No new tests, no behavior changes.

  • bindings/js/JSCryptoKeySerializationJWK.cpp:

(WebCore::JSCryptoKeySerializationJWK::keyDataOctetSequence):

  • crypto/keys/CryptoKeyAES.cpp:

(WebCore::CryptoKeyAES::exportData):

  • crypto/keys/CryptoKeyDataOctetSequence.h:
  • crypto/keys/CryptoKeyHMAC.cpp:

(WebCore::CryptoKeyHMAC::exportData):

  • crypto/keys/CryptoKeySerializationRaw.cpp:

(WebCore::CryptoKeySerializationRaw::keyData):

  • platform/audio/mac/CARingBuffer.cpp:

(WebCore::CARingBuffer::create): Deleted.

  • platform/audio/mac/CARingBuffer.h:
  • platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:

(WebCore::AudioSourceProviderAVFObjC::prepare):

  • testing/Internals.cpp:

(WebCore::Internals::queueMicroTask):

  • testing/MicroTaskTest.cpp:

(WebCore::MicroTaskTest::create): Deleted.

  • testing/MicroTaskTest.h:

(WebCore::MicroTaskTest::MicroTaskTest):

Mar 10, 2015:

11:11 PM Changeset in webkit [181367] by commit-queue@webkit.org
  • 11 edits
    4 adds in trunk

Web Inspector: CSS parser errors in the console should include column numbers
https://bugs.webkit.org/show_bug.cgi?id=114313

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-10
Reviewed by Benjamin Poulain.

Source/WebCore:

Test: inspector-protocol/console/warnings-errors.html

  • css/CSSParser.h:

(WebCore::CSSParser::currentCharacterOffset):
Get the current character offset depending on the source type.
Add instance variables to track column position and start
line / column for inline stylesheets.

  • css/CSSParser.cpp:

(WebCore::CSSParser::CSSParser):
(WebCore::CSSParser::parseSheet):
Initialize new instance variables.

(WebCore::CSSParser::currentLocation):
Update to include column information. Also, if we are on the first line
we may need to take into account a start column offset as well.

(WebCore::CSSParser::realLex):
When bumping the line number, reset the column offset for the next
line with the next character.

(WebCore::CSSParser::syntaxError):
(WebCore::CSSParser::logError):
Include column information.

  • css/StyleSheetContents.cpp:

(WebCore::StyleSheetContents::parseAuthorStyleSheet):
(WebCore::StyleSheetContents::parseString):
(WebCore::StyleSheetContents::parseStringAtLineAndColumn):
Include column information.

  • css/StyleSheetContents.h:
  • dom/InlineStyleSheetOwner.cpp:

(WebCore::InlineStyleSheetOwner::InlineStyleSheetOwner):
(WebCore::InlineStyleSheetOwner::createSheet):
Save and use column information later on.

  • dom/InlineStyleSheetOwner.h:
  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::ensureSourceData):
Updated parser signature needs starting column and no longer has optional parameters.

Source/WebInspectorUI:

  • UserInterface/Views/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl.prototype._linkifyLocation):
Column numbers in console messages are also 1 based and should be adjusted.

LayoutTests:

Test errors in both external and inline CSS and Scripts to ensure they have
expected line:column information.

  • inspector-protocol/console/warnings-errors-expected.txt: Added.
  • inspector-protocol/console/warnings-errors.html: Added.
  • inspector-protocol/resources/errors.css: Added.
  • inspector-protocol/resources/errors.js: Added.
10:56 PM Changeset in webkit [181366] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Try to fix the GTK build.

  • html/HTMLVideoElement.idl: Work around gobject bindings generator limitation

by putting in a LANGUAGE_GOBJECT conditional.

10:30 PM Changeset in webkit [181365] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening on 10th Mar.

Mark smil-leak-foo tests, 3 tests of fast/css to failure.

  • platform/efl/TestExpectations:
9:08 PM Changeset in webkit [181364] by Antti Koivisto
  • 5 edits in trunk/Source/WebKit2

Add interface to delete disk cache entries
https://bugs.webkit.org/show_bug.cgi?id=142546

Reviewed by Anders Carlsson.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::Cache::remove):

  • NetworkProcess/cache/NetworkCache.h:
  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::Storage):
(WebKit::NetworkCache::Storage::remove):

Move deletion to a serial queue so we can't create large number of threads.

(WebKit::NetworkCache::Storage::dispatchReadOperation):
(WebKit::NetworkCache::Storage::dispatchHeaderWriteOperation):
(WebKit::NetworkCache::Storage::removeEntry): Deleted.

  • NetworkProcess/cache/NetworkCacheStorage.h:

(WebKit::NetworkCache::Storage::deleteQueue):

8:29 PM Changeset in webkit [181363] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

5 tests fail on Apple Mac WK2 performance bots
https://bugs.webkit.org/show_bug.cgi?id=142485

Reviewed by Andreas Kling.

Only log errors in debug builds if SandboxExtension::createHandle() fails
so that performance tests don't fail because of it. Such error is not
fatal and is expected under certain circumstances. In particular,
SandboxExtension::createHandle() is sometimes called for non-existing
files (e.g. from NetworkResourceLoadParameters::encode()).

  • Shared/mac/SandboxExtensionMac.mm:

(WebKit::SandboxExtension::createHandle):

7:52 PM Changeset in webkit [181362] by Brent Fulgham
  • 2 edits in trunk/Tools

Regression(r181257): WTF_WorkQueue.Simple is flaky
https://bugs.webkit.org/show_bug.cgi?id=142560

Unreviewed attempt to improve test stability.

  • TestWebKitAPI/Tests/WTF/WorkQueue.cpp: Check the reference count for

the WorkQueue a little later to redue flakiness.

7:36 PM Changeset in webkit [181361] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: console.error output broken, does not produce ObjectTree
https://bugs.webkit.org/show_bug.cgi?id=142554

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-10
Reviewed by Timothy Hatcher.

  • UserInterface/Models/IssueMessage.js:

(WebInspector.IssueMessage):

  • UserInterface/Protocol/ConsoleObserver.js:

(WebInspector.ConsoleObserver.prototype.messageAdded):

7:34 PM Changeset in webkit [181360] by Brent Fulgham
  • 2 edits in trunk/Source/WTF

[Win] 17 different JSC tests started to fail in DST
https://bugs.webkit.org/show_bug.cgi?id=142531

Reviewed by Chris Dumez.

The stock 'GetTimeZoneInformation' call does not always match the actual Daylight
Savings calendar. This results in a period of time when these tests fail.

If available, we should take advantage of the new 'GetTimeZoneInformationForYear',
which accesses a dynamic calendar of DST dates, which is presumbably updated by
Microsoft from year-to-year.

  • wtf/DateMath.cpp:

(WTF::timeZoneInformationForYearFunction): New function to conditionally access
some Vista (and newer) functionality.
(WTF::calculateUTCOffset): Call new function (if available) to calculate proper UTC
time offset.

7:26 PM Changeset in webkit [181359] by mmaxfield@apple.com
  • 3 edits in trunk/Tools

Migrate from SystemUIFontSelect to AppleSystemFontOSSubversion
https://bugs.webkit.org/show_bug.cgi?id=142555

Reviewed by Simon Fraser.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(setDefaultsToConsistentValuesForTesting):

  • WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:

(WTR::InjectedBundle::platformInitialize):

7:21 PM Changeset in webkit [181358] by Darin Adler
  • 28 edits in trunk

Some event handler fixes
https://bugs.webkit.org/show_bug.cgi?id=142474

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

  • inspector/InjectedScriptManager.cpp:

(Inspector::InjectedScriptManager::createInjectedScript): Call clearException.
I spotted the fact it was missing by auditing all the calls to JSC::call.

Source/WebCore:

  • bindings/scripts/CodeGenerator.pm:

(GenerateConditionalStringFromAttributeValue): Improved the algorithm here to
handle combinations of & and | in conditional expressions; that's coming up when
combining conditionals for includes in NavigatorContentUtils.idl.

  • bindings/scripts/CodeGeneratorJS.pm:

(AddToImplIncludes): Removed the rudimentary attempt to split and merge
conditionals involving | here; instead we rely on the rules in the
GenerateConditionalStringFromAttributeValue to handle this.
(GenerateImplementation): Passed new "conditional" argument to JSValueToNative.
(GenerateParametersCheck): Pass "conditional" argument to AddToImplIncludes and
JSValueToNative.
(JSValueToNative): Changed to take "conditional" as an argument, since getting
it from the signature won't work for a method parameter.
(WriteData): Merge duplicates based on the result of the
GenerateConditionalStringFromAttributeValue function rather than on the values
passed into that function, since that function converts conditionals into a
canonical form and can make two strings equal that don't start out that way.

  • bindings/scripts/CodeGeneratorObjC.pm:

(SkipAttribute): Added code to guarantee we won't make Objective-C bindings
for event handlers. We will rename EventListener to EventHandler in a
subsequent patch.

  • bindings/scripts/test/JS/JSTestInterface.cpp: Updated for a progression caused

by the better logic for conditional includes.

  • bindings/scripts/test/JS/JSTestObj.cpp: Updated for change to the test below.
  • bindings/scripts/test/TestObj.idl: Added test of an event handler attribute.
  • dom/Document.idl: Removed unneeded language #if around event handler

attributes. Removed all the commented out event handler attributes.
Sorted event handler attributes into a single section rather than separating
"standard" from "extensions". Sorted the conditional event handler attributes
into paragraphs at the bottom. We will probably make them all unconditional
in a subsequent patch.

  • dom/Element.idl: Removed unneeded language #if around event handler

attributes. Removed all the commented out event handler attributes.
Moved event handler attributes here from all derived element classes to
match the approach from the HTML standard. Also resorted the attributes
as in Document above.

  • html/HTMLBodyElement.idl: Removed unneeded language #if around event handler

attributes. Removed all the commented out event handler attributes.
Sorted event handler attributes into a single section rather than separating
"standard" from "overrides".

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::populateEventNameForAttributeLocalNameMap):
Added a few missing attribute names, and re-sorted a bit. Moved any from
element subclasses here.

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::parseAttribute): Moved code to handle
oncomplete and oncompleteerror to Element and HTMLElement.

  • html/HTMLFormElement.idl: Ditto.
  • html/HTMLFrameSetElement.idl: Removed #if and resorted as above.
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::parseAttribute): Moved code to handle
onsearch to HTMLElement.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute): Moved code to handle
all the event handler attributes to HTMLElement.
(WebCore::HTMLMediaElement::updateCaptionContainer): Removed a redundant
if statement I noticed while auditing all calls to JSC::call.
(WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): Added clearException.
I noticed this was missing because a flawed earlier version of my patch was
causing the script to fail, leaving an exception behind that caused an
assertion later. So I audited all calls to JSC::call looking for this mistake.

  • html/HTMLMediaElement.idl: Moved all the event handlers from here to

Element. Also changed everything possible to use Conditional instead of #if.

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Added
clearException. Noticed it was missing while auditing all calls to JSC::call.

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::parseAttribute): Moved event handler code to
HTMLElement.

  • html/HTMLVideoElement.idl: Moved event handler to Element.idl and use

Conditional instead of #if.

  • page/DOMWindow.idl: Use Conditional instead of #if and tidy up the event

handlers section.

  • svg/svgattrs.in: Remove six unused attribute names. Presumably used in

some older scheme to implement event handlers but no longer used at all.

LayoutTests:

  • fast/dom/event-handler-attributes-expected.txt: Updated for new tests and to

expect more tests to pass.

  • fast/dom/event-handler-attributes.html: Added testing of event handlers on

non-HTML, non-SVG elements, and on SVG elements. Also removed
webkitpresentationmodechanged from the test, for now at least.

  • fast/events/event-attribute-expected.txt: Updated to expect more tests to pass.
6:01 PM Changeset in webkit [181357] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source

Versioning.

5:59 PM Changeset in webkit [181356] by bshafiei@apple.com
  • 5 edits in branches/safari-600.5-branch/Source

Versioning.

5:54 PM Changeset in webkit [181355] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.15.13

New tag.

5:42 PM Changeset in webkit [181354] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.5.11

New tag.

5:33 PM Changeset in webkit [181353] by mmirman@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

Functions should have initialization precedence over arguments.
https://bugs.webkit.org/show_bug.cgi?id=142550
rdar://problem/19702564

Reviewed by Geoffrey Garen.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::initializeCapturedVariable):

  • tests/stress/initialize_functions_after_arguments.js: Added.
4:55 PM WebKitGTK/2.8.x edited by clopez@igalia.com
(diff)
4:19 PM Changeset in webkit [181352] by Brent Fulgham
  • 9 edits
    2 adds in trunk

CSS scroll-snap-destination and scroll-snap-coordinate are not honoring position values
https://bugs.webkit.org/show_bug.cgi?id=142411

Reviewed by Simon Fraser.

Source/WebCore:

Tested by css3/scroll-snap/scroll-snap-position-values.html.

Revise the CSSParser to recognize that scroll-snap-coordinates and scroll-snap-destination
may be specified as positions, therefore allowing 'top', 'bottom', and 'center' for the Y axis,
and 'left', 'right', and 'center' for the X axis.

Correct implementation to support calculated values for Scroll Snap Point markup. This required the
Scroll Snap Point-specific LengthRepeat class to change its internal representation from a CSSPrimitiveValue
to a regular CSSValue.

Add tests that these position labels, as well as combinations with percentages and pixel offsets
are parsed properly.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::scrollSnapDestination): Switch from 'percentageOrZoomAdjustedValue' to 'zoomAdjustedPixelValueForLength'
when working with Length values. This is necessary to allow calculated results to be based on the proper default
page dimensions.
(WebCore::scrollSnapPoints): Ditto.
(WebCore::scrollSnapCoordinates): Ditto.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseScrollSnapPositions): Consolidated code for dealing with snap point
positions.
(WebCore::CSSParser::parseScrollSnapDestination): Revise to call new helper function.
(WebCore::CSSParser::parseScrollSnapCoordinate): Ditto.
(WebCore::CSSParser::parseFillPositionX): Rename as parsePositionX.
(WebCore::CSSParser::parseFillPositionY): Rename as parsePositionY.
(WebCore::CSSParser::parseFillProperty): Update to call renamed parsePosition{X|Y} methods.
(WebCore::CSSParser::parseTransformOrigin): Ditto.
(WebCore::CSSParser::parsePerspectiveOrigin): Ditto.

  • css/CSSParser.h:
  • css/LengthRepeat.h: Revise class to use a CSSValue, rather than a CSSPrimitiveValue, so that we can represent

repeat values as calculations.

LayoutTests:

Add a test for <position> types in scroll snap operations. Also update the test expectations
for computed styles now that double-precision math is being used for calculated values.

  • css3/scroll-snap/scroll-snap-position-values-expected.txt: Added.
  • css3/scroll-snap/scroll-snap-position-values.html: Added.
  • css3/scroll-snap/scroll-snap-property-computed-style-expected.txt: Updated
  • css3/scroll-snap/scroll-snap-property-computed-style.js: Updated
4:12 PM Changeset in webkit [181351] by enrica@apple.com
  • 4 edits
    2 adds in trunk

Add support for more emoji with variation.
https://bugs.webkit.org/show_bug.cgi?id=142548
rdar://problem/20105008

Reviewed by Tim Horton.

Source/WebCore:

Update ICU rules to support new emoji with variation.

Test: editing/selection/extend-by-character-007.html

  • platform/text/TextBreakIterator.cpp:

(WebCore::cursorMovementIterator):

LayoutTests:

  • editing/selection/extend-by-character-007-expected.txt: Added.
  • editing/selection/extend-by-character-007.html: Added.
3:59 PM Changeset in webkit [181350] by akling@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Eden collections should trigger sweep of MarkedBlocks containing new objects.
<https://webkit.org/b/142538>

Reviewed by Geoffrey Garen.

Take a snapshot of all MarkedBlocks with new objects as part of Eden collections,
and append that to the IncrementalSweeper's working set.

This ensures that we run destructors for objects that were discovered to be garbage during
Eden collections, instead of delaying their teardown until the next full collection,
or the next allocation cycle for their block.

  • heap/Heap.cpp:

(JSC::Heap::snapshotMarkedSpace): For Eden collections, snapshot the list of MarkedBlocks
that contain new objects, since those are the only ones we're interested in.
Also use Vector::resizeToFit() to allocate the snapshot for full collections, since we know
the final size we need up front.

(JSC::Heap::notifyIncrementalSweeper): For Eden collections, tell the IncrementalSweeper
to add the block snapshot (taken earlier) to its existing set of blocks instead of replacing
it entirely. This allows Eden collections and incremental sweeping to occur interleaved with
each other without missing destruction opportunities.

  • heap/IncrementalSweeper.h:
  • heap/IncrementalSweeper.cpp:

(JSC::IncrementalSweeper::doSweep):
(JSC::IncrementalSweeper::sweepNextBlock): Change the way we iterate over the sweeper's
work list: instead of keeping an index for the next block, just pop from the end of the list.
This allows us to add new blocks and deduplicate the list without disturbing iteration.

(JSC::IncrementalSweeper::startSweeping): Make this take a Vector<MarkedBlock>&& so we can
pass ownership of this Vector efficiently from Heap to IncrementalSweeper.

(JSC::IncrementalSweeper::addBlocksAndContinueSweeping): Added. This is used by Eden
collections to add a set of MarkedBlocks with new objects to the sweeper's existing
working set and kick the timer.

  • heap/MarkedSpace.h:

(JSC::MarkedSpace::blocksWithNewObjects): Expose the list of MarkedBlocks with new objects.

3:53 PM March 2015 Meeting edited by bfulgham@webkit.org
(diff)
3:39 PM Changeset in webkit [181349] by commit-queue@webkit.org
  • 2 edits in trunk/Websites/webkit.org

Fix warning about loading insecure content from secure webkit.org/blog
https://bugs.webkit.org/show_bug.cgi?id=142545

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-10
Reviewed by Mark Rowe.

  • blog/wp-content/themes/webkit/footer.php:

Use an "https" URL for the subresource, instead of "http".

2:54 PM Changeset in webkit [181348] by commit-queue@webkit.org
  • 30 edits in trunk

Use unsigned for HashSet size.
https://bugs.webkit.org/show_bug.cgi?id=142518

Patch by Alex Christensen <achristensen@webkit.org> on 2015-03-10
Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

  • dfg/DFGAvailabilityMap.cpp:

(JSC::DFG::AvailabilityMap::prune):

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

  • heap/MarkedBlockSet.h:

(JSC::MarkedBlockSet::remove):

  • runtime/WeakMapData.h:

Source/WebCore:

  • Modules/websockets/WebSocketDeflateFramer.cpp:

(WebCore::WebSocketExtensionDeflateFrame::processResponse):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::checkForDuplicate):
(WebCore::CloneSerializer::writeConstantPoolIndex):

  • dom/ScriptRunner.cpp:

(WebCore::ScriptRunner::~ScriptRunner):

  • loader/ResourceLoadScheduler.h:
  • platform/graphics/Font.cpp:

(WebCore::Font::systemFallbackFontForCharacter):

  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::purgeInactiveFontDataIfNeeded):
(WebCore::FontCache::purgeInactiveFontData):

  • platform/graphics/FontCache.h:
  • platform/graphics/freetype/FontCacheFreeType.cpp:

(WebCore::FontCache::systemFallbackForCharacters):

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::FontCache::getSystemFontFallbackForCharacters):
(WebCore::FontCache::systemFallbackForCharacters):
(WebCore::FontCache::similarFont):

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::shouldAutoActivateFontIfNeeded):
(WebCore::FontCache::systemFallbackForCharacters):
(WebCore::FontCache::similarFont):

  • platform/graphics/win/FontCacheWin.cpp:

(WebCore::FontCache::systemFallbackForCharacters):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::FlexBoxIterator::next):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::computeOverflowFromCells):

Source/WTF:

  • wtf/HashCountedSet.h:

(WTF::Traits>::size):
(WTF::Traits>::capacity):

  • wtf/HashMap.h:

(WTF::X>::size):
(WTF::X>::capacity):

  • wtf/HashSet.h:

(WTF::V>::size):
(WTF::V>::capacity):

  • wtf/HashTable.h:

(WTF::HashTable::Stats::recordCollisionAtCount):
(WTF::HashTable::Stats::dumpStats):
(WTF::HashTable::size):
(WTF::HashTable::capacity):
(WTF::KeyTraits>::deallocateTable):
(WTF::KeyTraits>::checkTableConsistencyExceptSize):

  • wtf/HashTraits.h:
  • wtf/ListHashSet.h:

(WTF::U>::size):
(WTF::U>::capacity):

Tools:

  • TestWebKitAPI/Tests/WTF/HashMap.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WTF/HashSet.cpp:

(TestWebKitAPI::testInitialCapacity):

  • TestWebKitAPI/Tests/WTF/ListHashSet.cpp:

(TestWebKitAPI::TEST):

2:26 PM Changeset in webkit [181347] by eric.carlson@apple.com
  • 6 edits in trunk

[Mac] Refactor media controls code
https://bugs.webkit.org/show_bug.cgi?id=142455

Reviewed by Dean Jackson.

Source/WebCore:

No new tests, updated tests/media/hls/video-controls-live-stream-expected.txt.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller):
(Controller.prototype.addVideoListeners):
(Controller.prototype.removeVideoListeners):
(Controller.prototype.createControls):
(Controller.prototype.setControlsType):
(Controller.prototype.configureInlineControls):
(Controller.prototype.updateStatusDisplay):
(Controller.prototype.handlePanelMouseDown):
(Controller.prototype.showControls):
(Controller.prototype.hideControls):
(Controller.prototype.handleOptimizedFullscreenButtonClicked):
(Controller.prototype.currentPlaybackTargetIsWireless):
(Controller.prototype.updateShouldListenForPlaybackTargetAvailabilityEvent):
(Controller.prototype.updateWirelessPlaybackStatus):
(Controller.prototype.updateWirelessTargetAvailable):
(Controller.prototype.handleWirelessPickerButtonClicked):
(Controller.prototype.handleWirelessPlaybackChange):
(Controller.prototype.handleWirelessTargetAvailableChange):
(Controller.prototype.setShouldListenForPlaybackTargetAvailabilityEvent):

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS):
(ControllerIOS.prototype.addVideoListeners):
(ControllerIOS.prototype.removeVideoListeners):
(ControllerIOS.prototype.createControls):
(ControllerIOS.prototype.setControlsType):
(ControllerIOS.prototype.configureInlineControls):
(ControllerIOS.prototype.showControls):
(ControllerIOS.prototype.handleWirelessPickerButtonTouchEnd):
(ControllerIOS.prototype.updateShouldListenForPlaybackTargetAvailabilityEvent):
(ControllerIOS.prototype.updateStatusDisplay):
(ControllerIOS.prototype.setShouldListenForPlaybackTargetAvailabilityEvent):
(ControllerIOS.prototype.currentPlaybackTargetIsWireless): Deleted.
(ControllerIOS.prototype.updateWirelessPlaybackStatus): Deleted.
(ControllerIOS.prototype.updateWirelessTargetAvailable): Deleted.
(ControllerIOS.prototype.hideControls): Deleted.
(ControllerIOS.prototype.handleWirelessPlaybackChange): Deleted.
(ControllerIOS.prototype.handleWirelessTargetAvailableChange): Deleted.

LayoutTests:

  • platform/mac/http/tests/media/hls/video-controls-live-stream-expected.txt:
2:17 PM Changeset in webkit [181346] by dbates@webkit.org
  • 2 edits in trunk/Tools

[iOS] Add WebKitSystemInterface for iOS 8.2
https://bugs.webkit.org/show_bug.cgi?id=142505

Rubber-stamped by Anders Carlsson.

Make copy-webkitlibraries-to-product-directory install libWebKitSystemInterfaceIOS{Device, Simulator}8.2.a.
I inadvertently forgot to add libWebKitSystemInterfaceIOS{Device, Simulator}8.2.a to script
copy-webkitlibraries-to-product-directory in r181286.

  • Scripts/copy-webkitlibraries-to-product-directory:
1:39 PM Changeset in webkit [181345] by commit-queue@webkit.org
  • 29 edits in trunk/Source

Remove PassRefPtr from svg/properties classes.
https://bugs.webkit.org/show_bug.cgi?id=142063.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-03-10
Reviewed by Darin Adler.
Source/WebCore:

Remove PassRefPtr from svg/properties classes. All the return types and
the local variables should be RefPtr. If we are sure the pointer can't
be null, we use Ref instead.

  • svg/SVGMarkerElement.cpp:

(WebCore::SVGMarkerElement::lookupOrCreateOrientTypeWrapper):
(WebCore::SVGMarkerElement::orientTypeAnimated):

  • svg/SVGMarkerElement.h:
  • svg/SVGPathElement.cpp:

(WebCore::SVGPathElement::lookupOrCreateDWrapper):
(WebCore::SVGPathElement::pathSegList):
(WebCore::SVGPathElement::animatedPathSegList):

  • svg/SVGPathElement.h:
  • svg/SVGPolyElement.cpp:

(WebCore::SVGPolyElement::lookupOrCreatePointsWrapper):
(WebCore::SVGPolyElement::points):
(WebCore::SVGPolyElement::animatedPoints):

  • svg/SVGPolyElement.h:
  • svg/SVGTextContentElement.cpp:

(WebCore::SVGTextContentElement::lookupOrCreateTextLengthWrapper):
(WebCore::SVGTextContentElement::textLengthAnimated):

  • svg/SVGTextContentElement.h:
  • svg/SVGViewSpec.cpp:

(WebCore::SVGViewSpec::transform):
(WebCore::SVGViewSpec::viewBoxAnimated):
(WebCore::SVGViewSpec::preserveAspectRatioAnimated):
(WebCore::SVGViewSpec::lookupOrCreateViewBoxWrapper):
(WebCore::SVGViewSpec::lookupOrCreatePreserveAspectRatioWrapper):
(WebCore::SVGViewSpec::lookupOrCreateTransformWrapper):

  • svg/SVGViewSpec.h:
  • svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:

(WebCore::SVGAnimatedEnumerationPropertyTearOff::create):

  • svg/properties/SVGAnimatedListPropertyTearOff.h:

(WebCore::SVGAnimatedListPropertyTearOff::create):

  • svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:

(WebCore::SVGAnimatedPathSegListPropertyTearOff::create):

  • svg/properties/SVGAnimatedProperty.h:

(WebCore::SVGAnimatedProperty::lookupOrCreateWrapper):

  • svg/properties/SVGAnimatedPropertyMacros.h:
  • svg/properties/SVGAnimatedPropertyTearOff.h:

(WebCore::SVGAnimatedPropertyTearOff::create):

  • svg/properties/SVGAnimatedStaticPropertyTearOff.h:

(WebCore::SVGAnimatedStaticPropertyTearOff::create):

  • svg/properties/SVGAnimatedTransformListPropertyTearOff.h:

(WebCore::SVGAnimatedTransformListPropertyTearOff::create):

  • svg/properties/SVGListProperty.h:

(WebCore::SVGListProperty::initializeValuesAndWrappers):
(WebCore::SVGListProperty::getItemValuesAndWrappers):
(WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers):
(WebCore::SVGListProperty::replaceItemValuesAndWrappers):
(WebCore::SVGListProperty::removeItemValuesAndWrappers):
(WebCore::SVGListProperty::appendItemValuesAndWrappers):

  • svg/properties/SVGListPropertyTearOff.h:

(WebCore::SVGListPropertyTearOff::create):
(WebCore::SVGListPropertyTearOff::initialize):
(WebCore::SVGListPropertyTearOff::getItem):
(WebCore::SVGListPropertyTearOff::insertItemBefore):
(WebCore::SVGListPropertyTearOff::replaceItem):
(WebCore::SVGListPropertyTearOff::removeItem):
(WebCore::SVGListPropertyTearOff::appendItem):

  • svg/properties/SVGPathSegListPropertyTearOff.cpp:

(WebCore::SVGPathSegListPropertyTearOff::getItem):
(WebCore::SVGPathSegListPropertyTearOff::replaceItem):
(WebCore::SVGPathSegListPropertyTearOff::removeItem):

  • svg/properties/SVGPathSegListPropertyTearOff.h:

(WebCore::SVGPathSegListPropertyTearOff::create):
(WebCore::SVGPathSegListPropertyTearOff::initialize):
(WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
(WebCore::SVGPathSegListPropertyTearOff::appendItem):

  • svg/properties/SVGPropertyInfo.h:
  • svg/properties/SVGStaticListPropertyTearOff.h:

(WebCore::SVGStaticListPropertyTearOff::create):

  • svg/properties/SVGStaticPropertyTearOff.h:

(WebCore::SVGStaticPropertyTearOff::create):

  • svg/properties/SVGTransformListPropertyTearOff.h:

(WebCore::SVGTransformListPropertyTearOff::create):
(WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
(WebCore::SVGTransformListPropertyTearOff::consolidate):

Source/WTF:

  • wtf/Ref.h:

(WTF::static_reference_cast): Add a stat_cast function to Ref<>.

1:36 PM Changeset in webkit [181344] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r181123. rdar://problem/20109108

1:18 PM Changeset in webkit [181343] by mark.lam@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Use std::numeric_limits<unsigned>::max() instead of (unsigned)-1.
<https://webkit.org/b/142539>

Reviewed by Benjamin Poulain.

  • jit/JIT.cpp:

(JSC::JIT::JIT):
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::privateCompile):
(JSC::JIT::privateCompileExceptionHandlers):

  • jit/JITInlines.h:

(JSC::JIT::emitNakedCall):
(JSC::JIT::addSlowCase):
(JSC::JIT::addJump):
(JSC::JIT::emitJumpSlowToHot):
(JSC::JIT::emitGetVirtualRegister):

  • jit/SlowPathCall.h:

(JSC::JITSlowPathCall::call):

  • yarr/Yarr.h:
1:11 PM Changeset in webkit [181342] by timothy_horton@apple.com
  • 8 edits in trunk/Source

Fix the build

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::createCFURLConnection):

  • History/WebHistory.mm:

(-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::convertMainResourceLoadToDownload):

  • Shared/Downloads/ios/DownloadIOS.mm:

(WebKit::Download::startWithHandle):

  • UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:

(-[WKCustomProtocolLoader initWithCustomProtocolManagerProxy:customProtocolID:request:connection:]):

1:09 PM Changeset in webkit [181341] by benjamin@webkit.org
  • 4 edits in trunk

Extend URL filter's Term definition to support groups/subpatterns
https://bugs.webkit.org/show_bug.cgi?id=142519

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-03-10
Reviewed by Alex Christensen.

Source/WebCore:

Pretty simple extension: Term is extended to support holding
a Vector of Term. The quantifier of the Term applies to its
Vector of term as a whole.

To avoid exposing too much internal in the API of Term, I moved
graph generation from GraphBuilder to Term.

Sinking a CharacterSet works as usual. Sinking a Group is done
by sinking each of its Terms one by one and then apply the quantifier
on the whole subgraph. This is done by recursively calling into
Term::generateGraph().

Since groups could be nested, the groups make a stack with the latest
open group on top.
When sinking a floating Term, it is sunk to the latest open group. If there is no open
group, we use the prefix tree and sink the whole subpattern to the graph.

  • contentextensions/URLFilterParser.cpp:

(WebCore::ContentExtensions::Term::Term):
(WebCore::ContentExtensions::Term::extendGroupSubpattern):
(WebCore::ContentExtensions::Term::generateGraph):
(WebCore::ContentExtensions::Term::operator==):
(WebCore::ContentExtensions::Term::hash):
(WebCore::ContentExtensions::Term::isUniversalTransition):
(WebCore::ContentExtensions::Term::generateSubgraphForAtom):
(WebCore::ContentExtensions::Term::destroy):
(WebCore::ContentExtensions::Term::Group::operator==):
(WebCore::ContentExtensions::Term::Group::hash):
(WebCore::ContentExtensions::GraphBuilder::finalize):
(WebCore::ContentExtensions::GraphBuilder::atomParenthesesSubpatternBegin):
(WebCore::ContentExtensions::GraphBuilder::atomParenthesesEnd):
(WebCore::ContentExtensions::GraphBuilder::sinkFloatingTermIfNecessary):
(WebCore::ContentExtensions::Term::quantifier): Deleted.
(WebCore::ContentExtensions::Term::visitSimpleTransitions): Deleted.
(WebCore::ContentExtensions::GraphBuilder::addTransitions): Deleted.
(WebCore::ContentExtensions::GraphBuilder::sinkFloatingTerm): Deleted.

Tools:

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(TestWebKitAPI::testURL):

12:58 PM Changeset in webkit [181340] by bshafiei@apple.com
  • 2 edits in tags/Safari-600.5.9.1/Source/WebCore

Merged r179958. rdar://problem/20096968

12:57 PM Changeset in webkit [181339] by bshafiei@apple.com
  • 2 edits in tags/Safari-600.5.9.1/Source/WebCore

Merged r179895. rdar://problem/20096968

12:56 PM Changeset in webkit [181338] by bshafiei@apple.com
  • 2 edits in tags/Safari-600.5.9.1/Source/WebCore

Merged r179880. rdar://problem/20096968

12:51 PM Changeset in webkit [181337] by bshafiei@apple.com
  • 5 edits in tags/Safari-600.5.9.1/Source

Versioning.

12:48 PM Changeset in webkit [181336] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.5.9.1

New tag.

12:36 PM Changeset in webkit [181335] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Fix the Mac build with a newer compiler

  • Plugins/WebPluginController.mm:

(WebKit_TSUpdateCheck_alertDidEnd_returnCode_contextInfo_):
(WebKit_NSAlert_beginSheetModalForWindow_modalDelegate_didEndSelector_contextInfo_):

12:29 PM Changeset in webkit [181334] by mark.lam@apple.com
  • 7 edits in trunk/Source

[Win] JSC Build Warnings Need to be Resolved.
<https://webkit.org/b/142366>

Reviewed by Brent Fulgham.

Source/JavaScriptCore:

Applied some benign changes to make the MSVC compiler happy.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::fillJSValue):

  • runtime/BasicBlockLocation.cpp:

(JSC::BasicBlockLocation::getExecutedRanges):

  • runtime/ControlFlowProfiler.cpp:

(JSC::ControlFlowProfiler::hasBasicBlockAtTextOffsetBeenExecuted):

Source/WTF:

  • wtf/Compiler.h:
  • MSVC also does not have the CONSIDERS_UNREACHABLE_CODE quirk.
12:13 PM Changeset in webkit [181333] by Yusuke Suzuki
  • 10 edits
    6 adds in trunk

Upgrade Map, Set and WeakMap constructor interface
https://bugs.webkit.org/show_bug.cgi?id=142348

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

In the latest ES6 spec, Map and Set constructors take initialization data sets
as iterable value. And iterate it and add the values into the constructed one.

This is breaking change because the old constructor interface is
already shipped in Safari 8.

  • runtime/MapConstructor.cpp:

(JSC::callMap):
(JSC::constructMap):
(JSC::MapConstructor::getCallData):

  • runtime/SetConstructor.cpp:

(JSC::callSet):
(JSC::constructSet):

  • runtime/WeakMapConstructor.cpp:

(JSC::callWeakMap):
(JSC::constructWeakMap):
(JSC::WeakMapConstructor::getCallData):

  • tests/stress/map-constructor-adder.js: Added.
  • tests/stress/map-constructor.js: Added.

(testCallTypeError):
(testTypeError):
(for):

  • tests/stress/set-constructor-adder.js: Added.

(Set.prototype.add):

  • tests/stress/set-constructor.js: Added.

(for):

  • tests/stress/weak-map-constructor-adder.js: Added.
  • tests/stress/weak-map-constructor.js: Added.

(testCallTypeError):
(testTypeError):
(for):

LayoutTests:

Constructor semantics is changed.

  • js/basic-map-expected.txt:
  • js/basic-set-expected.txt:
  • js/dom/basic-weakmap-expected.txt:
  • js/script-tests/basic-map.js:
  • js/script-tests/basic-set.js:

(set new):

12:04 PM Changeset in webkit [181332] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Adjustments to media control fonts.
https://bugs.webkit.org/show_bug.cgi?id=142509.
<rdar://problem/20085228>
Reviewed by Darin Adler.
Use system font for controls. Adjust surrounding divs accordingly.
Apply subpixel antialiasing to all media control text.

  • Modules/mediacontrols/mediaControlsApple.css:

(::-webkit-media-controls):
(audio::-webkit-media-controls-closed-captions-container .list):
(audio::-webkit-media-controls-status-display):
(audio::-webkit-media-controls-time-remaining-display):
(audio::-webkit-media-controls-current-time-display):
(audio::-webkit-media-controls-time-remaining-display.five-digit-time):
(audio::-webkit-media-controls-current-time-display.five-digit-time):
(audio::-webkit-media-controls-time-remaining-display.six-digit-time):
(audio::-webkit-media-controls-current-time-display.six-digit-time):

11:47 AM Changeset in webkit [181331] by saambarati1@gmail.com
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Destructuring function parameters should show type information
https://bugs.webkit.org/show_bug.cgi?id=142233

Reviewed by Joseph Pecoraro.

JSC supports a function's formal parameter being a destructuring pattern,
and so should the type profiler in the Inspector. This was just an oversight
not to have this in bug 141215.

This patch also does a bit of refactoring to not have duplicate code
that traverses AST nodes in TypeTokenAnnotator and ScriptSyntaxTree.
Before, both of these classes were responsible for traversing the AST
in an identical way, this is bad. Now, ScriptSyntaxTree contains the
canonical implementation of how the AST should be traversed and which
AST nodes should be collected for type profiling. ScriptSyntaxTree will
pass this information back to TypeTokenAnnotator.

  • UserInterface/Controllers/TypeTokenAnnotator.js:

(WebInspector.TypeTokenAnnotator.prototype._insertTypeToken):
(WebInspector.TypeTokenAnnotator.prototype._insertTypeTokensForEachNode): Deleted.

  • UserInterface/Models/ScriptSyntaxTree.js:

(WebInspector.ScriptSyntaxTree.prototype.):
(WebInspector.ScriptSyntaxTree.prototype.updateTypes):
(WebInspector.ScriptSyntaxTree.prototype._gatherIdentifiersInDeclaration):
(WebInspector.ScriptSyntaxTree.prototype.gatherIdentifiersInVariableDeclaration): Deleted.

11:17 AM Changeset in webkit [181330] by rgabor@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Too large plugins are crashing.
https://bugs.webkit.org/show_bug.cgi?id=139856

Reviewed by Darin Adler.

Add layout test to cover this crash.

  • plugins/large-plugin-crash-expected.txt: Added.
  • plugins/large-plugin-crash.html: Added.
11:00 AM Changeset in webkit [181329] by ggaren@apple.com
  • 12 edits in trunk/Source

bmalloc: tryFastMalloc shouldn't crash
https://bugs.webkit.org/show_bug.cgi?id=142443

Reviewed by Sam Weinig.

Rolling back in r181307 with a check for whether bmalloc is enabled, to
avoid crashes when running with ASan and GuardMalloc.

Source/bmalloc:

  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::tryAllocate):

  • bmalloc/Allocator.h:
  • bmalloc/Cache.cpp:

(bmalloc::Cache::tryAllocateSlowCaseNullCache):

  • bmalloc/Cache.h:

(bmalloc::Cache::tryAllocate):

  • bmalloc/Heap.cpp:

(bmalloc::Heap::allocateXLarge):
(bmalloc::Heap::tryAllocateXLarge):

  • bmalloc/Heap.h:
  • bmalloc/VMAllocate.h:

(bmalloc::tryVMAllocate):
(bmalloc::vmAllocate):

  • bmalloc/bmalloc.h:

(bmalloc::api::tryMalloc):
(bmalloc::api::realloc):
(bmalloc::api::free):

Source/WTF:

  • wtf/FastMalloc.cpp:

(WTF::fastMalloc):
(WTF::fastRealloc):
(WTF::fastAlignedMalloc):
(WTF::tryFastMalloc):
(WTF::tryFastRealloc): Deleted.

  • wtf/FastMalloc.h:
10:55 AM Changeset in webkit [181328] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Fixed a crash in CertificateInfo::containsNonRootSHA1SignedCertificate when loading a non-HTTPS webapge.

Reviewed by Anders Carlsson.

  • platform/network/mac/CertificateInfoMac.mm:

(WebCore::CertificateInfo::containsNonRootSHA1SignedCertificate): Null-check the certificate chain.

9:31 AM Changeset in webkit [181327] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Fixed the build.

  • platform/spi/cocoa/SecuritySPI.h:
9:01 AM Changeset in webkit [181326] by commit-queue@webkit.org
  • 5 edits in trunk/Source

GCC: CRASH() should be annotated with NORETURN
https://bugs.webkit.org/show_bug.cgi?id=142524

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-03-10
Reviewed by Anders Carlsson.

Source/JavaScriptCore:

Don't return from a NORETURN function. This used to avoid a warning from GCC, but now it
causes one.

  • jsc.cpp:

Source/WTF:

Add COMPILER(GCC) to #ifdefs that already exist for Clang.

  • wtf/Assertions.cpp:
  • wtf/Assertions.h:
8:16 AM Changeset in webkit [181325] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Simple line layout: Merge TextFragmentIterator::findNextBreakablePosition() and TextFragmentIterator::findNextNonWhitespacePosition().
https://bugs.webkit.org/show_bug.cgi?id=142344

Reviewed by Antti Koivisto.

This patch merges findNextBreakablePosition() and findNextNonWhitespacePosition() so that
the segment looping and position handling logic are no longer duplicated. It also unifies
the static next*() functions' signature.

No change in functionality.

  • rendering/SimpleLineLayoutTextFragmentIterator.cpp:

(WebCore::SimpleLineLayout::TextFragmentIterator::nextTextFragment):
(WebCore::SimpleLineLayout::nextBreakablePosition):
(WebCore::SimpleLineLayout::nextNonWhitespacePosition):
(WebCore::SimpleLineLayout::TextFragmentIterator::skipToNextPosition):
(WebCore::SimpleLineLayout::TextFragmentIterator::findNextBreakablePosition): Deleted.
(WebCore::SimpleLineLayout::findNextNonWhitespace): Deleted.
(WebCore::SimpleLineLayout::TextFragmentIterator::findNextNonWhitespacePosition): Deleted.

  • rendering/SimpleLineLayoutTextFragmentIterator.h:
8:13 AM March 2015 Meeting edited by jfernandez@igalia.com
(diff)
6:38 AM Changeset in webkit [181324] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[GTK] Contents not shown when entering AC mode unless the window is resized
https://bugs.webkit.org/show_bug.cgi?id=142347

Reviewed by Žan Doberšek.

The problem is once again that we are now creating the redirected
X window in realize method. When entering AC mode we resize the
redirected window to the drawing area size. Since the size hasn't
changed from the drawing area point of view, the web process is
not notified. The WebProcess always uses the window size, instead
of the root layer size, to make sure it's in sync, see the comment
in LayerTreeHostGtk::compositeLayersToContext(). So, we need to
enforce a resize when we change the size of the redirected window
when entering AC mode.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseEnterAcceleratedCompositingMode):

  • UIProcess/DrawingAreaProxyImpl.h:

(WebKit::DrawingAreaProxyImpl::forceResize):

6:26 AM Changeset in webkit [181323] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GTK] GL_MAX_VARYING_FLOATS is not defined in OpenGL ES 2
https://bugs.webkit.org/show_bug.cgi?id=142529

Reviewed by Žan Doberšek.

Do not use GL_MAX_VARYING_FLOATS when platform is GTK+ and using
OpenGL ES 2.

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::checkVaryingsPacking):

6:23 AM Changeset in webkit [181322] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix GTK+ build with OpenGL ES 2 enabled.

Remove USE(OPENGL) ifdef from GLContext.cpp, since there's nothing
specific to OpenGL in that file, and everything depending on
configure options is already protected by USE(GLX) and USE(EGL)
ifdefs. This is causing linking issues when building with OpenGL
ES 2, because the header doesn't have the ifdef, and the cpp file
is not compiled leaving all the interface undefined.

Patch by José Dapena Paz <jdapena@igalia.com> on 2015-03-10
Rubber-stamped by Carlos Garcia Campos.

  • platform/graphics/GLContext.cpp:
6:19 AM Changeset in webkit [181321] by Carlos Garcia Campos
  • 4 edits in trunk

[GTK] Add a configure option to build with OpenGL ES 2
https://bugs.webkit.org/show_bug.cgi?id=142498

Patch by Carlos Garcia Campos <cgarcia@igalia.com> and José Dapena Paz <jdapena@igalia.com> on 2015-03-10
Reviewed by Martin Robinson.

.:

Add ENABLE_GLES2 option. It's disabled by default, but if passed
GLES2 is required and OpenGL is not even searched. Otherwise we
search for OpenGL as usual, using it only if present.

  • Source/cmake/OptionsGTK.cmake:

Source/WebCore:

Build GLES or GL specific files depending on the build options.

  • PlatformGTK.cmake:
3:11 AM March 2015 Meeting edited by rniwa@webkit.org
(diff)
3:10 AM March 2015 Meeting edited by rniwa@webkit.org
Added New HTML/DOM Features section as well as "ES6" as a topic; also … (diff)
2:21 AM Changeset in webkit [181320] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

Shrink the CSSPropertyID enum type
https://bugs.webkit.org/show_bug.cgi?id=142456

Reviewed by Sam Weinig.

Specify uint16_t as the base type for the CSSPropertyID enum.
This is enough to cover all of the CSS properties (429 at this moment,
with static_assert covering future changes). It halves the enum type size,
from 4 bytes to 2, reducing the size of various CSSPropertyID containers.

No new tests -- no change in behavior.

  • css/CSSPrimitiveValue.cpp:

(WebCore::propertyName): Remove the unnecessary propertyID < 0 check.

  • css/makeprop.pl:
1:47 AM Changeset in webkit [181319] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Gardening: fix bleeding debug test bots.
https://webkit.org/b/142513>

Not reviewed.

The test needs to initialize WTF threading explicitly before using it.

  • API/tests/CompareAndSwapTest.cpp:

(testCompareAndSwap):

1:33 AM Changeset in webkit [181318] by Csaba Osztrogonác
  • 4 edits in trunk

[cmake] Handle unused parameter warnings as build errors except in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=142338

Reviewed by Gyuyoung Kim.

.:

  • Source/cmake/WebKitHelpers.cmake:

Source/WebKit2:

  • CMakeLists.txt:
12:34 AM Changeset in webkit [181317] by mitz@apple.com
  • 14 edits
    1 add in trunk/Source

Source/WebCore:
WebCore part of <rdar://problem/20086546> [Cocoa] Add an option to treat certificate chains with SHA1-signed certificates as insecure
https://bugs.webkit.org/show_bug.cgi?id=142461

Reviewed by Sam Weinig.

  • WebCore.xcodeproj/project.pbxproj: Added reference to SecuritySPI.h and sorted the

spi/cocoa group.

  • platform/network/cf/CertificateInfo.h: Declared new member function

containsNonRootSHA1SignedCertificate.

  • platform/network/mac/CertificateInfoMac.mm:

(WebCore::CertificateInfo::containsNonRootSHA1SignedCertificate): Added. Checks if any but
the last certificate in the chain uses SHA-1 as its signature hash algorithm.

  • platform/network/curl/CertificateInfo.h:

(WebCore::CertificateInfo::containsNonRootSHA1SignedCertificate): Added notImplemented
implementation.

  • platform/network/soup/CertificateInfo.h:

(WebCore::CertificateInfo::containsNonRootSHA1SignedCertificate): Ditto.

  • platform/spi/cocoa/SecuritySPI.h: Added.

Source/WebKit2:
WebKit2 part of <rdar://problem/20086546> [Cocoa] Add an option to treat certificate chains with SHA1-signed certificates as insecure
https://bugs.webkit.org/show_bug.cgi?id=142461

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]): Initialize
webPageConfiguration.treatsSHA1SignedCertificatesAsInsecure from the WKWebViewConfiguration.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

Added _treatsSHA1SignedCertificatesAsInsecure ivar.
(-[WKWebViewConfiguration copyWithZone:]): Copy _treatsSHA1SignedCertificatesAsInsecure.
(-[WKWebViewConfiguration _treatsSHA1SignedCertificatesAsInsecure]): Added this getter.
(-[WKWebViewConfiguration _setTreatsSHA1SignedCertificatesAsInsecure:]): Added this setter.

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Declared new

_treatsSHA1SignedCertificatesAsInsecure property.

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::didCommitLoad): Use new hasInsecureContent parameter to initialize
hasInsecureContent parameter in the uncommitted state.

  • UIProcess/PageLoadState.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy): Initialize new m_treatsSHA1CertificatesAsInsecure
member variable from the WebPageConfiguration.
(WebKit::WebPageProxy::didCommitLoadForFrame): Pass true for the new hasInsecureContent to
PageLoadState::didCommitLoad if we are treating SHA1-signed certificates as insecure and
the certificate info contains a non-root SHA1-signed certificate.

  • UIProcess/WebPageProxy.h: Added m_treatsSHA1CertificatesAsInsecure member variable.
12:15 AM Changeset in webkit [181316] by achristensen@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[WinCairo] Unreviewed build fix.

Added directory containing config.h, like r181304.

Mar 9, 2015:

11:56 PM Changeset in webkit [181315] by mark.lam@apple.com
  • 6 edits
    1 add in trunk/Source/JavaScriptCore

Yet another build fix for Windows.
https://webkit.org/b/142513>

Reviewed by Alex Christensen.

Looks like MSVC requires the function be explicitly declared in a header file
in order for it to be linkable from another file in the same project. This is
strange, but it seems to make MSVC happy.

Also fixed a typo in testapi.vcxproj.filters.

  • API/tests/CompareAndSwapTest.cpp:
  • API/tests/CompareAndSwapTest.h: Added.
  • API/tests/testapi.c:
  • JavaScriptCore.vcxproj/testapi/testapi.vcxproj:
  • JavaScriptCore.vcxproj/testapi/testapi.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
11:54 PM Changeset in webkit [181314] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Skip contentfiltering/block-after-add-data.html for now.
https://bugs.webkit.org/show_bug.cgi?id=142526

11:50 PM Changeset in webkit [181313] by commit-queue@webkit.org
  • 8 edits in trunk/Source

Unreviewed, rolling out r181307.
https://bugs.webkit.org/show_bug.cgi?id=142525

Broke ASan tests (Requested by ap on #webkit).

Reverted changeset:

"bmalloc: tryFastMalloc shouldn't crash"
https://bugs.webkit.org/show_bug.cgi?id=142443
http://trac.webkit.org/changeset/181307

11:35 PM Changeset in webkit [181312] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source

Versioning.

11:34 PM Changeset in webkit [181311] by bshafiei@apple.com
  • 5 edits in branches/safari-600.5-branch/Source

Versioning.

10:56 PM March 2015 Meeting edited by benjamin@webkit.org
(diff)
10:32 PM Changeset in webkit [181310] by Chris Dumez
  • 5 edits in trunk/Source

[iOS] Sweep all collected objects on critical memory pressure
https://bugs.webkit.org/show_bug.cgi?id=142457
<rdar://problem/20044440>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

All fullSweep() API to IncrementalSweeper so that we can call it in the
memory pressure handler.

  • heap/IncrementalSweeper.cpp:

(JSC::IncrementalSweeper::fullSweep):

  • heap/IncrementalSweeper.h:

(JSC::IncrementalSweeper::hasWork):

Source/WebCore:

Do a full sweep of objects marked for destruction on critical memory
pressure to free up memory.

  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::platformReleaseMemory):

10:24 PM March 2015 Meeting edited by benjamin@webkit.org
(diff)
9:56 PM March 2015 Meeting edited by benjamin@webkit.org
(diff)
9:41 PM Changeset in webkit [181309] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Another build fix for Windows.
https://webkit.org/b/142513>

Not reviewed.

  • API/tests/CompareAndSwapTest.cpp:
  • Added JS_EXPORT_PRIVATE attribute.
9:21 PM Changeset in webkit [181308] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Build fix for Windows after r181305.
https://webkit.org/b/142513>

Reviewed by Alex Christensen.

Windows doesn't like pthreads anymore. Changed test to use WTF threading.

  • API/tests/CompareAndSwapTest.cpp:

(setBitThreadFunc):
(testCompareAndSwap):

9:10 PM Changeset in webkit [181307] by ggaren@apple.com
  • 8 edits in trunk/Source

bmalloc: tryFastMalloc shouldn't crash
https://bugs.webkit.org/show_bug.cgi?id=142443

Reviewed by Darin Adler.

Source/bmalloc:

Added support for tryMalloc.

We assume that non-x-large allocations always succeed, and we crash
otherwise, since normal allocation failure will just cause the next
non-try allocation or internal metadata allocation to fail, and it's
hard and not really useful to keep limping along after that. But
extra-large allocations can meaningfully fail, and we can recover.

  • bmalloc/Heap.cpp:

(bmalloc::Heap::allocateXLarge):
(bmalloc::Heap::tryAllocateXLarge):

  • bmalloc/Heap.h: Added support for non-crashy x-large allocation.
  • bmalloc/VMAllocate.h:

(bmalloc::tryVMAllocate):
(bmalloc::vmAllocate): Added support for non-crashy VM allocation.

  • bmalloc/bmalloc.h:

(bmalloc::api::tryMalloc):
(bmalloc::api::realloc):
(bmalloc::api::free): Tried to clarify our behavior with some comments.
Unfortunately, calling what we do "malloc" is still not quite right, since
malloc returns null on failure and we don't.

Source/WTF:

  • wtf/FastMalloc.cpp:

(WTF::fastMalloc):
(WTF::fastRealloc):
(WTF::fastAlignedMalloc): Don't check for null. bmalloc automatically
crashes on allocation failure, and we'd rather not pay for an extra check.

(WTF::tryFastMalloc): Added an opt-out API to return null rather than
crashing, since some clients need this.

(WTF::tryFastRealloc): Deleted. Unused.

  • wtf/FastMalloc.h:
8:25 PM March 2015 Meeting edited by yoav@yoav.ws
(diff)
8:01 PM Changeset in webkit [181306] by Joseph Pecoraro
  • 9 edits
    1 copy in trunk/Source/WebInspectorUI

Web Inspector: Inline Error / Warning message for Issues
https://bugs.webkit.org/show_bug.cgi?id=142520

Reviewed by Timothy Hatcher.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Main.html:

New strings and new files.

  • UserInterface/Controllers/IssueManager.js:

(WebInspector.IssueManager.prototype.issueWasAdded):

  • UserInterface/Models/IssueMessage.js:

(WebInspector.IssueMessage):
(WebInspector.IssueMessage.prototype.get columnNumber):

  • UserInterface/Protocol/ConsoleObserver.js:

(WebInspector.ConsoleObserver.prototype.messageAdded):
Correctly pass the column number into IssueMessage.

  • UserInterface/Models/LineWidget.js:

(WebInspector.LineWidget):
(WebInspector.LineWidget.prototype.get codeMirrorLineWidget):
(WebInspector.LineWidget.prototype.get widgetElement):
Create a new Model class for a LineWidget. The root element
should never change, but its children can be updated.

  • UserInterface/Views/SourceCodeTextEditor.css:

(.source-code.text-editor .CodeMirror-linewidget):
Override styles so that widgets can overlap line content.

(.source-code.text-editor > .CodeMirror .issue-widget):
(.source-code.text-editor > .CodeMirror .issue-widget.inline):
Float issue widgets to the right side of the editor.

(.source-code.text-editor > .CodeMirror .issue-widget > .arrow):
(.source-code.text-editor > .CodeMirror .issue-widget.inline > .arrow):
Pure CSS arrow for widgets on the same line as their issue.

(.source-code.text-editor > .CodeMirror .issue-widget > .icon):
(.source-code.text-editor > .CodeMirror .issue-widget > .icon.icon-warning):
(.source-code.text-editor > .CodeMirror .issue-widget > .icon.icon-error):
Issue icon styles for the different issue types.

(.source-code.text-editor > .CodeMirror .issue-widget.warning):
(.source-code.text-editor > .CodeMirror .issue-widget.inline.warning):
(.source-code.text-editor > .CodeMirror .issue-widget.inline.warning > .arrow):
(.source-code.text-editor > .CodeMirror .issue-widget.error):
(.source-code.text-editor > .CodeMirror .issue-widget.inline.error):
(.source-code.text-editor > .CodeMirror .issue-widget.inline.error > .arrow):
Different colors for the different issue types.

(.source-code.text-editor > .CodeMirror .issue-widget > .text):
(.source-code.text-editor > .CodeMirror .issue-widget.inline > .text):
Text positioning when on the same line or when expanded.

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype._addIssue):
(WebInspector.SourceCodeTextEditor.prototype._iconClassNameForIssueLevel):
(WebInspector.SourceCodeTextEditor.prototype._updateIssueWidgetForIssues):
(WebInspector.SourceCodeTextEditor.prototype._isWidgetToggleable):
(WebInspector.SourceCodeTextEditor.prototype._handleWidgetClick):
Create widgets for issues.

(WebInspector.SourceCodeTextEditor.prototype._contentDidPopulate):
(WebInspector.SourceCodeTextEditor.prototype.textEditorUpdatedFormatting):
(WebInspector.SourceCodeTextEditor.prototype._clearWidgets):
(WebInspector.SourceCodeTextEditor.prototype._reinsertAllIssues):
Update all widgets in certain cases.

  • UserInterface/Views/TextEditor.js:

(WebInspector.TextEditor.prototype.addStyleClassToLine):
This assertion is known to happen for issues added to an editor
before the content has loaded.

(WebInspector.TextEditor.prototype.createWidgetForLine):
Create a widget for a line.

7:18 PM Changeset in webkit [181305] by mark.lam@apple.com
  • 7 edits
    1 add in trunk/Source

8-bit version of weakCompareAndSwap() can cause an infinite loop.
https://webkit.org/b/142513>

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Added a test that exercises the 8-bit CAS from multiple threads. The threads
will contend to set bits in a large array of bytes using the CAS function.

  • API/tests/CompareAndSwapTest.cpp: Added.

(Bitmap::Bitmap):
(Bitmap::numBits):
(Bitmap::clearAll):
(Bitmap::concurrentTestAndSet):
(setBitThreadFunc):
(testCompareAndSwap):

  • API/tests/testapi.c:

(main):

Source/WTF:

Presently, Bitmap::concurrentTestAndSet() uses the 8-bit version of
weakCompareAndSwap() (which compares and swaps an uint8_t value).
Bitmap::concurrentTestAndSet() has a loop that checks if a bit in the
byte of interest has been set. If not, it will call the 8-bit CAS
function to set the bit.

Under the covers, for ARM, the 8-bit CAS function actually works with a
32-bit CAS. The 8-bit CAS will first fetch the 32-bit value in memory
that should contain the 8-bit value, and check if it contains the
expected byte. If the value in memory doesn't have the expected byte,
it will return early to its caller. The expectation is that the caller
will reload the byte from memory and call the 8-bit CAS again.

Unfortunately, this code path that returns early does not have a
compiler fence. Without a compiler fence, the C++ compiler can
optimize away the reloading of the expected byte value, leaving it
unchanged. As a result, we'll have a infinite loop here that checks a
value that will never change, and the loop will not terminate until the
value changes.

The fix is to eliminate the early return check in the 8-bit CAS, and
have it always call down to the 32-bit CAS. The 32-bit CAS has a
compiler fence which will prevent this issue.

  • wtf/Atomics.h:

(WTF::weakCompareAndSwap):

7:00 PM Changeset in webkit [181304] by Brent Fulgham
  • 2 edits in trunk/Source/JavaScriptCore

[Win] testapi project is unable to find the 'config.h' file.

Rubberstamped by Mark Lam.

to the include path.

6:51 PM Changeset in webkit [181303] by Brent Fulgham
  • 4 edits in trunk/LayoutTests

[Win] Rebaseline tests afer r181292.

  • platform/win/TestExpectations:
  • platform/win/fast/forms/search-vertical-alignment-expected.txt:
  • platform/win/fast/forms/textfield-overflow-by-value-update-expected.txt:
6:38 PM Changeset in webkit [181302] by aestes@apple.com
  • 4 edits in trunk/Source/WebCore

[Content Filtering] Give ContentFilter subclasses private constructors, and make them fast-allocated and non-copyable
https://bugs.webkit.org/show_bug.cgi?id=142515

Reviewed by Andreas Kling.

  • platform/cocoa/NetworkExtensionContentFilter.h:
  • platform/cocoa/ParentalControlsContentFilter.h:
  • testing/MockContentFilter.h:
6:24 PM Changeset in webkit [181301] by Chris Dumez
  • 9 edits in trunk

[CG] Have Canvas use the IOSurfacePool
https://bugs.webkit.org/show_bug.cgi?id=142417
<rdar://problem/20044440>

Reviewed by Darin Adler.

PerformanceTests:

Lower the number of different canvas sizes from 1000 to 100 so that
the test does not require such a huge cache size. With 100, we now
get over 90% cache hit rate with the default IOSurfacePool size.

  • Canvas/reuse.html:

Source/WebCore:

Have ImageBufferDataCG use the IOSurfacePool so that Canvas can
benefit from it. I see a ~75% progression on Canvas/reuse.html
performance test on my Macbook Pro with 1000 different canvas
sizes and ~110% progression with 100 different canvas sizes.

I also see a ~65% cache hit rate on the mobile version of
cnn.com.

Note that ImageData calls CGContextClearRect() after calling
IOSurface::create() so recycling IOSurfaces in this case should
be safe.

Performance test: Canvas/reuse.html

  • platform/graphics/ImageBuffer.h:

(WebCore::ImageBuffer::baseTransform):

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::context):
(WebCore::ImageBuffer::copyImage):
(WebCore::ImageBuffer::copyNativeImage):
(WebCore::ImageBuffer::draw):
(WebCore::ImageBuffer::clip):
(WebCore::ImageBuffer::putByteArray):
(WebCore::ImageBuffer::toDataURL):

  • platform/graphics/cg/ImageBufferDataCG.cpp:

(WebCore::ImageBufferData::~ImageBufferData):
(WebCore::ImageBufferData::getData):
(WebCore::ImageBufferData::putData):
(WebCore::ImageBufferData::ImageBufferData): Deleted.

  • platform/graphics/cg/ImageBufferDataCG.h:
  • platform/graphics/cocoa/IOSurface.h:
  • platform/graphics/cocoa/IOSurface.mm:

(IOSurface::surfaceFromPool):
(IOSurface::create):
(IOSurface::createFromSendRight):
(IOSurface::createFromImage):
(IOSurface::setContextSize):

6:00 PM Changeset in webkit [181300] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

Assertion in ScrollController::processWheelEventForScrollSnapOnAxis when scrolling with mechanical wheel mouse
https://bugs.webkit.org/show_bug.cgi?id=142517

Reviewed by Simon Fraser.

  • platform/cocoa/ScrollController.mm:

(WebCore::toWheelEventStatus): Recognize stateless mechanical wheel events.
(WebCore::ScrollController::processWheelEventForScrollSnapOnAxis): If a mechanical wheel event is processed while
considering scroll snap logic, end any snap animations and clean up.
(WebCore::ScrollController::updateScrollSnapPoints): Don't begin tracking scroll snap state if there is not
scroll snap point defined in the markup.

5:34 PM Changeset in webkit [181299] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.15.12

New tag.

5:32 PM Changeset in webkit [181298] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.5.10

New tag.

5:09 PM Changeset in webkit [181297] by akling@apple.com
  • 17 edits
    1 copy
    1 add in trunk/Source

Stale entries in WeakGCMaps are keeping tons of WeakBlocks alive unnecessarily.
<https://webkit.org/b/142115>
<rdar://problem/19992268>

Reviewed by Geoffrey Garen.

Prune stale entries from WeakGCMaps as part of every full garbage collection.
This frees up tons of previously-stuck WeakBlocks that were only sitting around
with finalized handles waiting to die.

Note that WeakGCMaps register/unregister themselves with the GC heap in their
ctor/dtor, so creating one now requires passing the VM.

Average time spent in the PruningStaleEntriesFromWeakGCMaps GC phase appears
to be between 0.01ms and 0.3ms, though I've seen a few longer ones at ~1.2ms.
It seems somewhat excessive to do this on every Eden collection, so it's only
doing work in full collections for now.

Because the GC may now mutate WeakGCMap below object allocation, I've made it
so that the classic HashMap::add() optimization can't be used with WeakGCMap.
This caused intermittent test failures when originally landed due to having
an invalid iterator on the stack after add() inserted a new entry and we
proceeded to allocate the new object, triggering GC.

  • API/JSWeakObjectMapRefInternal.h:

(OpaqueJSWeakObjectMap::create):
(OpaqueJSWeakObjectMap::OpaqueJSWeakObjectMap):

  • API/JSWeakObjectMapRefPrivate.cpp:
  • API/JSWrapperMap.mm:

(-[JSWrapperMap initWithContext:]):
(-[JSWrapperMap jsWrapperForObject:]): Pass VM to WeakGCMap constructor.

  • JavaScriptCore.xcodeproj/project.pbxproj: Add WeakGCMapInlines.h and make

it project-private so WebCore clients can access it.

  • heap/Heap.cpp:

(JSC::Heap::collect):
(JSC::Heap::pruneStaleEntriesFromWeakGCMaps): Added a new GC phase for pruning
stale entries from WeakGCMaps. This is only executed during full collections.

  • heap/Heap.h:
  • heap/HeapInlines.h:

(JSC::Heap::registerWeakGCMap):
(JSC::Heap::unregisterWeakGCMap): Added a mechanism for WeakGCMaps to register
themselves with the Heap and provide a pruning callback.

  • runtime/PrototypeMap.h:

(JSC::PrototypeMap::PrototypeMap):

  • runtime/Structure.cpp:

(JSC::StructureTransitionTable::add): Pass VM to WeakGCMap constructor.

  • runtime/JSCInlines.h: Add "WeakGCMapInlines.h"
  • runtime/JSGlobalObject.cpp: Include "WeakGCMapInlines.h" so this builds.
  • runtime/JSString.cpp:

(JSC::jsStringWithCacheSlowCase):

  • runtime/PrototypeMap.cpp:

(JSC::PrototypeMap::addPrototype):
(JSC::PrototypeMap::emptyObjectStructureForPrototype): Remove HashMap add()
optimization since it's not safe in the GC-managed WeakGCMap world.

  • runtime/VM.cpp:

(JSC::VM::VM): Pass VM to WeakGCMap constructor.

  • runtime/WeakGCMap.h:

(JSC::WeakGCMap::set):
(JSC::WeakGCMap::add):
(JSC::WeakGCMap::WeakGCMap): Deleted.
(JSC::WeakGCMap::gcMap): Deleted.
(JSC::WeakGCMap::gcMapIfNeeded): Deleted.

  • runtime/WeakGCMapInlines.h: Added.

(JSC::WeakGCMap::WeakGCMap):
(JSC::WeakGCMap::~WeakGCMap):
(JSC::WeakGCMap::pruneStaleEntries): Moved ctor, dtor and pruning callback
to WeakGCMapInlines.h to fix interdependent header issues. Removed code that
prunes WeakGCMap at certain growth milestones and instead rely on the GC
callback for housekeeping.

4:57 PM Changeset in webkit [181296] by bshafiei@apple.com
  • 6 edits in tags/Safari-601.1.21.1/Source

Merged patch for <rdar://problem/20080527>.

4:52 PM Changeset in webkit [181295] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.21.1/Source

Versioning.

4:49 PM Changeset in webkit [181294] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.21.1

New tag.

4:47 PM Changeset in webkit [181293] by rniwa@webkit.org
  • 18 edits
    6 adds in trunk

Support extends and super keywords
https://bugs.webkit.org/show_bug.cgi?id=142200

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Added the support for ES6 class syntax inheritance.

Added ConstructorKind as well as boolean flags indicating the constructor kind to
various classes in UnlinkedCodeBlock as well as AST nodes.

Each method stores the associated class as its homeObjectPrivateName. This value is used to
make super calls.

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::generateFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):

  • bytecode/UnlinkedCodeBlock.h:

(JSC::ExecutableInfo::ExecutableInfo):
(JSC::UnlinkedFunctionExecutable::constructorKindIsDerived): Added.
(JSC::UnlinkedCodeBlock::constructorKindIsDerived): Added.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator): Don't emit op_create_this in a derived class
as the object is allocated by the highest base class's constructor. Also set "this" to null
and store the original value in m_newTargetRegister. "this" is supposed to be in TDZ but
that will be implemented in a separate patch.
(JSC::BytecodeGenerator::emitReturn): Allow "undefined" to be returned from a derived class.
In a derived class's constructor, not returning "undefined" or an object results in a type
error instead of "this" being returned.
(JSC::BytecodeGenerator::emitThrowTypeError): Added.

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::constructorKindIsDerived): Added.
(JSC::BytecodeGenerator::newTarget): Added.

  • bytecompiler/NodesCodegen.cpp:

(JSC::SuperNode::emitBytecode): Added. Emits the code to obtain the callee's parent class.
(JSC::emitSuperBaseForCallee): Added. Emits the code to obtain the parent class's prototype.
(JSC::emitPutHomeObject): Added.
(JSC::PropertyListNode::emitBytecode): Stores the home object when adding methods.
(JSC::PropertyListNode::emitPutConstantProperty): Ditto.
(JSC::BracketAccessorNode::emitBytecode): Added the support for superfoo.
(JSC::DotAccessorNode::emitBytecode): Added the support for super.foo.
(JSC::FunctionCallValueNode::emitBytecode): Added the support for super().
(JSC::FunctionCallBracketNode::emitBytecode): Added the support for superfoo().
(JSC::FunctionCallDotNode::emitBytecode): Added the support for super.foo().
(JSC::DeleteBracketNode::emitBytecode): Forbid "delete super.foo".
(JSC::DeleteDotNode::emitBytecode): Forbid "delete superfoo".
(JSC::ClassExprNode::emitBytecode): Added the support for "classHeritage". This is the main
logic for inheritance. When a class B inherits from a class A, set B.proto to A and set
B.prototype.proto to A.prototype. Throw exceptions when either A or A.proto is not
an object.

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::superExpr): Added.

  • parser/NodeConstructors.h:

(JSC::SuperNode::SuperNode): Added.

  • parser/Nodes.cpp:

(JSC::FunctionBodyNode::FunctionBodyNode):

  • parser/Nodes.h:

(JSC::ExpressionNode::isSuperNode):
(JSC::PropertyNode::type):
(JSC::PropertyNode::needsSuperBinding):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseFunctionBody):
(JSC::Parser<LexerType>::parseFunctionInfo): Throw a parser error if super() is used outside
of class constructors.
(JSC::Parser<LexerType>::parseFunctionDeclaration):
(JSC::Parser<LexerType>::parseClass): ConstructorKind is "derived" if and only if the parent
class is specified in the declaration / expression.
(JSC::Parser<LexerType>::parseGetterSetter):
(JSC::Parser<LexerType>::parsePrimaryExpression):
(JSC::Parser<LexerType>::parseMemberExpression): Added the support for "super()", "super.foo",
and "superfoo". Throw a semantic error if "super" appears by itself.

  • parser/Parser.h:

(JSC::Scope::Scope): Added m_hasDirectSuper. This variable keeps track of the use of "super()"
so that parseFunctionInfo can spit an error if it's used outside of class constructors.
(JSC::Scope::hasDirectSuper): Added.
(JSC::Scope::setHasDirectSuper): Added.

  • parser/ParserModes.h:

(JSC::ConstructorKind): Added.

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::superExpr): Added.

  • runtime/CommonIdentifiers.h: Added homeObjectPrivateName.
  • runtime/Executable.h:

(JSC::EvalExecutable::executableInfo):
(JSC::ProgramExecutable::executableInfo):

LayoutTests:

Added tests for "extends" and "super" keywords.

  • TestExpectations:
  • js/class-syntax-extends-expected.txt: Added.
  • js/class-syntax-extends.html: Added.
  • js/class-syntax-super-expected.txt: Added.
  • js/class-syntax-super.html: Added.
  • js/script-tests/class-syntax-extends.js: Added.
  • js/script-tests/class-syntax-super.js: Added.
4:43 PM Changeset in webkit [181292] by mmaxfield@apple.com
  • 8 edits
    4 adds in trunk

REGRESSION(r176978): Inline-blocks with overflowing contents have ascents that are too large
https://bugs.webkit.org/show_bug.cgi?id=141783

Reviewed by David Hyatt.

Source/WebCore:

When we have an inline-block element, and we want to find its baseline (to lay out other
elements on the same line) we loop through the element's children and ask them what their
baselines are. The children use the location of the top of their last line to compute this
value. However, if the child has overflow-y, this might not be the correct calculation.

This behavior is in the spec: "The baseline of an 'inline-block' is the baseline of its last
line box in the normal flow, unless it has either no in-flow line boxes or if its 'overflow'
property has a computed value other than 'visible', in which case the baseline is the bottom
margin edge."

-- http://www.w3.org/TR/CSS21/visudet.html#leading

However, we believe that a better policy is, when overflow is not "visible," to place the
baseline at the bottom of the block if the contents overflowed in the Y direction, and to place
it at the bottom of the last line if the contents did not overflow in the Y direction. This is
partially consistent with previous behavior, and isn't too far from the spec to cause too many
breakages.

Test: fast/css/inline-block-tricky-baselines.html

fast/text/baseline-inline-block.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::inlineBlockBaseline):

LayoutTests:

Update expected results.

  • css3/flexbox/child-overflow-expected.html:
  • css3/flexbox/child-overflow.html:
  • fast/css/inline-block-tricky-baselines-expected.html: Added.
  • fast/css/inline-block-tricky-baselines.html: Added.
  • fast/forms/textfield-overflow-by-value-update-expected.txt:
  • fast/text/baseline-inline-block-expected.html: Added.
  • fast/text/baseline-inline-block.html: Added.
  • platform/mac/fast/forms/search-vertical-alignment-expected.txt:
4:39 PM Changeset in webkit [181291] by aestes@apple.com
  • 13 edits
    3 copies
    16 adds in trunk

[Content Filtering] Add tests
https://bugs.webkit.org/show_bug.cgi?id=142475

Reviewed by Andreas Kling.

Source/WebCore:

Added a mock content filter that can be configured by window.internals. A test can control whether the filter
is enabled, what to display when a page is blocked, at what point the allow/block decision is made, and what
decision to make.

Added tests to cover allowing and blocking content at each decision point.

Tests: contentfiltering/allow-after-add-data.html

contentfiltering/allow-after-finished-adding-data.html
contentfiltering/allow-after-response.html
contentfiltering/block-after-add-data.html
contentfiltering/block-after-finished-adding-data.html
contentfiltering/block-after-response.html

  • DerivedSources.make: Added MockContentFilterSettings.idl.
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSMockContentFilterSettingsCustom.cpp: Added.

(WebCore::JSMockContentFilterSettings::decisionPoint): Returned the decision point's JSValue.
(WebCore::JSMockContentFilterSettings::setDecisionPoint): Set the decision point; threw an exception for invalid values.
(WebCore::JSMockContentFilterSettings::decision): Returned the decision's JSValue.
(WebCore::JSMockContentFilterSettings::setDecision): Set the decision; threw an exception for invalid values.

  • platform/ContentFilter.cpp:

(WebCore::ContentFilter::types): Renamed from contentFilterTypes.
(WebCore::ContentFilter::createIfNeeded):
(WebCore::contentFilterType): Deleted.
(WebCore::contentFilterTypes): Deleted.

  • platform/ContentFilter.h:

(WebCore::ContentFilter::addType): Used to register a new content filter type.
(WebCore::ContentFilter::type): Renamed from contentFilterType.

  • platform/cocoa/NetworkExtensionContentFilter.h: Moved definition of HAVE_NE_FILTER_SOURCE to here.
  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState): Called MockContentFilterSettings::reset().
(WebCore::Internals::Internals): Called MockContentFilter::ensureInstalled().
(WebCore::Internals::mockContentFilterSettings): Returned a reference to MockContentFilterSettings::singleton().

  • testing/Internals.h:
  • testing/Internals.idl: Added attribute mockContentFilterSettings.
  • testing/MockContentFilter.cpp: Added.

(WebCore::MockContentFilter::ensureInstalled): Called MockContentFilter::addType().
(WebCore::MockContentFilter::canHandleResponse): Returned whether MockContentFilterSettings is enabled.
(WebCore::MockContentFilter::create): Returned a new MockContentFilter.
(WebCore::MockContentFilter::MockContentFilter): Called maybeDetermineStatus().
(WebCore::MockContentFilter::addData): Copied data into m_replacementData and called maybeDetermineStatus().
(WebCore::MockContentFilter::finishedAddingData): Called maybeDetermineStatus().
(WebCore::MockContentFilter::needsMoreData): Returned whether m_status equals NeedsMoreData.
(WebCore::MockContentFilter::didBlockData): Returned whether m_status equals Blocked.
(WebCore::MockContentFilter::getReplacementData): Returned a pointer to the start of m_replacementData.
(WebCore::MockContentFilter::unblockHandler): Returned an empty ContentFilterUnblockHandler.
(WebCore::MockContentFilter::maybeDetermineStatus): If m_status is NeedsMoreData and the current decision point
equals MockContentFilterSettings's decision point, set m_status according to MockContentFilterSettings's
decision. If m_status becomes Blocked, clear the original page data from m_replacementData and copy
MockContentFilterSettings's blocked string instead.

  • testing/MockContentFilter.h: Copied from Source/WebCore/platform/cocoa/NetworkExtensionContentFilter.h.
  • testing/MockContentFilterSettings.cpp: Copied from Source/WebCore/platform/ContentFilter.h.

(WebCore::MockContentFilterSettings::singleton):
(WebCore::MockContentFilterSettings::reset): Reset settings to their initial values.
(WebCore::MockContentFilterSettings::MockContentFilterSettings):

  • testing/MockContentFilterSettings.h: Copied from Source/WebCore/platform/cocoa/NetworkExtensionContentFilter.h.

(WebCore::MockContentFilterSettings::ref): Added an empty implementation to make the bindings think this is RefCounted.
(WebCore::MockContentFilterSettings::deref): Ditto.
(WebCore::MockContentFilterSettings::enabled):
(WebCore::MockContentFilterSettings::setEnabled):
(WebCore::MockContentFilterSettings::blockedString):
(WebCore::MockContentFilterSettings::setBlockedString):
(WebCore::MockContentFilterSettings::decisionPoint):
(WebCore::MockContentFilterSettings::setDecisionPoint):
(WebCore::MockContentFilterSettings::decision):
(WebCore::MockContentFilterSettings::setDecision):

  • testing/MockContentFilterSettings.idl: Copied from Source/WebCore/platform/ContentFilter.h.

LayoutTests:

  • contentfiltering/allow-after-add-data-expected.html: Added.
  • contentfiltering/allow-after-add-data.html: Added.
  • contentfiltering/allow-after-finished-adding-data-expected.html: Added.
  • contentfiltering/allow-after-finished-adding-data.html: Added.
  • contentfiltering/allow-after-response-expected.html: Added.
  • contentfiltering/allow-after-response.html: Added.
  • contentfiltering/block-after-add-data-expected.html: Added.
  • contentfiltering/block-after-add-data.html: Added.
  • contentfiltering/block-after-finished-adding-data-expected.html: Added.
  • contentfiltering/block-after-finished-adding-data.html: Added.
  • contentfiltering/block-after-response-expected.html: Added.
  • contentfiltering/block-after-response.html: Added.
4:30 PM Changeset in webkit [181290] by Alan Bujtas
  • 9 edits in trunk/Source/WebCore

Simple line layout should not be limited to RenderText.
https://bugs.webkit.org/show_bug.cgi?id=142504

Reviewed by Antti Koivisto.

This is in transition to support br element.

No change in functionality.

  • rendering/RenderText.cpp:

(WebCore::RenderText::absoluteRects):
(WebCore::RenderText::absoluteQuadsClippedToEllipsis):
(WebCore::RenderText::absoluteQuads):
(WebCore::RenderText::firstRunLocation):
(WebCore::RenderText::linesBoundingBox):
(WebCore::RenderText::caretMinOffset):
(WebCore::RenderText::caretMaxOffset):
(WebCore::RenderText::containsCaretOffset):

  • rendering/SimpleLineLayoutFlowContents.cpp:

(WebCore::SimpleLineLayout::FlowContents::segmentForRenderer):

  • rendering/SimpleLineLayoutFlowContents.h:
  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::computeBoundingBox):
(WebCore::SimpleLineLayout::computeFirstRunLocation):
(WebCore::SimpleLineLayout::collectAbsoluteRects):
(WebCore::SimpleLineLayout::collectAbsoluteQuads):
(WebCore::SimpleLineLayout::computeTextBoundingBox): Deleted.
(WebCore::SimpleLineLayout::computeTextFirstRunLocation): Deleted.
(WebCore::SimpleLineLayout::collectTextAbsoluteRects): Deleted.
(WebCore::SimpleLineLayout::collectTextAbsoluteQuads): Deleted.

  • rendering/SimpleLineLayoutFunctions.h:

(WebCore::SimpleLineLayout::findCaretMinimumOffset):
(WebCore::SimpleLineLayout::findCaretMaximumOffset):
(WebCore::SimpleLineLayout::containsCaretOffset):
(WebCore::SimpleLineLayout::findTextCaretMinimumOffset): Deleted.
(WebCore::SimpleLineLayout::findTextCaretMaximumOffset): Deleted.
(WebCore::SimpleLineLayout::containsTextCaretOffset): Deleted.

  • rendering/SimpleLineLayoutResolver.cpp:

(WebCore::SimpleLineLayout::RunResolver::Run::text):
(WebCore::SimpleLineLayout::RunResolver::rangeForRenderer):

  • rendering/SimpleLineLayoutResolver.h:
  • rendering/SimpleLineLayoutTextFragmentIterator.cpp:

(WebCore::SimpleLineLayout::TextFragmentIterator::textWidth):

3:51 PM Changeset in webkit [181289] by bshafiei@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r179958. rdar://problem/20096968

3:49 PM Changeset in webkit [181288] by bshafiei@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r179895. rdar://problem/20096968

3:48 PM Changeset in webkit [181287] by bshafiei@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r179880. rdar://problem/20096968

3:34 PM Changeset in webkit [181286] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/WebKitLibraries

[iOS] Add WebKitSystemInterface for iOS 8.2
https://bugs.webkit.org/show_bug.cgi?id=142505

Patch by Daniel Bates <dabates@apple.com> on 2015-03-09
Reviewed by Andy Estes.

  • libWebKitSystemInterfaceIOSDevice8.2.a: Added.
  • libWebKitSystemInterfaceIOSSimulator8.2.a: Added.
3:09 PM Changeset in webkit [181285] by mmaxfield@apple.com
  • 5 edits in trunk

svg/custom/svg-fonts-without-missing-glyph.xhtml fails after fonts/font-fallback-prefers-pictographs.html
https://bugs.webkit.org/show_bug.cgi?id=142470

Reviewed by Anders Carlsson.

Source/WebCore:

After each test, reset all internal settings.

Covered by svg/custom/svg-fonts-without-missing-glyph.xhtml

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):

  • testing/InternalSettings.h:

LayoutTests:

  • platform/mac/TestExpectations:
3:08 PM Changeset in webkit [181284] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r181268.
https://bugs.webkit.org/show_bug.cgi?id=142508

Broke tests (Requested by ap on #webkit).

Reverted changeset:

"Simple line layout: Merge
TextFragmentIterator::findNextBreakablePosition() and
TextFragmentIterator::findNextNonWhitespacePosition()."
https://bugs.webkit.org/show_bug.cgi?id=142344
http://trac.webkit.org/changeset/181268

2:10 PM Changeset in webkit [181283] by benjamin@webkit.org
  • 3 edits
    8 adds in trunk

CSS JIT: add aliases between :nth-child()/:nth-last-child() and :first-child/:last-child
https://bugs.webkit.org/show_bug.cgi?id=142472

Reviewed by Andreas Kling.

Source/WebCore:

The pseudo class :first-child has weaker tree marking than :nth-child(1).
This patch aliases :nth-child(1) to :first-child in the CSS JIT to take
advantage of that.

The strength of :last-child and :nth-last-child(1) are pretty much identical
but :last-child is a bit simpler so I changed it too. It is also easier
to handle both the same.

Tests: fast/selectors/nth-child-matching-first-on-root.html

fast/selectors/nth-child-matching-first.html
fast/selectors/nth-last-child-matching-first-on-root.html
fast/selectors/nth-last-child-matching-first.html

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addNthChildType):
(WebCore::SelectorCompiler::addPseudoClassType):

LayoutTests:

  • fast/selectors/nth-child-matching-first-expected.txt: Added.
  • fast/selectors/nth-child-matching-first-on-root-expected.txt: Added.
  • fast/selectors/nth-child-matching-first-on-root.html: Added.
  • fast/selectors/nth-child-matching-first.html: Added.
  • fast/selectors/nth-last-child-matching-first-expected.txt: Added.
  • fast/selectors/nth-last-child-matching-first-on-root-expected.txt: Added.
  • fast/selectors/nth-last-child-matching-first-on-root.html: Added.
  • fast/selectors/nth-last-child-matching-first.html: Added.
2:07 PM Changeset in webkit [181282] by benjamin@webkit.org
  • 5 edits in trunk/Source/WebCore

Merge TrivialAtom and CharacterSet into a Term abstraction, prepare Term for composition
https://bugs.webkit.org/show_bug.cgi?id=142429

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-03-09
Reviewed by Darin Adler.

This patch merges CharacterSet and Trivial atom into a new class: Term. A Term is
a combination of an Atom and one Quantifier.

With term being the basic block, we can use the PrefixTree for any construct,
greatly reducing the size of the NFA graph.

Term is built on top of an union holding the Atom storage. This is done in preparation
for more complicated Atoms like a disjunction.

Everything else is pretty much the same. BuildMode is gone since we use the prefix
tree for everything. FloatingAtomType is gone, a TrivialAtom is now represented
by a single character CharacterSet (or two for case insensitive).

  • contentextensions/ContentExtensionParser.cpp:

(WebCore::ContentExtensions::parseRuleList):

  • contentextensions/NFA.cpp:

(WebCore::ContentExtensions::NFA::addRuleId):

  • contentextensions/URLFilterParser.cpp:

(WebCore::ContentExtensions::Term::Term):
(WebCore::ContentExtensions::Term::~Term):
(WebCore::ContentExtensions::Term::isValid):
(WebCore::ContentExtensions::Term::addCharacter):
(WebCore::ContentExtensions::Term::quantify):
(WebCore::ContentExtensions::Term::quantifier):
(WebCore::ContentExtensions::Term::isUniversalTransition):
(WebCore::ContentExtensions::Term::visitSimpleTransitions):
(WebCore::ContentExtensions::Term::operator=):
(WebCore::ContentExtensions::Term::operator==):
(WebCore::ContentExtensions::Term::hash):
(WebCore::ContentExtensions::Term::isEmptyValue):
(WebCore::ContentExtensions::Term::isDeletedValue):
(WebCore::ContentExtensions::Term::destroy):
(WebCore::ContentExtensions::Term::CharacterSet::operator==):
(WebCore::ContentExtensions::Term::CharacterSet::hash):
(WebCore::ContentExtensions::TermHash::hash):
(WebCore::ContentExtensions::TermHash::equal):
(WebCore::ContentExtensions::GraphBuilder::GraphBuilder):
(WebCore::ContentExtensions::GraphBuilder::finalize):
(WebCore::ContentExtensions::GraphBuilder::atomPatternCharacter):
(WebCore::ContentExtensions::GraphBuilder::atomBuiltInCharacterClass):
(WebCore::ContentExtensions::GraphBuilder::quantifyAtom):
(WebCore::ContentExtensions::GraphBuilder::atomCharacterClassBegin):
(WebCore::ContentExtensions::GraphBuilder::atomCharacterClassAtom):
(WebCore::ContentExtensions::GraphBuilder::atomCharacterClassRange):
(WebCore::ContentExtensions::GraphBuilder::addTransitions):
(WebCore::ContentExtensions::GraphBuilder::sinkFloatingTerm):
(WebCore::ContentExtensions::GraphBuilder::sinkFloatingTermIfNecessary):
(WebCore::ContentExtensions::URLFilterParser::URLFilterParser):
(WebCore::ContentExtensions::URLFilterParser::~URLFilterParser):
(WebCore::ContentExtensions::URLFilterParser::addPattern):
(WebCore::ContentExtensions::trivialAtomFromASCIICharacter): Deleted.
(WebCore::ContentExtensions::quantifyTrivialAtom): Deleted.
(WebCore::ContentExtensions::trivialAtomQuantifier): Deleted.
(WebCore::ContentExtensions::trivialAtomForNewlineClassIDBuiltin): Deleted.
(WebCore::ContentExtensions::GraphBuilder::sinkAtom): Deleted.
(WebCore::ContentExtensions::GraphBuilder::generateTransition): Deleted.
(WebCore::ContentExtensions::GraphBuilder::sinkTrivialAtom): Deleted.
(WebCore::ContentExtensions::GraphBuilder::sinkCharacterSet): Deleted.
(WebCore::ContentExtensions::GraphBuilder::sinkPendingAtomIfNecessary): Deleted.

  • contentextensions/URLFilterParser.h:
1:51 PM Changeset in webkit [181281] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix the !ENABLE(WEBGL) build after r180609
https://bugs.webkit.org/show_bug.cgi?id=142057

Reviewed by Darin Adler.

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::forceContextLost):

1:51 PM Changeset in webkit [181280] by jer.noble@apple.com
  • 3 edits in trunk/Tools

Add an option to run-webkit-tests to override the LayoutTests/ directory
https://bugs.webkit.org/show_bug.cgi?id=142418

Reviewed by David Kilzer.

Add an arugment to run-webkit-tests which, when set, overrides the port's default LayoutTests
directory. The base port will parse the options during initialization and store the override
location if present. layout_tests_dir() will return this overridden location if set.

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(parse_args):

  • Scripts/webkitpy/port/base.py:

(Port.init):
(Port.layout_tests_dir):

1:22 PM Changeset in webkit [181279] by roger_fong@apple.com
  • 3 edits in trunk/Source/WebCore

Only call showControls if controls are hidden.
https://bugs.webkit.org/show_bug.cgi?id=142496.
<rdar://problem/20083732>
Reviewed by Dean Jackson.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.handleWrapperMouseMove):
(Controller.prototype.controlsAreHidden):
Controls are hidden if the ‘show’ class name is not present,
not if the ‘hidden’ class name is.

12:58 PM Changeset in webkit [181278] by mmaxfield@apple.com
  • 3 edits
    3 adds
    3 deletes in trunk

Work around a Cocoa font parsing bug
https://bugs.webkit.org/show_bug.cgi?id=142446
Source/WebCore:

<rdar://problem/20086223>

Reviewed by Simon Fraser.

Work around a bug in Cocoa regarding font parsing.

  • svg/SVGToOTFFontConversion.cpp:

LayoutTests:

Reviewed by Simon Fraser.

Adding a few extra tests for bits of SVG fonts that could use some more tests.

  • svg/fonts/resources/svg-font-general.svg: Updated and moved from svg-font-horiz-origin-font.svg
  • svg/fonts/svg-font-general.html: Updated and moved from svg-font-horiz-origin.html
  • svg/fonts/svg-font-general-expected.html: Updated and moved from svg-font-horiz-origin-expected.html
12:39 PM Changeset in webkit [181277] by mmaxfield@apple.com
  • 2 edits
    2 deletes in trunk/LayoutTests

[SVG -> OTF Converter] x-height cannot be specified
https://bugs.webkit.org/show_bug.cgi?id=142465

Reviewed by Simon Fraser.

For all non-system fonts, OS X disregards the font's reported x-height. Therefore,
it is impossible to satisfy this test.

  • fast/css/ex-unit-with-no-x-height-expected.txt: Removed.
  • fast/css/ex-unit-with-no-x-height.html: Removed.
  • platform/mac/TestExpectations:
12:19 PM Changeset in webkit [181276] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed GTK+ Gardening

https://bugs.webkit.org/show_bug.cgi?id=142499

Patch by Marcos Chavarría Teijeiro <chavarria1991@gmail.com> on 2015-03-09

  • platform/gtk/TestExpectations:
12:02 PM Changeset in webkit [181275] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

[CMake] Enable WorkQueue tests for CMake ports
https://bugs.webkit.org/show_bug.cgi?id=142473

Patch by Martin Robinson <mrobinson@igalia.com> on 2015-03-09
Reviewed by Darin Adler.

  • TestWebKitAPI/CMakeLists.txt: Add the WorkQueue tests source file to

the list of source files.

  • Tools/TestWebKitAPI/PlatformEfl.cmake: Add the DispatchQueueEfl directory

to the list of include directories for EFL.

12:01 PM Changeset in webkit [181274] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix the build after r181153
https://bugs.webkit.org/show_bug.cgi?id=142497

Reviewed by Philippe Normand.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::load):

11:58 AM Changeset in webkit [181273] by ddkilzer@apple.com
  • 4 edits in trunk/Source/WebKit

[iOS] Fix build when compiling with dead code stripping disabled
<http://webkit.org/b/142467>

Reviewed by Simon Fraser.

Source/WebKit/ios:

  • WebCoreSupport/WebInspectorClientIOS.mm:

(WebInspectorFrontendClient::save): Add missing method.

Source/WebKit/mac:

  • Configurations/WebKitLegacy.xcconfig:

(EXCLUDED_SOURCE_FILE_NAMES[sdk=iphone*]): Disable mig code
generation and compilation for out-of-process plugin support.
This was never used on iOS.

11:55 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
11:43 AM Changeset in webkit [181272] by ggaren@apple.com
  • 4 edits in trunk/Source/WebKit2

bmalloc: tryFastMalloc shouldn't crash
https://bugs.webkit.org/show_bug.cgi?id=142443

Reviewed by Anders Carlsson.

Part 1: Stop using tryFastRealloc.

  • Shared/ShareableBitmap.cpp:

(WebKit::ShareableBitmap::resize): Deleted.

  • Shared/ShareableBitmap.h: Removed the resize function because it has

no clients.

  • WebProcess/Plugins/PluginProxy.cpp:

(WebKit::PluginProxy::updateBackingStore): Changed to allocate a new
backing store instead of resizing the old one. This has three advantages:

(1) Might be more memory-efficient, since you don't have to keep the old
one around while allocating the new one.

(2) Avoids the overhead of realloc() copying the contents of the old
backing store even though we only want uninitialized memory.

(3) Makes resize failure consistent with initial allocation failure.
Previously, while initial allocation failure would set the backing store
to null, resize failure would keep the old wrong backing store and then
tell it not to paint. Now, resize failure also sets the backing store to
null.

10:49 AM Changeset in webkit [181271] by commit-queue@webkit.org
  • 4 edits
    3 moves in trunk/Source

[EFL] Move DispatchQueue to WTF
https://bugs.webkit.org/show_bug.cgi?id=142493

Patch by Martin Robinson <mrobinson@igalia.com> on 2015-03-09
Reviewed by Csaba Osztrogonác.

Source/WebKit2:

  • PlatformEfl.cmake: Remove DispatchQueue from the source list.

Source/WTF:

  • wtf/PlatformEfl.cmake: Add DispatchQueue to the source list.
  • wtf/efl/DispatchQueueEfl.cpp: Renamed from Source/WebKit2/Platform/efl/DispatchQueueEfl.cpp.
  • wtf/efl/DispatchQueueEfl.h: Renamed from Source/WebKit2/Platform/efl/DispatchQueueEfl.h.
  • wtf/efl/DispatchQueueWorkItemEfl.h: Renamed from Source/WebKit2/Platform/efl/DispatchQueueWorkItemEfl.h.
10:35 AM Changeset in webkit [181270] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Re-add CSS property that was unintentionally removed in r180893
<rdar://problem/20083715>

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-panel):

10:19 AM Changeset in webkit [181269] by bshafiei@apple.com
  • 5 edits in branches/safari-600.5-branch/Source

Versioning.

10:09 AM Changeset in webkit [181268] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Simple line layout: Merge TextFragmentIterator::findNextBreakablePosition() and TextFragmentIterator::findNextNonWhitespacePosition().
https://bugs.webkit.org/show_bug.cgi?id=142344

Reviewed by Antti Koivisto.

This patch merges findNextBreakablePosition() and findNextNonWhitespacePosition() so that
the segment looping and position handling logic are no longer duplicated. It also unifies
the static next*() functions' signature.

No change in functionality.

  • rendering/SimpleLineLayoutTextFragmentIterator.cpp:

(WebCore::SimpleLineLayout::TextFragmentIterator::nextTextFragment):
(WebCore::SimpleLineLayout::nextBreakablePosition):
(WebCore::SimpleLineLayout::nextNonWhitespacePosition):
(WebCore::SimpleLineLayout::TextFragmentIterator::skipToNextPosition):
(WebCore::SimpleLineLayout::TextFragmentIterator::findNextBreakablePosition): Deleted.
(WebCore::SimpleLineLayout::findNextNonWhitespace): Deleted.
(WebCore::SimpleLineLayout::TextFragmentIterator::findNextNonWhitespacePosition): Deleted.

  • rendering/SimpleLineLayoutTextFragmentIterator.h:
7:27 AM Changeset in webkit [181267] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

Attempt to fix timeouts on iOS Simulator layout tests

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort.setup_test_run): Most layout test runs on iOS
Simulator end after the first 50 tests time out. Some analysis
this past weekend shows that the 'Booted' status in the output
of xcrun simctl list is not sufficient (and watching the test
run shows that SpringBoard hasn't fully started to the point
where it's displaying icons on the home screen). The workaround
until we have a better fix is to add an arbitrary timeout to let
SpringBoard finish launching. In practice, 15 seconds is
probably enough, but 30 seconds should nearly always work.

6:57 AM Changeset in webkit [181266] by peavo@outlook.com
  • 2 edits in trunk/Tools

Unreviewed. Add myself as a committer.

  • Scripts/webkitpy/common/config/contributors.json:
5:57 AM Changeset in webkit [181265] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

Attempt to fix WTF_WorkQueue.TwoQueues timeout test failure

  • TestWebKitAPI/Tests/WTF/WorkQueue.cpp:

(TestWebKitAPI::TEST): Change delay from 50ns to 50ms, and add
an expectation that will fail if we hit the race condition.
This test is inherently racy and will deadlock if the first job
for queue2 takes the mutex lock before the second job for
queue1.

4:36 AM Changeset in webkit [181264] by youenn.fablet@crf.canon.fr
  • 3 edits in trunk/Source/WebCore

ReadableStreamJSSource should use JSC::Strong UnspecifiedBoolType operator
https://bugs.webkit.org/show_bug.cgi?id=142397

Reviewed by Benjamin Poulain.

No behavior change. Current tests cover the changes.

  • bindings/js/ReadableStreamJSSource.cpp:
  • bindings/js/ReadableStreamJSSource.h:
4:31 AM Changeset in webkit [181263] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening on 9th Mar.

Mark svg/text/select-textLength-spacingAndGlyphs-foo.html to failure.
Update new failling tests to existing bugs.

  • platform/efl/TestExpectations:
4:31 AM Changeset in webkit [181262] by youenn.fablet@crf.canon.fr
  • 3 edits in trunk/Source/WebCore

ReadableStream does not not need to pass itself as callback parameter
https://bugs.webkit.org/show_bug.cgi?id=142399

Reviewed by Darin Adler.

No change in behavior.

  • Modules/streams/ReadableStream.h: Remove ReadableStream parameter from SuccessCallback definition.
  • bindings/js/JSReadableStreamCustom.cpp:

(WebCore::JSReadableStream::ready): Capture JSReadableStream instance instead.
(WebCore::JSReadableStream::closed): Capture JSReadableStream instance instead.

3:16 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
12:28 AM Changeset in webkit [181261] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r181256 - Crash in WebCore::NotificationCenter::stop()
https://bugs.webkit.org/show_bug.cgi?id=142444
<rdar://problem/20082520>

Reviewed by Darin Adler.

Rework the patch in r181219 so that we do not need a Ref<NotificationCenter> protector
in NotificationCenter::stop(). Instead, we put the client in a local variable and null
out m_client *before* calling NotificationClient::clearNotifications().

No new tests, already covered by:
http/tests/notifications/event-listener-crash.html

  • Modules/notifications/NotificationCenter.cpp:

(WebCore::NotificationCenter::stop):

Mar 8, 2015:

1:47 AM Changeset in webkit [181235] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Tools

Merge r181075 - Unreviewed. Fix /webkit2/WebKitWebResource/mime-type after r180927.

In r180927 we updated the libsoup version used by the jhbuild. In
this new version the sniffer uses image/x-icon instead of
image/vnd.microsoft.icon for blank.ico resource.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:

(testWebResourceMimeType):

1:46 AM Changeset in webkit [181234] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.8

Merge r181074 - [SOUP] Check TLS errors as soon as they are set in the SoupMessage
https://bugs.webkit.org/show_bug.cgi?id=142244

Reviewed by Sergio Villar Senin.

Source/WebCore:

Connect to the notify::tls-errors signal of SoupMessage to cancel
the load earlier in case of TLS failure, preventing any private
data from being sent to the server before the TLS errors are checked.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::tlsErrorsChangedCallback):
(WebCore::gotHeadersCallback):
(WebCore::createSoupMessageForHandleAndRequest):

Tools:

Check that the SSL server doesn't process any request in case of
TLS errors when the policy is set to FAIL.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp:

(testTLSErrorsPolicy):
(testTLSErrorsRedirect):
(testTLSErrorsHTTPAuth):
(testLoadFailedWithTLSErrors):
(testSubresourceLoadFailedWithTLSErrors):
(httpsServerCallback):

1:44 AM Changeset in webkit [181233] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.8/Source/WebKit2

Merge r181073 - [SOUP] Disable RC4
https://bugs.webkit.org/show_bug.cgi?id=140014

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-03-05
Reviewed by Carlos Garcia Campos.

Disallow RC4-based ciphersuites when performing TLS negotiation,
because it is no longer considered secure.

  • NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp:

(main):

  • WebProcess/EntryPoint/unix/WebProcessMain.cpp:

(main):

1:43 AM Changeset in webkit [181232] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r181072 - TextCheckingParagraph::isEmpty() is sufficient to check whether paragraph is empty
https://bugs.webkit.org/show_bug.cgi?id=142276

Reviewed by Darin Adler.

TextCheckingParagraph::isEmpty() already calls TextCheckingParagraph::isRangeEmpty().
There is no need to call them both at the caller site.

No new tests. No behavior change.

  • editing/Editor.cpp:

(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
Update caller site.

  • editing/TextCheckingHelper.cpp:

(WebCore::TextCheckingParagraph::isEmpty):
Avoid using helepers here to get rid of them as they are
no longer needed outside TextCheckingParagraph.

  • editing/TextCheckingHelper.h:

(WebCore::TextCheckingParagraph::isTextEmpty): Deleted.
(WebCore::TextCheckingParagraph::isRangeEmpty): Deleted.
Do not expose isTextEmpty() and isRangeEmpty().

1:42 AM Changeset in webkit [181231] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore

Merge r181060 - GC should compute stack bounds and dump registers at the earliest opportunity.
<https://webkit.org/b/142310>
<rdar://problem/20045624>

Reviewed by Geoffrey Garen.

Make Heap::collect() a wrapper function around a collectImpl() where the work is actually done.
The wrapper function that grabs a snapshot of the current stack boundaries and register values
on entry, and sanitizes the stack on exit.

This is a speculative fix for what appears to be overly conservative behavior in the garbage
collector following r178364 which caused a measurable regression in memory usage on Membuster.
The theory being that we were putting pointers to dead things on the stack before scanning it,
and by doing that ended up marking things that we'd otherwise discover to be garbage.

  • heap/Heap.cpp:

(JSC::Heap::markRoots):
(JSC::Heap::gatherStackRoots):
(JSC::Heap::collect):
(JSC::Heap::collectImpl):

  • heap/Heap.h:
  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::gatherFromCurrentThread):
(JSC::MachineThreads::gatherConservativeRoots):

  • heap/MachineStackMarker.h:
1:20 AM Changeset in webkit [181230] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore

Merge r181059 - Silence GCC's -Wstrict-prototypes
https://bugs.webkit.org/show_bug.cgi?id=142278

Patch by Debarshi Ray <debarshir@gnome.org> on 2015-03-04
Reviewed by Alexey Proskuryakov.

  • API/JSContextRef.h:
1:17 AM Changeset in webkit [181229] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r181038 - REGRESSION (r179597): Can't see power saver banner for plugins
https://bugs.webkit.org/show_bug.cgi?id=142312
<rdar://problem/20040517>

Reviewed by Brent Fulgham.

We were being a bit too restrictive when deciding a child
should not create a renderer. All shadow root children
of the snapshotted plugin need one.

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::childShouldCreateRenderer):
Test if we're part of the shadow tree.

1:12 AM Changeset in webkit [181228] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.8

Merge r180998 - [GTK] WebView should hold a reference on WebContext because non-default contexts are a reality
https://bugs.webkit.org/show_bug.cgi?id=142225

Patch by Debarshi Ray <debarshir@gnome.org> on 2015-03-04
Reviewed by Carlos Garcia Campos.

Source/WebKit2:

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewRequestFavicon):
(webkitWebViewWatchForChangesInFavicon):
(webkitWebViewDisconnectFaviconDatabaseSignalHandlers):
(webkitWebViewConstructed):
(webkitWebViewGetProperty):
(webkitWebViewDispose):
(webkitWebViewLoadChanged):
(webkitWebViewLoadFailedWithTLSErrors):
(webkit_web_view_get_context):
(webkit_web_view_download_uri):

Tools:

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:

(testWebViewWebContextLifetime):
(beforeAll):

1:11 AM Changeset in webkit [181227] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r180997 - [GStreamer] the GST_SCHEDULING_FLAG_BANDWIDTH_LIMITED should be wrapped by a ifdef
https://bugs.webkit.org/show_bug.cgi?id=142274

Patch by Philippe Normand <pnormand@igalia.com> on 2015-03-04
Reviewed by Carlos Garcia Campos.

Don't handle scheduling queries if building against versions of
GStreamer older than 1.2.0.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcQueryWithParent):

1:06 AM Changeset in webkit [181226] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.8

Merge r181168 - Setting any of the <object> element plugin controlling attributes does not have any affect.
https://bugs.webkit.org/show_bug.cgi?id=141936.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-03-06
Reviewed by Simon Fraser.
Source/WebCore:

When setting any of the <object> element plugin controlling attributes
dynamically we need to mark the the element to be dirty by calling
setNeedsStyleRecalc(), so it has to recreate its renderer when needed.

Tests: fast/css/image-object-hover-inherit.html

svg/as-object/svg-in-object-dynamic-attribute-change.html

  • dom/Element.h: Delete unimplemented function.
  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::parseAttribute): Mark the element dirty by
calling setNeedsStyleRecalc() when one of the plugin controlling attributes
gets changed. We have to clear m_useFallbackContent because the attribute's
new value might fix the object rendering.

  • html/HTMLObjectElement.h: Add a function to clear m_useFallbackContent.

LayoutTests:

  • fast/css/image-object-hover-inherit-expected.html: Added.
  • fast/css/image-object-hover-inherit.html: Added.

A guarding test to catch the case of reconstructing the image <object>
renderer while performing a synchronous resolveTree() followed by page
rendering or dump render tree.

  • svg/as-object/resources/lime100x100.html: Added.
  • svg/as-object/resources/lime100x100.png: Added.
  • svg/as-object/resources/lime100x100.svg: Added.
  • svg/as-object/resources/red100x100.svg: Added.
  • svg/as-object/svg-in-object-dynamic-attribute-change-expected.html: Added.
  • svg/as-object/svg-in-object-dynamic-attribute-change.html: Added.

Ensure that changing the 'type' and the 'data' attributes of the <object>
element will have the expected outcome. Also make sure that the <object>
element renderer falls back correctly when setting any of the attributes
to some unexpected value.

12:49 AM Changeset in webkit [181225] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/bmalloc

Merge r180964 - bmalloc: Don't branch when setting the owner of a large object
https://bugs.webkit.org/show_bug.cgi?id=142241

Reviewed by Andreas Kling.

  • bmalloc/BoundaryTag.h:

(bmalloc::BoundaryTag::owner):
(bmalloc::BoundaryTag::setOwner):

12:47 AM Changeset in webkit [181224] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.8/Source/bmalloc

Merge r180953 - bmalloc: Miscellaneous cleanup
https://bugs.webkit.org/show_bug.cgi?id=142231

Reviewed by Andreas Kling.

No performance change -- maybe a tiny reduction in memory use.

  • bmalloc/Heap.cpp: Moved the sleep function into StaticMutex, since

it's a helper for working with mutexes.

(bmalloc::Heap::scavenge): Make sure to wait before we start any
scavenging, since individual scavenging functions now always scavenge
at least one page before waiting themselves.

(bmalloc::Heap::scavengeSmallPages):
(bmalloc::Heap::scavengeMediumPages):
(bmalloc::Heap::scavengeLargeObjects): Use the new wait helper to
simplify this code. Also, we now require our caller to wait until at
least one deallocation is desirable. This simplifies our loop.

(bmalloc::Heap::allocateSmallPage):
(bmalloc::Heap::allocateMediumPage):
(bmalloc::Heap::allocateXLarge):
(bmalloc::Heap::allocateLarge): Don't freak out any time the heap does
an allocation. Only consider the heap to be growing if it actually needs
to allocate new VM. This allows us to shrink the heap back down from a
high water mark more reliably even if heap activity continues.

(bmalloc::sleep): Deleted.
(bmalloc::Heap::scavengeLargeRanges): Renamed to match our use of
"LargeObject".

  • bmalloc/Heap.h:
  • bmalloc/LargeObject.h:

(bmalloc::LargeObject::operator bool): Added to simplify a while loop.

  • bmalloc/StaticMutex.h:

(bmalloc::sleep):
(bmalloc::waitUntilFalse): New helper for waiting until a condition
becomes reliably false.

  • bmalloc/Vector.h:

(bmalloc::Vector<T>::~Vector): Oops! Don't deallocate the null pointer.
We don't actually run any Vector destructors, but an iteration of this
patch did, and then crashed. So, let's fix that.

12:20 AM Changeset in webkit [181223] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore

Merge r180938 - [Win64] JSC compile error.
https://bugs.webkit.org/show_bug.cgi?id=142216

Patch by peavo@outlook.com <peavo@outlook.com> on 2015-03-03
Reviewed by Mark Lam.

There is missing a version of setupArgumentsWithExecState when NUMBER_OF_ARGUMENT_REGISTERS == 4.

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

12:10 AM Changeset in webkit [181222] by Carlos Garcia Campos
  • 7 edits in trunk

Remove willDestroyFrame in WKBundlePageLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=142389

Reviewed by Anders Carlsson.

Source/WebKit2:

I added willDestroyFrame in r154540 but I realized recently that
it has never actually worked. Adding the callback to
WKBundlePageLoaderClient was the first mistake, since frames are
handled by WebProcess and DidDestroyFrame message is indeed a
WebProcessProxy not a WebPageProxy one. Second mistake was calling
the callback from WebFrameLoaderClient::frameLoaderDestroyed(),
since at that point the frame has already been detached from the
page and so WebFrame::page() always returns nullptr. So, this in
fact dead code and since r180211 nobody is using it.

  • WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h:
  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

(webkitWebPageCreate): Use verion 6 instead of version 7 of loader client.

  • WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:

(WebKit::InjectedBundlePageLoaderClient::willDestroyFrame): Deleted.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::frameLoaderDestroyed):

Tools:

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::InjectedBundlePage):

Mar 7, 2015:

10:32 PM Changeset in webkit [181260] by mmaxfield@apple.com
  • 16 edits in trunk/LayoutTests

Last test gardening after r177774 (for reals this time)
https://bugs.webkit.org/show_bug.cgi?id=139968

Unreviewed.

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-03-08

  • platform/mac/TestExpectations:
  • platform/mac/svg/text/select-textLength-spacingAndGlyphs-squeeze-1-expected.txt:
  • platform/mac/svg/text/select-textLength-spacingAndGlyphs-squeeze-2-expected.txt:
  • platform/mac/svg/text/select-textLength-spacingAndGlyphs-squeeze-3-expected.txt:
  • platform/mac/svg/text/select-textLength-spacingAndGlyphs-squeeze-4-expected.txt:
  • platform/mac/svg/text/select-textLength-spacingAndGlyphs-stretch-1-expected.txt:
  • platform/mac/svg/text/select-textLength-spacingAndGlyphs-stretch-2-expected.txt:
  • platform/mac/svg/text/select-textLength-spacingAndGlyphs-stretch-3-expected.txt:
  • svg/text/select-textLength-spacingAndGlyphs-squeeze-1.svg:
  • svg/text/select-textLength-spacingAndGlyphs-squeeze-2.svg:
  • svg/text/select-textLength-spacingAndGlyphs-squeeze-3.svg:
  • svg/text/select-textLength-spacingAndGlyphs-squeeze-4.svg:
  • svg/text/select-textLength-spacingAndGlyphs-stretch-1.svg:
  • svg/text/select-textLength-spacingAndGlyphs-stretch-2.svg:
  • svg/text/select-textLength-spacingAndGlyphs-stretch-3.svg:
9:55 PM Changeset in webkit [181259] by dino@apple.com
  • 12 edits in trunk/Source

[iOS Media] Video buffer progress missing on iPhones
https://bugs.webkit.org/show_bug.cgi?id=142462

Reviewed by Eric Carlson.

Source/WebCore:

The fullscreen controller on the iPhone idiom was using
the media duration as its maximum loaded time, meaning the
download progress was missing (it looked like everything
was already downloaded). The fix is to calculate
what the maximum buffered time is from the HTMLMediaElement,
and send that to the fullscreen controller.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.drawTimelineBackground): While implementing
the native function I noticed that the JS controls forgot that
the buffered time ranges are ordered, and thus they don't need
to search through the array. The last range will be the highest.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::maxBufferedTime): New helper function
to calculate the highest buffered time in the media source.

  • html/HTMLMediaElement.h:
  • platform/ios/WebVideoFullscreenInterface.h: New setBufferedTime method.
  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::setDuration): No longer set
the loadedTimeRanges.
(WebVideoFullscreenInterfaceAVKit::setBufferedTime): Calculate a normalized
value of the maximum loaded/buffered time, and tell the platform controller
to show that range.

  • platform/ios/WebVideoFullscreenModelVideoElement.mm:

(WebVideoFullscreenModelVideoElement::updateForEventName): Send the maximum
buffered time.

Source/WebKit2:

Coordinate the SetBufferedTime message between the Web and UI
processes.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in: New message SetBufferedTime.
  • WebProcess/ios/WebVideoFullscreenManager.h:
  • WebProcess/ios/WebVideoFullscreenManager.mm:

(WebKit::WebVideoFullscreenManager::setBufferedTime):

9:25 PM Changeset in webkit [181258] by benjamin@webkit.org
  • 3 edits in trunk/LayoutTests

Fix the tests for the new double-child descendant in css-set-selector-text
https://bugs.webkit.org/show_bug.cgi?id=141882

Reviewed by Andreas Kling.

In 178592, I copied the rules from css-selector-text.html without removing
the declarations.

Kudos to Dhi Aurrahman for catching this.

  • fast/css/css-set-selector-text-expected.txt:
  • fast/css/css-set-selector-text.html:
9:15 PM Changeset in webkit [181257] by Brent Fulgham
  • 4 edits in trunk

[Win] WTF::WorkQueue does not balance ref/deref properly
https://bugs.webkit.org/show_bug.cgi?id=142471

Reviewed by Antti Koivisto.

Source/WTF:

Make sure we deref the count when we execute a function in the
WorkQueue.

  • wtf/win/WorkQueueWin.cpp:

(WTF::WorkQueue::performWorkOnRegisteredWorkThread):

Tools:

  • TestWebKitAPI/Tests/WTF/WorkQueue.cpp:

(TestWebKitAPI::TEST): Check that the refcount is correct.

7:55 PM Changeset in webkit [181256] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Crash in WebCore::NotificationCenter::stop()
https://bugs.webkit.org/show_bug.cgi?id=142444
<rdar://problem/20082520>

Reviewed by Darin Adler.

Rework the patch in r181219 so that we do not need a Ref<NotificationCenter> protector
in NotificationCenter::stop(). Instead, we put the client in a local variable and null
out m_client *before* calling NotificationClient::clearNotifications().

No new tests, already covered by:
http/tests/notifications/event-listener-crash.html

  • Modules/notifications/NotificationCenter.cpp:

(WebCore::NotificationCenter::stop):

7:07 PM Changeset in webkit [181255] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Tools

Do not show passing test result on output of EFL layout test
https://bugs.webkit.org/show_bug.cgi?id=142380

Reviewed by Darin Adler.

To show passing tests has caused inconvenience when we detect problem tests
in output of layout test. So this patch applies '--debug-rwt-logging' except for EFL port
in order not to show passing tests in the output of EFL layout test.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(RunWebKitTests.start):

6:58 PM Changeset in webkit [181254] by Brent Fulgham
  • 2 edits in trunk/Tools

Unreviewed build fix.

  • TestWebKitAPI/Tests/WTF/WorkQueue.cpp:

(TestWebKitAPI::TEST): Remove two unused variables.

6:44 PM Changeset in webkit [181253] by mmaxfield@apple.com
  • 2 edits in trunk/LayoutTests

Change bug number for svg/custom/svg-fonts-without-missing-glyph.xhtml

Unreviewed.

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-03-08

  • platform/mac/TestExpectations:
6:30 PM Changeset in webkit [181252] by weinig@apple.com
  • 7 edits
    7 adds in trunk/Source/WebKit2

[Content Extensions] Add scaffolding for the WKUserContentExtensionStore
https://bugs.webkit.org/show_bug.cgi?id=142464

Reviewed by Dan Bernstein.

  • Shared/API/APIObject.h:

Add a UserContentExtensionStore type and move the UserContentExtension type into the correct section (UIProcess).

  • Shared/API/c/WKBase.h:

Add the WKUserContentExtensionStoreRef C-SPI type.

  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):
Add allocation support for UserContentExtensionStore (and UserContentExtension while we are there, it will be
needed shortly).

  • UIProcess/API/APIUserContentExtensionStore.cpp: Added.

(API::UserContentExtensionStore::UserContentExtensionStore):
(API::UserContentExtensionStore::~UserContentExtensionStore):

  • UIProcess/API/APIUserContentExtensionStore.h: Added.

Stub out the UserContentExtensionStore.

  • UIProcess/API/C/WKAPICast.h:

Add casting for the UserContentExtensionStore.

  • UIProcess/API/C/WKUserContentExtensionStoreRef.cpp: Added.

(WKUserContentExtensionStoreGetTypeID):

  • UIProcess/API/C/WKUserContentExtensionStoreRef.h: Added.
  • UIProcess/API/Cocoa/_WKUserContentExtensionStore.h: Added.
  • UIProcess/API/Cocoa/_WKUserContentExtensionStore.mm: Added.

(-[_WKUserContentExtensionStore init]):
(-[_WKUserContentExtensionStore dealloc]):
(-[_WKUserContentExtensionStore _apiObject]):

  • UIProcess/API/Cocoa/_WKUserContentExtensionStoreInternal.h: Added.

(WebKit::wrapper):
Stub out SPI for the UserContentExtensionStore.

  • WebKit2.xcodeproj/project.pbxproj:
  • CMakeLists.txt:

Add new files.

6:17 PM Changeset in webkit [181251] by weinig@apple.com
  • 5 edits in trunk/Source/WebKit2

AX: Expose a frame's accessible name through WK2 C SPI
<rdar://problem/19653068>
https://bugs.webkit.org/show_bug.cgi?id=142468

Reviewed by Dan Bernstein.

  • WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:

(WKBundleFrameSetAccessibleName):

  • WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::setAccessibleName):

  • WebProcess/WebPage/WebFrame.h:

Add SPI to set a frame's accessible name. This matches the Legacy WebKit SPI -[WebFrame setAccessibleName:].

4:58 PM Changeset in webkit [181250] by akling@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

JITThunks keeps finalized Weaks around, pinning WeakBlocks.
<https://webkit.org/b/142454>

Reviewed by Darin Adler.

Make JITThunks a WeakHandleOwner so it can keep its host function map free of stale entries.
This fixes an issue I was seeing where a bunch of WeakBlocks stuck around with nothing but
finalized Weak<NativeExecutable> entries.

  • jit/JITThunks.h:
  • jit/JITThunks.cpp:

(JSC::JITThunks::finalize): Make JITThunks inherit from WeakHandleOwner so it can receive
a callback when the NativeExecutables get garbage collected.

(JSC::JITThunks::hostFunctionStub): Pass 'this' as the handle owner when creating Weaks.

4:55 PM Changeset in webkit [181249] by Brent Fulgham
  • 4 edits
    1 add in trunk/Tools

Add some WorkQueue tests to TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=142447

Reviewed by Sam Weinig.

  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj:
  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj.filters:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/WorkQueue.cpp: Added.

(TestWebKitAPI::simpleTest):
(TestWebKitAPI::longTest):
(TestWebKitAPI::thirdTest):
(TestWebKitAPI::finishedTests):
(TestWebKitAPI::TEST):
(TestWebKitAPI::longTest2):

4:47 PM Changeset in webkit [181248] by akling@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

BuiltinExecutables keeps finalized Weaks around, pinning WeakBlocks.
<https://webkit.org/b/142460>

Reviewed by Geoffrey Garen.

Make BuiltinExecutables a WeakHandleOwner so it can clear out its respective Weak members
if and when their pointees get garbage collected.

This fixes an issue I've seen locally where a WeakBlock is pinned down by a single one of
these Weak<BuiltinExecutables>.

  • builtins/BuiltinExecutables.h: Make BuiltinExecutables inherit from WeakHandleOwner.
  • builtins/BuiltinExecutables.cpp:

(JSC::BuiltinExecutables::finalize): Clear out the relevant member pointer when it's been
garbage collected. We use the WeakImpl's "context" field to pass the address of the member.

4:39 PM Changeset in webkit [181247] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Don't call RenderLayerCompositor::needsToBeComposited() so many times
https://bugs.webkit.org/show_bug.cgi?id=142441

Reviewed by Brent Fulgham.

Save one call to needsToBeComposited() per RenderLayer while rebuilding compositing
layers, and a call to isRunningAcceleratedTransformAnimation() in some cases.

computeCompositingRequirements() already knows if the layer will be composited, so
pass that to updateBacking() in the form of a "yes/no/don't" know enum. However,
since updateBacking() no longer calls needsToBeComposited(), we need to call
requiresCompositingForPosition() to get the viewportConstrainedNotCompositedReason flags.

isRunningAcceleratedTransformAnimation() will only be true for a layer which has a
direct compositing reason, so only call isRunningAcceleratedTransformAnimation()
in that case.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::rendererForCompositingTests):
(WebCore::RenderLayerCompositor::updateBacking):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::requiresCompositingLayer): Use references.
(WebCore::RenderLayerCompositor::reasonsForCompositing): Use references.

  • rendering/RenderLayerCompositor.h:
2:32 PM Changeset in webkit [181246] by weinig@apple.com
  • 9 edits in trunk/Source/WebKit2

[Content Extensions] Pass compiled content extensions as read-only shared memory rather than copying them
https://bugs.webkit.org/show_bug.cgi?id=142458

Reviewed by Dan Bernstein.

  • Shared/WebCompiledContentExtensionData.cpp:

(WebKit::WebCompiledContentExtensionData::encode):
(WebKit::WebCompiledContentExtensionData::decode):

  • Shared/WebCompiledContentExtensionData.h:

(WebKit::WebCompiledContentExtensionData::WebCompiledContentExtensionData):
Store the compiled data as a SharedMemory block with offset/size pairs for the
bytecode and actions. While the bytecode offset is currently always 0, this won't
be the case when we map these in from files due to metadata that will be placed
at the top of the files.

  • Shared/WebCompiledContentExtension.h:
  • Shared/WebCompiledContentExtension.cpp:

(WebKit::WebCompiledContentExtension::createFromCompiledContentExtensionData):
Temporary creation helper. In subsequent patches, this will be removed and replaced
by always passing in shared/mapped data.

(WebKit::WebCompiledContentExtension::create):
(WebKit::WebCompiledContentExtension::WebCompiledContentExtension):
(WebKit::WebCompiledContentExtension::bytecode):
(WebKit::WebCompiledContentExtension::bytecodeLength):
(WebKit::WebCompiledContentExtension::actions):
(WebKit::WebCompiledContentExtension::actionsLength):
Convert to work with the new WebCompiledContentExtension format.

  • UIProcess/API/C/WKUserContentFilterRef.cpp:

(WKUserContentFilterCreate):

  • UIProcess/API/Cocoa/_WKUserContentFilter.mm:

(-[_WKUserContentFilter initWithName:serializedRules:]):
Switch to using WebCompiledContentExtension::createFromCompiledContentExtensionData().

  • WebProcess/UserContent/WebUserContentController.cpp:

(WebKit::WebUserContentController::addUserContentExtensions):

  • WebProcess/WebPage/WebPageGroupProxy.cpp:

(WebKit::WebPageGroupProxy::addUserContentExtension):
Update to pass the WebCompiledContentExtensionData directly to the WebCompiledContentExtension.

10:02 AM Changeset in webkit [181245] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

In RenderLayerCompositor, track layer bounds and the haveComputedBounds flag together in a struct
https://bugs.webkit.org/show_bug.cgi?id=142449

Reviewed by Brent Fulgham.

Rather than tracking 'layerBounds' and 'haveComputedBounds' separately, group them together
in an OverlapExtent struct and add a function to compute the bounds, which removes
a copy of this code. OverlapExtent will be extended in a future patch.

No behavior change.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::OverlapMap::geometryMap): Allow const access to
the geometryMap, used by computeExtent().
(WebCore::RenderLayerCompositor::computeExtent):
(WebCore::RenderLayerCompositor::addToOverlapMap):
(WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):

  • rendering/RenderLayerCompositor.h:
3:50 AM Changeset in webkit [181244] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r181219 - Crash in WebCore::NotificationCenter::stop()
https://bugs.webkit.org/show_bug.cgi?id=142444
<rdar://problem/20082520>

Reviewed by Andreas Kling.

A use-after-free would sometimes cause us to crash in NotificationCenter::stop().
After investigation, it turns out that NotificationCenter::stop() calls
NotificationClient::clearNotifications() which will destroy the Notification
objects, all of which hold a strong reference to the NotificationCenter. If at
this point, only Notifications are ref'ing the NotificationCenter, this means
that the NotificationCenter will get destroyed right after the call to
NotificationClient::clearNotifications(). However, we reset m_client to null
after calling clearNotifications() and it causes us to crash in this case.

The issue is addressed by adding a Ref<NotificationCenter> protector in
NotificationCenter::stop() so that we make sure the NotificationCenter lives
at least until the end of the method execution.

I was able to consistently reproduce the crash by doing:
Tools/Scripts/run-webkit-tests -1 --debug --repeat-each=30 -g http/tests/notifications/event-listener-crash.html

No new tests, already covered by:
http/tests/notifications/event-listener-crash.html

  • Modules/notifications/NotificationCenter.cpp:

(WebCore::NotificationCenter::stop):

3:49 AM Changeset in webkit [181243] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.8

Merge r181194 - Setting scroll-snap-desination to (100% 100%) locks up WebKit
https://bugs.webkit.org/show_bug.cgi?id=142414
<rdar://problem/20077275>

Reviewed by Dean Jackson.

Source/WebCore:

Tested by css3/scroll-snap/scroll-snap-desination-lock-up.html.

Correct an infinite loop that is triggered when you combine a repeating (100%)
scroll-snap-point-{x,y} along with a 100% scroll-snap-destination value.

  • page/scrolling/AxisScrollSnapOffsets.cpp:

(WebCore::updateFromStyle): Make sure we break out of the loop properly when
the scroll-snap-point-{x,y} step is the same as the scroll-snap-destination.

LayoutTests:

  • css3/scroll-snap/scroll-snap-desination-lock-up.html: Added.
  • css3/scroll-snap/scroll-snap-desination-lock-up-expected.txt: Added.
3:27 AM Changeset in webkit [181242] by ddkilzer@apple.com
  • 11 edits
    5 adds
    5 deletes in trunk/LayoutTests

[iOS] Gardening to skip new tests, rebaseline existing tests

  • platform/ios-simulator-wk1/TestExpectations:
  • Mark test as flakey.
  • platform/ios-simulator-wk2/fast/css/text-overflow-input-expected.txt: Remove.
  • platform/ios-simulator-wk2/fast/forms/input-disabled-color-expected.txt: Remove.
  • platform/ios-simulator-wk2/fast/forms/input-text-word-wrap-expected.txt: Remove.
  • platform/ios-simulator-wk2/fast/forms/minWidthPercent-expected.txt: Remove.
  • Superceded by new platform/ios-simulator results.
  • platform/ios-simulator/TestExpectations:
  • Skip two tests that will always time out on iOS.
  • Mark two tests as ImageOnlyFailure that fail consistently.
  • platform/ios-simulator/compositing/media-controls-bar-appearance-expected.txt: Add.
  • Add result for new test from r180965.
  • platform/ios-simulator/fast/attachment/attachment-label-highlight-expected.txt: Add.
  • platform/ios-simulator/fast/attachment/attachment-progress-expected.txt: Add.
  • platform/ios-simulator/fast/attachment/attachment-subtitle-expected.txt: Add.
  • platform/ios-simulator/fast/attachment/attachment-title-expected.txt: Add.
  • Add results for new attachment tests.
  • platform/ios-simulator/fast/css/text-overflow-input-expected.txt: Update.
  • platform/ios-simulator/fast/forms/input-disabled-color-expected.txt: Update.
  • platform/ios-simulator/fast/forms/input-text-scroll-left-on-blur-expected.txt: Update.
  • platform/ios-simulator/fast/forms/input-text-word-wrap-expected.txt: Update.
  • platform/ios-simulator/fast/forms/minWidthPercent-expected.txt: Update.
  • platform/ios-simulator/tables/mozilla/bugs/bug59354-expected.txt: Update.
  • platform/ios-simulator/tables/mozilla/bugs/bug96334-expected.txt: Update.
  • platform/ios-simulator/tables/mozilla/other/move_row-expected.txt: Update.
  • Rebaseline after other bug fixes like r180815.
3:19 AM Changeset in webkit [181241] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Tools

Merge r181159 - [GTK] Test /webkit2/WebKitWebView/sync-request-on-max-conns might fail after finished
https://bugs.webkit.org/show_bug.cgi?id=142385

Reviewed by Sergio Villar Senin.

Use stack allocated GMainLoopSources to make sure they are
cancelled automatically if the test finishes before they have
been processed.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:

(testWebViewSyncRequestOnMaxConns):

3:18 AM Changeset in webkit [181240] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.8/Source/WebKit2

Merge r181138 - REGRESSION(r180924): ASSERTION FAILED: !from.isEmpty() in WebCore::TransformationMatrix::rectToRect
https://bugs.webkit.org/show_bug.cgi?id=142345

Reviewed by Martin Robinson.

This was caused by r180924 that postpones the creation of the
TextureMapper, which could cause that a layer has not yet a size
when TextureMapper::paint() is called. This patch moves the
creation of the TextureMapper to
LayerTreeHostGtk::setNativeSurfaceHandleForCompositing(), so that
it's created as soon as it's possible to create. This method is
called by the drawing area right after creating the
LayerTreeHostGtk if it already have a handler, or when the handle
is received from the UI process.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::initialize): Remove the
nsureTextureMapper call because at this point the layer context ID
is always 0, so it's impossible to create the TextureMapper.
(WebKit::LayerTreeHostGtk::compositeLayersToContext): Remove the
ensureTextureMapper call from here too, since at this point, if we
have a context, we should also have a TextureMapper. Add an ASSERT
right before using the TextureMapper.
(WebKit::LayerTreeHostGtk::setNativeSurfaceHandleForCompositing):
Create the TextureMapper here.
(WebKit::LayerTreeHostGtk::ensureTextureMapper): Deleted.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
3:15 AM Changeset in webkit [181239] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r181133 - Document::recalcStyle() shouldn't call viewportContentsChanged() if there is a pending layout
https://bugs.webkit.org/show_bug.cgi?id=142140

Reviewed by Darin Adler.

Stop calling FrameView::viewportContentsChanged() in Document::recalcStyle()
if there is a layout pending to avoid doing unncessary work. If there is a
layout pending, we don't need to do anything because viewportContentsChanged()
will be called after layout.

We only need to call FrameView::viewportContentsChanged() in
Document::recalcStyle() if a style recalc does not cause a layout. For e.g.
a '-webkit-transform' could make an animated GIF visible without causing a
layout, in which case we need to resume the animated GIF after style recalc.

No new tests, already covered by:
fast/images/animated-gif-webkit-transform.html

  • dom/Document.cpp:

(WebCore::Document::recalcStyle):

3:13 AM Changeset in webkit [181238] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r181111 - Unreviewed, rolling out r180846.
https://bugs.webkit.org/show_bug.cgi?id=142368

Caused missing image banners in iTunes store pages (Requested
by smfr on #webkit).

Reverted changeset:

"FrameView::layoutTimerFired() should update style if needed
before doing layout"
https://bugs.webkit.org/show_bug.cgi?id=141688
http://trac.webkit.org/changeset/180846

3:12 AM Changeset in webkit [181237] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r181110 - Fix the build when NEON_INTRINSICS is enabled
https://bugs.webkit.org/show_bug.cgi?id=142361

Patch by Sandy Perez <sperez@indaba.es> on 2015-03-05
Reviewed by Csaba Osztrogonác.

  • platform/graphics/cpu/arm/filters/FEBlendNEON.h:

(WebCore::FEBlend::platformApplySoftware):

  • platform/graphics/filters/FEGaussianBlur.cpp:

(WebCore::standardBoxBlur):

3:11 AM Changeset in webkit [181236] by Carlos Garcia Campos
  • 11 edits in releases/WebKitGTK/webkit-2.8

Merge r181105 - Regression(r173761): ASSERTION FAILED: !is8Bit() in StringImpl::characters16()
https://bugs.webkit.org/show_bug.cgi?id=142350

Patch by Chris Dumez <Chris Dumez> on 2015-03-05
Reviewed by Michael Saboff and Benjamin Poulain.

Source/JavaScriptCore:

Call WTFString::hasInfixStartingAt() / hasInfixEndingAt() now that these
methods have been renamed for clarity.

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncStartsWith):
(JSC::stringProtoFuncEndsWith):

Source/WTF:

Fix ASSERTION FAILED: !is8Bit() in StringImpl::characters16() from
WTF::equalInner() after r173761. The code was incorrectly assuming that
if stringImpl is 16-bit, then matchString is 16-bit too, which is not
correct.

Also rename WTFString::startsWith() / endsWith() taking an offset to
hasInfixStartingAt() / hasInfixEndingAt() for clarity. It seems odd
to call it startsWith even though it won't technically *start* with
the pattern if the input offset is greater than zero.

Also drop the caseSensitive argument as it is never used (always true
at call sites.

  • wtf/text/StringImpl.cpp:

(WTF::equalInner):
(WTF::StringImpl::hasInfixStartingAt):
(WTF::StringImpl::hasInfixEndingAt):
(WTF::StringImpl::startsWith): Deleted.
(WTF::StringImpl::endsWith): Deleted.

  • wtf/text/StringImpl.h:
  • wtf/text/WTFString.h:

(WTF::String::hasInfixStartingAt):
(WTF::String::hasInfixEndingAt):
(WTF::String::startsWith): Deleted.
(WTF::String::endsWith): Deleted.

Tools:

Add API test for WTFString::hasInfixStartingAt() to make sure it doesn't
crash if the string is 8-bit but the pattern is 16-bit (and vice-versa).

  • TestWebKitAPI/Tests/WTF/WTFString.cpp:

(TestWebKitAPI::TEST):

LayoutTests:

Update String.startsWith() / endsWith() test to cover cases where the
input string is 8-bit and the pattern is 16-bit, and vice-versa.

  • js/script-tests/string-includes.js:
  • js/string-includes-expected.txt:

Mar 7, 2015:

10:51 PM Changeset in webkit [181221] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening on 8th Mar.

Mark emphasis text test, writing mode test, whitespace test to failure.
Besides update new failure tests to existing bugs.

  • platform/efl/TestExpectations:
8:57 PM Changeset in webkit [181220] by Brent Fulgham
  • 4 edits
    3 adds in trunk/Source/WTF

[Win] Revive WTF::WorkQueue on Windows
https://bugs.webkit.org/show_bug.cgi?id=142432

Reviewed by Darin Adler.

Revive the Windows implementation of WTF::WorkQueue.

  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • wtf/WorkQueue.h:
  • wtf/win/WorkItemWin.cpp: Added.
  • wtf/win/WorkItemWin.h: Added.
  • wtf/win/WorkQueueWin.cpp: Added.
7:37 PM Changeset in webkit [181219] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Crash in WebCore::NotificationCenter::stop()
https://bugs.webkit.org/show_bug.cgi?id=142444
<rdar://problem/20082520>

Reviewed by Andreas Kling.

A use-after-free would sometimes cause us to crash in NotificationCenter::stop().
After investigation, it turns out that NotificationCenter::stop() calls
NotificationClient::clearNotifications() which will destroy the Notification
objects, all of which hold a strong reference to the NotificationCenter. If at
this point, only Notifications are ref'ing the NotificationCenter, this means
that the NotificationCenter will get destroyed right after the call to
NotificationClient::clearNotifications(). However, we reset m_client to null
after calling clearNotifications() and it causes us to crash in this case.

The issue is addressed by adding a Ref<NotificationCenter> protector in
NotificationCenter::stop() so that we make sure the NotificationCenter lives
at least until the end of the method execution.

I was able to consistently reproduce the crash by doing:
Tools/Scripts/run-webkit-tests -1 --debug --repeat-each=30 -g http/tests/notifications/event-listener-crash.html

No new tests, already covered by:
http/tests/notifications/event-listener-crash.html

  • Modules/notifications/NotificationCenter.cpp:

(WebCore::NotificationCenter::stop):

6:49 PM Changeset in webkit [181218] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Tidy up RenderLayerCompositor's CompositingState
https://bugs.webkit.org/show_bug.cgi?id=142445

Reviewed by Dan Bernstein.

Make CompositingState a private struct in RenderLayerCompositor.
Since it's a struct, remove the m_ prefix from its data members.

No behavior change.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::CompositingState::CompositingState):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::CompositingState::CompositingState): Deleted.

  • rendering/RenderLayerCompositor.h:
6:14 PM Changeset in webkit [181217] by Darin Adler
  • 1 edit
    2 moves
    1 delete in trunk/LayoutTests

Improve the event handler test
https://bugs.webkit.org/show_bug.cgi?id=142439

Reviewed by Ryosuke Niwa.

  • fast/dom/event-handler-attributes-expected.txt: Renamed from legacy-event-handler-attributes-expected.txt.

Also updated to reflect changes in the test.

  • fast/dom/event-handler-attributes.html: Renamed from legacy-event-handler-attributes.html.

Fixed bug in the test that was making document event handler tests falsely report failure.
Removed testing of some HTMLMediaElement attributes that are conditionally present; this test
is intended to test only unconditionally available event handler attributes at this time.

  • platform/win/fast/dom/legacy-event-handler-attributes-expected.txt: Removed. The conditional HTMLMediaElement

attributes are the reason the Windows-specific results were needed.

5:37 PM Changeset in webkit [181216] by Darin Adler
  • 4 edits in trunk/Source/WebCore

Unindent EventTarget, EventListener, JSEventLister.h files
https://bugs.webkit.org/show_bug.cgi?id=142440

Reviewed by Alexey Proskuryakov.

  • bindings/js/JSEventListener.h:
  • dom/EventListener.h:
  • dom/EventTarget.h:

Change indentation to match coding style rules.

4:23 PM Changeset in webkit [181215] by ggaren@apple.com
  • 17 edits
    5 deletes in trunk/Source

Use FastMalloc (bmalloc) instead of BlockAllocator for GC pages
https://bugs.webkit.org/show_bug.cgi?id=140900

Reviewed by Mark Hahnenberg.

Re-landing just the removal of BlockAllocator, which is now unused.

Source/JavaScriptCore:

  • API/JSBase.cpp:
  • CMakeLists.txt:
  • JavaScriptCore.order:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • heap/BlockAllocator.cpp: Removed.
  • heap/BlockAllocator.h: Removed.
  • heap/GCThreadSharedData.h:
  • heap/HandleBlockInlines.h:
  • heap/Heap.cpp:

(JSC::Heap::Heap):

  • heap/Heap.h:
  • heap/HeapInlines.h:

(JSC::Heap::blockAllocator): Deleted.

  • heap/HeapTimer.cpp:
  • heap/MarkedBlock.h:
  • heap/MarkedSpace.h:
  • heap/Region.h: Removed.
  • heap/SuperRegion.cpp: Removed.
  • heap/SuperRegion.h: Removed.

Source/WebCore:

  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::install):

2:20 PM Changeset in webkit [181214] by commit-queue@webkit.org
  • 16 edits
    2 deletes in trunk/Source

Unreviewed, rolling out r181010.
https://bugs.webkit.org/show_bug.cgi?id=142442

Broke media/video-src-invalid-poster.html (Requested by kling
on #webkit).

Reverted changeset:

"Stale entries in WeakGCMaps are keeping tons of WeakBlocks
alive unnecessarily."
https://bugs.webkit.org/show_bug.cgi?id=142115
http://trac.webkit.org/changeset/181010

2:10 PM Changeset in webkit [181213] by rniwa@webkit.org
  • 6 edits in trunk/Source/JavaScriptCore

The code to link FunctionExecutable is duplicated everywhere
https://bugs.webkit.org/show_bug.cgi?id=142436

Reviewed by Darin Adler.

Reduced code duplication by factoring out linkInsideExecutable and linkGlobalCode.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock): Calls linkInsideExecutable.

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedFunctionExecutable::linkInsideExecutable): Renamed from link. Now takes care of startOffset.
This change was needed to use this function in CodeBlock::CodeBlock. Also, this function no longer takes
lineOffset since this information is already stored in the source code.
(JSC::UnlinkedFunctionExecutable::linkGlobalCode): Extracted from FunctionExecutable::fromGlobalCode.

  • bytecode/UnlinkedCodeBlock.h:
  • generate-js-builtins: Calls linkGlobalCode.
  • runtime/Executable.cpp:

(JSC::ProgramExecutable::initializeGlobalProperties): Calls linkGlobalCode.
(JSC::FunctionExecutable::fromGlobalCode): Calls linkGlobalCode.

1:51 PM Changeset in webkit [181212] by Darin Adler
  • 6 edits in trunk/Source/WebCore

Do a bit of EventNames tidying
https://bugs.webkit.org/show_bug.cgi?id=142438

Reviewed by Anders Carlsson.

  • dom/EventNames.h: Sorted the event names into a single list instead of

the rudimentary attempts at organizing the list that simply made it hard
to see what is and is not in the list. Removed two unused event names.
I'm sure there are more. Reorganized the EventName class, now a struct,
into a more conventional "public first" order. Got the function bodies
out of the struct so we can see more clearly what is in the struct.
Made more things const.
(WebCore::EventNames::touchEventNames): Changed the return value to a
std::array of reference wrappers rather than a vector of atomic strings.
This should eliminate unnecessary memory allocation and reference count churn.

  • dom/EventNames.cpp: Changed initialization based on the above.
  • dom/EventTarget.cpp:

(WebCore::EventTarget::getEventListeners): Use NeverDestroyed instead of
DEPRECATED_DEFINE_LOCAL and also just tightened up the function a bit.

  • dom/Node.cpp:

(WebCore::Node::didMoveToNewDocument): Streamlined this function with
modern for loops, auto, and also tried to make what it does a bit clearer,
by making loops that are just based on numbers of event listeners look a
bit less like code that actually iterates a vector of listeners. Also used
the type unsigned instead of size_t.

  • platform/ThreadGlobalData.h: Updated since it's a struct instead of class now.

(Why is this file in platform!?)

11:14 AM Changeset in webkit [181211] by bshafiei@apple.com
  • 4 edits in branches/safari-600.5-branch/Source/WebKit2

Merged r181176. rdar://problem/20077856

11:04 AM Changeset in webkit [181210] by ggaren@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Use FastMalloc (bmalloc) instead of BlockAllocator for GC pages
https://bugs.webkit.org/show_bug.cgi?id=140900

Reviewed by Mark Hahnenberg.

Re-landing just the MarkedBlock piece of this patch.

  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::allocateBlock):

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::create):
(JSC::MarkedBlock::destroy):
(JSC::MarkedBlock::MarkedBlock):

  • heap/MarkedBlock.h:

(JSC::MarkedBlock::capacity):

  • heap/MarkedSpace.cpp:

(JSC::MarkedSpace::freeBlock):

10:03 AM Changeset in webkit [181209] by Brent Fulgham
  • 9 edits in trunk

Source/WebCore:
[Win] Increase TestWebKitAPI Test Coverage
https://bugs.webkit.org/show_bug.cgi?id=142433

Reviewed by Darin Adler.

Correct some build deficiencies that prevent TestWebKitAPI
from executing certain tests on Windows.

  • WebCore.vcxproj/copyForwardingHeaders.cmd: Copy the interpreter

headers.

  • css/CSSParser.h: Export necessary symbols
  • css/CSSParserMode.h: Ditto.
  • css/StyleProperties.h: Ditto.

Tools:
[Win] Increase TestWebKitAPI Test Coverage[Win] Increase TestWebKitAPI Test Coverage
https://bugs.webkit.org/show_bug.cgi?id=142433

Reviewed by Darin Adler.

Include more TestWebKitAPI tests when building for Windows. Also
fix a build error in MetaAllocator.cpp caused by one of the
Microsoft headers #defining 'small'.

  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj:
  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj.filters:
  • TestWebKitAPI/Tests/WTF/MetaAllocator.cpp:
9:38 AM Changeset in webkit [181208] by rniwa@webkit.org
  • 6 edits in trunk/Source/JavaScriptCore

fromGlobalCode has an unused Debugger* argument
https://bugs.webkit.org/show_bug.cgi?id=142430

Reviewed by Darin Adler.

Removed the debugger argument from UnlinkedFunctionExecutable::fromGlobalCode and
FunctionExecutable::fromGlobalCode since it's not used in either function.

Also use reference in other arguments.

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedFunctionExecutable::fromGlobalCode):

  • bytecode/UnlinkedCodeBlock.h:
  • runtime/Executable.cpp:

(JSC::FunctionExecutable::fromGlobalCode):

  • runtime/Executable.h:
  • runtime/FunctionConstructor.cpp:

(JSC::constructFunctionSkippingEvalEnabledCheck):

9:34 AM Changeset in webkit [181207] by ddkilzer@apple.com
  • 7 edits in trunk/Source/WebCore

Rename SOFT_LINK_FRAMEWORK_{HEADER,SOURCE} to SOFT_LINK_FRAMEWORK_FOR_{HEADER,SOURCE}
<http://webkit.org/b/142434>

Reviewed by Darin Adler.

  • platform/cf/CoreMediaSoftLink.cpp:
  • platform/cf/CoreMediaSoftLink.h:
  • platform/cf/MediaAccessibilitySoftLink.cpp:
  • platform/cf/MediaAccessibilitySoftLink.h:
  • platform/mac/SoftLinking.h:
  • platform/win/SoftLinking.h:
  • Do the rename.

Mar 6, 2015:

10:12 PM Changeset in webkit [181206] by Brent Fulgham
  • 2 edits in trunk/Source/JavaScriptCore

[Win] Turn off a warning on Windows.

Reduce build logging noise on Windows.

10:10 PM Changeset in webkit [181205] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: JS Pretty Printing: "case" or "default" outside of switch causes unbalanced indentation
https://bugs.webkit.org/show_bug.cgi?id=142428

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-06
Reviewed by Timothy Hatcher.

  • Tools/PrettyPrinting/CodeMirrorFormatters.js:
  • UserInterface/Views/CodeMirrorFormatters.js:

Fix "case" and "default" indentation rules to only happen inside a switch.

  • Tools/PrettyPrinting/js-tests/switch-case-default-expected.js:
  • Tools/PrettyPrinting/js-tests/switch-case-default.js:

Add tests for "case" and "default" nested inside and outside of switches.

8:19 PM Changeset in webkit [181204] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening on 7th Mar.

Remove duplicated css nap scroll skip.
Mark printing, compositing mask, svg pattern, and webgl visibility tests to failures.

  • platform/efl/TestExpectations:
8:02 PM Changeset in webkit [181203] by commit-queue@webkit.org
  • 22 edits in trunk

Web Inspector: ES6: Improved Support for Iterator Objects
https://bugs.webkit.org/show_bug.cgi?id=142420

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-06
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/protocol/Runtime.json:

Add new object subtype "iterator" for built-in iterator objects.

  • inspector/InjectedScriptSource.js:

Return iterator values as Entry objects.

  • inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::subtype):
Identify "iterator" typed objects.

(Inspector::JSInjectedScriptHost::getInternalProperties):
Provide internal properties for the different Iterator objects.

(Inspector::JSInjectedScriptHost::iteratorEntries):
Fetch the next few iterator entries of a built-in iterator object.

  • inspector/JSInjectedScriptHost.h:
  • inspector/JSInjectedScriptHostPrototype.cpp:

(Inspector::JSInjectedScriptHostPrototype::finishCreation):
(Inspector::jsInjectedScriptHostPrototypeFunctionIteratorEntries):
Call through to JSInjectedScriptHost.

  • runtime/JSArgumentsIterator.cpp:

(JSC::JSArgumentsIterator::clone):

  • runtime/JSArgumentsIterator.h:

(JSC::JSArgumentsIterator::iteratedValue):

  • runtime/JSArrayIterator.cpp:

(JSC::JSArrayIterator::kind):
(JSC::JSArrayIterator::iteratedValue):
(JSC::JSArrayIterator::clone):

  • runtime/JSArrayIterator.h:
  • runtime/JSMapIterator.cpp:

(JSC::JSMapIterator::finishCreation):
(JSC::JSMapIterator::clone):

  • runtime/JSMapIterator.h:

(JSC::JSMapIterator::kind):
(JSC::JSMapIterator::iteratedValue):

  • runtime/JSSetIterator.cpp:

(JSC::JSSetIterator::finishCreation):
(JSC::JSSetIterator::clone):

  • runtime/JSSetIterator.h:

(JSC::JSSetIterator::kind):
(JSC::JSSetIterator::iteratedValue):

  • runtime/JSStringIterator.cpp:

(JSC::JSStringIterator::iteratedValue):
(JSC::JSStringIterator::clone):

  • runtime/JSStringIterator.h:

Add accessors for internal properties and provide a way to clone the
iterator so we can be at the same index and peek at the next few
objects without modifying the original iterator object.

Source/WebInspectorUI:

  • UserInterface/Views/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl):
Treat an iterator like an object.

  • UserInterface/Views/ObjectPreviewView.js:

Output iterator previews with []s, not {}s.

LayoutTests:

  • inspector/model/remote-object.html:

Update tests to include iterator objects.

7:47 PM Changeset in webkit [181202] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Mark svg/fonts/svg-font-horiz-orig.html as Image-only failing.

  • platform/win/TestExpectations:
7:22 PM Changeset in webkit [181201] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Create new buttons for media controls on OSX.
https://bugs.webkit.org/show_bug.cgi?id=142415.
<rdar://problem/20019441>
Reviewed by Eric Carlson.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-wireless-playback-picker-button):
(audio::-webkit-media-controls-wireless-playback-picker-button.playing):
(audio:-webkit-full-screen::-webkit-media-controls-wireless-playback-picker-button):

6:41 PM Changeset in webkit [181200] by weinig@apple.com
  • 37 edits
    3 moves
    4 adds in trunk

[Content Extensions] Move compiling of content extensions to the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=142402

Reviewed by Benjamin Poulain.

Source/WebCore:

  • contentextensions/CompiledContentExtension.cpp:

(WebCore::ContentExtensions::CompiledContentExtension::~CompiledContentExtension):
(WebCore::ContentExtensions::CompiledContentExtension::create): Deleted.
(WebCore::ContentExtensions::CompiledContentExtension::CompiledContentExtension): Deleted.

  • contentextensions/CompiledContentExtension.h:

(WebCore::ContentExtensions::CompiledContentExtension::bytecode): Deleted.
(WebCore::ContentExtensions::CompiledContentExtension::actions): Deleted.
Convert CompiledContentExtension to be an abstract base class so that we can back it however
we like at the WebKit level. Since it doesn't necessarily use Vectors for its backing store
any more, change the interface to use pointer/length.

  • contentextensions/ContentExtensionCompiler.cpp:

(WebCore::ContentExtensions::compileRuleList):

  • contentextensions/ContentExtensionCompiler.h:

Change compileRuleList to return compiled result as the raw Vectors rather than as
a CompiledContentExtension, since that class is now abstract. It is up to the caller
to copy the data into its final home.

  • contentextensions/ContentExtensionRule.cpp:

(WebCore::ContentExtensions::Action::deserialize):

  • contentextensions/ContentExtensionRule.h:

Switch Action::deserialize to take pointer/length rather than a Vector.

  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::actionsForURL):
Pull getting the serialized actions from the compiled extension out of the loop
to avoid calling the virtual function multiple times. Pass the bytecode and actions
as pointer/length pairs rather than Vectors.

  • contentextensions/DFABytecodeInterpreter.cpp:

(WebCore::ContentExtensions::getBits):
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpret):

  • contentextensions/DFABytecodeInterpreter.h:

(WebCore::ContentExtensions::DFABytecodeInterpreter::DFABytecodeInterpreter):
Switch the interpreter to take pointer/length rather than a Vector.

  • page/UserContentController.cpp:

(WebCore::UserContentController::addUserContentExtension):
(WebCore::UserContentController::removeUserContentExtension):
(WebCore::UserContentController::removeAllUserContentExtensions):
(WebCore::UserContentController::addUserContentFilter): Deleted.
(WebCore::UserContentController::removeUserContentFilter): Deleted.
(WebCore::UserContentController::removeAllUserContentFilters): Deleted.

  • page/UserContentController.h:

Unify terminology to use the term UserContentExtension rather than UserContentFilter.

Source/WebKit2:

  • Shared/API/APIObject.h:

Rename UserContentFilter type to UserContentExtension to match new unified naming.

  • Shared/WebCompiledContentExtension.cpp: Added.

(WebKit::WebCompiledContentExtension::create):
(WebKit::WebCompiledContentExtension::WebCompiledContentExtension):
(WebKit::WebCompiledContentExtension::~WebCompiledContentExtension):
(WebKit::WebCompiledContentExtension::bytecode):
(WebKit::WebCompiledContentExtension::bytecodeLength):
(WebKit::WebCompiledContentExtension::actions):
(WebKit::WebCompiledContentExtension::actionsLength):

  • Shared/WebCompiledContentExtension.h: Added.

Add new WebKit2 implementation of CompiledContentExtension. Right now it is the same as the old
WebCore based CompiledContentExtension, but in subsequent patches, it will use shared/file backed
memory.

  • Shared/WebCompiledContentExtensionData.cpp: Added.

(WebKit::WebCompiledContentExtensionData::encode):
(WebKit::WebCompiledContentExtensionData::decode):

  • Shared/WebCompiledContentExtensionData.h: Added.

Add encodable/decodable holder for the compiled content extension data for use in IPC. Right
now it is doing the naive thing and always copying the data, but in subsequent patches, it will
use shared/file backed memory.

  • Shared/WebPageGroupData.cpp:

(WebKit::WebPageGroupData::encode):
(WebKit::WebPageGroupData::decode):

  • Shared/WebPageGroupData.h:

Rename member to match new unification on the name userContentExtension. Change the value from
the serialized JSON (as a String) to WebCompiledContentExtensionData.

  • UIProcess/API/APIUserContentExtension.cpp: Copied from Source/WebKit2/UIProcess/API/APIUserContentFilter.cpp.

(API::UserContentExtension::UserContentExtension):
(API::UserContentExtension::~UserContentExtension):
(API::UserContentFilter::UserContentFilter): Deleted.
(API::UserContentFilter::~UserContentFilter): Deleted.

  • UIProcess/API/APIUserContentExtension.h: Copied from Source/WebKit2/UIProcess/API/APIUserContentFilter.h.
  • UIProcess/API/APIUserContentFilter.cpp: Removed.
  • UIProcess/API/APIUserContentFilter.h: Removed.

Renamed UserContentFilter to APIUserContentExtension. Updated to store the compiled extension (as a WebCompiledContentExtension)
rather than the serialized JSON.

  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKPageGroup.cpp:

(WKPageGroupAddUserContentFilter):
(WKPageGroupRemoveUserContentFilter):
(WKPageGroupRemoveAllUserContentFilters):

  • UIProcess/API/C/WKUserContentControllerRef.cpp:

(WKUserContentControllerAddUserContentFilter):
(WKUserContentControllerRemoveAllUserContentFilters):

  • UIProcess/API/Cocoa/WKUserContentController.mm:

(-[WKUserContentController _addUserContentFilter:]):
(-[WKUserContentController _removeUserContentFilter:]):
(-[WKUserContentController _removeAllUserContentFilters]):
Update for rename of APIUserContentFilter -> UserContentExtension.

  • UIProcess/API/C/WKUserContentFilterRef.cpp:

(WKUserContentFilterGetTypeID):
(WKUserContentFilterCreate):
Update for rename of APIUserContentFilter -> UserContentExtension. Also make WKUserContentFilterCreate eagerly
compile rule list to a WebCompiledContentExtensionData.

  • UIProcess/API/Cocoa/_WKUserContentFilter.mm:

(-[_WKUserContentFilter initWithName:serializedRules:]):
(-[_WKUserContentFilter dealloc]):
(-[_WKUserContentFilter _apiObject]):
Update for rename of APIUserContentFilter -> UserContentExtension. Also make initWithName:serializedRules: eagerly
compile rule list to a WebCompiledContentExtensionData.

  • UIProcess/API/Cocoa/_WKUserContentFilterInternal.h:

(WebKit::wrapper):
Update for rename of APIUserContentFilter -> UserContentExtension.

  • UIProcess/UserContent/WebUserContentControllerProxy.cpp:

(WebKit::WebUserContentControllerProxy::addProcess):
(WebKit::WebUserContentControllerProxy::addUserContentExtension):
(WebKit::WebUserContentControllerProxy::removeUserContentExtension):
(WebKit::WebUserContentControllerProxy::removeAllUserContentExtensions):
(WebKit::WebUserContentControllerProxy::addUserContentFilter): Deleted.
(WebKit::WebUserContentControllerProxy::removeUserContentFilter): Deleted.
(WebKit::WebUserContentControllerProxy::removeAllUserContentFilters): Deleted.

  • UIProcess/UserContent/WebUserContentControllerProxy.h:
  • UIProcess/WebPageGroup.cpp:

(WebKit::WebPageGroup::addUserContentExtension):
(WebKit::WebPageGroup::removeUserContentExtension):
(WebKit::WebPageGroup::removeAllUserContentExtensions):
(WebKit::WebPageGroup::addUserContentFilter): Deleted.
(WebKit::WebPageGroup::removeUserContentFilter): Deleted.
(WebKit::WebPageGroup::removeAllUserContentFilters): Deleted.

  • UIProcess/WebPageGroup.h:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/UserContent/WebUserContentController.cpp:

(WebKit::WebUserContentController::addUserContentExtensions):
(WebKit::WebUserContentController::removeUserContentExtension):
(WebKit::WebUserContentController::removeAllUserContentExtensions):
(WebKit::WebUserContentController::addUserContentFilters): Deleted.
(WebKit::WebUserContentController::removeUserContentFilter): Deleted.
(WebKit::WebUserContentController::removeAllUserContentFilters): Deleted.

  • WebProcess/UserContent/WebUserContentController.h:
  • WebProcess/UserContent/WebUserContentController.messages.in:
  • WebProcess/WebPage/WebPageGroupProxy.cpp:

(WebKit::WebPageGroupProxy::WebPageGroupProxy):
(WebKit::WebPageGroupProxy::addUserContentExtension):
(WebKit::WebPageGroupProxy::removeUserContentExtension):
(WebKit::WebPageGroupProxy::removeAllUserContentExtensions):
(WebKit::WebPageGroupProxy::addUserContentFilter): Deleted.
(WebKit::WebPageGroupProxy::removeUserContentFilter): Deleted.
(WebKit::WebPageGroupProxy::removeAllUserContentFilters): Deleted.

  • WebProcess/WebPage/WebPageGroupProxy.h:
  • WebProcess/WebPage/WebPageGroupProxy.messages.in:

Pipe the compiled extension from the UIProcess to the WebProcess.

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp: Copied from Tools/TestWebKitAPI/Tests/WebCore/ContentFilter.cpp.

(TestWebKitAPI::InMemoryCompiledContentExtension::create):
(TestWebKitAPI::InMemoryCompiledContentExtension::~InMemoryCompiledContentExtension):
(TestWebKitAPI::InMemoryCompiledContentExtension::InMemoryCompiledContentExtension):
(TestWebKitAPI::TEST_F):

  • TestWebKitAPI/Tests/WebCore/ContentFilter.cpp: Removed.

Update test for new name (ContentFilter -> ContentExtensions) and API (CompiledContentExtension
is now abstract).

6:00 PM Changeset in webkit [181199] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Mark svg/fonts/svg-font-horiz-orig.html as failing.
https://bugs.webkit.org/show_bug.cgi?id=142423

  • platform/win/TestExpectations:
5:58 PM Changeset in webkit [181198] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Redraw timeline background when updating media time.
https://bugs.webkit.org/show_bug.cgi?id=142421.
<rdar://problem/20065104>
Reviewed by Brent Fulgham.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.handleTimeUpdate):

5:52 PM Changeset in webkit [181197] by diorahman@rockybars.com
  • 10 edits in trunk/Source/WebCore

Enable selectors level 4's :lang() by default
https://bugs.webkit.org/show_bug.cgi?id=142302

Reviewed by Benjamin Poulain.

No behavior change.

  • css/CSSGrammar.y.in:
  • css/CSSParser.cpp:

(WebCore::CSSParser::detectFunctionTypeToken):

  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::setLangArgumentList):

  • css/CSSParserValues.h:
  • css/CSSSelector.cpp:

(WebCore::appendLangArgumentList):
(WebCore::CSSSelector::selectorText):
(WebCore::CSSSelector::setLangArgumentList):

  • css/CSSSelector.h:
  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • css/SelectorCheckerTestFunctions.h:

(WebCore::matchesLangPseudoClass):
(WebCore::matchesLangPseudoClassDeprecated): Deleted.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsInLanguage):

5:48 PM Changeset in webkit [181196] by Brent Fulgham
  • 1 edit
    2 adds in trunk/LayoutTests

Add inherit support from scroll snap CSS properties
https://bugs.webkit.org/show_bug.cgi?id=136344
<rdar://problem/18162329>

Reviewed by Dean Jackson.

  • css3/scroll-snap/scroll-snap-inherit.html: Added.
  • css3/scroll-snap/scroll-snap-inherit-expected.txt: Added.
5:39 PM Changeset in webkit [181195] by rniwa@webkit.org
  • 4 edits in trunk

REGRESSION(r180595): construct varargs fails in FTL
https://bugs.webkit.org/show_bug.cgi?id=142030

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Increase sizeOfCallVarargs as done for sizeOfConstructVarargs in r180651.

  • ftl/FTLInlineCacheSize.cpp:

(JSC::FTL::sizeOfCallVarargs):

LayoutTests:

Re-enable the test on 64-bit iOS.

  • js/regress/script-tests/deltablue-varargs.js:
5:29 PM Changeset in webkit [181194] by Brent Fulgham
  • 3 edits
    2 adds in trunk

Setting scroll-snap-desination to (100% 100%) locks up WebKit
https://bugs.webkit.org/show_bug.cgi?id=142414
<rdar://problem/20077275>

Reviewed by Dean Jackson.

Source/WebCore:

Tested by css3/scroll-snap/scroll-snap-desination-lock-up.html.

Correct an infinite loop that is triggered when you combine a repeating (100%)
scroll-snap-point-{x,y} along with a 100% scroll-snap-destination value.

  • page/scrolling/AxisScrollSnapOffsets.cpp:

(WebCore::updateFromStyle): Make sure we break out of the loop properly when
the scroll-snap-point-{x,y} step is the same as the scroll-snap-destination.

LayoutTests:

  • css3/scroll-snap/scroll-snap-desination-lock-up.html: Added.
  • css3/scroll-snap/scroll-snap-desination-lock-up-expected.txt: Added.
5:03 PM Changeset in webkit [181193] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

https://bugs.webkit.org/show_bug.cgi?id=142416

Unreviewed build fix.

  • platform/spi/cocoa/QuartzCoreSPI.h: Add kCAFilterPlusL.
4:41 PM Changeset in webkit [181192] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Correct Windows build.

Rubberstamped by Michael Saboff

  • win/AssembleBuildLogs/AssembleLogs.cmd: Correct cut/paste error

in the GOTO labels.

4:08 PM Changeset in webkit [181191] by dino@apple.com
  • 19 edits
    2 adds in trunk

Support "plus-lighter" in mix-blend mode
https://bugs.webkit.org/show_bug.cgi?id=142416
<rdar://problem/19993979>

Reviewed by Darin Adler and Sam Weinig.

Source/WebCore:

Support the "plus-lighter" blending mode to CSS.
See my reply to: https://lists.w3.org/Archives/Public/public-fx/2015JanMar/0021.html

Test: css3/blending/svg-blend-plus-lighter.html

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue): mix-blend-mode can now accept the
new keyword.

  • css/CSSPrimitiveValueMappings.h: Add the mappings to/from the GraphicsType.

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator BlendMode):

  • css/CSSValueKeywords.in: Add comment to show plus-darker and plus-lighter

are available.

  • platform/graphics/GraphicsTypes.cpp: New GraphicsType for PlusLighter.
  • platform/graphics/GraphicsTypes.h:
  • platform/graphics/ca/mac/PlatformCAFiltersMac.mm: Map to the CA filter.

(PlatformCAFilters::setBlendingFiltersOnLayer):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::setPlatformCompositeOperation): Map to the CG
blending flag.

Source/WebKit2:

Output the appropriate blending type when logging.

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTextStream::operator<<):

LayoutTests:

Add tests and new expected results for plus-lighter.

  • css3/blending/blend-mode-property-parsing-expected.txt:
  • css3/blending/blend-mode-simple-composited.html:
  • css3/blending/blend-mode-simple.html:
  • css3/blending/script-tests/blend-mode-property-parsing.js:
  • css3/blending/svg-blend-plus-lighter.html: Added.
  • platform/mac/css3/blending/blend-mode-simple-composited-expected.png:
  • platform/mac/css3/blending/blend-mode-simple-composited-expected.txt:
  • platform/mac/css3/blending/blend-mode-simple-expected.png:
  • platform/mac/css3/blending/blend-mode-simple-expected.txt:
  • platform/mac/css3/blending/svg-blend-plus-lighter-expected.txt: Added.
4:03 PM Changeset in webkit [181190] by achristensen@apple.com
  • 6 edits
    2 adds in trunk/Source/WebCore

Soft link MediaAccessibility using new macros.
https://bugs.webkit.org/show_bug.cgi?id=142406

Reviewed by David Kilzer.

  • Configurations/WebCore.unexp:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • page/CaptionUserPreferencesMediaAF.cpp:
  • platform/cf/MediaAccessibilitySoftLink.cpp: Added.
  • platform/cf/MediaAccessibilitySoftLink.h: Added.
3:39 PM Changeset in webkit [181189] by Brent Fulgham
  • 16 edits
    2 adds in trunk

Add 'initial' keyword support for scroll snap CSS properties
https://bugs.webkit.org/show_bug.cgi?id=136345
<rdar://problem/18162325>

Reviewed by Dean Jackson.

Source/WebCore:

Tested by css3/scroll-snap/scroll-snap-initial.html

The existing implementation already had 'initial' keyword support, but did not fully follow
the CSS specification. In particular, the 'initial' state for the scroll-snap-points-x and
scroll-snap-points-y properties was not handled correctly.

Revise implementation to represent ScrollSnapPoints as a pointer, so that 'none' is a valid
state.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::scrollSnapPoints): If 'points' is null, return CSSValueNone.

  • css/CSSPropertyNames.in: Provide custom initial/inherit handles for snap point x/y sets.
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertScrollSnapPoints): Update to represent ScrollSnapPoints
as a pointer.

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyInitialWebkitScrollSnapPointsX): Provide custom pointer-based
implementation for ScrollSnapPoints.
(WebCore::StyleBuilderCustom::applyInheritWebkitScrollSnapPointsX): Ditto.
(WebCore::StyleBuilderCustom::applyInitialWebkitScrollSnapPointsY): Ditto.
(WebCore::StyleBuilderCustom::applyInheritWebkitScrollSnapPointsY): Ditto."

  • page/scrolling/AxisScrollSnapOffsets.cpp:

(WebCore::updateFromStyle): Handle ScrollSnapPoints as pointers.
(WebCore::updateSnapOffsetsForScrollableArea): Ditto.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::scrollSnapPointsX): Update to use pointer-based representation of ScrollSnapPoints.
(WebCore::RenderStyle::scrollSnapPointsY): Ditto.
(WebCore::RenderStyle::setScrollSnapPointsX): Ditto.
(WebCore::RenderStyle::setScrollSnapPointsY): Ditto.
(WebCore::RenderStyle::initialScrollSnapPointsX): Deleted.
(WebCore::RenderStyle::initialScrollSnapPointsY): Deleted.

  • rendering/style/RenderStyle.h:
  • rendering/style/StyleScrollSnapPoints.cpp:

(WebCore::StyleScrollSnapPoints::StyleScrollSnapPoints): Revise constructor to handle pointer argument.

  • rendering/style/StyleScrollSnapPoints.h:

LayoutTests:

  • css3/scroll-snap/scroll-snap-property-computed-style.js: Update for corrected 'initial' behavior.
  • css3/scroll-snap/scroll-snap-property-computed-style-expected.txt: Rebaselined.
  • css3/scroll-snap/scroll-snap-initial.html: Added.
  • css3/scroll-snap/scroll-snap-initial-expected.txt: Added.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/win/TestExpectations:
3:13 PM Changeset in webkit [181188] by Lucas Forschler
  • 6 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r180337. rdar://problem/20074071

3:08 PM Changeset in webkit [181187] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.15.11

New tag.

2:41 PM Changeset in webkit [181186] by Joseph Pecoraro
  • 11 edits in trunk/Source/WebInspectorUI

Web Inspector: Adopt Object Literal Method Property Syntax
https://bugs.webkit.org/show_bug.cgi?id=142409

Reviewed by Timothy Hatcher.

Mechanical change touching lots of files.

2:41 PM Changeset in webkit [181185] by Joseph Pecoraro
  • 55 edits in trunk/Source

Web Inspector: Adopt Object Literal Shorthand Property Construction Syntax
https://bugs.webkit.org/show_bug.cgi?id=142374

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/InjectedScriptSource.js:

Source/WebInspectorUI:

Mechanical change touching lots of files.

2:33 PM Changeset in webkit [181184] by jonowells@apple.com
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Populate Debugger sidebar with all debuggable resources
https://bugs.webkit.org/show_bug.cgi?id=141232

Reviewed by Timothy Hatcher.

All debuggable resources now show in the debugger sidebar. The _resourceAdded handler now adds a script resource
to the sidebar regardless of whether it has any breakpoints set on it. The new function
_getTreeElementForSourceCodeAndAddToContentTreeOutline adds the element to the debugger sidebar before
_addBreakpointsForSourceCode is called. Removing all breakpoints from a resource no longer removes that
resource from the debugger sidebar. TreeOutline.prototype.removeChild has been updated so the disclosure
button will disappear and reappear correctly when removing/adding breakpoints.

  • UserInterface/Views/DebuggerSidebarPanel.js:

(WebInspector.DebuggerSidebarPanel.prototype._addBreakpoint): Expand resource if first breakpoint is added.
(WebInspector.DebuggerSidebarPanel.prototype._getTreeElementForSourceCodeAndAddToContentTreeOutline): Created.
(WebInspector.DebuggerSidebarPanel.prototype._resourceAdded): Checks resource type and adds scripts to sidebar.
(WebInspector.DebuggerSidebarPanel.prototype._mainResourceChanged):
(WebInspector.DebuggerSidebarPanel.prototype._scriptAdded):
(WebInspector.DebuggerSidebarPanel.prototype._removeBreakpointTreeElement): No longer removes empty parent.
(WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected): Displays scripts without breakpoints now.

  • UserInterface/Views/GeneralTreeElement.js:

(WebInspector.GeneralTreeElement.prototype.get disclosureButton): Drive-by fix. Unused. Deleted.

  • UserInterface/Views/TreeOutline.js:

(TreeOutline.prototype.removeChild):
Remove parent class and set hasChildren to false if necessary to properly hide and reveal disclosure button
for elements whose children have been removed.

2:31 PM Changeset in webkit [181183] by commit-queue@webkit.org
  • 4 edits
    6 adds in trunk

ES6: Object Literal Extensions - Methods
https://bugs.webkit.org/show_bug.cgi?id=142390

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-06
Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Support method syntax in object literals.

  • parser/Parser.h:
  • parser/Parser.cpp:

(JSC::stringForFunctionMode):
(JSC::Parser<LexerType>::parseProperty):
Methods are allowed for identifier, string, and numeric names,
and computed property names.

(JSC::Parser<LexerType>::parsePropertyMethod):
Helper for parsing a property method.

LayoutTests:

  • js/object-literal-computed-methods-expected.txt: Added.
  • js/object-literal-computed-methods.html: Added.
  • js/object-literal-methods-expected.txt: Added.
  • js/object-literal-methods.html: Added.
  • js/script-tests/object-literal-computed-methods.js: Added.
  • js/script-tests/object-literal-methods.js: Added.
2:29 PM Changeset in webkit [181182] by Lucas Forschler
  • 4 edits
    3 copies in branches/safari-600.1.4.15-branch/Source/JavaScriptCore

Merged r180234. rdar://problem/20057246

2:25 PM Changeset in webkit [181181] by Lucas Forschler
  • 2 edits
    1 copy in branches/safari-600.1.4.15-branch/Source/JavaScriptCore

Merge patch for rdar://problem/20058799.

2:01 PM Changeset in webkit [181180] by ggaren@apple.com
  • 2 edits in trunk/Source/WTF

2015-03-06 Geoffrey Garen <ggaren@apple.com>

Fix crashes seen on the the Windows buildbots after my last patch.

Unreviewed.

  • wtf/FastMalloc.cpp: (WTF::fastAlignedMalloc): Let's pass these arguments in the right order.
1:31 PM Changeset in webkit [181179] by Joseph Pecoraro
  • 12 edits in trunk

proto shorthand property should not modify prototype in Object Literal construction
https://bugs.webkit.org/show_bug.cgi?id=142382

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

When parsing shorthand property syntax we know we will do a
put direct, even if the property name is proto. Pass that
information through to bytecode generation.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitDirectPutById):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::PropertyListNode::emitPutConstantProperty):

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createGetterOrSetterProperty):
(JSC::ASTBuilder::createProperty):

  • parser/NodeConstructors.h:

(JSC::PropertyNode::PropertyNode):

  • parser/Nodes.h:

(JSC::PropertyNode::putType):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parseProperty):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createProperty):

LayoutTests:

  • js/object-literal-shorthand-construction-expected.txt:
  • js/script-tests/object-literal-shorthand-construction.js:

Update test to cover the proto shorthand case which is
different from longhand case.

1:29 PM Changeset in webkit [181178] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Reskin Captions button and container on OSX.
https://bugs.webkit.org/show_bug.cgi?id=142383.
<rdar://problem/20061466>
Reviewed by Eric Carlson.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-toggle-closed-captions-button): Create new captions button icon.
Update caption container to match rest of media controls better.
(audio::-webkit-media-controls-closed-captions-container):
(audio::-webkit-media-controls-closed-captions-container .list):
(audio::-webkit-media-controls-closed-captions-container h3):
(audio::-webkit-media-controls-closed-captions-container ul):
(audio::-webkit-media-controls-closed-captions-container li):
(audio::-webkit-media-controls-closed-captions-container li:focus):
(audio::-webkit-media-controls-closed-captions-container li:hover):
Fix up some fonts to make fonts between captions, status display and time displays consistent.
(audio::-webkit-media-controls-status-display):
(audio::-webkit-media-controls-time-remaining-display):

12:19 PM Changeset in webkit [181177] by ggaren@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

2015-03-06 Geoffrey Garen <ggaren@apple.com>

Fix crashes seen on the the 32-bit buildbots after my last patch.

Unreviewed.

  • heap/CopiedBlock.h: (JSC::CopiedBlock::payload):
  • heap/CopiedSpace.cpp: (JSC::CopiedSpace::tryAllocateOversize): Round up to the right alignment, since the size of the CopiedBlock class is not guaranteed to be the right alignment, and is in fact the wrong alignment on 32-bit.
12:13 PM Changeset in webkit [181176] by Beth Dakin
  • 4 edits in trunk/Source/WebKit2

REGRESSION (r180782): Data Detector popovers are not dismissed on scroll or zoom
https://bugs.webkit.org/show_bug.cgi?id=142371
-and corresponding-
rdar://problem/20059224

Reviewed by Tim Horton.

This patch has the WKImmediateActionController keep track of whether or not it has
an active immediate action. Then we only call into Lookup and DD if the window is
key OR if the WKView’s immediateActionController has an active action.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _dismissContentRelativeChildWindows]):

  • UIProcess/mac/WKImmediateActionController.h:
  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController initWithPage:view:recognizer:]):
(-[WKImmediateActionController willDestroyView:]):
(-[WKImmediateActionController _clearImmediateActionState]):
(-[WKImmediateActionController hasActiveImmediateAction]):
(-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]):

11:56 AM Changeset in webkit [181175] by Antti Koivisto
  • 3 edits in trunk/LayoutTests

Enable disk cache validation test on iOS
https://bugs.webkit.org/show_bug.cgi?id=142405

Reviewed by Andreas Kling.

The features is enabled.

  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
11:31 AM Changeset in webkit [181174] by jer.noble@apple.com
  • 3 edits
    3 adds in trunk

[Web Audio] Decoding specific .m4a file crashes tab
https://bugs.webkit.org/show_bug.cgi?id=139545

Reviewed by Eric Carlson.

Source/WebCore:

Test: webaudio/decode-audio-data-too-short.html

Bail out early if CoreAudio reports the number of frames in the file to be negative.

  • platform/audio/mac/AudioFileReaderMac.cpp:

(WebCore::AudioFileReader::createBus):

LayoutTests:

  • webaudio/decode-audio-data-too-short-expected.txt: Added.
  • webaudio/decode-audio-data-too-short.html: Added.
  • webaudio/resources/media/too-short.m4a: Added.
11:28 AM Changeset in webkit [181173] by commit-queue@webkit.org
  • 15 edits in trunk/Source

Scroll to make the video element visible when exiting fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=141439

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-03-06
Reviewed by Simon Fraser.

Source/WebCore:

This patch will scroll the element so it is visible when exiting fullscreen,
but only if the element is completely scrolled off screen.
Also update the element screen rect so exit animation goes to the correct location.

  • dom/Element.cpp:

(WebCore::Element::scrollIntoViewIfNotVisible): Added.

  • dom/Element.h: Add declaration for scrollIntoViewIfNotVisible.
  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(-[WebVideoFullscreenController fullscreenMayReturnToInline]):

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerController playerViewController:restoreUserInterfaceForOptimizedFullscreenStopWithCompletionHandler:]):
(-[WebAVPlayerController playerViewControllerWillCancelOptimizedFullscree:]):
(WebVideoFullscreenInterfaceAVKit::setupFullscreen):
(WebVideoFullscreenInterfaceAVKit::setupFullscreenInternal):
(WebVideoFullscreenInterfaceAVKit::exitFullscreen):
(WebVideoFullscreenInterfaceAVKit::exitFullscreenInternal):
(WebVideoFullscreenInterfaceAVKit::preparedToReturnToInline):
(WebVideoFullscreenInterfaceAVKit::fullscreenMayReturnToInline):

  • rendering/ScrollBehavior.cpp:
  • rendering/ScrollBehavior.h:

Source/WebKit2:

This patch will restore interface state when exiting fullscreen.
Adds preparedToReturnToInline to continue exiting once the interface is updated.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.h:
  • UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:
  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID):
(WebKit::WebVideoFullscreenManagerProxy::fullscreenMayReturnToInline):
(WebKit::WebVideoFullscreenManagerProxy::preparedToReturnToInline): added.

  • WebProcess/ios/WebVideoFullscreenManager.h:
  • WebProcess/ios/WebVideoFullscreenManager.messages.in:
  • WebProcess/ios/WebVideoFullscreenManager.mm:

(WebKit::WebVideoFullscreenManager::fullscreenMayReturnToInline):

11:08 AM Changeset in webkit [181172] by mmaxfield@apple.com
  • 7 edits
    2 adds in trunk

Crash in -[WebCascadeList objectAtIndex:] + 195
https://bugs.webkit.org/show_bug.cgi?id=141274

Reviewed by David Kilzer.

Source/WebCore:

CTFontDescriptorRefs can live forever in caches inside CoreText, which means our
WebCascadeList can too.

Test: platform/mac/fast/text/crash-complextextcontroller-custom-cascade-list.html

  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::FontCascade): Initialize WeakPtrFactory.

  • platform/graphics/FontCascade.h:

(WebCore::FontCascade::createWeakPtr):

  • platform/graphics/mac/ComplexTextControllerCoreText.mm: Migrate the raw pointer

to WeakPtr.
(-[WebCascadeList initWithFont:character:]):
(-[WebCascadeList count]):
(-[WebCascadeList objectAtIndex:]):

Source/WTF:

  • wtf/WeakPtr.h:

(WTF::WeakPtrFactory::createWeakPtr): WebCascadeList uses a const FontCascade,
and it calls createWeakPtr() on it. Therefore, createWeakPtr has to be marked
const.
(WTF::WeakPtrFactory::operator=): Removed because it was broken and had no
callers

LayoutTests:

  • platform/mac/fast/text/crash-complextextcontroller-custom-cascade-list-expected.txt: Added.
  • platform/mac/fast/text/crash-complextextcontroller-custom-cascade-list.html: Added.
11:06 AM Changeset in webkit [181171] by mmaxfield@apple.com
  • 6 edits
    1 move in trunk/Source/WebCore

Rename BreakingContextInlineHeaders.h to BreakingContext.h
https://bugs.webkit.org/show_bug.cgi?id=142404

Reviewed by Simon Fraser.

No point naming it "InlineHeaders" when there are no non-inline-headers files.

No new tests because this is just a rename of a file.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/RenderBlockLineLayout.cpp:
  • rendering/line/BreakingContext.h: Renamed from Source/WebCore/rendering/line/BreakingContextInlineHeaders.h.

(WebCore::WordMeasurement::WordMeasurement):
(WebCore::BreakingContext::BreakingContext):
(WebCore::BreakingContext::currentObject):
(WebCore::BreakingContext::lineBreak):
(WebCore::BreakingContext::lineWidth):
(WebCore::BreakingContext::atEnd):
(WebCore::BreakingContext::clearLineBreakIfFitsOnLine):
(WebCore::BreakingContext::commitLineBreakAtCurrentWidth):
(WebCore::BreakingContext::InlineIteratorHistory::InlineIteratorHistory):
(WebCore::BreakingContext::InlineIteratorHistory::push):
(WebCore::BreakingContext::InlineIteratorHistory::update):
(WebCore::BreakingContext::InlineIteratorHistory::renderer):
(WebCore::BreakingContext::InlineIteratorHistory::offset):
(WebCore::BreakingContext::InlineIteratorHistory::atTextParagraphSeparator):
(WebCore::BreakingContext::InlineIteratorHistory::previousInSameNode):
(WebCore::BreakingContext::InlineIteratorHistory::get):
(WebCore::BreakingContext::InlineIteratorHistory::current):
(WebCore::BreakingContext::InlineIteratorHistory::historyLength):
(WebCore::BreakingContext::InlineIteratorHistory::moveTo):
(WebCore::BreakingContext::InlineIteratorHistory::increment):
(WebCore::BreakingContext::InlineIteratorHistory::clear):
(WebCore::BreakingContext::initializeForCurrentObject):
(WebCore::BreakingContext::increment):
(WebCore::BreakingContext::handleBR):
(WebCore::borderPaddingMarginStart):
(WebCore::borderPaddingMarginEnd):
(WebCore::shouldAddBorderPaddingMargin):
(WebCore::previousInFlowSibling):
(WebCore::inlineLogicalWidth):
(WebCore::BreakingContext::handleOutOfFlowPositioned):
(WebCore::BreakingContext::handleFloat):
(WebCore::shouldSkipWhitespaceAfterStartObject):
(WebCore::BreakingContext::handleEmptyInline):
(WebCore::BreakingContext::handleReplaced):
(WebCore::firstPositiveWidth):
(WebCore::iteratorIsBeyondEndOfRenderCombineText):
(WebCore::nextCharacter):
(WebCore::updateCounterIfNeeded):
(WebCore::measureHyphenWidth):
(WebCore::textWidth):
(WebCore::ensureCharacterGetsLineBox):
(WebCore::tryHyphenating):
(WebCore::BreakingContext::handleText):
(WebCore::textBeginsWithBreakablePosition):
(WebCore::BreakingContext::canBreakAtThisPosition):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
(WebCore::checkMidpoints):
(WebCore::BreakingContext::handleEndOfLine):
(WebCore::BreakingContext::optimalLineBreakLocationForTrailingWord):

  • rendering/line/LineBreaker.cpp:
10:47 AM Changeset in webkit [181170] by mitz@apple.com
  • 3 edits
    1 add in trunk/Source/WebCore

Expose some of the functionality of extract-localizable-strings.pl as a module
https://bugs.webkit.org/show_bug.cgi?id=142038

Reviewed by Sam Weinig.

  • LocalizableStrings.pm: Copied from Source/WebCore/extract-localizable-strings.pl.

(setTreatWarningsAsErrors): Added this setter for the variable moved here.
(sawError): Added a getter.
(emitError): Added. Emits the error message and sets $sawError.
(unescapeHexSequence): Moved from extract-localizable-strings.pl and renamed to start with
a lowercase letter.
(keyCollisionCount): Added this getter.
(localizedCount): Added this getter.
(HandleUIString): Moved from extract-localizable-strings.pl and made it increment the
localized string count.
(writeStringsFile): Moved code from extract-localizable-strings.pl into this new subroutine.
(verifyStringsFile): Ditto.

  • WebCore.xcodeproj/project.pbxproj: Added LocalizableStrings.pm to the Copy Scripts build

phase.

  • extract-localizable-strings.pl:

(emitWarning): Moved to the module.
(UnescapeHexSequence): Ditto.
(HandleUIString): Ditto.

10:45 AM Changeset in webkit [181169] by Darin Adler
  • 46 edits in trunk/Source/WebCore

Remove unused C++ DOM event handler attribute functions
https://bugs.webkit.org/show_bug.cgi?id=142398

Reviewed by Anders Carlsson.

  • dom/EventTarget.h: Removed now-unneeded macros: DEFINE_ATTRIBUTE_EVENT_LISTENER,

DECLARE_VIRTUAL_ATTRIBUTE_EVENT_LISTENER, DEFINE_VIRTUAL_ATTRIBUTE_EVENT_LISTENER,
DEFINE_WINDOW_ATTRIBUTE_EVENT_LISTENER, DEFINE_MAPPED_ATTRIBUTE_EVENT_LISTENER,
DECLARE_FORWARDING_ATTRIBUTE_EVENT_LISTENER, DEFINE_FORWARDING_ATTRIBUTE_EVENT_LISTENER.

  • Modules/webaudio/AudioScheduledSourceNode.cpp:

(WebCore::AudioScheduledSourceNode::setOnended): Deleted.
(WebCore::AudioScheduledSourceNode::finish): Rewrote this to use dispatchEvent
instead of one-off event-sending code. Also use a lambda to avoid needing two
additional member functions to implement this.
(WebCore::AudioScheduledSourceNode::notifyEndedDispatch): Deleted.
(WebCore::AudioScheduledSourceNode::notifyEnded): Deleted.

  • Modules/webaudio/AudioScheduledSourceNode.h: Updated for above.
  • Modules/battery/BatteryManager.h: Removed onxxx and setOnxxx functions,

including ones created with macros from EventTarget.h.

  • Modules/encryptedmedia/MediaKeySession.h: Ditto.
  • Modules/indexeddb/IDBDatabase.h: Ditto.
  • Modules/indexeddb/IDBOpenDBRequest.h: Ditto.
  • Modules/indexeddb/IDBRequest.h: Ditto.
  • Modules/indexeddb/IDBTransaction.h: Ditto.
  • Modules/mediastream/MediaStream.h: Ditto.
  • Modules/mediastream/MediaStreamTrack.h: Ditto.
  • Modules/mediastream/RTCDTMFSender.h: Ditto.
  • Modules/mediastream/RTCDataChannel.h: Ditto.
  • Modules/mediastream/RTCPeerConnection.h: Ditto.
  • Modules/notifications/Notification.h: Ditto.
  • Modules/speech/SpeechSynthesisUtterance.h: Ditto.
  • Modules/webaudio/AudioContext.h: Ditto.
  • Modules/webaudio/ScriptProcessorNode.cpp: Ditto.
  • Modules/webaudio/ScriptProcessorNode.h: Ditto.
  • Modules/websockets/WebSocket.h: Ditto.
  • css/FontLoader.h: Ditto.
  • dom/Document.h: Ditto.
  • dom/Element.cpp: Ditto.
  • dom/Element.h: Ditto.
  • dom/MessagePort.h: Ditto.
  • fileapi/FileReader.h: Ditto.
  • html/HTMLBodyElement.h: Ditto.
  • html/HTMLFormElement.h: Ditto.
  • html/HTMLFrameSetElement.h: Ditto.
  • html/HTMLInputElement.h: Ditto.
  • html/HTMLMediaElement.h: Ditto.
  • html/HTMLVideoElement.h: Ditto.
  • html/track/TextTrack.h: Ditto.
  • html/track/TextTrackCue.h: Ditto.
  • html/track/TrackListBase.h: Ditto.
  • loader/appcache/DOMApplicationCache.h: Ditto.
  • page/DOMWindow.h: Ditto.
  • page/EventSource.h: Ditto.
  • page/Performance.h: Ditto.
  • workers/AbstractWorker.h: Ditto.
  • workers/DedicatedWorkerGlobalScope.h: Ditto.
  • workers/Worker.h: Ditto.
  • workers/WorkerGlobalScope.h: Ditto.
  • xml/XMLHttpRequest.h: Ditto.
  • xml/XMLHttpRequestUpload.h: Ditto.
10:44 AM Changeset in webkit [181168] by commit-queue@webkit.org
  • 5 edits
    8 adds in trunk

Setting any of the <object> element plugin controlling attributes does not have any affect.
https://bugs.webkit.org/show_bug.cgi?id=141936.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-03-06
Reviewed by Simon Fraser.
Source/WebCore:

When setting any of the <object> element plugin controlling attributes
dynamically we need to mark the the element to be dirty by calling
setNeedsStyleRecalc(), so it has to recreate its renderer when needed.

Tests: fast/css/image-object-hover-inherit.html

svg/as-object/svg-in-object-dynamic-attribute-change.html

  • dom/Element.h: Delete unimplemented function.
  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::parseAttribute): Mark the element dirty by
calling setNeedsStyleRecalc() when one of the plugin controlling attributes
gets changed. We have to clear m_useFallbackContent because the attribute's
new value might fix the object rendering.

  • html/HTMLObjectElement.h: Add a function to clear m_useFallbackContent.

LayoutTests:

  • fast/css/image-object-hover-inherit-expected.html: Added.
  • fast/css/image-object-hover-inherit.html: Added.

A guarding test to catch the case of reconstructing the image <object>
renderer while performing a synchronous resolveTree() followed by page
rendering or dump render tree.

  • svg/as-object/resources/lime100x100.html: Added.
  • svg/as-object/resources/lime100x100.png: Added.
  • svg/as-object/resources/lime100x100.svg: Added.
  • svg/as-object/resources/red100x100.svg: Added.
  • svg/as-object/svg-in-object-dynamic-attribute-change-expected.html: Added.
  • svg/as-object/svg-in-object-dynamic-attribute-change.html: Added.

Ensure that changing the 'type' and the 'data' attributes of the <object>
element will have the expected outcome. Also make sure that the <object>
element renderer falls back correctly when setting any of the attributes
to some unexpected value.

10:21 AM Changeset in webkit [181167] by mmaxfield@apple.com
  • 3 edits
    5 adds in trunk

Test horiz-origin-x and horiz-origin-y in SVG fonts
https://bugs.webkit.org/show_bug.cgi?id=142403

Source/WebCore:

Reviewed by Simon Fraser.

Remove incorrect comment.

Test: svg/fonts/svg-font-horiz-origin.html

  • svg/SVGToOTFFontConversion.cpp:

(WebCore::CFFBuilder::CFFBuilder):

LayoutTests:

Simply moving to the origin in glyph-space at the beginning
of path parsing won't work if subsequent coordinates are absolute.

Reviewed by Simon Fraser.

  • svg/fonts/resources/svg-font-horiz-origin-font.svg: Added.
  • svg/fonts/svg-font-horiz-origin-expected.html: Added.
  • svg/fonts/svg-font-horiz-origin.html: Added.
10:20 AM Changeset in webkit [181166] by Simon Fraser
  • 47 edits in trunk/Source

Allow tree dumping functions to be used in release builds by switching a flag
https://bugs.webkit.org/show_bug.cgi?id=142379

Reviewed by Zalan Bujtas.

There are various tree dumping functions that are useful for debugging, and sometimes
you want to be able to use them in release builds. Currently they are surrounded by
in config.h

  • config.h:
  • dom/DocumentMarkerController.cpp:
  • dom/DocumentMarkerController.h:
  • dom/Element.cpp:
  • dom/Element.h:
  • dom/Node.cpp:
  • dom/Node.h:
  • dom/Position.cpp: Position::debugPosition(const char* msg) was available in release builds, but this changes

is to respect ENABLE_TREE_DEBUGGING, which I think is correct.

  • dom/Position.h:
  • dom/Range.cpp:
  • dom/Range.h:
  • dom/Text.cpp:
  • dom/Text.h:
  • rendering/CounterNode.cpp:
  • rendering/CounterNode.h:
  • rendering/InlineBox.cpp:
  • rendering/InlineBox.h:
  • rendering/InlineFlowBox.cpp:
  • rendering/InlineFlowBox.h:
  • rendering/InlineTextBox.cpp:
  • rendering/InlineTextBox.h:
  • rendering/RenderBlockFlow.cpp:
  • rendering/RenderBlockFlow.h:
  • rendering/RenderCounter.cpp:
  • rendering/RenderCounter.h:
  • rendering/RenderLayer.cpp:
  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::createGraphicsLayer):
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::updateForegroundLayer):
(WebCore::RenderLayerBacking::updateBackgroundLayer):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::CompositingState::CompositingState):
(WebCore::RenderLayerCompositor::updateLayerForTopOverhangArea):
(WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea):
(WebCore::RenderLayerCompositor::updateLayerForHeader):
(WebCore::RenderLayerCompositor::updateLayerForFooter):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
(WebCore::RenderLayerCompositor::ensureRootLayer):

  • rendering/RenderObject.cpp:
  • rendering/RenderObject.h: showTreeCharacterOffset was unused.
  • rendering/RootInlineBox.cpp:
  • rendering/RootInlineBox.h:
  • rendering/SimpleLineLayoutFunctions.cpp:
  • rendering/SimpleLineLayoutFunctions.h:
  • rendering/svg/SVGResources.cpp:
  • rendering/svg/SVGResources.h:
10:15 AM Changeset in webkit [181165] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

An SVG element without intrinsic size inherits the container size as its viewport instead of inheriting the container viewport.
https://bugs.webkit.org/show_bug.cgi?id=141725.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-03-06
Reviewed by Darin Adler.

Source/WebCore:

The current viewport of the <svg> element should be retrieved from its
renderer if the renderer is available. If the renderer is not created yet,
this means the viewport is needed to calculate the size of the renderer.
In this case, we should return the element size if it is intrinsic size.

Test: svg/css/svg-css-different-intrinsic-sizes.html

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::currentViewportSize): Change the order for
returning the viewport of the <svg> element. We should consider the case
of a valid renderer before considering the case of an intrinsic size.

LayoutTests:

  • svg/css/svg-css-different-intrinsic-sizes-expected.html: Added.
  • svg/css/svg-css-different-intrinsic-sizes.html: Added.

The intrinsic size of the <svg> element is overridden by CSS. The elements
inside the <svg> should consider the css size (which is equal to the <svg>
element viewport) instead of the <svg> element intrinsic size.

10:14 AM Changeset in webkit [181164] by Simon Fraser
  • 7 edits
    2 adds in trunk

Allow composited clip-path to be updated without a layer repaint
https://bugs.webkit.org/show_bug.cgi?id=142384

Reviewed by Zalan Bujtas.

Source/WebCore:

When clip-path is mapped to a compositing shape layer mask, we can just
push a new shape to the GraphicsLayer to update the clip path, without
needing to repaint.

Achieve this by adding ContextSensitivePropertyClipPath. When set, and the
stars are aligned, issue a StyleDifferenceRecompositeLayer rather than
a StyleDifferenceRepaint.

We ask RenderLayerCompositor whether the clip path can be composited
to hide platform differences related to whether GraphicsLayer supports
shape masks.

Test: compositing/masks/compositing-clip-path-change-no-repaint.html

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::adjustStyleDifference): Remove obvious comment
about opacity. Handle ContextSensitivePropertyClipPath.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::canCompositeClipPath): If we have a mask
we have to paint the mask + clip path into the mask layer (mirrors code in
RenderLayerBacking::updateMaskingLayer but isn't quite similar enough to share).

  • rendering/RenderLayerCompositor.h:
  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresRepaint): Set ContextSensitivePropertyClipPath
and don't return, as is normal for context-sensitive property handling.

  • rendering/style/RenderStyleConstants.h: Line things up to avoid future bit

fumbles, and remove unnecessary braces.

LayoutTests:

Test repaint with a clip-path change.

  • compositing/masks/compositing-clip-path-change-no-repaint-expected.txt: Added.
  • compositing/masks/compositing-clip-path-change-no-repaint.html: Added.
10:13 AM Changeset in webkit [181163] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Content Extensions] Process all actions when blocking a URL.
https://bugs.webkit.org/show_bug.cgi?id=142363

Patch by Alex Christensen <achristensen@webkit.org> on 2015-03-06
Reviewed by Darin Adler.

This can only be tested once we implement css selectors.

  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::actionsForURL):
Do not return early when adding a block action.

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):
Process all actions before returning.

10:09 AM Changeset in webkit [181162] by Antti Koivisto
  • 2 edits
    1 move in trunk/Source/WebKit2

Rename NetworkCacheStorageCocoa.mm to NetworkCacheStorage.cpp
https://bugs.webkit.org/show_bug.cgi?id=142401

Rubber-stamped by Anders Carlsson.

It is now fully cross-platform.

  • NetworkProcess/cache/NetworkCacheStorage.cpp: Copied from Source/WebKit2/NetworkProcess/cache/NetworkCacheStorageCocoa.mm.

(WebKit::NetworkCache::Storage::shrinkIfNeeded):

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm: Removed.
  • WebKit2.xcodeproj/project.pbxproj:
9:30 AM Changeset in webkit [181161] by Antti Koivisto
  • 4 edits in trunk/Source/WebKit2

Don't use dispatch_semaphore in NetworkCacheStorage
https://bugs.webkit.org/show_bug.cgi?id=142395

Reviewed by Anders Carlsson.

  • NetworkProcess/cache/NetworkCacheIOChannel.h:
  • NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:

(WebKit::NetworkCache::IOChannel::read):
(WebKit::NetworkCache::IOChannel::readSync):

Add readSync to encapsulate the semaphore.

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::NetworkCache::Storage::traverse):

9:25 AM Changeset in webkit [181160] by Antti Koivisto
  • 5 edits in trunk/Source/WebKit2

Move dispatch_data use behind NetworkCache::Data abstraction
https://bugs.webkit.org/show_bug.cgi?id=142392

Reviewed by Anders Carlsson.

  • NetworkProcess/cache/NetworkCacheData.h:

(WebKit::NetworkCache::DispatchPtr::DispatchPtr):

  • NetworkProcess/cache/NetworkCacheDataCocoa.mm:

(WebKit::NetworkCache::Data::Data):
(WebKit::NetworkCache::Data::apply):
(WebKit::NetworkCache::Data::subrange):
(WebKit::NetworkCache::concatenate):
(WebKit::NetworkCache::mapFile):

  • NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:

(WebKit::NetworkCache::IOChannel::read):

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::NetworkCache::hashData):
(WebKit::NetworkCache::decodeEntryMetaData):
(WebKit::NetworkCache::decodeEntryHeader):
(WebKit::NetworkCache::decodeEntry):
(WebKit::NetworkCache::encodeEntryMetaData):
(WebKit::NetworkCache::encodeEntryHeader):
(WebKit::NetworkCache::Storage::dispatchFullWriteOperation):
(WebKit::NetworkCache::mapFile): Deleted.

9:21 AM Changeset in webkit [181159] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] Test /webkit2/WebKitWebView/sync-request-on-max-conns might fail after finished
https://bugs.webkit.org/show_bug.cgi?id=142385

Reviewed by Sergio Villar Senin.

Use stack allocated GMainLoopSources to make sure they are
cancelled automatically if the test finishes before they have
been processed.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:

(testWebViewSyncRequestOnMaxConns):

9:06 AM Changeset in webkit [181158] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit2

Use WTF abstraction for page size in NetworkCacheStorage
https://bugs.webkit.org/show_bug.cgi?id=142396

Reviewed by Darin Adler.

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::NetworkCache::decodeEntryMetaData):
(WebKit::NetworkCache::Storage::dispatchFullWriteOperation):

8:58 AM Changeset in webkit [181157] by ggaren@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Use FastMalloc (bmalloc) instead of BlockAllocator for GC pages
https://bugs.webkit.org/show_bug.cgi?id=140900

Reviewed by Mark Hahnenberg.

Re-landing just the CopiedBlock piece of this patch.

  • heap/CopiedBlock.h:

(JSC::CopiedBlock::createNoZeroFill):
(JSC::CopiedBlock::destroy):
(JSC::CopiedBlock::create):
(JSC::CopiedBlock::CopiedBlock):
(JSC::CopiedBlock::isOversize):
(JSC::CopiedBlock::payloadEnd):
(JSC::CopiedBlock::capacity):

  • heap/CopiedSpace.cpp:

(JSC::CopiedSpace::~CopiedSpace):
(JSC::CopiedSpace::tryAllocateOversize):
(JSC::CopiedSpace::tryReallocateOversize):

  • heap/CopiedSpaceInlines.h:

(JSC::CopiedSpace::recycleEvacuatedBlock):
(JSC::CopiedSpace::recycleBorrowedBlock):
(JSC::CopiedSpace::allocateBlockForCopyingPhase):
(JSC::CopiedSpace::allocateBlock):
(JSC::CopiedSpace::startedCopying):

  • heap/CopyWorkList.h:
8:30 AM Changeset in webkit [181156] by Darin Adler
  • 27 edits in trunk/Source/WebCore

Make JavaScript binding get and set legacy event listener attributes directly
https://bugs.webkit.org/show_bug.cgi?id=142282

Reviewed by Antti Koivisto.

Test: fast/dom/legacy-event-handler-attributes.html

This patch changes the JavaScript getters and setters for these attributes
to work directly without requiring any functions in the C++ DOM implementation.
A subsequent patch will remove the now-unused C++ DOM implementation.

  • Modules/webaudio/AudioScheduledSourceNode.cpp:

(WebCore::AudioScheduledSourceNode::setOnended): Remove code to set
m_hasEndedListener; this was incorrect since it only detected event listeners
set up with the event handler attribute, not with addEventListener.
(WebCore::AudioScheduledSourceNode::addEventListener): Added code to update
m_hasEndedListener after making changes to the event listeners.
(WebCore::AudioScheduledSourceNode::removeEventListener): Ditto.
(WebCore::AudioScheduledSourceNode::removeAllEventListeners): Ditto.

  • Modules/webaudio/AudioScheduledSourceNode.h: Added above overrides.
  • Modules/webaudio/ScriptProcessorNode.cpp:

(WebCore::ScriptProcessorNode::setOnaudioprocess): Remove code to set
m_hasAudioProcessListener; this was incorrect since it only detected event listeners
set up with the event handler attribute, not with addEventListener.
(WebCore::ScriptProcessorNode::addEventListener): Added code to update
m_hasAudioProcessListener after making changes to the event listeners.
(WebCore::ScriptProcessorNode::removeEventListener): Ditto.
(WebCore::ScriptProcessorNode::removeAllEventListeners): Ditto.

  • Modules/webaudio/ScriptProcessorNode.h: Added above overrides.
  • bindings/js/JSEventListener.cpp:

(WebCore::legacyEventListenerAttribute): Added.
(WebCore::createEventListenerForLegacyAttribute): Added.
(WebCore::setLegacyEventListenerAttribute): Added.
(WebCore::legacyWindowEventListenerAttribute): Added.
(WebCore::setLegacyWindowEventListenerAttribute): Added.

  • bindings/js/JSEventListener.h:

(WebCore::createJSEventListenerForAttribute): Deleted.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateAttributeEventListenerCall): Deleted.
(LegacyEventListenerAttributeEventName): Added.
(LegacyEventListenerAttributePrefix): Added.
(GenerateImplementation): Use "auto" in lots of places to simplify the code
generation. Replaced the old inlined code to deal with legacy event listener
attributes with code that simply calls the new functions from JSEventLister.h.
(GenerateCallWith): Use "auto".
(GenerateConstructorDefinition): Ditto.

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: Updated expected

results since these now use auto.

  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestEventConstructor.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestEventTarget.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestException.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestNode.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestNondeterministic.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
  • bindings/scripts/test/JS/JSTestTypedefs.cpp: Ditto.
  • bindings/scripts/test/JS/JSattribute.cpp: Ditto.
  • bindings/scripts/test/JS/JSreadonly.cpp: Ditto.
  • dom/MessagePort.cpp:

(WebCore::MessagePort::addEventListener): Moved logic that calls the start
function in here from setOnmessage, since the latter will no longer be called.

  • dom/MessagePort.h: Ditto.
7:37 AM Changeset in webkit [181155] by mmaxfield@apple.com
  • 9 edits in trunk/Source

[iOS] SVG fonts are garbled
https://bugs.webkit.org/show_bug.cgi?id=142377

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-03-06
Reviewed by Simon Fraser.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

The C++ spec says that casting a negative floating point number to
an unsigned integer is undefined. Instead, use clamping.

Covered by existing SVG font tests.

  • Configurations/FeatureDefines.xcconfig:
  • svg/SVGToOTFFontConversion.cpp:

(WebCore::writeCFFEncodedNumber):

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
6:34 AM Changeset in webkit [181154] by commit-queue@webkit.org
  • 38 edits in trunk/Source/WebCore

Unreviewed, rolling out r181139.
https://bugs.webkit.org/show_bug.cgi?id=142394

"Caused many crashes in API tests and layout tests in Debug
builds on bots." (Requested by ddkilzer on #webkit).

Reverted changeset:

"Allow tree dumping functions to be used in release builds by
switching a flag"
https://bugs.webkit.org/show_bug.cgi?id=142379
http://trac.webkit.org/changeset/181139

6:10 AM Changeset in webkit [181153] by Philippe Normand
  • 11 edits in trunk/Source/WebCore

[MediaStream] new load method for MediaStreamPrivate objects
https://bugs.webkit.org/show_bug.cgi?id=142346

Reviewed by Eric Carlson.

No new tests, existing mediastream tests cover this use-case.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::loadResource): Use new load method for MediaStreams.

  • platform/graphics/MediaPlayer.cpp:

(WebCore::NullMediaPlayerPrivate::load): New stub.
(WebCore::MediaPlayer::load): New load method for
MediaStreamPrivate.
(WebCore::MediaPlayer::nextBestMediaEngine): Set a new boolean on
the MediaEngineSupportParameters to differenciate with MSE and
normal video resources.
(WebCore::MediaPlayer::loadWithNextMediaEngine): Defer loading of
the MediaStream to the MediaPlayerPrivate backend.

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaEngineSupportParameters::MediaEngineSupportParameters):

  • platform/graphics/MediaPlayerPrivate.h:
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:

(WebCore::MediaPlayerPrivateAVFoundation::load): New empty load
method for MediaStreamPrivate objects.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load): Ditto.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::load): Ditto.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:

(WebCore::MediaPlayerPrivateQTKit::load): Ditto.

  • platform/mock/mediasource/MockMediaPlayerMediaSource.h:
6:07 AM Changeset in webkit [181152] by Philippe Normand
  • 45 edits
    5 moves in trunk/Source/WebCore

Rename MediaStreamSource to RealtimeMediaSource
https://bugs.webkit.org/show_bug.cgi?id=142330

Reviewed by Eric Carlson.

MediaStreamSource is a misleading name, it's not the source of a
MediaStream.

The chain from high level to low level is: MediaStream -
MediaStreamTrack - MediaStreamTrackPrivate - RealTimeMediaSource
and a MediaStream can contains several MediaStreamTrack objects of
different types.

MediaStreamSourceStates was also renamed to
RealtimeMediaSourceStates, and MediaStreamSourceCapabilities to
RealtimeMediaSourceCapabilities, for consistency.

3:14 AM Changeset in webkit [181151] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

Unreviewed WinCairo port build fix since r181136.

  • platform/network/curl/ResourceRequest.h:

(WebCore::ResourceRequest::doPlatformAdopt): Missing ":" in std::unique_ptr.

2:48 AM Changeset in webkit [181150] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Unguarded GTK-specific member and method usage in DrawingAreaImpl
https://bugs.webkit.org/show_bug.cgi?id=142391

Reviewed by Carlos Garcia Campos.

r180924 introduced unguarded use of m_nativeSurfaceHandleForCompositing
and LayerTreeHost::setNativeSurfaceHandleForCompositing() in DrawingAreaImpl.
Definitions for both of these are guarded with USE(TEXTURE_MAPPER_GL) and PLATFORM(GTK),
so their use should be as well.

  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):

2:37 AM Changeset in webkit [181149] by Csaba Osztrogonác
  • 3 edits
    2 deletes in trunk

Remove Mountain Lion libraries since ML isn't supported
https://bugs.webkit.org/show_bug.cgi?id=142332

Reviewed by Darin Adler.

Tools:

  • Scripts/copy-webkitlibraries-to-product-directory:

WebKitLibraries:

  • LLVMIncludesMountainLion.tar.bz2: Removed.
  • LLVMLibrariesMountainLion.tar.bz2: Removed.
1:50 AM Changeset in webkit [181148] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening on 6th Mar.

Skip tests regardening attachment download progress and unskip a passing test.

  • platform/efl/TestExpectations:
1:38 AM Changeset in webkit [181147] by ddkilzer@apple.com
  • 3 edits in trunk/Source/WebKit2

REGRESSION (r181140): WebKit2 fails to build on Mavericks buildbot

Work around Xcode dependency tracking issues by making changes
to source files that need to be recompiled.

  • NetworkProcess/NetworkProcess.cpp: Update copyright. Include

NetworkCache.h since it didn't appear to be included by
NetworkCacheCoders.h.

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm: Update copyright.
1:27 AM Changeset in webkit [181146] by youenn.fablet@crf.canon.fr
  • 5 edits
    1 delete in trunk

Layout tests imported/w3c/web-platform-tests certificates should not be tracked on WebKit VCS
https://bugs.webkit.org/show_bug.cgi?id=142083

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • resources/config.json: Replaced the _certs directory by a string to be replaced when copying this file to the web-platform-tests directory.
  • web-platform-tests/.gitignore: Updated to stop ignoring _certs.
  • web-platform-tests/_certs/01.pem: Removed.
  • web-platform-tests/_certs/02.pem: Removed.
  • web-platform-tests/_certs/cacert.pem: Removed.
  • web-platform-tests/_certs/cakey.pem: Removed.
  • web-platform-tests/_certs/index.txt.attr: Removed.
  • web-platform-tests/_certs/index.txt.attr.old: Removed.
  • web-platform-tests/_certs/index.txt.old: Removed.
  • web-platform-tests/_certs/localhost.key: Removed.
  • web-platform-tests/_certs/localhost.pem: Removed.
  • web-platform-tests/_certs/serial: Removed.
  • web-platform-tests/_certs/serial.old: Removed.

Tools:

Modifying on the fly wpt config.json to set the directory where to generate/read certificates as a subfolder of the layout test results folder.

  • Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:

(WebPlatformTestServer._copy_webkit_test_files):

1:23 AM Changeset in webkit [181145] by Csaba Osztrogonác
  • 4 edits
    4 adds in trunk/Tools

setup-git-clone fails due to the failure to download python-irclib-0.4.8
https://bugs.webkit.org/show_bug.cgi?id=141946

Reviewed by Ryosuke Niwa.

Check in ircbot.py and irclib.py to avoid network problems in the future.

  • Scripts/webkitpy/common/net/irc/ircbot.py:
  • Scripts/webkitpy/thirdparty/init.py:

(AutoinstallImportHook.find_module):
(AutoinstallImportHook._install_irc): Deleted.

  • Scripts/webkitpy/thirdparty/init_unittest.py:

(ThirdpartyTest.test_imports):

  • Scripts/webkitpy/thirdparty/irc/init.py: Added.
  • Scripts/webkitpy/thirdparty/irc/ircbot.py: Added.
  • Scripts/webkitpy/thirdparty/irc/irclib.py: Added.
1:20 AM Changeset in webkit [181144] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

Dashboard: Perf bot status is missing for Apple {Mavericks,Yosemite} Release builds

See also fix to config.json in r181097.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:

(WebKitBuildbot): Add missing "WK2" to the names of the perf
bots.

1:18 AM Changeset in webkit [181143] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

run-jsc-stress-tests should determine the architecture from ELF binaries
https://bugs.webkit.org/show_bug.cgi?id=142335

Reviewed by Darin Adler.

  • Scripts/run-jsc-stress-tests:
1:16 AM Changeset in webkit [181142] by ddkilzer@apple.com
  • 5 edits in trunk/Source/WebCore

Rename SOFT_LINK_{CONSTANT,FUNCTION}_{HEADER,SOURCE} to SOFT_LINK_{CONSTANT,FUNCTION}_FOR_{HEADER,SOURCE}
<http://webkit.org/b/142177>

Reviewed by Alex Christensen.

  • platform/cf/CoreMediaSoftLink.cpp:
  • Rename SOFT_LINK_{CONSTANT,FUNCTION}_SOURCE() to SOFT_LINK_{CONSTANT,FUNCTION}_FOR_SOURCE().
  • platform/cf/CoreMediaSoftLink.h:
  • Rename SOFT_LINK_{CONSTANT,FUNCTION}_HEADER() to SOFT_LINK_{CONSTANT,FUNCTION}_FOR_HEADER().
  • platform/mac/SoftLinking.h:
  • platform/win/SoftLinking.h:
  • Rename SOFT_LINK_{CONSTANT,FUNCTION}_{HEADER,SOURCE}() to SOFT_LINK_{CONSTANT,FUNCTION}_FOR_{HEADER,SOURCE}().
12:55 AM Changeset in webkit [181141] by svillar@igalia.com
  • 3 edits
    2 adds in trunk

[CSS Grid Layout] ASSERTION FAILED !track.growthLimitIsInfinite() in RenderGrid::computeUsedBreadthOfGridTracks
https://bugs.webkit.org/show_bug.cgi?id=142265

Reviewed by Darin Adler.

Source/WebCore:

The problem is that computeUsedBreadthOfGridTracks() could return

-1 for rows because we're calling computeContentLogicalHeight()
which can indeed return -1. In those cases we should clamp the
value to 0 the same as Flexbox does otherwise we could end up with
a negative value in the min track sizing function.

Test: fast/css-grid-layout/grid-indefinite-calculated-height-crash.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeUsedBreadthOfSpecifiedLength):

LayoutTests:

New test that crashes on Debug builds if we don't handle the case
of computeUsedBreadthOfGridTracks() returning -1.

  • fast/css-grid-layout/grid-indefinite-calculated-height-crash-expected.txt: Added.
  • fast/css-grid-layout/grid-indefinite-calculated-height-crash.html: Added.
12:00 AM Changeset in webkit [181140] by Antti Koivisto
  • 21 edits in trunk/Source/WebKit2

Move disk cache classes to namespace
https://bugs.webkit.org/show_bug.cgi?id=142339

Reviewed by Anders Carlsson.

Move everything to NetworkCache namespace.

Mar 5, 2015:

11:14 PM WebKitGTK/2.4.x edited by tpopela@redhat.com
(diff)
10:19 PM Changeset in webkit [181139] by Simon Fraser
  • 38 edits in trunk/Source/WebCore

Allow tree dumping functions to be used in release builds by switching a flag
https://bugs.webkit.org/show_bug.cgi?id=142379

Reviewed by Zalan Bujtas.

There are various tree dumping functions that are useful for debugging, and sometimes
you want to be able to use them in release builds. Currently they are surrounded by
in config.h

  • config.h:
  • dom/DocumentMarkerController.cpp:
  • dom/DocumentMarkerController.h:
  • dom/Element.cpp:
  • dom/Element.h:
  • dom/Node.cpp:
  • dom/Node.h:
  • dom/Position.cpp: Position::debugPosition(const char* msg) was available in release builds, but this changes

is to respect ENABLE_TREE_DEBUGGING, which I think is correct.

  • dom/Position.h:
  • dom/Range.cpp:
  • dom/Range.h:
  • dom/Text.cpp:
  • dom/Text.h:
  • rendering/CounterNode.cpp:
  • rendering/CounterNode.h:
  • rendering/InlineBox.cpp:
  • rendering/InlineBox.h:
  • rendering/InlineFlowBox.cpp:
  • rendering/InlineFlowBox.h:
  • rendering/InlineTextBox.cpp:
  • rendering/InlineTextBox.h:
  • rendering/RenderBlockFlow.cpp:
  • rendering/RenderBlockFlow.h:
  • rendering/RenderCounter.cpp:
  • rendering/RenderCounter.h:
  • rendering/RenderLayer.cpp:
  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::createGraphicsLayer):
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::updateForegroundLayer):
(WebCore::RenderLayerBacking::updateBackgroundLayer):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::CompositingState::CompositingState):
(WebCore::RenderLayerCompositor::updateLayerForTopOverhangArea):
(WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea):
(WebCore::RenderLayerCompositor::updateLayerForHeader):
(WebCore::RenderLayerCompositor::updateLayerForFooter):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
(WebCore::RenderLayerCompositor::ensureRootLayer):

  • rendering/RenderObject.cpp:
  • rendering/RenderObject.h: showTreeCharacterOffset was unused.
  • rendering/RootInlineBox.cpp:
  • rendering/RootInlineBox.h:
  • rendering/SimpleLineLayoutFunctions.cpp:
  • rendering/SimpleLineLayoutFunctions.h:
  • rendering/svg/SVGResources.cpp:
  • rendering/svg/SVGResources.h:
10:16 PM Changeset in webkit [181138] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

REGRESSION(r180924): ASSERTION FAILED: !from.isEmpty() in WebCore::TransformationMatrix::rectToRect
https://bugs.webkit.org/show_bug.cgi?id=142345

Reviewed by Martin Robinson.

This was caused by r180924 that postpones the creation of the
TextureMapper, which could cause that a layer has not yet a size
when TextureMapper::paint() is called. This patch moves the
creation of the TextureMapper to
LayerTreeHostGtk::setNativeSurfaceHandleForCompositing(), so that
it's created as soon as it's possible to create. This method is
called by the drawing area right after creating the
LayerTreeHostGtk if it already have a handler, or when the handle
is received from the UI process.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::initialize): Remove the
nsureTextureMapper call because at this point the layer context ID
is always 0, so it's impossible to create the TextureMapper.
(WebKit::LayerTreeHostGtk::compositeLayersToContext): Remove the
ensureTextureMapper call from here too, since at this point, if we
have a context, we should also have a TextureMapper. Add an ASSERT
right before using the TextureMapper.
(WebKit::LayerTreeHostGtk::setNativeSurfaceHandleForCompositing):
Create the TextureMapper here.
(WebKit::LayerTreeHostGtk::ensureTextureMapper): Deleted.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
9:17 PM Changeset in webkit [181137] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Mac] 'Gliding' phase of scroll snap points is incorrect on desktop
https://bugs.webkit.org/show_bug.cgi?id=142351
<rdar://problem/20058023>

Reviewed by Dean Jackson.

This problem was caused by incorrectly starting a new snapping animation timer when the
"end momentum" phase event had been received. This caused WebKit to recalculate the
animation curve for the remaining distance, resulting in the bad animation behavior.

Removing this incorrect start animation command when entering the momentum ended state
resolves the problem.

  • platform/cocoa/ScrollController.mm:

(WebCore::ScrollController::processWheelEventForScrollSnapOnAxis): Remove the command to
start a new snap animation when entering the "end momentum" state.

8:48 PM Changeset in webkit [181136] by commit-queue@webkit.org
  • 10 edits in trunk/Source/WebCore

Use std::unique_ptr instead of PassOwnPtr|OwnPtr for ResourceRequest
https://bugs.webkit.org/show_bug.cgi?id=142349

Patch by Joonghun Park <jh718.park@samsung.com> on 2015-03-05
Reviewed by Darin Adler.

No new tests, no behavior changes.

  • loader/WorkerThreadableLoader.cpp:

(WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::removeRequestFromSessionCaches):

  • platform/CrossThreadCopier.h:
  • platform/network/ResourceRequestBase.cpp:

(WebCore::ResourceRequestBase::adopt):
(WebCore::ResourceRequestBase::copyData):

  • platform/network/ResourceRequestBase.h:
  • platform/network/cf/ResourceRequest.h:
  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::doPlatformCopyData):
(WebCore::ResourceRequest::doPlatformAdopt):

  • platform/network/curl/ResourceRequest.h:

(WebCore::ResourceRequest::doPlatformCopyData):
(WebCore::ResourceRequest::doPlatformAdopt):

  • platform/network/soup/ResourceRequest.h:

(WebCore::ResourceRequest::doPlatformCopyData):
(WebCore::ResourceRequest::doPlatformAdopt):

8:48 PM Changeset in webkit [181135] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Give up on Attachment testing.

Just skip Attachments until they settle down. Also document more debug assertions.

  • platform/win/TestExpectations:
8:43 PM Changeset in webkit [181134] by oliver@apple.com
  • 33 edits in trunk

Block mixed mode content
https://bugs.webkit.org/show_bug.cgi?id=142378

Reviewed by Darin Adler.

Source/WebCore:

Switched to blocking mixed mode content by default,
and modify the blocking rules to allow us to match
the behaviours of other browsers.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::willSendRequest):

  • loader/MixedContentChecker.cpp:

(WebCore::MixedContentChecker::canDisplayInsecureContent):
(WebCore::MixedContentChecker::canRunInsecureContent):
(WebCore::MixedContentChecker::logWarning):

  • loader/MixedContentChecker.h:
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::contentTypeFromResourceType):
(WebCore::CachedResourceLoader::checkInsecureContent):

  • page/Settings.in:

LayoutTests:

Update test results to reflect the new reality.

  • http/tests/security/mixedContent/insecure-css-in-iframe-expected.txt:
  • http/tests/security/mixedContent/insecure-css-in-main-frame-expected.txt:
  • http/tests/security/mixedContent/insecure-iframe-in-main-frame-expected.txt:
  • http/tests/security/mixedContent/insecure-image-in-main-frame-expected.txt:
  • http/tests/security/mixedContent/insecure-plugin-in-iframe-expected.txt:
  • http/tests/security/mixedContent/insecure-script-in-iframe-expected.txt:
  • http/tests/security/mixedContent/insecure-xhr-in-main-frame-expected.txt:
  • http/tests/security/mixedContent/insecure-xhr-in-main-frame.html:
  • http/tests/security/mixedContent/redirect-http-to-https-iframe-in-main-frame-expected.txt:
  • http/tests/security/mixedContent/redirect-http-to-https-iframe-in-main-frame.html:
  • http/tests/security/mixedContent/redirect-http-to-https-script-in-iframe-expected.txt:
  • http/tests/security/mixedContent/redirect-https-to-http-iframe-in-main-frame-expected.txt:
  • http/tests/security/mixedContent/redirect-https-to-http-iframe-in-main-frame.html:
  • http/tests/security/mixedContent/redirect-https-to-http-script-in-iframe-expected.txt:
  • http/tests/security/mixedContent/resources/frame-with-insecure-frame.html:
  • http/tests/security/mixedContent/resources/frame-with-redirect-http-to-https-frame.html:
  • http/tests/security/mixedContent/resources/frame-with-redirect-https-to-http-frame.html:
  • http/tests/xmlhttprequest/access-control-response-with-body.html:
8:38 PM Changeset in webkit [181133] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Document::recalcStyle() shouldn't call viewportContentsChanged() if there is a pending layout
https://bugs.webkit.org/show_bug.cgi?id=142140

Reviewed by Darin Adler.

Stop calling FrameView::viewportContentsChanged() in Document::recalcStyle()
if there is a layout pending to avoid doing unncessary work. If there is a
layout pending, we don't need to do anything because viewportContentsChanged()
will be called after layout.

We only need to call FrameView::viewportContentsChanged() in
Document::recalcStyle() if a style recalc does not cause a layout. For e.g.
a '-webkit-transform' could make an animated GIF visible without causing a
layout, in which case we need to resume the animated GIF after style recalc.

No new tests, already covered by:
fast/images/animated-gif-webkit-transform.html

  • dom/Document.cpp:

(WebCore::Document::recalcStyle):

8:37 PM Changeset in webkit [181132] by benjamin@webkit.org
  • 2 edits
    4 copies
    1 delete in trunk/LayoutTests

new layout test http/tests/usercontentfilter/character-set-basic-support.html fails
https://bugs.webkit.org/show_bug.cgi?id=142376

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-03-05

  • http/tests/contentextensions/character-set-basic-support-expected.txt: Copied from LayoutTests/http/tests/usercontentfilter/character-set-basic-support-expected.txt.
  • http/tests/contentextensions/character-set-basic-support.html: Copied from LayoutTests/http/tests/usercontentfilter/character-set-basic-support.html.
  • http/tests/contentextensions/character-set-basic-support.html.json: Copied from LayoutTests/http/tests/usercontentfilter/character-set-basic-support.html.json.
  • http/tests/contentextensions/resources: Copied from LayoutTests/http/tests/usercontentfilter/resources.
  • http/tests/usercontentfilter: Removed.
  • http/tests/usercontentfilter/character-set-basic-support-expected.txt: Removed.
  • http/tests/usercontentfilter/character-set-basic-support.html: Removed.
  • http/tests/usercontentfilter/character-set-basic-support.html.json: Removed.
  • http/tests/usercontentfilter/resources: Removed.
  • http/tests/usercontentfilter/resources/url-blocking-test.js: Removed.
8:04 PM Changeset in webkit [181131] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

[iOS] TestExpectations for ios-simulator-wk2 should fall back to 'wk2' after 'ios-simulator'
<http://webkit.org/b/142226>

Reviewed by Darin Adler.

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort.default_baseline_search_path): Switch the
TestExpectations order of ios-simulator-wk2 from this:

ios-simulator-wk2, wk2, ios-simulator

To this:

ios-simulator-wk2, ios-simualtor, wk2

7:41 PM Changeset in webkit [181130] by Joseph Pecoraro
  • 3 edits in trunk/LayoutTests

Unreviewed Test Fix: Remove unnecessary reference to "window" causing test failure.

  • js/object-literal-shorthand-construction-expected.txt:
  • js/script-tests/object-literal-shorthand-construction.js:
7:21 PM WebKitEFLLayoutTest edited by gyuyoung.kim@samsung.com
(diff)
6:58 PM Changeset in webkit [181129] by Stephanie Lewis
  • 2 edits in trunk/LayoutTests

Mark http/tests/usercontentfilter/character-set-basic-support.html as failing.
https://bugs.webkit.org/show_bug.cgi?id=142376

Unreviewed.

6:09 PM Changeset in webkit [181128] by bshafiei@apple.com
  • 5 edits in tags/Safari-600.5.8.1/Source/WebCore

Merged r181005. rdar://problem/20044540

6:00 PM Changeset in webkit [181127] by bshafiei@apple.com
  • 5 edits in tags/Safari-600.5.8.1/Source

Versioning.

5:55 PM Changeset in webkit [181126] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.5.8.1

New tag.

5:39 PM Changeset in webkit [181125] by Brent Fulgham
  • 3 edits in trunk/Tools

[Win] Provide tiered logging from MSBuild -- Errors on top, Warnings after
https://bugs.webkit.org/show_bug.cgi?id=142370

Reviewed by Dean Jackson.

  • Scripts/webkitdirs.pm:

(buildVisualStudioProject): Tell MSBuild to output log files to two separate
logs, one for warnings, the other for errors.

  • win/AssembleBuildLogs/AssembleLogs.cmd: Combine the error and warning logs

into the standard BuildOutput.htm document.

5:33 PM Changeset in webkit [181124] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.5.9

New tag.

5:31 PM Changeset in webkit [181123] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS Media] Web video on iPad appears black and missing the AirPlay placard when connected to an AirPlay route
https://bugs.webkit.org/show_bug.cgi?id=142373
<rdar://problem/19866072>

Reviewed by Brent Fulgham.

There was no style for the placard, which meant it had
zero height (and thus was invisible).

  • Modules/mediacontrols/mediaControlsiOS.css:

(audio::-webkit-media-controls-wireless-playback-status): Added.
(audio::-webkit-media-controls-wireless-playback-status.hidden):

5:29 PM Changeset in webkit [181122] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Adjust volume box to not intersect with rest of inline media controls on OSX.
https://bugs.webkit.org/show_bug.cgi?id=142372.
<rdar://problem/20064327>

Reviewed by Brent Fulgham.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-panel .volume-box):
(audio::-webkit-media-controls-panel .volume-box:active):

5:16 PM Changeset in webkit [181121] by commit-queue@webkit.org
  • 6 edits
    3 adds in trunk

Source/JavaScriptCore:
ES6: Object Literal Extensions - Shorthand Properties (Identifiers)
https://bugs.webkit.org/show_bug.cgi?id=142353

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-05
Reviewed by Geoffrey Garen.

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseProperty):
Parsing an identifier property followed by a comma or end brace treat
as a shorthand property and create a property that has the same
property name as the identifier name and value of a variable with that
identifier. Otherwise, fall through to getter/setter parsing.

LayoutTests:
Web Inspector: Follow-up fixes to ObjectTreeBaseTreeElement
https://bugs.webkit.org/show_bug.cgi?id=142367

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-05
Reviewed by Geoffrey Garen.

  • js/object-literal-shorthand-construction-expected.txt: Added.
  • js/object-literal-shorthand-construction.html: Added.
  • js/script-tests/object-literal-shorthand-construction.js: Added.

(equivalent):
(testShorthandConstructionEquivalent):
(testShorthandConstructionNotEquivalent):
Tests specifically for new literal construction with shorthands.

  • sputnik/Conformance/12_Statement/12.1_Block/S12.1_A4_T1-expected.txt:
  • sputnik/Conformance/12_Statement/12.1_Block/S12.1_A4_T2-expected.txt:
  • sputnik/Conformance/12_Statement/12.6_Iteration_Statements/12.6.4_The_for_in_Statement/S12.6.4_A15-expected.txt:

These tests use object literal shorthand construction syntax and expected
failures. The tests now fail differently, so just rebase their results.

4:52 PM Changeset in webkit [181120] by roger_fong@apple.com
  • 3 edits in trunk/Source/WebCore

Implement new fullscreen media controls on Mac.
https://bugs.webkit.org/show_bug.cgi?id=142355.
<rdar://problem/16175787>
Reviewed by Dean Jackson.
Adjust sizes and positioning of all fullscreen media control elements.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-fullscreen-button.exit): Update to match entering fullscreen button.
(video:-webkit-full-screen::-webkit-media-controls-panel):
(video:-webkit-full-screen::-webkit-media-controls-panel .volume-box):
(video:-webkit-full-screen::-webkit-media-controls-volume-slider):
(video:-webkit-full-screen::-webkit-media-controls-volume-max-button):
(video:-webkit-full-screen::-webkit-media-controls-volume-min-button):
(video:-webkit-full-screen::-webkit-media-controls-play-button):
(video:-webkit-full-screen::-webkit-media-controls-play-button.paused):
(video:-webkit-full-screen::-webkit-media-controls-seek-back-button):
(video:-webkit-full-screen::-webkit-media-controls-seek-forward-button):
(video:-webkit-full-screen::-webkit-media-controls-timeline-container):
(video:-webkit-full-screen::-webkit-media-controls-current-time-display):
(video:-webkit-full-screen::-webkit-media-controls-time-remaining-display):
(audio:-webkit-full-screen::-webkit-media-controls-toggle-closed-captions-button):
(video:-webkit-full-screen::-webkit-media-controls-volume-slider::-webkit-slider-thumb): Deleted.
(video:-webkit-full-screen::-webkit-media-controls-rewind-button): Deleted. Not used in full screen.

4:49 PM Changeset in webkit [181119] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Follow-up fixes to ObjectTreeBaseTreeElement
https://bugs.webkit.org/show_bug.cgi?id=142367

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-05
Reviewed by Timothy Hatcher.

  • UserInterface/Views/ObjectTreeMapEntryTreeElement.js:

(WebInspector.ObjectTreeMapEntryTreeElement.prototype.propertyPathType):

  • UserInterface/Views/ObjectTreeSetIndexTreeElement.js:

(WebInspector.ObjectTreeSetIndexTreeElement.prototype.resolvedValuePropertyPath):
(WebInspector.ObjectTreeSetIndexTreeElement.prototype._titleFragment):

4:46 PM Changeset in webkit [181118] by timothy_horton@apple.com
  • 5 edits
    4 adds in trunk

<attachment> should allow the title property to override its title
https://bugs.webkit.org/show_bug.cgi?id=142369

Reviewed by Anders Carlsson.

Test: fast/attachment/attachment-title.html

  • html/HTMLAttachmentElement.cpp:

(WebCore::HTMLAttachmentElement::parseAttribute):
Invalidate the attachment if the title changes.

(WebCore::HTMLAttachmentElement::attachmentTitle):
Use the title attribute for the title, unless it's empty, in which
case we'll use the file's name.

  • html/HTMLAttachmentElement.h:
  • rendering/RenderThemeMac.mm:

(WebCore::AttachmentLayout::layOutTitle):
Use attachmentTitle() instead of reaching into the file. Also rename
some things from filename to title.

  • fast/attachment/attachment-title.html: Added.
  • platform/mac/fast/attachment/attachment-title-expected.png: Added.
  • platform/mac/fast/attachment/attachment-title-expected.txt: Added.

Add a test for the title property.

4:44 PM Changeset in webkit [181117] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: console.debug/info should show up in Log Console Filter
https://bugs.webkit.org/show_bug.cgi?id=142300

Patch by Tobias Reiss <tobi+webkit@basecode.de> on 2015-03-05
Reviewed by Joseph Pecoraro.

Add WebInspector.ConsoleMessage.MessageLevel.Debug case that allows console.debug/info
to show up in Log Console Filter.

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype._filterMessages):

4:40 PM Changeset in webkit [181116] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

Dashboard has trouble parsing iOS test output
<http://webkit.org/b/142364>

Reviewed by Alex Christensen.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTestResults.js:

(BuildbotTestResults.prototype._parseResults.resultSummarizer):
Add fallback path to build a regex using 'matchString' so that
it matches anywhere in the line. In practice, 'matchString' is
a prefix for the label following the number.

4:36 PM Changeset in webkit [181115] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

Two text carets result when dragging a file into a contentEditable area that preventDefault()s the "drop" event
https://bugs.webkit.org/show_bug.cgi?id=142362
<rdar://problem/20046434>

Reviewed by Simon Fraser.

  • page/DragController.h:
  • page/DragController.cpp:

(WebCore::DragController::clearDragCaret):
Rename cancelDrag to clearDragCaret, since that's really what it does.

(WebCore::DragController::tryDocumentDrag):
When updating the drag position, if we're now over a <input type="file">,
clear the drag caret. This avoids leaving a caret behind when dragging
over a <input type="file"> inside a contentEditable area.

(WebCore::DragController::performDragOperation):
When the content preventDefault()s while finishing a drag, we should still
clear the drag caret, because it's possible that the client did not
preventDefault() on dragover/etc., so we would have set a cursor, and
now need to clear it so that it doesn't get left behind.

(WebCore::DragController::mouseMovedIntoDocument):
(WebCore::DragController::dragEnteredOrUpdated):
(WebCore::DragController::concludeEditDrag):
Adjust to renamed clearDragCaret.

(WebCore::DragController::dragEnded):
Make use of clearDragCaret (which is equivalent to this line).

4:34 PM Changeset in webkit [181114] by timothy_horton@apple.com
  • 6 edits
    4 adds in trunk

<attachment> should support indication of download progress
https://bugs.webkit.org/show_bug.cgi?id=142336
<rdar://problem/19982504>

Reviewed by Anders Carlsson.

  • html/HTMLAttachmentElement.cpp:

(WebCore::HTMLAttachmentElement::parseAttribute):
Invalidate the attachment if the progress attribute changes.

  • platform/graphics/FloatRoundedRect.h:

(WebCore::FloatRoundedRect::Radii::Radii):
Add a Radii constructor that takes a single argument that is used
as the radius for all corners, for convenience.

  • rendering/RenderThemeMac.mm:

(WebCore::attachmentProgressBarBackgroundColor):
(WebCore::attachmentProgressBarFillColor):
(WebCore::attachmentProgressBarBorderColor):
Add a bunch of constants for the progress bar.

(WebCore::paintAttachmentIconBackground):
Make use of fillRoundedRect instead of creating a path.

(WebCore::paintAttachmentProgress):
(WebCore::RenderThemeMac::paintAttachment):
Paint a progress bar if the progress attribute exists and
is a valid floating point number.

  • fast/attachment/attachment-progress.html: Added.
  • platform/mac/fast/attachment/attachment-progress-expected.png: Added.
  • platform/mac/fast/attachment/attachment-progress-expected.txt: Added.
  • platform/mac-mavericks/fast/attachment/attachment-progress-expected.txt: Added.

Add a test for the <attachment> progress attribute.

  • platform/mac/fast/attachment/attachment-rendering-expected.png:

Rebaseline a test that changed in r181058 (and will change again!), but
which didn't start failing because the pixel test tolerance is such that
it only fails the hash check and not the test itself.

4:29 PM Changeset in webkit [181113] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Fix linker warnings in TestWebKitAPI.
https://bugs.webkit.org/show_bug.cgi?id=141912

Patch by Alex Christensen <achristensen@webkit.org> on 2015-03-05
Reviewed by David Kilzer.

  • TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig:

Do not export TearDownTestCase or SetUpTestCase symbols.

4:21 PM Changeset in webkit [181112] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Unreviewed EWS fix.

  • Scripts/webkitdirs.pm:

(buildVisualStudioProject): Dial logging back to 'ErrorsOnly' to see if that makes
the EWS output more usable.

3:58 PM Changeset in webkit [181111] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r180846.
https://bugs.webkit.org/show_bug.cgi?id=142368

Caused missing image banners in iTunes store pages (Requested
by smfr on #webkit).

Reverted changeset:

"FrameView::layoutTimerFired() should update style if needed
before doing layout"
https://bugs.webkit.org/show_bug.cgi?id=141688
http://trac.webkit.org/changeset/180846

3:56 PM Changeset in webkit [181110] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Fix the build when NEON_INTRINSICS is enabled
https://bugs.webkit.org/show_bug.cgi?id=142361

Patch by Sandy Perez <sperez@indaba.es> on 2015-03-05
Reviewed by Csaba Osztrogonác.

  • platform/graphics/cpu/arm/filters/FEBlendNEON.h:

(WebCore::FEBlend::platformApplySoftware):

  • platform/graphics/filters/FEGaussianBlur.cpp:

(WebCore::standardBoxBlur):

3:54 PM Changeset in webkit [181109] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.21/Source/WebCore

Roll out r180846. <rdar://problem/20059890>

3:53 PM Changeset in webkit [181108] by Chris Dumez
  • 9 edits in branches/safari-600.4-branch/Tools

Merge r181093 to fix layout testing on bots

2015-03-05 Chris Dumez <Chris Dumez>

run-webkit-tests and run-perf-tests should use WebKitTestRunner by default
https://bugs.webkit.org/show_bug.cgi?id=142325

Reviewed by Csaba Osztrogonác.

run-webkit-tests and run-perf-tests now use WebKitTestRunner by default.
As a result, "--webkit-test-runner / -2" parameters are replaced by
"--dump-render-tree / -1" so developers can run DumpRenderTree rather
than WebKitTestRunner.

3:47 PM Changeset in webkit [181107] by benjamin@webkit.org
  • 3 edits
    5 adds in trunk

Add basic support for character sets to the URL Filter parser
https://bugs.webkit.org/show_bug.cgi?id=142257

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-03-05
Reviewed by Alex Christensen.

Source/WebCore:

This patch is a first step toward making the URL filter parser a bit
more powerful: it adds support for character set atom.

I did not attempt to integrate that into the prefix tree in this patch,
instead, the GraphBuilder gets a two modes of generating the NFA:
PrefixTree and DirectGeneration.

As long as we only see trivial atoms, we use the PrefixTree generation
to minimize the number of nodes we need. As soon as we start a character
class, we switch to DirectGeneration and we generate the NFA from the input
without merging with previously seen patterns.

To differentiate between Trivial atoms and CharacterSet, we also gain
an AtomType state.

The character set themself are very simple: each character is represented by
a bit in a 16bytes bit vector.

  • contentextensions/URLFilterParser.cpp:

(WebCore::ContentExtensions::quantifyTrivialAtom):
(WebCore::ContentExtensions::GraphBuilder::atomPatternCharacter):
(WebCore::ContentExtensions::GraphBuilder::atomBuiltInCharacterClass):
(WebCore::ContentExtensions::GraphBuilder::quantifyAtom):
(WebCore::ContentExtensions::GraphBuilder::atomBackReference):
(WebCore::ContentExtensions::GraphBuilder::atomCharacterClassBegin):
(WebCore::ContentExtensions::GraphBuilder::atomCharacterClassAtom):
(WebCore::ContentExtensions::GraphBuilder::atomCharacterClassRange):
(WebCore::ContentExtensions::GraphBuilder::atomCharacterClassEnd):
(WebCore::ContentExtensions::GraphBuilder::atomCharacterClassBuiltIn):
(WebCore::ContentExtensions::GraphBuilder::sinkAtom):
(WebCore::ContentExtensions::GraphBuilder::generateTransition):
(WebCore::ContentExtensions::GraphBuilder::sinkTrivialAtom):
(WebCore::ContentExtensions::GraphBuilder::sinkCharacterSet):
(WebCore::ContentExtensions::GraphBuilder::sinkPendingAtomIfNecessary):

LayoutTests:

  • http/tests/usercontentfilter/character-set-basic-support-expected.txt: Added.
  • http/tests/usercontentfilter/character-set-basic-support.html: Added.
  • http/tests/usercontentfilter/character-set-basic-support.html.json: Added.
  • http/tests/usercontentfilter/resources/url-blocking-test.js: Added.
3:37 PM Changeset in webkit [181106] by Brent Fulgham
  • 2 edits in trunk/Source/JavaScriptCore

[Win] Unreviewed gardening.

Confirmed with JSC that warning 4611 (interaction between '_setjmp' and C++ object
destruction is non-portable) should be ignored in the JavaScriptCore project.

  • JavaScriptCore.vcxproj/JavaScriptCoreCommon.props: Silence warning 4611.
3:34 PM Changeset in webkit [181105] by benjamin@webkit.org
  • 11 edits in trunk

Regression(r173761): ASSERTION FAILED: !is8Bit() in StringImpl::characters16()
https://bugs.webkit.org/show_bug.cgi?id=142350

Patch by Chris Dumez <Chris Dumez> on 2015-03-05
Reviewed by Michael Saboff and Benjamin Poulain.

Source/JavaScriptCore:

Call WTFString::hasInfixStartingAt() / hasInfixEndingAt() now that these
methods have been renamed for clarity.

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncStartsWith):
(JSC::stringProtoFuncEndsWith):

Source/WTF:

Fix ASSERTION FAILED: !is8Bit() in StringImpl::characters16() from
WTF::equalInner() after r173761. The code was incorrectly assuming that
if stringImpl is 16-bit, then matchString is 16-bit too, which is not
correct.

Also rename WTFString::startsWith() / endsWith() taking an offset to
hasInfixStartingAt() / hasInfixEndingAt() for clarity. It seems odd
to call it startsWith even though it won't technically *start* with
the pattern if the input offset is greater than zero.

Also drop the caseSensitive argument as it is never used (always true
at call sites.

  • wtf/text/StringImpl.cpp:

(WTF::equalInner):
(WTF::StringImpl::hasInfixStartingAt):
(WTF::StringImpl::hasInfixEndingAt):
(WTF::StringImpl::startsWith): Deleted.
(WTF::StringImpl::endsWith): Deleted.

  • wtf/text/StringImpl.h:
  • wtf/text/WTFString.h:

(WTF::String::hasInfixStartingAt):
(WTF::String::hasInfixEndingAt):
(WTF::String::startsWith): Deleted.
(WTF::String::endsWith): Deleted.

Tools:

Add API test for WTFString::hasInfixStartingAt() to make sure it doesn't
crash if the string is 8-bit but the pattern is 16-bit (and vice-versa).

  • TestWebKitAPI/Tests/WTF/WTFString.cpp:

(TestWebKitAPI::TEST):

LayoutTests:

Update String.startsWith() / endsWith() test to cover cases where the
input string is 8-bit and the pattern is 16-bit, and vice-versa.

  • js/script-tests/string-includes.js:
  • js/string-includes-expected.txt:
3:30 PM Changeset in webkit [181104] by Chris Dumez
  • 9 edits in branches/safari-600.4.10-branch/Tools

Merge r181093 to fix layout testing on bots

2015-03-05 Chris Dumez <Chris Dumez>

run-webkit-tests and run-perf-tests should use WebKitTestRunner by default
https://bugs.webkit.org/show_bug.cgi?id=142325

Reviewed by Csaba Osztrogonác.

run-webkit-tests and run-perf-tests now use WebKitTestRunner by default.
As a result, "--webkit-test-runner / -2" parameters are replaced by
"--dump-render-tree / -1" so developers can run DumpRenderTree rather
than WebKitTestRunner.

2:47 PM Changeset in webkit [181103] by dino@apple.com
  • 3 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merge r180906. <rdar://problem/20058845>

2:28 PM Changeset in webkit [181102] by dino@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merge r181085. <rdar://problem/20058743>

2015-03-04 Dean Jackson <dino@apple.com>

[iOS Media] Small inline controls can clip the time widgets
https://bugs.webkit.org/show_bug.cgi?id=142319

Reviewed by Eric Carlson.

Start counting the number of digits in a duration so that
we can assign classes to the time widgets that specify
a minimum width.

  • Modules/mediacontrols/mediaControlsApple.css: Replace the hour-long and ten-hour-long classes with number of digits. (audio::-webkit-media-controls-time-remaining-display.five-digit-time): (audio::-webkit-media-controls-current-time-display.five-digit-time): (audio::-webkit-media-controls-time-remaining-display.six-digit-time): (audio::-webkit-media-controls-current-time-display.six-digit-time): (audio::-webkit-media-controls-time-remaining-display.hour-long-time): Deleted. (audio::-webkit-media-controls-current-time-display.hour-long-time): Deleted. (audio::-webkit-media-controls-time-remaining-display.ten-hour-long-time): Deleted. (audio::-webkit-media-controls-current-time-display.ten-hour-long-time): Deleted.
  • Modules/mediacontrols/mediaControlsApple.js: Add some new class names. (Controller.prototype.updateDuration): Set the class of the time widgets when we know how long the media runs.
  • Modules/mediacontrols/mediaControlsiOS.css: Values for iOS that are big enough to avoid clipping. (video::-webkit-media-controls-current-time-display): (video::-webkit-media-controls-time-remaining-display): (video::-webkit-media-controls-current-time-display.three-digit-time): (video::-webkit-media-controls-time-remaining-display.three-digit-time): (video::-webkit-media-controls-current-time-display.four-digit-time): (video::-webkit-media-controls-time-remaining-display.four-digit-time): (video::-webkit-media-controls-current-time-display.five-digit-time): (video::-webkit-media-controls-time-remaining-display.five-digit-time): (video::-webkit-media-controls-current-time-display.six-digit-time): (video::-webkit-media-controls-time-remaining-display.six-digit-time): (audio::-webkit-media-controls-timeline-container): Deleted. (video::-webkit-media-text-track-container): Deleted.
2:25 PM Changeset in webkit [181101] by Chris Dumez
  • 9 edits in branches/safari-600.5-branch/Tools

Merge r181093 to fix layout testing on bots

2015-03-05 Chris Dumez <Chris Dumez>

run-webkit-tests and run-perf-tests should use WebKitTestRunner by default
https://bugs.webkit.org/show_bug.cgi?id=142325

Reviewed by Csaba Osztrogonác.

run-webkit-tests and run-perf-tests now use WebKitTestRunner by default.
As a result, "--webkit-test-runner / -2" parameters are replaced by
"--dump-render-tree / -1" so developers can run DumpRenderTree rather
than WebKitTestRunner.

1:54 PM Changeset in webkit [181100] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Minor touchups to inline media control icons.
https://bugs.webkit.org/show_bug.cgi?id=142354.
<rdar://problem/20058854>.

Reviewed by Brent Fulgham.

Increase sizes of play/pause and fullscreen buttons slightly.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-play-button):
(audio::-webkit-media-controls-play-button.paused):
(audio::-webkit-media-controls-fullscreen-button):

1:41 PM Changeset in webkit [181099] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

WKWebView Encoder for remote object communication does not implement encodeInt32:forKey:
https://bugs.webkit.org/show_bug.cgi?id=142356
rdar://problem/20058952

Reviewed by Tim Horton.

  • Shared/API/Cocoa/WKRemoteObjectCoder.mm:

(-[WKRemoteObjectEncoder encodeInt32:forKey:]):
(-[WKRemoteObjectDecoder decodeInt32ForKey:]):

1:38 PM Changeset in webkit [181098] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Ensure build target directory exists when launching MSBuild
https://bugs.webkit.org/show_bug.cgi?id=142360

Reviewed by Dean Jackson.

Create the build output directory (if it doesn't exist) before
launching MSBuild so that it can immediately begin writing logs.

  • Scripts/webkitdirs.pm:

(buildVisualStudioProject):

1:32 PM Changeset in webkit [181097] by Lucas Forschler
  • 1 edit in trunk/Tools/BuildSlaveSupport/build.webkit.org-config/config.json

fix config.json.

1:09 PM Changeset in webkit [181096] by roger_fong@apple.com
  • 5 edits in trunk

Update inline media control icons for OSX.
https://bugs.webkit.org/show_bug.cgi?id=142305.
<rdar://problem/19997484>

Reviewed by Dean Jackson.

Changes include: new volume button, new full screen button, new play/pause button.
Repositioning of 30 second and play buttons.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-panel button):
(audio::-webkit-media-controls-rewind-button):
(audio::-webkit-media-controls-play-button):
(audio::-webkit-media-controls-play-button.paused):
(audio::-webkit-media-controls-panel .mute-box):
(video::-webkit-media-controls-volume-max-button):
(video::-webkit-media-controls-volume-min-button):
(audio::-webkit-media-controls-toggle-closed-captions-button):
(audio::-webkit-media-controls-fullscreen-button):
(audio::-webkit-media-controls-current-time-display):

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.configureInlineControls): Swap positions of rewind and play buttons.
(Controller.prototype.handleMuteButtonClicked): Remember to update volume slider when necessary.
(Controller.prototype.updateVolume): Ditto

  • platform/mac/TestExpectations: Skip two failing tests caused by this patch.

See https://bugs.webkit.org/show_bug.cgi?id=142142

12:56 PM Changeset in webkit [181095] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source

Versioning.

12:27 PM Changeset in webkit [181094] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

Caps lock indicator lays out in wrong place.

12:11 PM Changeset in webkit [181093] by Chris Dumez
  • 10 edits in trunk/Tools

run-webkit-tests and run-perf-tests should use WebKitTestRunner by default
https://bugs.webkit.org/show_bug.cgi?id=142325

Reviewed by Csaba Osztrogonác.

run-webkit-tests and run-perf-tests now use WebKitTestRunner by default.
As a result, "--webkit-test-runner / -2" parameters are replaced by
"--dump-render-tree / -1" so developers can run DumpRenderTree rather
than WebKitTestRunner.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(RunWebKit1Tests):
(RunWebKit1Tests.start):
(RunWebKit1LeakTests):
(RunWebKit1LeakTests.start):
(RunAndUploadPerfTestsWebKit1):
(RunAndUploadPerfTestsWebKit1.start):
(TestFactory):
(TestWebKit1LeaksFactory):
(TestWebKit1LeaksFactory.init):
(TestWebKit1Factory):
(TestWebKit1AllButJSCFactory):
(TestAllButJSCFactory):
(BuildAndPerfTestWebKit1Factory):
(BuildAndPerfTestWebKit1Factory.init):
(BuildAndPerfTestFactory):
(BuildAndPerfTestFactory.init):
(DownloadAndPerfTestWebKit1Factory):
(DownloadAndPerfTestWebKit1Factory.init):
(DownloadAndPerfTestFactory):
(DownloadAndPerfTestFactory.init):
(RunWebKitLeakTests): Deleted.
(RunWebKitLeakTests.start): Deleted.
(RunWebKit2Tests): Deleted.
(RunWebKit2Tests.start): Deleted.
(RunAndUploadPerfTestsWebKit2): Deleted.
(RunAndUploadPerfTestsWebKit2.start): Deleted.
(TestLeaksFactory): Deleted.
(TestLeaksFactory.init): Deleted.
(TestWebKit2Factory): Deleted.
(TestWebKit2AndJSCFactory): Deleted.
(BuildAndPerfTestWebKit2Factory): Deleted.
(BuildAndPerfTestWebKit2Factory.init): Deleted.
(DownloadAndPerfTestWebKit2Factory): Deleted.
(DownloadAndPerfTestWebKit2Factory.init): Deleted.

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(parse_args):

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner._parse_args):

  • Scripts/webkitpy/port/port_testcase.py:

(PortTestCase.test_build_driver):

12:05 PM Changeset in webkit [181092] by Brent Fulgham
  • 3 edits in trunk/Tools

[Win] Switch to MSBuild so we get more useful stdout logging in buildbot
https://bugs.webkit.org/show_bug.cgi?id=140845

Reviewed by David Kilzer.

Update 'webkitdirs.pm' to locate the MSBuild used with Visual Studio 2013
and generate suitable build commands to drive a full build from our
existing solution files.

  • Scripts/webkitdirs.pm:

(msBuildInstallDir): Added.
(determineConfigurationForVisualStudio): Revise to use MSBuild command
line arguments to drive the build.
(setupCygwinEnv): Warn user if MSBuild cannot be located.
(buildVisualStudioProject): Revise to use MSBuild command line arguments
to specify build architecture.

  • win/AssembleBuildLogs/AssembleLogs.cmd: MSBuild doesn't produce individual

output logs, so don't attempt to consolidate them. Also: Drive-by fix: Don't
bother looking for CoreUI or SafariTheme build logs.

11:52 AM Changeset in webkit [181091] by dino@apple.com
  • 4 edits in trunk/Source/WebCore

[iOS Media] Use a blurry background for media controls
https://bugs.webkit.org/show_bug.cgi?id=142316
<rdar://problem/14911098>

Reviewed by Eric Carlson.

Start using the -webkit-appearance media-controls-light-bar-background
in order to get the blurry background of media controls.

  • Modules/mediacontrols/mediaControlsApple.js: Keep the panel and the

panel background in sync when it comes to hiding and showing. It would
be better if this could be done on a container element in the future.
(Controller.prototype.handlePanelTransitionEnd):
(Controller.prototype.setPlaying):
(Controller.prototype.showControls):
(Controller.prototype.hideControls):

  • Modules/mediacontrols/mediaControlsiOS.css: New background container

with the special appearance. I also renamed "composited-parent" to
"container", which makes more sense.
(video::-webkit-media-controls-panel-container):
(audio::-webkit-media-controls-panel-container):
(video::-webkit-media-controls-panel-background):
(audio::-webkit-media-controls-panel-background):
(video::-webkit-media-controls-panel-background.paused):
(video::-webkit-media-controls-panel):
(audio::-webkit-media-controls-panel):
(video::-webkit-media-controls-panel.paused):
(audio::-webkit-media-controls-optimized-fullscreen-button):
(audio::-webkit-media-controls-timeline):
(audio::-webkit-media-controls-timeline::-webkit-slider-thumb):
(video::-webkit-media-controls-panel-composited-parent): Deleted.
(video::-webkit-media-controls-panel:hover): Deleted.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.createControls): Create the new background element.
(ControllerIOS.prototype.addControls):
(ControllerIOS.prototype.set pageScaleFactor): Temporarily disable
this because the background disappears when the zoom factor
is too high - we start tiling the background. This will be addressed
by https://bugs.webkit.org/show_bug.cgi?id=142317.

11:51 AM Changeset in webkit [181090] by mmaxfield@apple.com
  • 7 edits in trunk/Source/WebCore

Mechanical text-related cleanup
https://bugs.webkit.org/show_bug.cgi?id=142326

Reviewed by Andreas Kling.

Use nullptr instead of 0.
Use references instead of pointers.

No new tests because there is no behavior change.

  • platform/graphics/cocoa/FontCascadeCocoa.mm:

(WebCore::FontCascade::adjustSelectionRectForComplexText):
(WebCore::FontCascade::getGlyphsAndAdvancesForComplexText):
(WebCore::FontCascade::floatWidthForComplexText):
(WebCore::FontCascade::offsetForPositionForComplexText):

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::TextLayout::TextLayout):
(WebCore::ComplexTextController::ComplexTextController):

  • platform/graphics/mac/ComplexTextController.h:
  • rendering/InlineIterator.h:

(WebCore::InlineIterator::InlineIterator):
(WebCore::InlineIterator::clear):
(WebCore::bidiNextShared):
(WebCore::bidiNextSkippingEmptyInlines):
(WebCore::bidiNextIncludingEmptyInlines):
(WebCore::InlineWalker::InlineWalker):
(WebCore::InlineIterator::increment):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::setLogicalWidthForTextRun):
(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::measureHyphenWidth):
(WebCore::textWidth):
(WebCore::tryHyphenating):
(WebCore::BreakingContext::handleText):
(WebCore::BreakingContext::optimalLineBreakLocationForTrailingWord):

11:40 AM Changeset in webkit [181089] by commit-queue@webkit.org
  • 6 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: Add ObjectTreeBaseTreeElement to share functionality
https://bugs.webkit.org/show_bug.cgi?id=142323

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-05
Reviewed by Timothy Hatcher.

By making this change:

  • Share lots of duplicated code.
  • Array / Set / Map tree elements get context menu support
  • UserInterface/Main.html:
  • UserInterface/Views/ObjectTreeBaseTreeElement.js: Added.

(WebInspector.ObjectTreeBaseTreeElement):
(WebInspector.ObjectTreeBaseTreeElement.prototype.get property):
(WebInspector.ObjectTreeBaseTreeElement.prototype.get propertyPath):
(WebInspector.ObjectTreeBaseTreeElement.prototype.oncontextmenu):
(WebInspector.ObjectTreeBaseTreeElement.prototype.resolvedValue):
(WebInspector.ObjectTreeBaseTreeElement.prototype.resolvedValuePropertyPath):
(WebInspector.ObjectTreeBaseTreeElement.prototype.thisPropertyPath):
(WebInspector.ObjectTreeBaseTreeElement.prototype.hadError):
(WebInspector.ObjectTreeBaseTreeElement.prototype.propertyPathType):
(WebInspector.ObjectTreeBaseTreeElement.prototype.propertyPathString):
(WebInspector.ObjectTreeBaseTreeElement.prototype.createInteractiveGetterElement):
(WebInspector.ObjectTreeBaseTreeElement.prototype.createReadOnlyIconElement):
New file, copying most of the code from PropertyTreeElement so it can be shared.

  • UserInterface/Views/ObjectTreeArrayIndexTreeElement.js:

(WebInspector.ObjectTreeArrayIndexTreeElement):
(WebInspector.ObjectTreeArrayIndexTreeElement.prototype.invokedGetter):
(WebInspector.ObjectTreeArrayIndexTreeElement.prototype._titleFragment):
(WebInspector.ObjectTreeArrayIndexTreeElement.prototype.get property): Deleted.
(WebInspector.ObjectTreeArrayIndexTreeElement.prototype._resolvedValue): Deleted.
(WebInspector.ObjectTreeArrayIndexTreeElement.prototype._propertyPathType): Deleted.
(WebInspector.ObjectTreeArrayIndexTreeElement.prototype._resolvedValuePropertyPath): Deleted.
(WebInspector.ObjectTreeArrayIndexTreeElement.prototype._thisPropertyPath): Deleted.
(WebInspector.ObjectTreeArrayIndexTreeElement.prototype._propertyPathString): Deleted.
(WebInspector.ObjectTreeArrayIndexTreeElement.prototype._updateTitle): Deleted.
(WebInspector.ObjectTreeArrayIndexTreeElement.prototype._createInteractiveGetterElement.): Deleted.
(WebInspector.ObjectTreeArrayIndexTreeElement.prototype._createReadOnlyIconElement): Deleted.

  • UserInterface/Views/ObjectTreePropertyTreeElement.js:

(WebInspector.ObjectTreePropertyTreeElement):
(WebInspector.ObjectTreePropertyTreeElement.prototype.invokedGetter):
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateHasChildren):
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateTooltips):
(WebInspector.ObjectTreePropertyTreeElement.prototype._titleFragment):
(WebInspector.ObjectTreePropertyTreeElement.prototype._createTitlePrototype):
(WebInspector.ObjectTreePropertyTreeElement.prototype._createTitlePropertyStyle):
(WebInspector.ObjectTreePropertyTreeElement.prototype._createTitleAPIStyle):
(WebInspector.ObjectTreePropertyTreeElement.prototype._alwaysDisplayAsProperty):
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateChildren):
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateChildrenInternal):
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateEntries):
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateProperties):
(WebInspector.ObjectTreePropertyTreeElement.prototype.get property): Deleted.
(WebInspector.ObjectTreePropertyTreeElement.prototype.oncontextmenu): Deleted.
(WebInspector.ObjectTreePropertyTreeElement.prototype._resolvedValue): Deleted.
(WebInspector.ObjectTreePropertyTreeElement.prototype._propertyPathType): Deleted.
(WebInspector.ObjectTreePropertyTreeElement.prototype._resolvedValuePropertyPath): Deleted.
(WebInspector.ObjectTreePropertyTreeElement.prototype._thisPropertyPath): Deleted.
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitleAndIcon): Deleted.
(WebInspector.ObjectTreePropertyTreeElement.prototype._createInteractiveGetterElement.): Deleted.
(WebInspector.ObjectTreePropertyTreeElement.prototype._createReadOnlyIconElement): Deleted.
(WebInspector.ObjectTreePropertyTreeElement.prototype): Deleted.
Subclass ObjectTreeBaseTreeElement and eliminate the code now
automatically handled by the base class.

  • UserInterface/Views/ObjectTreeMapEntryTreeElement.js:

(WebInspector.ObjectTreeMapEntryTreeElement):
(WebInspector.ObjectTreeMapEntryTreeElement.prototype.resolvedValue):
(WebInspector.ObjectTreeMapEntryTreeElement.prototype._titleFragment):
(WebInspector.ObjectTreeMapEntryTreeElement.prototype._propertyPathString): Deleted.

  • UserInterface/Views/ObjectTreeSetIndexTreeElement.js:

(WebInspector.ObjectTreeSetIndexTreeElement):
(WebInspector.ObjectTreeSetIndexTreeElement.prototype.resolvedValue):
(WebInspector.ObjectTreeSetIndexTreeElement.prototype._titleFragment):
(WebInspector.ObjectTreeSetIndexTreeElement.prototype._resolvedValuePropertyPath): Deleted.
Override resolved value since these are not about PropertyDescriptors.
This will make context menus work automatically.

11:32 AM Changeset in webkit [181088] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

[buildbot] mastercfg_unittest.py should be runnable easily
https://bugs.webkit.org/show_bug.cgi?id=142219

Reviewed by Chris Dumez.

Buildbot 0.8.6p1 runs on build.webkit org with Twisted 12.1.0, which is
the last Twisted version works together with this buildbot version.

  • Scripts/webkitpy/common/system/autoinstall.py:

(AutoInstaller): Added prepend_to_search_path argument to be able
to prefer autoinstalled package to system package.
(AutoInstaller.init):
(AutoInstaller._set_up_target_dir):
(AutoInstaller._extract_tar): Renamed from _extract_targz, now it works with tar.bz2 too.
(AutoInstaller._prepare_package):
(AutoInstaller._extract_targz): Renamed to _extract_tar.

  • Scripts/webkitpy/thirdparty/init.py:

(AutoinstallImportHook._install_buildbot): Autoinstall Twisted 12.1.0.

11:32 AM Changeset in webkit [181087] by Brent Fulgham
  • 10 edits
    2 moves in trunk/Source/WebCore

Move AxisScrollSnapAnimator logic to ScrollController
https://bugs.webkit.org/show_bug.cgi?id=142293
<rdar://problem/20039867>

Reviewed by Dean Jackson.

No change in function.

Move the animation logic out of 'AxisScrollSnapAnimator' into 'ScrollController'. Rename the remaining
bits of 'AxisScrollSnapAnimator' as 'ScrollSnapAnimatorState'. Remove a number of delegate methods required
by 'AxisScrollSnapAnimatorClient' that are no longer needed.

Also, break up some of the Scroll Snap Point math to be a little easier to understand.

  • WebCore.xcodeproj/project.pbxproj: Rename 'platform/mac/AxisScrollSnapAnimator.{h,mm}' -> 'platform/cocoa/ScrollSnapAnimatorState.h'
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h: Mark 'scrollOffsetOnAxis' as const.
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::scrollOffsetOnAxis): Make 'const'

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::scrollOffsetOnAxis): Make 'const'

  • platform/ScrollAnimator.h:
  • platform/cocoa/ScrollController.h: No longer subclass from AxisScrollSnapAnimatorClient.
  • platform/cocoa/ScrollController.mm:

(WebCore::ScrollController::scrollSnapPointState): Added accessors (const and non-const) for the individual
Scroll Snap State of each axis.
(WebCore::toWheelEventStatus): Moved from AxisScrollSnapAnimator.
(WebCore::ScrollController::processWheelEventForScrollSnapOnAxis): Added helper function containing the snap wheel handler code
from AxisScrollSnapAnimator.
(WebCore::ScrollController::shouldOverrideWheelEvent): Moved from AxisScrollSnapAnimator.
(WebCore::ScrollController::processWheelEventForScrollSnap): Update to use new methods moved from AxisScrollSnapAnimator.
(WebCore::ScrollController::updateScrollAnimatorsAndTimers): Update for new ScrollSnapAnimatorState class.
(WebCore::ScrollController::updateScrollSnapPoints): Ditto.
(WebCore::ScrollController::startScrollSnapTimer): Call client (delegate) method.
(WebCore::ScrollController::stopScrollSnapTimer): Ditto.
(WebCore::ScrollController::horizontalScrollSnapTimerFired): Call new 'scrollSnapAnimationUpdate' method passing the
correct axis to animate.
(WebCore::ScrollController::verticalScrollSnapTimerFired): Ditto.
(WebCore::ScrollController::scrollSnapAnimationUpdate): Moved from AxisScrollSnapAnimator.
(WebCore::projectedInertialScrollDistance): Moved from AxisScrollSnapAnimator.
(WebCore::ScrollController::initializeGlideParameters): Ditto.
(WebCore::ScrollController::beginScrollSnapAnimation): Ditto.
(WebCore::ScrollController::endScrollSnapAnimation): Ditto.
(WebCore::snapProgress): Created a new function for this calculation to make reasoning about the 'computeSnapDelta' and
'computeGlideDelta' easier.
(WebCore::clampedSnapMagnitude): Ditto.
(WebCore::ScrollController::computeSnapDelta): Moved from AxisScrollSnapAnimator.
(WebCore::snapGlide): Created a new function for this calculation to make reasoning about the 'computeGlideDelta' easier.
(WebCore::ScrollController::computeGlideDelta): Moved from AxisScrollSnapAnimator.
(WebCore::ScrollController::scrollOffsetOnAxis): Deleted.
(WebCore::ScrollController::immediateScrollOnAxis): Deleted.

  • platform/cocoa/ScrollSnapAnimatorState.h: Copied from platform/mac/AxisScrollSnapAnimator.h.

(WebCore::AxisScrollSnapAnimatorClient::~AxisScrollSnapAnimatorClient): Deleted.

  • platform/cocoa/ScrollSnapAnimatorState.mm: Copied from platform/mac/AxisScrollSnapAnimator.mm.

(WebCore::ScrollSnapAnimatorState::ScrollSnapAnimatorState):
(WebCore::ScrollSnapAnimatorState::pushInitialWheelDelta):
(WebCore::ScrollSnapAnimatorState::averageInitialWheelDelta):
(WebCore::ScrollSnapAnimatorState::clearInitialWheelDeltaWindow):
(WebCore::toWheelEventStatus): Deleted.
(WebCore::projectedInertialScrollDistance): Deleted.
(WebCore::AxisScrollSnapAnimator::AxisScrollSnapAnimator): Deleted.
(WebCore::AxisScrollSnapAnimator::handleWheelEvent): Deleted.
(WebCore::AxisScrollSnapAnimator::shouldOverrideWheelEvent): Deleted.
(WebCore::AxisScrollSnapAnimator::scrollSnapAnimationUpdate): Deleted.
(WebCore::AxisScrollSnapAnimator::beginScrollSnapAnimation): Deleted.
(WebCore::AxisScrollSnapAnimator::endScrollSnapAnimation): Deleted.
(WebCore::AxisScrollSnapAnimator::computeSnapDelta): Deleted.
(WebCore::AxisScrollSnapAnimator::computeGlideDelta): Deleted.
(WebCore::AxisScrollSnapAnimator::initializeGlideParameters): Deleted.
(WebCore::AxisScrollSnapAnimator::pushInitialWheelDelta): Deleted.
(WebCore::AxisScrollSnapAnimator::averageInitialWheelDelta): Deleted.
(WebCore::AxisScrollSnapAnimator::clearInitialWheelDeltaWindow): Deleted.

  • platform/mac/AxisScrollSnapAnimator.h: Removed.
  • platform/mac/AxisScrollSnapAnimator.mm: Removed.
  • platform/mac/ScrollAnimatorMac.h:
  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::pinnedInDirection): Removed.

10:59 AM Changeset in webkit [181086] by Chris Dumez
  • 7 edits in trunk/Source

NetworkCache efficacy logging is using too much CPU
https://bugs.webkit.org/show_bug.cgi?id=142186
<rdar://problem/19632080>

Reviewed by Antti Koivisto.

Source/WebKit2:

NetworkCache efficacy logging was using too much CPU mostly due to
database writes. Logging was using ~11.3% of the NetworkProcess'
CPU usage (~9.2% for writes / ~1.3% for reads).

This patch buffers writes requests in memory and only writes them
to disk every 10 seconds. We are thus writing to this less frequently
and writing more at once, in a single SQL transaction. After this
change, efficacy logging only accounts for ~3.5% of the NetworkProcess'
CPU activity (1.5% for writes / 1.2% for reads).

Now that CPU usage is more acceptable, this patch re-enables the
network cache efficicy logging.

  • NetworkProcess/cache/NetworkCacheStatistics.h:
  • NetworkProcess/cache/NetworkCacheStatisticsCocoa.mm:

(WebKit::executeSQLCommand):
(WebKit::executeSQLStatement):
Call step() instead of executeCommand() because:

  • The input statement is already prepared.
  • step() does not finalize() the statement and thus we caller can reuse it after calling reset().

(WebKit::NetworkCacheStatistics::NetworkCacheStatistics):
(WebKit::NetworkCacheStatistics::initialize):
(WebKit::NetworkCacheStatistics::bootstrapFromNetworkCache):
(WebKit::NetworkCacheStatistics::recordNotCachingResponse):
(WebKit::NetworkCacheStatistics::recordNotUsingCacheForRequest):
(WebKit::NetworkCacheStatistics::recordRetrievalFailure):
(WebKit::NetworkCacheStatistics::markAsRequested):
(WebKit::NetworkCacheStatistics::writeTimerFired):
(WebKit::NetworkCacheStatistics::queryWasEverRequested):
(WebKit::NetworkCacheStatistics::addHashesToDatabase):
(WebKit::NetworkCacheStatistics::addStoreDecisionsToDatabase):
(WebKit::NetworkCacheStatistics::addHashToDatabase): Deleted.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::registerUserDefaultsIfNeeded):
Re-enable the network cache efficacy logging.

Source/WTF:

  • wtf/HashMap.h:

(WTF::copyToVector):
Add copyToVector() utility function for HashMap that uses an std::pair<key, value>
as element type.

  • wtf/text/WTFString.h:

(WTF::StringCapture::StringCapture):
(WTF::StringCapture::operator=):
Add default constructor and assignment operator to StringCapture so that
it can be used in a Vector.

10:57 AM Changeset in webkit [181085] by dino@apple.com
  • 4 edits in trunk/Source/WebCore

[iOS Media] Small inline controls can clip the time widgets
https://bugs.webkit.org/show_bug.cgi?id=142319

Reviewed by Eric Carlson.

Start counting the number of digits in a duration so that
we can assign classes to the time widgets that specify
a minimum width.

  • Modules/mediacontrols/mediaControlsApple.css: Replace the hour-long and ten-hour-long

classes with number of digits.
(audio::-webkit-media-controls-time-remaining-display.five-digit-time):
(audio::-webkit-media-controls-current-time-display.five-digit-time):
(audio::-webkit-media-controls-time-remaining-display.six-digit-time):
(audio::-webkit-media-controls-current-time-display.six-digit-time):
(audio::-webkit-media-controls-time-remaining-display.hour-long-time): Deleted.
(audio::-webkit-media-controls-current-time-display.hour-long-time): Deleted.
(audio::-webkit-media-controls-time-remaining-display.ten-hour-long-time): Deleted.
(audio::-webkit-media-controls-current-time-display.ten-hour-long-time): Deleted.

  • Modules/mediacontrols/mediaControlsApple.js: Add some new class names.

(Controller.prototype.updateDuration): Set the class of the time
widgets when we know how long the media runs.

  • Modules/mediacontrols/mediaControlsiOS.css: Values for iOS that

are big enough to avoid clipping.
(video::-webkit-media-controls-current-time-display):
(video::-webkit-media-controls-time-remaining-display):
(video::-webkit-media-controls-current-time-display.three-digit-time):
(video::-webkit-media-controls-time-remaining-display.three-digit-time):
(video::-webkit-media-controls-current-time-display.four-digit-time):
(video::-webkit-media-controls-time-remaining-display.four-digit-time):
(video::-webkit-media-controls-current-time-display.five-digit-time):
(video::-webkit-media-controls-time-remaining-display.five-digit-time):
(video::-webkit-media-controls-current-time-display.six-digit-time):
(video::-webkit-media-controls-time-remaining-display.six-digit-time):
(audio::-webkit-media-controls-timeline-container): Deleted.
(video::-webkit-media-text-track-container): Deleted.

10:27 AM Changeset in webkit [181084] by Yusuke Suzuki
  • 10 edits
    8 adds in trunk/Source/JavaScriptCore

Implement ES6 StringIterator
https://bugs.webkit.org/show_bug.cgi?id=142080

Reviewed by Filip Pizlo.

This patch introduces ES6 String Iterator.
It enumerates code points instead of elements in String.
So surrogate pairs should be handled correctly.

  • CMakeLists.txt:
  • DerivedSources.make:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • builtins/StringIterator.prototype.js: Added.

(next):

  • runtime/CommonIdentifiers.h:
  • runtime/JSGlobalObject.cpp:
  • runtime/JSGlobalObject.h:
  • runtime/JSStringIterator.cpp: Added.

(JSC::JSStringIterator::finishCreation):

  • runtime/JSStringIterator.h: Added.

(JSC::JSStringIterator::createStructure):
(JSC::JSStringIterator::create):
(JSC::JSStringIterator::JSStringIterator):

  • runtime/StringIteratorConstructor.cpp: Added.

(JSC::StringIteratorConstructor::finishCreation):

  • runtime/StringIteratorConstructor.h: Added.

(JSC::StringIteratorConstructor::create):
(JSC::StringIteratorConstructor::createStructure):
(JSC::StringIteratorConstructor::StringIteratorConstructor):

  • runtime/StringIteratorPrototype.cpp: Added.

(JSC::StringIteratorPrototype::finishCreation):
(JSC::StringIteratorPrototype::getOwnPropertySlot):
(JSC::stringIteratorPrototypeIterator):

  • runtime/StringIteratorPrototype.h: Added.

(JSC::StringIteratorPrototype::create):
(JSC::StringIteratorPrototype::createStructure):
(JSC::StringIteratorPrototype::StringIteratorPrototype):

  • runtime/StringPrototype.cpp:

(JSC::StringPrototype::finishCreation):
(JSC::stringProtoFuncIterator):

  • tests/stress/string-iterators.js: Added.

(testSurrogatePair):
(increment):
(for):

9:44 AM WebKitGTK/Dependencies edited by Michael Catanzaro
add "features will be disabled if you don't have a newer version" (diff)
9:42 AM WebKitGTK/Dependencies edited by Michael Catanzaro
Edit comment for glib, gnutls (diff)
9:29 AM Changeset in webkit [181083] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

[ARM] Fix the FTL build on Aarch64 Linux after r177421
https://bugs.webkit.org/show_bug.cgi?id=142040

Reviewed by Mark Lam.

  • llvm/library/LLVMExports.cpp:

(initializeAndGetJSCLLVMAPI):

9:26 AM WebKitGTK/2.8.x edited by Carlos Garcia Campos
(diff)
9:21 AM Changeset in webkit [181082] by Brent Fulgham
  • 2 edits
    2 adds in trunk/LayoutTests

[Win] Reneable aria 'switch' tests after r18078.

Add a Windows rebaseline. Also document another batch of debug assertions.

  • platform/win/TestExpectations:
  • platform/win/accessibility/aria-toggle-button-with-title-expected.txt: Added.
  • platform/win/fast/attachment/attachment-subtitle-expected.txt: Added.
9:20 AM WebKitGTK/2.8.x edited by Carlos Garcia Campos
(diff)
9:09 AM Changeset in webkit [181081] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebCore

[cmake] Fix the web replay build
https://bugs.webkit.org/show_bug.cgi?id=142331

Reviewed by Gyuyoung Kim.

  • CMakeLists.txt:
  • inspector/InspectorReplayAgent.cpp:

(WebCore::buildInspectorObjectForSessionState):
(WebCore::buildInspectorObjectForSegmentState):

9:06 AM Changeset in webkit [181080] by Antti Koivisto
  • 2 edits in trunk/Source/WTF

Support WorkQueue QOS classes on Mavericks
https://bugs.webkit.org/show_bug.cgi?id=142328

Reviewed by Anders Carlsson.

"The priority of a dispatch queue is inherited from its target queue. In order to
change the priority of a queue created with dispatch_queue_create(), use the
dispatch_get_global_queue() function to obtain a target queue of the desired prior-
ity."

  • wtf/cocoa/WorkQueueCocoa.cpp:

(WTF::targetQueueForQOSClass):
(WTF::WorkQueue::platformInitialize):

9:05 AM Changeset in webkit [181079] by Antti Koivisto
  • 3 edits in trunk/Source/WebKit2

Switch NetworkCacheStorage to WorkQueue abstraction
https://bugs.webkit.org/show_bug.cgi?id=142337

Reviewed by Anders Carlsson.

Don't use dispatch_async directly.

  • NetworkProcess/cache/NetworkCacheStorage.h:

(WebKit::NetworkCacheStorage::ioQueue):
(WebKit::NetworkCacheStorage::backgroundIOQueue):

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::NetworkCacheStorage::NetworkCacheStorage):
(WebKit::NetworkCacheStorage::initialize):
(WebKit::NetworkCacheStorage::removeEntry):
(WebKit::NetworkCacheStorage::dispatchReadOperation):
(WebKit::retrieveFromMemory):
(WebKit::NetworkCacheStorage::traverse):
(WebKit::NetworkCacheStorage::dispatchFullWriteOperation):
(WebKit::NetworkCacheStorage::dispatchHeaderWriteOperation):
(WebKit::NetworkCacheStorage::clear):
(WebKit::NetworkCacheStorage::shrinkIfNeeded):
(WebKit::NetworkCacheStorage::deleteOldVersions):

8:51 AM Changeset in webkit [181078] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit/win

[Win] AX: Implement support for ARIA 1.1 'switch' role
https://bugs.webkit.org/show_bug.cgi?id=142016
<rdar://problem/19953264>

Reviewed by Chris Fleizach.

The changes in Bug 141986 did not update the proper Windows routines to
support the new ARIA 1.1 role. This turned out to be trivial.

  • AccessibleBase.cpp:

(MSAARole): Provide MSAA role for 'switch'. Also correct 'ToggleButtonRole',
which was improperly reporting as 'push button'.

6:57 AM Changeset in webkit [181077] by Yusuke Suzuki
  • 22 edits
    2 copies
    7 adds in trunk/Source/JavaScriptCore

Upgrade ES6 Iterator interfaces
https://bugs.webkit.org/show_bug.cgi?id=141351

Reviewed by Filip Pizlo.

This patch upgrades the exising ES6 iterator to align the latest spec.
In the latest spec,

  1. Iterator.next returns object that implements IteratorResult interface { value: value, done, boolean }.
  2. Iterator.return is introduced. When the iteration is terminated by the abrupt completion,

it is called to close iterator state.

  1. Iterator.next of Array is moved from an iterator object to %ArrayIteratorPrototype%.

To upgrade it, we changes the bytecode that represents for-of loops.
And to embody the efficient iteration with an iterator object,
we implemented %ArrayIteratorPrototype%.next in JavaScript and
it is located in builtins/ArrayIterator.prototype.js.
Implementing it in JavaScript encourages inlining and
utilizes escape analysis for an iterator result object in DFG JIT.
And we dropped the intrinsic version of %ArrayIteratorPrototype%.next.

And we introduced IteratorOperations that is defined in the spec.
It aligns the iteration in the runtime to the latest spec.
Currently, Promise.all and Promise.race uses an iterable object.
However, Promise.all and Promise.race implementation is also based on the old spec.
Subsequent patches will upgrade it.

  • CMakeLists.txt:
  • DerivedSources.make:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • builtins/ArrayIterator.prototype.js: Copied from Source/JavaScriptCore/runtime/ArrayIteratorPrototype.h.

(next):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitReturn):
(JSC::BytecodeGenerator::emitThrowTypeError):
(JSC::BytecodeGenerator::emitEnumeration):
(JSC::BytecodeGenerator::emitIsObject):
(JSC::BytecodeGenerator::emitIsUndefined):

  • bytecompiler/BytecodeGenerator.h:
  • jit/ThunkGenerators.cpp:

(JSC::arrayIteratorNextThunkGenerator): Deleted.
(JSC::arrayIteratorNextKeyThunkGenerator): Deleted.
(JSC::arrayIteratorNextValueThunkGenerator): Deleted.

  • jit/ThunkGenerators.h:
  • runtime/ArgumentsIteratorPrototype.cpp:

(JSC::ArgumentsIteratorPrototype::finishCreation):
(JSC::argumentsIteratorPrototypeFuncNext):

  • runtime/ArrayIteratorPrototype.cpp:

(JSC::ArrayIteratorPrototype::finishCreation):
(JSC::ArrayIteratorPrototype::getOwnPropertySlot):
(JSC::arrayIteratorProtoFuncIterator):
(JSC::arrayIteratorPrototypeIterate): Deleted.

  • runtime/ArrayIteratorPrototype.h:
  • runtime/CommonIdentifiers.h:
  • runtime/Intrinsic.h:
  • runtime/IteratorOperations.cpp: Added.

(JSC::iteratorNext):
(JSC::iteratorValue):
(JSC::iteratorComplete):
(JSC::iteratorStep):
(JSC::iteratorClose):
(JSC::createIterResultObject):

  • runtime/IteratorOperations.h: Copied from Source/JavaScriptCore/runtime/ArrayIteratorPrototype.cpp.
  • runtime/JSArrayIterator.cpp:

(JSC::JSArrayIterator::finishCreation):
(JSC::JSArrayIterator::visitChildren): Deleted.
(JSC::createIteratorResult): Deleted.
(JSC::arrayIteratorNext): Deleted.
(JSC::arrayIteratorNextKey): Deleted.
(JSC::arrayIteratorNextValue): Deleted.
(JSC::arrayIteratorNextGeneric): Deleted.

  • runtime/JSArrayIterator.h:

(JSC::JSArrayIterator::JSArrayIterator):
(JSC::JSArrayIterator::iterationKind): Deleted.
(JSC::JSArrayIterator::iteratedObject): Deleted.
(JSC::JSArrayIterator::nextIndex): Deleted.
(JSC::JSArrayIterator::setNextIndex): Deleted.
(JSC::JSArrayIterator::finish): Deleted.
(JSC::JSArrayIterator::offsetOfIterationKind): Deleted.
(JSC::JSArrayIterator::offsetOfIteratedObject): Deleted.
(JSC::JSArrayIterator::offsetOfNextIndex): Deleted.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/JSPromiseConstructor.cpp:

(JSC::performPromiseRaceLoop):
(JSC::JSPromiseConstructorFuncRace):
(JSC::performPromiseAll):
(JSC::JSPromiseConstructorFuncAll):

  • runtime/MapIteratorPrototype.cpp:

(JSC::MapIteratorPrototype::finishCreation):
(JSC::MapIteratorPrototypeFuncNext):

  • runtime/SetIteratorPrototype.cpp:

(JSC::SetIteratorPrototype::finishCreation):
(JSC::SetIteratorPrototypeFuncNext):

  • runtime/VM.cpp:

(JSC::thunkGeneratorForIntrinsic):

  • tests/stress/array-iterators-next-with-call.js: Added.

(increment):
(for):

  • tests/stress/array-iterators-next.js: Added.

Revive the older Array iterator tests that manually call 'next' method.

  • tests/stress/custom-iterators.js: Added.

(iter.next):
(iter.Symbol.iterator):
(iter.return):
(iter.get next):
(iter.get return):
(iteratorInterfaceErrorTest.iter.next):
(iteratorInterfaceErrorTest.iter.Symbol.iterator):
(iteratorInterfaceErrorTest.iter.return):
(iteratorInterfaceErrorTest):
(iteratorInterfaceErrorTestReturn.iter.next):
(iteratorInterfaceErrorTestReturn.iter.Symbol.iterator):
(iteratorInterfaceErrorTestReturn.iter.return):
(iteratorInterfaceErrorTestReturn):
(iteratorInterfaceBreakTestReturn.iter.next):
(iteratorInterfaceBreakTestReturn.iter.Symbol.iterator):
(iteratorInterfaceBreakTestReturn.iter.return):
(iteratorInterfaceBreakTestReturn):

This tests the behavior of custom iterators.
'next' and 'return' of iterator work with for-of.

  • tests/stress/iterators-shape.js: Added.

(iteratorShape):
(sameNextMethods):
(set var):

This tests the shape of iterators; iterators of Array have 'next' method in %ArrayIteratorPrototype%.

  • tests/stress/map-iterators-next.js: Added.

(set var):
(.get if):
(otherKey):

  • tests/stress/set-iterators-next.js: Added.

(otherKey):

6:05 AM Changeset in webkit [181076] by commit-queue@webkit.org
  • 15 edits in trunk

[EFL][WK2] Crash when "Download Linked File" from MiniBrowser context menu is clicked
https://bugs.webkit.org/show_bug.cgi?id=131162

Patch by Lukasz Bialek <l.bialek@samsung.com> on 2015-03-05
Reviewed by Gyuyoung Kim.

Source/WebKit2:

"Download Linked File" crashes because of null-pointer exception of Download Job.
Due to architectural difficulties, easy fix is not possible (EwkView is needed in
DownloadManager to create DownloadJobs and it is only used to notify the client
about download (finished, error, cancel) via smart callback using EwkView (Evas_Object).

Propose a new callbacks which are view independent and detach EFL's DownloadManager
from EwkView. It makes DownloadManagerEFL consistent with WKContextDownload.
Fix the crash and restore download functionality.

  • PlatformEfl.cmake:

Enable newly reimplemented tests

  • UIProcess/API/efl/EwkViewCallbacks.h:

Remove old callback mechanism

  • UIProcess/API/efl/ewk_context.cpp:

(ewk_context_download_callbacks_set):

  • UIProcess/API/efl/ewk_context.h:

Declare new callback functions and registration functions

  • UIProcess/API/efl/ewk_download_job.cpp:

(EwkDownloadJob::EwkDownloadJob):
(EwkDownloadJob::view): Deleted.

  • UIProcess/API/efl/ewk_download_job.h:
  • UIProcess/API/efl/ewk_download_job_private.h:

(EwkDownloadJob::create):
Remove EwkView dependency

  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/API/efl/tests/test_ewk2_download_job.cpp:

Alter tests to new callback mechanism

  • UIProcess/efl/DownloadManagerEfl.cpp:

(WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename):
(WebKit::DownloadManagerEfl::didStart):
(WebKit::DownloadManagerEfl::didFail):
(WebKit::DownloadManagerEfl::didCancel):
(WebKit::DownloadManagerEfl::didFinish):
(WebKit::DownloadManagerEfl::DownloadManagerEfl):
(WebKit::DownloadManagerEfl::registerDownloadJob):
(WebKit::DownloadManagerEfl::setCallbacks):

  • UIProcess/efl/DownloadManagerEfl.h:
  • UIProcess/efl/WebViewEfl.cpp:

(WebKit::WebViewEfl::handleDownloadRequest):
Add support of new callback mechanism

Tools:

  • MiniBrowser/efl/main.c:

(on_download_request):
(on_download_finished):
(on_download_failed):
(window_create):
Adapt download callbacks to new callback mechanism

4:03 AM WebKitGTK/Dependencies created by Carlos Garcia Campos
2:45 AM Changeset in webkit [181075] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Fix /webkit2/WebKitWebResource/mime-type after r180927.

In r180927 we updated the libsoup version used by the jhbuild. In
this new version the sniffer uses image/x-icon instead of
image/vnd.microsoft.icon for blank.ico resource.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:

(testWebResourceMimeType):

2:38 AM Changeset in webkit [181074] by Carlos Garcia Campos
  • 4 edits in trunk

[SOUP] Check TLS errors as soon as they are set in the SoupMessage
https://bugs.webkit.org/show_bug.cgi?id=142244

Reviewed by Sergio Villar Senin.

Source/WebCore:

Connect to the notify::tls-errors signal of SoupMessage to cancel
the load earlier in case of TLS failure, preventing any private
data from being sent to the server before the TLS errors are checked.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::tlsErrorsChangedCallback):
(WebCore::gotHeadersCallback):
(WebCore::createSoupMessageForHandleAndRequest):

Tools:

Check that the SSL server doesn't process any request in case of
TLS errors when the policy is set to FAIL.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp:

(testTLSErrorsPolicy):
(testTLSErrorsRedirect):
(testTLSErrorsHTTPAuth):
(testLoadFailedWithTLSErrors):
(testSubresourceLoadFailedWithTLSErrors):
(httpsServerCallback):

1:27 AM Changeset in webkit [181073] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[SOUP] Disable RC4
https://bugs.webkit.org/show_bug.cgi?id=140014

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-03-05
Reviewed by Carlos Garcia Campos.

Disallow RC4-based ciphersuites when performing TLS negotiation,
because it is no longer considered secure.

  • NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp:

(main):

  • WebProcess/EntryPoint/unix/WebProcessMain.cpp:

(main):

12:56 AM Changeset in webkit [181072] by g.czajkowski@samsung.com
  • 4 edits in trunk/Source/WebCore

TextCheckingParagraph::isEmpty() is sufficient to check whether paragraph is empty
https://bugs.webkit.org/show_bug.cgi?id=142276

Reviewed by Darin Adler.

TextCheckingParagraph::isEmpty() already calls TextCheckingParagraph::isRangeEmpty().
There is no need to call them both at the caller site.

No new tests. No behavior change.

  • editing/Editor.cpp:

(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
Update caller site.

  • editing/TextCheckingHelper.cpp:

(WebCore::TextCheckingParagraph::isEmpty):
Avoid using helepers here to get rid of them as they are
no longer needed outside TextCheckingParagraph.

  • editing/TextCheckingHelper.h:

(WebCore::TextCheckingParagraph::isTextEmpty): Deleted.
(WebCore::TextCheckingParagraph::isRangeEmpty): Deleted.
Do not expose isTextEmpty() and isRangeEmpty().

12:51 AM Changeset in webkit [181071] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL] REGRESSION (r178685): ASSERTION FAILED: !parameters.mediaKeyStorageDirectory.isEmpty()
https://bugs.webkit.org/show_bug.cgi?id=141154

Patch by Pawel Forysiuk <p.forysiuk@samsung.com> on 2015-03-05
Reviewed by Jer Noble.

Unlike GTK, EFL port enables ENABLE_ENCRYPTED_MEDIA_V2 build option by default.

For the sake of completeness WebKitTestRunner should specify temporary
folder for MediaKeysStorageDirecory as well as IndexedDB, LocalStorage, etc.

Default non legacy paths are set up in ProcessPoolConfiguration constructor.
They use WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation
to get data storage paths. Only Mac port has an actual implementation of it.
However, WebKitTestRunner overrides them in favour of unique temporary dir
which is taken from libraryPathForTesting().

Since WebsiteDataStore::websiteDataDirectoryFileSystemRepresentation
is not implemented for EFL and GTK ports it returns an empty string.
All default data folders besides MediaKeys are overridden in TestRunner
code with unique temporary folders derived from DUMPRENDERTREE_TEMP
env variable.

GTK port does not enable encrypted keys by default so
WebMediaKeyStorageManager::initialize() code path is never triggered.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize): Set MediaKeysStorageDirectory for all
WebKit ports.

12:03 AM Changeset in webkit [181070] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[buildbot] Add regression test to check which builder runs which tests
https://bugs.webkit.org/show_bug.cgi?id=142166

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:

(BuildStepsConstructorTest.createTest):
(BuildStepsTest):
(BuildStepsTest.generateTests):
(BuildStepsTest.createTest):
(BuildStepsTest.createTest.doTest):
(BuildStepsTest.test_unnecessary_expected_results):

Mar 4, 2015:

11:43 PM WebKitGTK/Roadmap edited by Carlos Garcia Campos
(diff)
9:41 PM Changeset in webkit [181069] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Clarify RenderElement::adjustStyleDifference()
https://bugs.webkit.org/show_bug.cgi?id=142256

Reviewed by David Hyatt.

Make RenderElement::adjustStyleDifference() clearer in two ways.

First, replace lots of if (diff < X) diff = X with
diff = std::max(diff, X). I did this even in cases where diff was
being set unconditionally, because it's never correct to change the diff
to a lesser value.

Second the "set at least SimplifiedLayout, but if we have PositionedMovementOnly
set it to SimplifiedLayoutAndPositionedMovement" was confusingly written.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::adjustStyleDifference):

9:30 PM Changeset in webkit [181068] by mmaxfield@apple.com
  • 1 edit
    2 moves in trunk/LayoutTests

Test gardening after r181013

Unreviewed.

  • platform/mac/fast/text/trailing-word-expected.html: Renamed from LayoutTests/fast/text/trailing-word-expected.html.
  • platform/mac/fast/text/trailing-word.html: Renamed from LayoutTests/fast/text/trailing-word.html.
9:14 PM Changeset in webkit [181067] by ddkilzer@apple.com
  • 3 edits in trunk/Source/WebCore

Switch new soft-linking debug asserts to release asserts
<http://webkit.org/b/142176>

Reviewed by Alex Christensen.

  • platform/mac/SoftLinking.h:

(SOFT_LINK_CONSTANT_SOURCE): Switch to release assert.
(SOFT_LINK_FUNCTION_SOURCE): Ditto.

  • platform/win/SoftLinking.h:

(SOFT_LINK_CONSTANT_SOURCE): Ditto.
(SOFT_LINK_FUNCTION_SOURCE): Ditto. Note that this method is
effectively only called once because the function pointer is
replaced after the first time it's called.

9:13 PM Changeset in webkit [181066] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Improve display of previews with overflow
https://bugs.webkit.org/show_bug.cgi?id=142321

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-04
Reviewed by Timothy Hatcher.

  • UserInterface/Views/ObjectPreviewView.js:

(WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
(WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):

8:54 PM Changeset in webkit [181065] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Optimize content extensions.
https://bugs.webkit.org/show_bug.cgi?id=142295

Patch by Alex Christensen <achristensen@webkit.org> on 2015-03-04
Reviewed by Benjamin Poulain.

  • contentextensions/ContentExtensionCompiler.cpp:

(WebCore::ContentExtensions::serializeActions):
There is no need to add duplicate sequential actions.

  • contentextensions/ContentExtensionRule.h:

(WebCore::ContentExtensions::Action::operator==):
Added to compare actions.

  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::actionsForURL):
Return early if a block action is found instead of moving to the next extension.

8:25 PM Changeset in webkit [181064] by Yusuke Suzuki
  • 16 edits in trunk/Source

Hide Promise with runtime flags under Cocoa JSContext API
https://bugs.webkit.org/show_bug.cgi?id=141965

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Since there's no run loop in JavaScriptCore APIs, Promises don't work currently.
So until they work, we hide Promise from a global object.
Introduce new JSC runtime flag, PromiseDisabled. When isPromiseDisabled is true,
Promise constructor is not attached to JSGlobalObject.

To make 0 as default runtime flags, we choose PromiseDisabled flag
instead of PromiseEnabled flag. So by default, Promise is enabled.

  • API/JSCallbackObjectFunctions.h:

(JSC::JSCallbackObject<Parent>::JSCallbackObject):

  • API/JSContextRef.cpp:

(javaScriptRuntimeFlags):
(JSGlobalContextCreateInGroup):

  • API/tests/testapi.c:

(main):

  • API/tests/testapi.mm:

(testObjectiveCAPI):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::create):

  • runtime/RuntimeFlags.h:

(JSC::RuntimeFlags::createAllEnabled):

Source/WebKit/mac:

Add new JSC runtime flag, PromiseDisabled.

  • WebView/WebPreferencesPrivate.h:

Source/WebKit/win:

Add new JSC runtime flag, PromiseDisabled.

  • Interfaces/IWebPreferences.idl:
  • Interfaces/IWebPreferencesPrivate.idl:

Source/WebKit2:

Add new JSC runtime flag, PromiseDisabled.

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
6:35 PM Changeset in webkit [181063] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Unreviewed, rolling out r181054.
https://bugs.webkit.org/show_bug.cgi?id=142320

Broke the api tests (Requested by sundiamonde on #webkit).

Reverted changeset:

"Fix linker warnings in TestWebKitAPI."
https://bugs.webkit.org/show_bug.cgi?id=141912
http://trac.webkit.org/changeset/181054

6:27 PM Changeset in webkit [181062] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r181046.
https://bugs.webkit.org/show_bug.cgi?id=142318

Broke two layout tests (Requested by sundiamonde on #webkit).

Reverted changeset:

"Update inline media control icons for OSX."
https://bugs.webkit.org/show_bug.cgi?id=142305
http://trac.webkit.org/changeset/181046

6:27 PM Changeset in webkit [181061] by commit-queue@webkit.org
  • 20 edits in trunk

Web Inspector: Array/Collection Sizes should be visible and distinct
https://bugs.webkit.org/show_bug.cgi?id=142254

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-04
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • runtime/WeakMapData.h:

(JSC::WeakMapData::size):

  • inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::weakMapSize):

  • inspector/JSInjectedScriptHost.h:
  • inspector/JSInjectedScriptHostPrototype.cpp:

(Inspector::JSInjectedScriptHostPrototype::finishCreation):
(Inspector::jsInjectedScriptHostPrototypeFunctionWeakMapSize):
Add a way to get a WeakMap's size.

  • inspector/protocol/Runtime.json:

Include size in RemoteObject and ObjectPreview.

  • inspector/InjectedScriptSource.js:

Set the size of RemoteObjects and previews if they
are array/collection types.

Source/WebInspectorUI:

  • UserInterface/Models/ObjectPreview.js:

(WebInspector.ObjectPreview):
(WebInspector.ObjectPreview.fromPayload):
(WebInspector.ObjectPreview.prototype.get size):
(WebInspector.ObjectPreview.prototype.hasSize):

  • UserInterface/Protocol/RemoteObject.js:

(WebInspector.RemoteObject):
(WebInspector.RemoteObject.fromPrimitiveValue):
(WebInspector.RemoteObject.fromPayload):
(WebInspector.RemoteObject.prototype.get size):
(WebInspector.RemoteObject.prototype.hasSize):
Check if this type has a size and get the size.
Gracefully handle construction for legacy protocols.

  • UserInterface/Views/ObjectPreviewView.css:

(.object-preview > .size):

  • UserInterface/Views/FormattedValue.css:

(:matches(.formatted-array, .formatted-map, .formatted-set, .formatted-weakmap) > .size):
Style the array/collection size.

  • UserInterface/Views/ObjectPreviewView.js:

(WebInspector.ObjectPreviewView):

  • UserInterface/Views/FormattedValue.js:

(WebInspector.FormattedValue.createElementForTypesAndValue):
(WebInspector.FormattedValue.createElementForRemoteObject):
(WebInspector.FormattedValue.createElementForObjectPreview):
(WebInspector.FormattedValue.createElementForPropertyPreview):
Add an element showing the array/collection size.

  • UserInterface/Views/ObjectTreePropertyTreeElement.js:

(WebInspector.ObjectTreePropertyTreeElement.prototype):
Remove special handling for Array sizes now that this is handled earlier.

  • UserInterface/Controllers/StorageManager.js:

(WebInspector.StorageManager.prototype.processData):
(WebInspector.StorageManager.prototype.requestIndexedDatabaseData):
Fix what looks like broken RemoteObject construction.

LayoutTests:

  • inspector-protocol/runtime/getProperties-expected.txt:
  • inspector/model/remote-object-expected.txt:
  • inspector/model/remote-object.html:

Update tests now that RemoteObjects and Previews may have an explicit size.

6:19 PM Changeset in webkit [181060] by akling@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

GC should compute stack bounds and dump registers at the earliest opportunity.
<https://webkit.org/b/142310>
<rdar://problem/20045624>

Reviewed by Geoffrey Garen.

Make Heap::collect() a wrapper function around a collectImpl() where the work is actually done.
The wrapper function that grabs a snapshot of the current stack boundaries and register values
on entry, and sanitizes the stack on exit.

This is a speculative fix for what appears to be overly conservative behavior in the garbage
collector following r178364 which caused a measurable regression in memory usage on Membuster.
The theory being that we were putting pointers to dead things on the stack before scanning it,
and by doing that ended up marking things that we'd otherwise discover to be garbage.

  • heap/Heap.cpp:

(JSC::Heap::markRoots):
(JSC::Heap::gatherStackRoots):
(JSC::Heap::collect):
(JSC::Heap::collectImpl):

  • heap/Heap.h:
  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::gatherFromCurrentThread):
(JSC::MachineThreads::gatherConservativeRoots):

  • heap/MachineStackMarker.h:
5:51 PM Changeset in webkit [181059] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Silence GCC's -Wstrict-prototypes
https://bugs.webkit.org/show_bug.cgi?id=142278

Patch by Debarshi Ray <debarshir@gnome.org> on 2015-03-04
Reviewed by Alexey Proskuryakov.

  • API/JSContextRef.h:
5:43 PM Changeset in webkit [181058] by timothy_horton@apple.com
  • 11 edits
    2 deletes in trunk/Source/WebCore

<attachment> icons are low-resolution when transformed or under page scale
https://bugs.webkit.org/show_bug.cgi?id=142262
<rdar://problem/20035480>

Reviewed by Dean Jackson.

We should use Icon::createIconForFiles, just like <input type="file"> does,
instead of directly talking to IconServices. This results both in less code
and in NSImage's multiresolution magic making the icons sharp even under
the influence of transforms and page scale.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/spi/mac/IconServicesSPI.h: Removed.
  • platform/spi/mac/LaunchServicesSPI.h: Removed.

Get rid of IconServicesSPI.h and LaunchServicesSPI.h.

  • platform/graphics/Icon.h:

Include RetainPtr just once.
paint() should take a GraphicsContext reference (null is not an option)
and a FloatRect (after all, it just turns around and converts to NSRect).

  • platform/graphics/ios/IconIOS.mm:

(WebCore::Icon::paint):

  • platform/graphics/mac/IconMac.mm:

(WebCore::Icon::createIconForFiles):
(WebCore::Icon::paint):

  • platform/graphics/efl/IconEfl.cpp:

(WebCore::Icon::paint):

  • platform/graphics/gtk/IconGtk.cpp:

(WebCore::Icon::paint):

  • platform/graphics/win/IconWin.cpp:

(WebCore::Icon::paint):
Adapt to the paint() signature changes, fix some style, etc.

  • rendering/RenderFileUploadControl.cpp:

(WebCore::RenderFileUploadControl::paintObject):

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintFileUploadIconDecorations):
Adapt to the paint() signature changes.

  • rendering/RenderThemeMac.mm:

(WebCore::paintAttachmentIcon):
Use Icon::createIconForFiles instead of IconServices.

5:40 PM Changeset in webkit [181057] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebCore

<attachment> should not appear selected when the cursor is adjacent to it
https://bugs.webkit.org/show_bug.cgi?id=142311
<rdar://problem/20045862>

Reviewed by Dean Jackson.

  • rendering/RenderAttachment.cpp:

(WebCore::RenderAttachment::isSelected): Deleted.

  • rendering/RenderAttachment.h:
  • rendering/RenderThemeMac.mm:

(WebCore::titleTextColorForAttachment):
(WebCore::RenderThemeMac::paintAttachment):
(WebCore::labelTextColorForAttachment): Deleted.
We were using the wrong (and far too complicated) mechanism to determine
if the attachment is selected (to decide which highlight color to use).
Instead, just check selectionState().

5:39 PM Changeset in webkit [181056] by timothy_horton@apple.com
  • 8 edits
    4 adds in trunk

<attachment> should show the file size as detail text below the icon
https://bugs.webkit.org/show_bug.cgi?id=142261
<rdar://problem/20009570>

Reviewed by Dean Jackson.

Test: fast/attachment/attachment-subtitle.html

  • html/HTMLAttachmentElement.cpp:

(WebCore::HTMLAttachmentElement::setFile):
(WebCore::HTMLAttachmentElement::parseAttribute):

  • html/HTMLAttachmentElement.h:

Let RenderAttachment know when the subtitle attribute changes.

  • html/HTMLAttributeNames.in:

Add a subtitle attribute.

  • rendering/RenderAttachment.cpp:

(WebCore::RenderAttachment::invalidate):
(WebCore::RenderAttachment::representedFileChanged): Deleted.

  • rendering/RenderAttachment.h:

Rename representedFileChanged to invalidate; it will cause layout and
repaint of the attachment. Mostly for use from HTMLAttachmentElement,
when properties that affect the display and/or intrinsic size change.

  • rendering/RenderThemeMac.mm:

(WebCore::attachmentTitleInactiveBackgroundColor):
(WebCore::attachmentTitleInactiveTextColor):
(WebCore::attachmentSubtitleTextColor):
(WebCore::titleTextColorForAttachment):
(WebCore::AttachmentLayout::addTitleLine):
(WebCore::AttachmentLayout::layOutTitle):
(WebCore::AttachmentLayout::layOutSubtitle):
(WebCore::AttachmentLayout::AttachmentLayout):
(WebCore::addAttachmentTitleBackgroundRightCorner):
(WebCore::addAttachmentTitleBackgroundLeftCorner):
(WebCore::paintAttachmentTitleBackground):
(WebCore::paintAttachmentTitle):
(WebCore::paintAttachmentSubtitle):
(WebCore::RenderThemeMac::paintAttachment):
(WebCore::attachmentLabelInactiveBackgroundColor): Deleted.
(WebCore::attachmentLabelInactiveTextColor): Deleted.
(WebCore::labelTextColorForAttachment): Deleted.
(WebCore::AttachmentLayout::addLine): Deleted.
(WebCore::AttachmentLayout::layOutLabel): Deleted.
(WebCore::addAttachmentLabelBackgroundRightCorner): Deleted.
(WebCore::addAttachmentLabelBackgroundLeftCorner): Deleted.
(WebCore::paintAttachmentLabelBackground): Deleted.
(WebCore::paintAttachmentLabel): Deleted.
Rename everything "label" to "title" (except LabelLine, which is not
specifically about the title). We're going to use "title" for the
main text below the icon, and "subtitle" for the secondary text below that.

Avoid keeping the CTFonts on the AttachmentLayout; there's no need for it.

Add layOutSubtitle and paintAttachmentSubtitle, which orient and paint
the subtitle (below the title, in blue, smaller than the label).

  • fast/attachment/attachment-subtitle.html: Added.
  • platform/mac/fast/attachment/attachment-subtitle-expected.png: Added.
  • platform/mac/fast/attachment/attachment-subtitle-expected.txt: Added.

Add a test of the rendering of attachment subtitles, and results for Mac.

  • platform/mac-mavericks/fast/attachment/attachment-subtitle-expected.txt: Added.

Add Mavericks baselines.

5:19 PM Changeset in webkit [181055] by ddkilzer@apple.com
  • 4 edits in trunk/Source/WebCore

[Windows] Build fix: Make sure to include <CoreMedia/CoreMedia.h> before redefining CMSampleBuffer

More fallout from:

Switch remaining CoreMedia soft-linking in WebCore over to CoreMediaSoftLink.{cpp,h}
<http://webkit.org/b/141870>

  • platform/cf/CoreMediaSoftLink.cpp:
  • platform/cf/CoreMediaSoftLink.h:
  • Remove include of <CoreMedia/CoreMedia.h> here. These already include CoreMediaSPI.h.
  • platform/spi/cf/CoreMediaSPI.h:
  • Add include of <CoreMedia/CoreMedia.h> here.
  • Remove redundant include of <CoreMedia/CMTime.h> for Windows.
5:18 PM Changeset in webkit [181054] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Fix linker warnings in TestWebKitAPI.
https://bugs.webkit.org/show_bug.cgi?id=141912

Patch by Alex Christensen <achristensen@webkit.org> on 2015-03-04
Reviewed by David Kilzer.

  • TestWebKitAPI/Configurations/Base.xcconfig:

Use GCC_SYMBOLS_PRIVATE_EXTERN like we do in WebCore.

4:54 PM Changeset in webkit [181053] by Lucas Forschler
  • 1 edit in branches/safari-600.1.4.15-branch/Source/WebCore/rendering/RenderVideo.cpp

Build fix after 181048.

4:51 PM Changeset in webkit [181052] by ap@apple.com
  • 3 edits in trunk/Tools

[Mac] Set SystemUIFontSelect in DRT and WKTR
https://bugs.webkit.org/show_bug.cgi?id=142303

Reviewed by Myles C. Maxfield.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(setDefaultsToConsistentValuesForTesting):

  • WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:

(WTR::InjectedBundle::platformInitialize):

4:11 PM Changeset in webkit [181051] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.21/Source/WebKit2

Merged r181004. rdar://problem/19983833

4:10 PM Changeset in webkit [181050] by Chris Dumez
  • 2 edits in trunk/Tools

Mac Perf bots should use WebKitTestRunner instead of DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=142314
<rdar://problem/20046835>

Reviewed by Ryosuke Niwa.

Mac Perf bots should use WebKitTestRunner instead of DumpRenderTree
to get WK2 code coverage.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
4:09 PM Changeset in webkit [181049] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Fix build with newer clang due to duplicate macro definition

Fallout from:

Switch remaining CoreMedia soft-linking in WebCore over to CoreMediaSoftLink.{cpp,h}
<http://webkit.org/b/141870>

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

Remove duplicate kCMTimeIndefinite macro.

4:09 PM Changeset in webkit [181048] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merge r180910. rdar://problem/19395137

4:08 PM Changeset in webkit [181047] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.1.4.15-branch/Source/JavaScriptCore

Merge r180101. rdar://problem/19913017

4:03 PM Changeset in webkit [181046] by roger_fong@apple.com
  • 3 edits in trunk/Source/WebCore

Update inline media control icons for OSX.
https://bugs.webkit.org/show_bug.cgi?id=142305.
<rdar://problem/19997484>

Reviewed by Dean Jackson.

Changes include: new volume button, new full screen button, new play/pause button.
Repositioning of 30 second and play buttons.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-panel button):
(audio::-webkit-media-controls-rewind-button):
(audio::-webkit-media-controls-play-button):
(audio::-webkit-media-controls-play-button.paused):
(audio::-webkit-media-controls-panel .mute-box):
(video::-webkit-media-controls-volume-max-button):
(video::-webkit-media-controls-volume-min-button):
(audio::-webkit-media-controls-toggle-closed-captions-button):
(audio::-webkit-media-controls-fullscreen-button):
(audio::-webkit-media-controls-current-time-display):

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.configureInlineControls): Swap positions of rewind and play buttons.
(Controller.prototype.handleMuteButtonClicked): Remember to update volume slider when necessary.
(Controller.prototype.updateVolume): Ditto

4:00 PM Changeset in webkit [181045] by bshafiei@apple.com
  • 5 edits in branches/safari-600.4.10-branch/Source

Versioning.

3:52 PM Changeset in webkit [181044] by aestes@apple.com
  • 3 edits
    1 move in trunk/Source/WebCore

[Content Filtering] Rename ContentFilterMac.mm to ContentFilter.cpp
https://bugs.webkit.org/show_bug.cgi?id=142313

Reviewed by Anders Carlsson.

ContentFilterMac.mm no longer contains any Objective-C code, so rename it to ContentFilter.cpp. It is also no longer Mac-specific, so move it up to platform/.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/ContentFilter.cpp: Renamed from Source/WebCore/platform/mac/ContentFilterMac.mm.
  • platform/cocoa/NetworkExtensionContentFilter.h: Replaced NSInteger with long.
3:39 PM Changeset in webkit [181043] by achristensen@apple.com
  • 1 edit
    1 move in trunk/LayoutTests

Unreviewed gardening.

  • http/tests/contentextensions/basic-filter.html.hson: Removed.
  • http/tests/contentextensions/basic-filter.html.json: Copied from http/tests/contentextensions/basic-filter.html.hson.

Spell json correctly. Does not start with h.

3:39 PM Changeset in webkit [181042] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.4.10.7

New tag.

3:36 PM Changeset in webkit [181041] by Lucas Forschler
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r181038. rdar://problem/20046273

3:35 PM Changeset in webkit [181040] by bshafiei@apple.com
  • 2 edits in branches/safari-600.4.10-branch/Source/WebCore

Merged r181038. rdar://problem/20046308

3:25 PM Changeset in webkit [181039] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Attempted build fix.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
3:18 PM Changeset in webkit [181038] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r179597): Can't see power saver banner for plugins
https://bugs.webkit.org/show_bug.cgi?id=142312
<rdar://problem/20040517>

Reviewed by Brent Fulgham.

We were being a bit too restrictive when deciding a child
should not create a renderer. All shadow root children
of the snapshotted plugin need one.

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::childShouldCreateRenderer):
Test if we're part of the shadow tree.

2:43 PM Changeset in webkit [181037] by aestes@apple.com
  • 5 edits
    2 copies
    2 adds in trunk/Source/WebCore

[Content Filtering] Make it easier to add new content filters
https://bugs.webkit.org/show_bug.cgi?id=142255

Reviewed by Sam Weinig.

ContentFilter was becoming a bit of a mess, with both the WebFilterEvaluator and NEFilterSource implementations
awkwardly living side-by-side. This patch cleans things up by moving these implementations into two separate
classes and turning ContentFilter itself into an abstract interface that each implements. A new class called
ContentFilterCollection, which also inherits from ContentFilter, manages the collection of individual content
filters and is vended to the rest of the system by ContentFilter::createIfNeeded().

This refactoring will make it easier to add a third type of content filter in a follow-on patch, namely a mock
content filter for testing purposes.

  • WebCore.xcodeproj/project.pbxproj:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::responseReceived): Called ContentFilter::createIfNeeded() instead of instantiating a ContentFilter directly.

  • platform/ContentFilter.h:

(WebCore::ContentFilter::~ContentFilter):

  • platform/cocoa/NetworkExtensionContentFilter.h: Copied from Source/WebCore/platform/ContentFilter.h.
  • platform/cocoa/NetworkExtensionContentFilter.mm: Added.

(WebCore::NetworkExtensionContentFilter::canHandleResponse): Moved NEFilterSource code from ContentFilterMac.mm to here.
(WebCore::NetworkExtensionContentFilter::create): Ditto.
(WebCore::NetworkExtensionContentFilter::NetworkExtensionContentFilter): Ditto.
(WebCore::NetworkExtensionContentFilter::~NetworkExtensionContentFilter): Ditto.
(WebCore::NetworkExtensionContentFilter::addData): Ditto.
(WebCore::NetworkExtensionContentFilter::finishedAddingData): Ditto.
(WebCore::NetworkExtensionContentFilter::needsMoreData): Ditto.
(WebCore::NetworkExtensionContentFilter::didBlockData): Ditto.
(WebCore::NetworkExtensionContentFilter::getReplacementData): Ditto.
(WebCore::NetworkExtensionContentFilter::unblockHandler): Ditto.

  • platform/cocoa/ParentalControlsContentFilter.h: Copied from Source/WebCore/platform/ContentFilter.h.
  • platform/cocoa/ParentalControlsContentFilter.mm: Added.

(WebCore::ParentalControlsContentFilter::canHandleResponse): Moved WebFilterEvaluator code from ContentFilterMac.mm to here.
(WebCore::ParentalControlsContentFilter::create): Ditto.
(WebCore::ParentalControlsContentFilter::ParentalControlsContentFilter): Ditto.
(WebCore::ParentalControlsContentFilter::addData): Ditto.
(WebCore::ParentalControlsContentFilter::finishedAddingData): Ditto.
(WebCore::ParentalControlsContentFilter::needsMoreData): Ditto.
(WebCore::ParentalControlsContentFilter::didBlockData): Ditto.
(WebCore::ParentalControlsContentFilter::getReplacementData): Ditto.
(WebCore::ParentalControlsContentFilter::unblockHandler): Ditto.

  • platform/mac/ContentFilterMac.mm:

(WebCore::contentFilterType): Added a helper function template that creates a new ContentFilterType.
(WebCore::contentFilterTypes): Registered a ContentFilterType for each type of content filter.
(WebCore::ContentFilter::createIfNeeded): Created a ContentFilterCollection containing each content filter that can handle the given response.
(WebCore::ContentFilterCollection::ContentFilterCollection): Constructs a ContentFilterCollection given a Vector of content filters.
(WebCore::ContentFilterCollection::addData): Forwarded the call to each content filter in m_contentFilters.
(WebCore::ContentFilterCollection::finishedAddingData): Ditto.
(WebCore::ContentFilterCollection::needsMoreData): Ditto.
(WebCore::ContentFilterCollection::didBlockData): Ditto.
(WebCore::ContentFilterCollection::getReplacementData): Returned replacement data for the first filter that blocked the load.
If no filter blocked the load, returned the first filter's replacement data.
(WebCore::ContentFilterCollection::unblockHandler): Returned the unblock handler for the first filter that blocked the load.
(WebCore::ContentFilter::ContentFilter): Deleted.
(WebCore::ContentFilter::~ContentFilter): Deleted.
(WebCore::ContentFilter::canHandleResponse): Deleted.
(WebCore::ContentFilter::addData): Deleted.
(WebCore::ContentFilter::finishedAddingData): Deleted.
(WebCore::ContentFilter::needsMoreData): Deleted.
(WebCore::ContentFilter::didBlockData): Deleted.
(WebCore::ContentFilter::getReplacementData): Deleted.
(WebCore::ContentFilter::unblockHandler): Deleted.

2:41 PM Changeset in webkit [181036] by ddkilzer@apple.com
  • 18 edits in trunk/Source/WebCore

Switch remaining CoreMedia soft-linking in WebCore over to CoreMediaSoftLink.{cpp,h}
<http://webkit.org/b/141870>

Reviewed by Alex Christensen.

  • Configurations/WebCore.unexp:
  • Remove all weak symbols for CoreMedia.framework as they should no longer appear.
  • Modules/plugins/QuickTimePluginReplacement.mm:
  • platform/graphics/avfoundation/MediaTimeAVFoundation.cpp:
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
  • Clean up headers.
  • platform/cf/CoreMediaSoftLink.cpp:
  • platform/cf/CoreMediaSoftLink.h:
  • Add soft-link functions and constants from remaining source files.
  • platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::isAvailable):

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
  • platform/mac/PlatformClockCM.mm:
  • platform/mediastream/mac/AVMediaCaptureSource.mm:
  • platform/mediastream/mac/AVVideoCaptureSource.mm:
  • Switch to using CoreMediaSoftLink.h.
  • platform/mac/SoftLinking.h:
  • platform/win/SoftLinking.h:
  • Remove 'const' from SOFT_LINK_CONSTANT_{HEADER,SOURCE}() macros since it won't work with const structs.
  • platform/spi/cf/CoreMediaSPI.h:
  • Add SPI declarations for Windows originally from InbandTextTrackPrivateAVF.cpp.
2:39 PM Changeset in webkit [181035] by benjamin@webkit.org
  • 17 edits
    2 adds in trunk/Source/JavaScriptCore

[JSC] Add a node for Math.log()
https://bugs.webkit.org/show_bug.cgi?id=142126

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-03-04
Reviewed by Geoffrey Garen.

This patch adds the DFG node ArithLog for LogIntrinsic.

Having a direct call to log has very little value by itself, the implementation
in DFG and FTL is a simple function call.

What is useful in ArithLog is that we know the operation is pure.
This allow us to hoist it out of loops when the argument is independent
is an invariant of the loop.

Perf wise, this patch gives:
-Kraken's imaging-darkroom: definitely 1.2372x faster.
-AsmBench's Towers.c: definitely 1.0261x faster.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsic):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNodeType.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):
(JSC::DFG::PredictionPropagationPhase::doDoubleVoting):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileArithLog):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileArithLog):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::doubleLog):

  • tests/stress/math-log-basics.js: Added.
  • tests/stress/math-log-with-constants.js: Added.
2:34 PM Changeset in webkit [181034] by Lucas Forschler
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merge 176554 for rdar://problem/20027031.

2:29 PM Changeset in webkit [181033] by Lucas Forschler
  • 5 edits in branches/safari-600.5-branch/Source/WebCore

Merged r181005. rdar://problem/20044540

2:20 PM Changeset in webkit [181032] by Lucas Forschler
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r180065. rdar://problem/20044535

2:10 PM Changeset in webkit [181031] by achristensen@apple.com
  • 5 edits
    12 moves
    1 add in trunk

Move content extensions test to properly named directory.
https://bugs.webkit.org/show_bug.cgi?id=142299

Reviewed by Tim Horton.

Tools:

  • WebKitTestRunner/mac/TestControllerMac.mm:

(WTR::TestController::platformConfigureViewForTest):

LayoutTests:

  • TestExpectations:
  • http/tests/contentextensions: Added.
  • http/tests/contentextensions/basic-filter-expected.txt: Copied from platform/mac/http/tests/usercontentfilter/basic-filter-expected.txt.
  • http/tests/contentextensions/basic-filter.html: Copied from http/tests/usercontentfilter/basic-filter.html.
  • http/tests/contentextensions/basic-filter.html.hson: Copied from http/tests/usercontentfilter/basic-filter.html.json.
  • http/tests/contentextensions/block-cookies-basic-expected.txt: Copied from http/tests/usercontentfilter/block-cookies-basic-expected.txt.
  • http/tests/contentextensions/block-cookies-basic.html: Copied from http/tests/usercontentfilter/block-cookies-basic.html.
  • http/tests/contentextensions/block-cookies-basic.html.json: Copied from http/tests/usercontentfilter/block-cookies-basic.html.json.
  • http/tests/contentextensions/block-cookies-send-expected.txt: Copied from http/tests/usercontentfilter/block-cookies-send-expected.txt.
  • http/tests/contentextensions/block-cookies-send.html: Copied from http/tests/usercontentfilter/block-cookies-send.html.
  • http/tests/contentextensions/block-cookies-send.html.json: Copied from http/tests/usercontentfilter/block-cookies-send.html.json.
  • http/tests/contentextensions/css-display-none-expected.txt: Copied from http/tests/usercontentfilter/css-display-none-expected.txt.
  • http/tests/contentextensions/css-display-none.html: Copied from http/tests/usercontentfilter/css-display-none.html.
  • http/tests/contentextensions/css-display-none.html.json: Copied from http/tests/usercontentfilter/css-display-none.html.json.
  • http/tests/usercontentfilter/basic-filter.html: Removed.
  • http/tests/usercontentfilter/basic-filter.html.json: Removed.
  • http/tests/usercontentfilter/block-cookies-basic-expected.txt: Removed.
  • http/tests/usercontentfilter/block-cookies-basic.html: Removed.
  • http/tests/usercontentfilter/block-cookies-basic.html.json: Removed.
  • http/tests/usercontentfilter/block-cookies-send-expected.txt: Removed.
  • http/tests/usercontentfilter/block-cookies-send.html: Removed.
  • http/tests/usercontentfilter/block-cookies-send.html.json: Removed.
  • http/tests/usercontentfilter/css-display-none-expected.txt: Removed.
  • http/tests/usercontentfilter/css-display-none.html: Removed.
  • http/tests/usercontentfilter/css-display-none.html.json: Removed.
  • platform/mac-wk2/TestExpectations:
  • platform/mac/http/tests/usercontentfilter/basic-filter-expected.txt: Removed.
2:09 PM Changeset in webkit [181030] by Lucas Forschler
  • 2 edits
    1 add in branches/safari-600.5-branch/Source/JavaScriptCore

Merge patch for rdar://problem/20027040.

2:04 PM Changeset in webkit [181029] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.20.2/Source

Versioning.

2:00 PM Changeset in webkit [181028] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.20.2/Source/WebKit2

Merged r181004. rdar://problem/19983833

1:57 PM Changeset in webkit [181027] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.20.2/Source/WebKit2

Merged r180962. rdar://problem/19983833

1:52 PM Changeset in webkit [181026] by Lucas Forschler
  • 3 edits in branches/safari-600.5-branch/Source/JavaScriptCore

Merged r180101. rdar://problem/20027081

1:51 PM Changeset in webkit [181025] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.20.2

New tag.

1:47 PM Changeset in webkit [181024] by commit-queue@webkit.org
  • 21 edits in trunk/Source/WebCore

Unreviewed, rolling out r181001 and r181003.
https://bugs.webkit.org/show_bug.cgi?id=142307

Broke many tests (Requested by ap on #webkit).

Reverted changesets:

"Make JavaScript binding get and set legacy event listener
attributes directly"
https://bugs.webkit.org/show_bug.cgi?id=142282
http://trac.webkit.org/changeset/181001

"Update bindings tests after r181001."
http://trac.webkit.org/changeset/181003

1:45 PM Changeset in webkit [181023] by Beth Dakin
  • 13 edits in trunk/Source/WebKit2

Message UI process when contentSize changes
https://bugs.webkit.org/show_bug.cgi?id=142294
-and corresponding-
rdar://problem/19963165

Reviewed by Andreas Kling.

This patch un-ifdefs the didChangeContentSize message so that we can use it on Mac
as well.

New private method that subclasses can override when they need to do something
with contentSize changes.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView _didChangeContentSize:]):

  • UIProcess/PageClient.h:

Un-ifdef.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didChangeContentSize):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::didChangeContentSize):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::contentsSizeChanged):

Stubs for other platforms now that the pure-virtual is un-masked.

  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::didChangeContentSize):

  • UIProcess/API/gtk/PageClientImpl.h:
1:45 PM Changeset in webkit [181022] by Lucas Forschler
  • 31 edits in branches/safari-600.5-branch/Source/WebCore

Merged r180839. rdar://problem/20027026

1:41 PM Changeset in webkit [181021] by Brent Fulgham
  • 4 edits in trunk/LayoutTests

[Win] Rebaseline a few tests. Mark some failures.

  • platform/win/TestExpectations:
  • platform/win/fast/attachment/attachment-disabled-rendering-expected.txt:
  • platform/win/js/dom/global-constructors-attributes-expected.txt:
1:35 PM Changeset in webkit [181020] by Antti Koivisto
  • 5 edits
    4 adds in trunk/Source/WebKit2

Factor platform I/O out from NetworkCacheStorage
https://bugs.webkit.org/show_bug.cgi?id=142279

Reviewed by Chris Dumez.

  • NetworkProcess/cache/NetworkCacheData.h: Added.
  • NetworkProcess/cache/NetworkCacheDataCocoa.mm: Added.

NetworkCacheStorage::Data -> NetworkCacheData
Move to files of its own.

  • NetworkProcess/cache/NetworkCacheIOChannel.h: Added.
  • NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm: Added.

Add abstraction for dispatch IO channels.

1:32 PM Changeset in webkit [181019] by fpizlo@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Only Heap should be in charge of deciding how to select a subspace for a type
https://bugs.webkit.org/show_bug.cgi?id=142304

Reviewed by Mark Lam.

This slightly reduces the code duplication for selecting subspace based on type, and what
duplication is left is at least localized in HeapInlines.h. The immediate effect is that
the DFG and FTL don't have to duplicate this pattern.

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::emitAllocateJSObject):
(JSC::DFG::SpeculativeJIT::emitAllocateVariableSizedJSObject):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::allocateObject):

  • heap/Heap.h:
  • heap/HeapInlines.h:

(JSC::Heap::allocateObjectOfType):
(JSC::Heap::subspaceForObjectOfType):
(JSC::Heap::allocatorForObjectOfType):

  • runtime/JSCellInlines.h:

(JSC::allocateCell):

1:21 PM Changeset in webkit [181018] by Lucas Forschler
  • 2 edits in branches/safari-600.5-branch/Source/WebKit2

Merged r180782. rdar://problem/19997159

1:18 PM Changeset in webkit [181017] by Lucas Forschler
  • 4 edits
    2 copies in branches/safari-600.5-branch/Source/JavaScriptCore

Merged r180452. rdar://problem/19987611

1:14 PM Changeset in webkit [181016] by Lucas Forschler
  • 4 edits
    3 copies in branches/safari-600.5-branch/Source/JavaScriptCore

Merged r180234. rdar://problem/20027046

1:12 PM Changeset in webkit [181015] by roger_fong@apple.com
  • 3 edits in trunk/Source/WebCore

Update elapsed/remaining time displays on media inline controls on OSX.
https://bugs.webkit.org/show_bug.cgi?id=142264.
<rdar://problem/19997487>
Reviewed by Dean Jackson.
Div surrounding times are set widths. A larger width is used for times that are
an hour or longer. Time elapsed is right justified. Time remaining is left justified.
Times are displayed in 11pt Helvetica Neue.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-time-remaining-display):
(audio::-webkit-media-controls-current-time-display):
(audio::-webkit-media-controls-time-remaining-display.hour-long-time):
(audio::-webkit-media-controls-current-time-display.hour-long-time):
(audio::-webkit-media-controls-time-remaining-display.ten-hour-long-time):
(audio::-webkit-media-controls-current-time-display.ten-hour-long-time):

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.updateDuration):

1:02 PM Changeset in webkit [181014] by youenn.fablet@crf.canon.fr
  • 7 edits in trunk/Tools

W3C test importer should use filesystem instead of os.walk
https://bugs.webkit.org/show_bug.cgi?id=142085

Reviewed by Bem Jones-Bey.

Added FileSystem.dirs_under to remove the use of os.walk in test importer.
Added MockFileSystem.dirs_under and MockFileSystem.getsize to enable unit testing of test importer.
Added unit test for FileSystem.dirs_under and MockFileSystem.dirs_under.

Made use of FileSystem.dirs_under within TestImporter.find_importable_tests.
Added a unit test to check that test importer is now black-box testable using a Mock system.

  • Scripts/webkitpy/common/system/filesystem.py:

(FileSystem.dirs_under): Returns a list of filtered sub-directories.
(FileSystem.dirs_under.filter_all):

  • Scripts/webkitpy/common/system/filesystem_mock.py:

(MockFileSystem.dirs_under):
(MockFileSystem.dirs_under.filter_all):
(MockFileSystem.getsize):

  • Scripts/webkitpy/common/system/filesystem_mock_unittest.py:

(MockFileSystemTest.test_dirs_under):
(MockFileSystemTest.test_dirs_under.filter_dir):

  • Scripts/webkitpy/common/system/filesystem_unittest.py:

(RealFileSystemTest.test_sep):
(RealFileSystemTest):
(RealFileSystemTest.test_dirs_under):
(RealFileSystemTest.test_dirs_under.filter_this_dir):

  • Scripts/webkitpy/w3c/test_importer.py:

(TestImporter.do_import):
(TestImporter.find_importable_tests.should_keep_subdir):
(TestImporter.find_importable_tests):
(TestImporter.should_keep_subdir): Deleted.
(TestImporter.should_skip_file): Deleted.

  • Scripts/webkitpy/w3c/test_importer_unittest.py:

(TestImporterTest.test_import_dir_with_empty_init_py): Added test to ensure empty init.py are no longer empty once imported.

12:48 PM Changeset in webkit [181013] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

Implement -apple-trailing-word: -apple-partially-balanced
https://bugs.webkit.org/show_bug.cgi?id=142253

Reviewed by David Hyatt.

Source/WebCore:

This patch implements a history mechanism for line breaking. In particular, this patch partitions
the updates to the current line breaking location into two kinds: conceptually new breaking locations,
and fixups to existing locations. Then, this patch remembers all the fixed up breaking locations, up
to a maximum number of remembered locations.

The patch then uses this memory to change the line-breaking selection based on the rules of
-apple-trailing-word.

Test: fast/text/trailing-word.html

  • rendering/line/BreakingContextInlineHeaders.h:

Use InlineIteratorHistory as a proxy for the current breaking location. Note that all these functions
are inlined, so the overhead should be next to nothing when -apple-trailing-word is not in use.
(WebCore::BreakingContext::BreakingContext): Use InlineIteratorHistory instead of InlineIterator
(WebCore::BreakingContext::lineBreak): Ditto.
(WebCore::BreakingContext::clearLineBreakIfFitsOnLine): Ditto
(WebCore::BreakingContext::commitLineBreakAtCurrentWidth): Ditto
(WebCore::BreakingContext::InlineIteratorHistory::InlineIteratorHistory): Keeps track of historical
breaking locations
(WebCore::BreakingContext::InlineIteratorHistory::push): Remember a new breaking location
(WebCore::BreakingContext::InlineIteratorHistory::update): Update an existing breaking location
(WebCore::BreakingContext::InlineIteratorHistory::renderer): Forwarded to the current breaking location
(WebCore::BreakingContext::InlineIteratorHistory::offset): Ditto
(WebCore::BreakingContext::InlineIteratorHistory::atTextParagraphSeparator): Ditto
(WebCore::BreakingContext::InlineIteratorHistory::previousInSameNode): Ditto
(WebCore::BreakingContext::InlineIteratorHistory::get): Get one of the remembered breaking locations
(WebCore::BreakingContext::InlineIteratorHistory::current): Get the current breaking location
(WebCore::BreakingContext::InlineIteratorHistory::historyLength):
(WebCore::BreakingContext::InlineIteratorHistory::moveTo): Forwarded to the current breaking location.
(WebCore::BreakingContext::InlineIteratorHistory::increment): Ditto
(WebCore::BreakingContext::InlineIteratorHistory::clear): Ditto
(WebCore::BreakingContext::handleBR): Use InlineIteratorHistory instead of InlineIterator
(WebCore::BreakingContext::handleFloat): Ditto
(WebCore::BreakingContext::handleText): Use InlineIteratorHistory instead of InlineIterator
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded): Style
(WebCore::checkMidpoints): Use InlineIteratorHistory instead of InlineIterator
(WebCore::BreakingContext::handleEndOfLine): If -apple-trailing-word is in effect, use
optimalLineBreakLocationForTrailingWord().
(WebCore::BreakingContext::optimalLineBreakLocationForTrailingWord): Use the remembered breaking
locations and choose the optimal one.
(WebCore::BreakingContext::lineBreakRef): Deleted.

LayoutTests:

  • fast/text/trailing-word-expected.html: Added.
  • fast/text/trailing-word.html: Added.
12:30 PM Changeset in webkit [181012] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed Gardening 4th March

https://bugs.webkit.org/show_bug.cgi?id=142271

Patch by Marcos Chavarría Teijeiro <chavarria1991@gmail.com> on 2015-03-04

  • platform/gtk/TestExpectations:
12:24 PM Changeset in webkit [181011] by Brian Burg
  • 9 edits in trunk/Source/WebInspectorUI

Web Inspector: TimelineViews should be displayed in a ContentViewContainer
https://bugs.webkit.org/show_bug.cgi?id=142290

Reviewed by Timothy Hatcher.

TimelineRecordingContentView has a bunch of logic to manage the currently visible TimelineView.
This could be delegated to a ContentViewContainer to simplify the logic. It also opens the possibility
for other views to be displayed beneath the timeline overview graphs when it makes sense to do so.

In order to be displayable in the container, TimelineView and its subclasses have been upgraded to
be ContentView subclasses. This also reduces some code duplication for basic view management.

  • UserInterface/Views/ContentView.js:

(WebInspector.ContentView): Move base class instantiation pattern from TimelineView to here.
(WebInspector.ContentView.isViewable):

  • UserInterface/Views/LayoutTimelineView.js: Use ContentView events and base methods.

(WebInspector.LayoutTimelineView.prototype.shown):
(WebInspector.LayoutTimelineView.prototype.hidden):
(WebInspector.LayoutTimelineView.prototype._dataGridNodeSelected):

  • UserInterface/Views/NetworkTimelineView.js: Use ContentView events and base methods.

(WebInspector.NetworkTimelineView.prototype.shown):
(WebInspector.NetworkTimelineView.prototype.hidden):
(WebInspector.NetworkTimelineView.prototype._dataGridNodeSelected):

  • UserInterface/Views/OverviewTimelineView.js: Use ContentView events and base methods.

(WebInspector.OverviewTimelineView.prototype.shown):
(WebInspector.OverviewTimelineView.prototype._dataGridNodeSelected):
(WebInspector.OverviewTimelineView.prototype._treeElementSelected):

  • UserInterface/Views/ScriptTimelineView.js: Use ContentView events and base methods.

(WebInspector.ScriptTimelineView.prototype.shown):
(WebInspector.ScriptTimelineView.prototype.hidden):
(WebInspector.ScriptTimelineView.prototype._dataGridNodeSelected):

  • UserInterface/Views/TimelineRecordingContentView.css: Use WebInspector.ContentViewContainer class.

(.content-view.timeline-recording > .content-view-container):
(.content-view.timeline-recording > .content-view-container > .timeline-view > .data-grid td):
(.content-view.timeline-recording > .content-view-container > .timeline-view > .data-grid table.data):
(.content-view.timeline-recording > .view-container): Deleted.
(.content-view.timeline-recording > .view-container > .timeline-view > .data-grid td): Deleted.
(.content-view.timeline-recording > .view-container > .timeline-view > .data-grid table.data): Deleted.

  • UserInterface/Views/TimelineRecordingContentView.js:

Many of the changes here mirror the implementation of ClusterContentView. Searching is disabled since
none of the timeline views are currently searchable using ContentViewContainer's full-text search.

In cases where we update the current timeline view, the currentTimelineView accessor returns the
content view if a TimelineView is shown in the content view container, otherwise null.

(WebInspector.TimelineRecordingContentView):
(WebInspector.TimelineRecordingContentView.prototype.showOverviewTimelineView):
(WebInspector.TimelineRecordingContentView.prototype.showTimelineViewForTimeline):
(WebInspector.TimelineRecordingContentView.prototype.get supplementalRepresentedObjects):
(WebInspector.TimelineRecordingContentView.prototype.get handleCopyEvent):
(WebInspector.TimelineRecordingContentView.prototype.get supportsSave):
(WebInspector.TimelineRecordingContentView.prototype.get saveData):
(WebInspector.TimelineRecordingContentView.prototype.get currentTimelineView):
(WebInspector.TimelineRecordingContentView.prototype.shown):
(WebInspector.TimelineRecordingContentView.prototype.hidden):
(WebInspector.TimelineRecordingContentView.prototype.closed):
(WebInspector.TimelineRecordingContentView.prototype.canGoBack):
(WebInspector.TimelineRecordingContentView.prototype.canGoForward):
(WebInspector.TimelineRecordingContentView.prototype.goBack):
(WebInspector.TimelineRecordingContentView.prototype.goForward):
(WebInspector.TimelineRecordingContentView.prototype.updateLayout):
(WebInspector.TimelineRecordingContentView.prototype.saveToCookie):
(WebInspector.TimelineRecordingContentView.prototype.get filterDidChange):
(WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
(WebInspector.TimelineRecordingContentView.prototype._contentViewSelectionPathComponentDidChange):
(WebInspector.TimelineRecordingContentView.prototype._contentViewSupplementalRepresentedObjectsDidChange):
(WebInspector.TimelineRecordingContentView.prototype._updateTimes):
(WebInspector.TimelineRecordingContentView.prototype._timelineRemoved):
(WebInspector.TimelineRecordingContentView.prototype._timelineCountChanged):
(WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged):
(WebInspector.TimelineRecordingContentView.prototype.filterDidChange): Deleted.
(WebInspector.TimelineRecordingContentView.prototype._timelineViewSelectionPathComponentsDidChange): Deleted.
(WebInspector.TimelineRecordingContentView.prototype._showTimelineView): Deleted.

  • UserInterface/Views/TimelineView.js: Remove duplicated functionality and use ContentView equivalents instead.

(WebInspector.TimelineView):
(WebInspector.TimelineView.prototype.filterUpdated):
(WebInspector.TimelineView.prototype.needsLayout):
(WebInspector.TimelineView.prototype.get representedObject): Deleted.
(WebInspector.TimelineView.prototype.get visible): Deleted.
(WebInspector.TimelineView.prototype.shown): Deleted.
(WebInspector.TimelineView.prototype.hidden): Deleted.

12:00 PM Changeset in webkit [181010] by akling@apple.com
  • 15 edits
    1 copy
    1 add in trunk/Source

Stale entries in WeakGCMaps are keeping tons of WeakBlocks alive unnecessarily.
<https://webkit.org/b/142115>
<rdar://problem/19992268>

Reviewed by Geoffrey Garen.

Prune stale entries from WeakGCMaps as part of every full garbage collection.
This frees up tons of previously-stuck WeakBlocks that were only sitting around
with finalized handles waiting to die.

Note that WeakGCMaps register/unregister themselves with the GC heap in their
ctor/dtor, so creating one now requires passing the VM.

Average time spent in the PruningStaleEntriesFromWeakGCMaps GC phase appears
to be between 0.01ms and 0.3ms, though I've seen a few longer ones at ~1.2ms.
It seems somewhat excessive to do this on every Eden collection, so it's only
doing work in full collections for now.

  • API/JSWeakObjectMapRefInternal.h:

(OpaqueJSWeakObjectMap::create):
(OpaqueJSWeakObjectMap::OpaqueJSWeakObjectMap):

  • API/JSWeakObjectMapRefPrivate.cpp:
  • API/JSWrapperMap.mm:

(-[JSWrapperMap initWithContext:]):
(-[JSWrapperMap jsWrapperForObject:]): Pass VM to WeakGCMap constructor.

  • JavaScriptCore.xcodeproj/project.pbxproj: Add WeakGCMapInlines.h and make

it project-private so WebCore clients can access it.

  • heap/Heap.cpp:

(JSC::Heap::collect):
(JSC::Heap::pruneStaleEntriesFromWeakGCMaps): Added a new GC phase for pruning
stale entries from WeakGCMaps. This is only executed during full collections.

  • heap/Heap.h:
  • heap/HeapInlines.h:

(JSC::Heap::registerWeakGCMap):
(JSC::Heap::unregisterWeakGCMap): Added a mechanism for WeakGCMaps to register
themselves with the Heap and provide a pruning callback.

  • runtime/PrototypeMap.h:

(JSC::PrototypeMap::PrototypeMap):

  • runtime/Structure.cpp:

(JSC::StructureTransitionTable::add): Pass VM to WeakGCMap constructor.

  • runtime/JSCInlines.h: Add "WeakGCMapInlines.h"
  • runtime/JSGlobalObject.cpp: Include "WeakGCMapInlines.h" so this builds.
  • runtime/VM.cpp:

(JSC::VM::VM): Pass VM to WeakGCMap constructor.

  • runtime/WeakGCMap.h:

(JSC::WeakGCMap::set):
(JSC::WeakGCMap::add):
(JSC::WeakGCMap::WeakGCMap): Deleted.
(JSC::WeakGCMap::gcMap): Deleted.
(JSC::WeakGCMap::gcMapIfNeeded): Deleted.

  • runtime/WeakGCMapInlines.h: Added.

(JSC::WeakGCMap::WeakGCMap):
(JSC::WeakGCMap::~WeakGCMap):
(JSC::WeakGCMap::pruneStaleEntries): Moved ctor, dtor and pruning callback
to WeakGCMapInlines.h to fix interdependent header issues. Removed code that
prunes WeakGCMap at certain growth milestones and instead rely on the GC
callback for housekeeping.

11:56 AM Changeset in webkit [181009] by Lucas Forschler
  • 6 edits in branches/safari-600.5-branch

Merge patch for rdar://problem/19850744.

11:33 AM Changeset in webkit [181008] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

<attachment> title text disappears when dragging
https://bugs.webkit.org/show_bug.cgi?id=142263
<rdar://problem/20035515>

Reviewed by Sam Weinig.

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintAttachment):
We use NSColors with CoreText, which requires that Cocoa knows the current
CGContext out-of-band (through the NSGraphicsContext currentContext mechanism).
Otherwise, sometimes (especially when dragging), it will try to apply the
text foreground color to a null context, complain to the system log, and fail
to render the text.

11:27 AM Changeset in webkit [181007] by timothy_horton@apple.com
  • 8 edits in trunk/Tools

[WebEditingTester] Add support for the find and replace bar
https://bugs.webkit.org/show_bug.cgi?id=142247

Reviewed by Enrica Casucci.

While it's not hooked up yet in WKWebView, adding support for the
find bar to WebEditingTester will help us implement that functionality.

  • WebEditingTester/AppDelegate.h:
  • WebEditingTester/AppDelegate.m:

(-[WebEditingAppDelegate performTextFinderAction:]):

  • WebEditingTester/MainMenu.xib:

Receive performTextFinderAction: and forward it to the frontmost WebDocumentController.

  • WebEditingTester/WK2WebDocumentController.m:

(-[WK2WebDocumentController awakeFromNib]):
(-[WK2WebDocumentController performTextFinderAction:]):
(-[WK2WebDocumentController findBarView]):
(-[WK2WebDocumentController setFindBarView:]):
(-[WK2WebDocumentController isFindBarVisible]):
(-[WK2WebDocumentController setFindBarVisible:]):
(-[WK2WebDocumentController findBarViewDidChangeHeight]):
(-[WK2WebDocumentController layout]):
Implement performTextFinderAction: for WebKit2, and have a NSTextFinder
pointing at the WKWebView (currently nothing will work, but the bar will
show up). Install and uninstall the bar as needed.

  • WebEditingTester/WebDocument.xib:

Don't use a full-size content view. There's no need, and it makes find
bar layout harder.

  • WebEditingTester/WebDocumentController.h:
  • WebEditingTester/WebDocumentController.m:

(-[WebDocumentController performTextFinderAction:]):

11:26 AM Changeset in webkit [181006] by jer.noble@apple.com
  • 5 edits in trunk/Source/WebCore

[Mac] YouTube playback at 1.5x speed has audible distortion
https://bugs.webkit.org/show_bug.cgi?id=142280

Reviewed by Eric Carlson.

Use the high-quality AVAudioTimePitchAlgorithmSpectral algorithm for the
AVSampleBufferAudioRenderer rather than its default value of
AVAudioTimePitchAlgorithmTimeDomain.

Drive-by fix:

Might as well add support for MediaPlayer::setPreservesPitch() while we're
changing the audio pitch algorithm. If preservesPitch() is false use the
AVAudioTimePitchAlgorithmVarispeed algorithm in both AVFObjC-based media players
(MediaPlayerPrivateAVFoundationObjC & MediaPlayerPrivateMediaSourceAVFObjC).

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setPreservesPitch):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setRateDouble): Deleted.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setPreservesPitch):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addAudioRenderer):

11:22 AM Changeset in webkit [181005] by jer.noble@apple.com
  • 5 edits in trunk/Source/WebCore

[MSE][EME][Mac] Calling close on a MediaKeysSession will cause many decoding errors to be emitted
https://bugs.webkit.org/show_bug.cgi?id=142285

Reviewed by Eric Carlson.

When a MediaKeySession (backed by CDMSessionMediaSourceAVFObjC) is closed and the
underlying AVStreamSession is invalidated, the decryption context for in-flight
CMSampleBuffers is also invalidated, and the AVSampleBufferDisplayLayer will issue
one error for each enqueued and un-displayed sample in its image-queue. -flush-ing
the AVSampleBufferDisplayLayer is not enough, as the flush only takes effect
asynchronously the next time the layer needs new samples.

Add a workaround until framework-level support lands to fully flush enqueued and
encrypted frames.

When the CDMSessionMediaSOurceAVFObjC object recieves an error from the layer,
check to see if the session has been stopped. If so, and if the error in question is
one that indicates that the samples decryption context has been invalidated, suppress
the error and instruct the sender to suppress the error as well. This workaround will
be removed once real support for synchronous flushing lands in <rdar://problem/20027434.>

Still, we'll make our best effort to flush undisplayed frames when our CDM session is
invalidated. Move away from std::map and instead use HashMap to store the set of
AVSampleBufferAudioRenderers. This allows us to use C++11 style loops against just
the HashMap's set of values.

  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:

(WebCore::CDMSessionMediaSourceAVFObjC::releaseKeys): Flush and set m_stopped.
(WebCore::CDMSessionMediaSourceAVFObjC::layerDidReceiveError): Check m_stopped and the

error code and bail before issuing the error.

(WebCore::CDMSessionMediaSourceAVFObjC::rendererDidReceiveError): Ditto.

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(-[WebAVSampleBufferErrorListener layerFailedToDecode:]): Drive-by fix. Check whether

the layer is in the set of listened-to layers only back in the main thread; the
listnener may have been unregistered by the time the main thread was called.

(WebCore::SourceBufferPrivateAVFObjC::destroyRenderers): std::map -> HashMap.
(WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::flushAndEnqueueNonDisplayingSamples): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::enqueueSample): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::isReadyForMoreSamples): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::didBecomeReadyForMoreSamples): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::notifyClientWhenReadyForMoreSamples): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::flush): Added; call -flush on all the display

layers and audio renderers.

(WebCore::SourceBufferPrivateAVFObjC::layerDidReceiveError): Check if any clients

asked to ignore the error, and if so, bail.

(WebCore::SourceBufferPrivateAVFObjC::rendererDidReceiveError): Ditto.

10:48 AM Changeset in webkit [181004] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebKit2

Remove WK_AVAILABLE and related macros when we cannot determine iOS/Mac version
https://bugs.webkit.org/show_bug.cgi?id=142252
rdar://problem/19983833

Reviewed by David Kilzer.

When mac / ios version was unable to be determined strip the WK_AVAILABLE
and WK_DEPRECATED macros to avoid outputing a broken macro.

  • mac/postprocess-framework-headers.sh:
10:40 AM Changeset in webkit [181003] by achristensen@apple.com
  • 18 edits in trunk/Source/WebCore

Update bindings tests after r181001.

  • bindings/scripts/test/JS/*.cpp:

Class names changed to auto.

10:24 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
10:22 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
9:50 AM Changeset in webkit [181002] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

[Win] Missing dependency checking in DerivedSources.make for FeatureDefines.props
https://bugs.webkit.org/show_bug.cgi?id=142284

Reviewed by David Kilzer.

Make DerivedSources.make understand its build dependency on FeatureDefines.props
when building on Windows:

  1. Modify DerivedSources.make to declare a default dependency (on Windows) to $(WEBKIT_LIBRARIES)/tools/vsprops/FeatureDefines.props.
  2. Update the Windows script 'build-generated-files.pl' to specify the correct FeatureDefines{Cairo}.props value to use, depending on build environment.
  • DerivedSources.make:
  • WebCore.vcxproj/build-generated-files.pl:
9:30 AM Changeset in webkit [181001] by Darin Adler
  • 4 edits in trunk/Source/WebCore

Make JavaScript binding get and set legacy event listener attributes directly
https://bugs.webkit.org/show_bug.cgi?id=142282

Reviewed by Sam Weinig.

Test: fast/dom/legacy-event-handler-attributes.html

This patch changes the JavaScript getters and setters for these attributes
to work directly without requiring any functions in the C++ DOM implementation.
A subsequent patch will remove the now-unused C++ DOM implementation.

  • bindings/js/JSEventListener.cpp:

(WebCore::legacyEventListenerAttribute): Added.
(WebCore::createEventListenerForLegacyAttribute): Added.
(WebCore::setLegacyEventListenerAttribute): Added.
(WebCore::legacyWindowEventListenerAttribute): Added.
(WebCore::setLegacyWindowEventListenerAttribute): Added.

  • bindings/js/JSEventListener.h:

(WebCore::createJSEventListenerForAttribute): Deleted.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateAttributeEventListenerCall): Deleted.
(LegacyEventListenerAttributeEventName): Added.
(LegacyEventListenerAttributePrefix): Added.
(GenerateImplementation): Use "auto" in lots of places to simplify the code
generation. Replaced the old inlined code to deal with legacy event listener
attributes with code that simply calls the new functions from JSEventLister.h.
(GenerateCallWith): Use "auto".
(GenerateConstructorDefinition): Ditto.

8:41 AM Changeset in webkit [181000] by weinig@apple.com
  • 7 edits
    2 moves
    5 adds in trunk

[Content Extensions] Split parsing and compiling of content extensions into their own files
https://bugs.webkit.org/show_bug.cgi?id=142259

Reviewed by Anders Carlsson.

Source/WebCore:

Added new unit test:

ContentFilterTest.Basic

  • WebCore.xcodeproj/project.pbxproj:

Add new files (CompiledContentExtension.h/cpp, ContentExtensionCompiler.h/cpp, and ContentExtensionParser.h/cpp)

  • contentextensions/CompiledContentExtension.cpp: Added.
  • contentextensions/CompiledContentExtension.h: Added.

Add new class for holding onto the compiled content extension itself. Make it ThreadSafeRefCounted so it is easy
to move between threads which will be important in a subsequent patch where we enable compilation on a background
thread.

  • contentextensions/ContentExtensionCompiler.cpp: Added.

(WebCore::ContentExtensions::serializeActions):
(WebCore::ContentExtensions::compileRuleList):

  • contentextensions/ContentExtensionCompiler.h: Added.

Moving compilation to its own file. Was previously in ContentExtensionsBackend. This is necessary because
we will want to be able to compile without the need of a backend.

  • contentextensions/ContentExtensionParser.cpp: Copied from contentextensions/ContentExtensionsManager.cpp.
  • contentextensions/ContentExtensionParser.h: Copied from contentextensions/ContentExtensionsManager.h.

Renamed ContentExtensionsManager to ContentExtensionParser, since that is all it is doing.

  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::addContentExtension):
(WebCore::ContentExtensions::ContentExtensionsBackend::removeContentExtension):
(WebCore::ContentExtensions::ContentExtensionsBackend::removeAllContentExtensions):
(WebCore::ContentExtensions::ContentExtensionsBackend::actionsForURL):
(WebCore::ContentExtensions::ContentExtensionsBackend::serializeActions): Deleted.
(WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList): Deleted.
(WebCore::ContentExtensions::ContentExtensionsBackend::removeRuleList): Deleted.
(WebCore::ContentExtensions::ContentExtensionsBackend::removeAllRuleLists): Deleted.

  • contentextensions/ContentExtensionsBackend.h:

Change the backend to use the new CompiledContentExtension and change the terminology to
reference content extensions, rather than rule lists.

  • page/UserContentController.cpp:

(WebCore::UserContentController::addUserContentFilter):
(WebCore::UserContentController::removeUserContentFilter):
(WebCore::UserContentController::removeAllUserContentFilters):
Update for new names and change addUserContentFilter to explicitly compile the JSON
rule list before handing it to the backend. In subsequent changes, addUserContentFilter
should be changed to take the compiled content extension, and it should become the responsibility
of the called (WebKit) to create them.

Tools:

Add basic unit test for the content filter compiler.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/ContentFilter.cpp: Added.

(WebCore::ContentExtensions::operator<<):
(TestWebKitAPI::ContentFilterTest::SetUp):
(TestWebKitAPI::TEST_F):

7:52 AM Changeset in webkit [180999] by mmirman@apple.com
  • 2 edits in trunk/Tools

Cleaned up BuildAndTestFactory to not be a near duplicate of TestFactory
https://bugs.webkit.org/show_bug.cgi?id=142230

Reviewed by Csaba Osztrogonác.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(TestFactory):
(TestFactory.getProduct): Added
(TestFactory.init): moved downloader to getProduct
(BuildAndTestFactory):
(BuildAndTestFactory.getProduct): Added
(BuildAndTestFactory.init): made to call TestFactory.init and append steps to the end.
(BuildAndTestWebKit2Factory): Deleted. Wasn't used anywhere.

6:37 AM WebKitGTK/2.8.x edited by Carlos Garcia Campos
(diff)
6:19 AM Changeset in webkit [180998] by commit-queue@webkit.org
  • 4 edits in trunk

[GTK] WebView should hold a reference on WebContext because non-default contexts are a reality
https://bugs.webkit.org/show_bug.cgi?id=142225

Patch by Debarshi Ray <debarshir@gnome.org> on 2015-03-04
Reviewed by Carlos Garcia Campos.

Source/WebKit2:

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewRequestFavicon):
(webkitWebViewWatchForChangesInFavicon):
(webkitWebViewDisconnectFaviconDatabaseSignalHandlers):
(webkitWebViewConstructed):
(webkitWebViewGetProperty):
(webkitWebViewDispose):
(webkitWebViewLoadChanged):
(webkitWebViewLoadFailedWithTLSErrors):
(webkit_web_view_get_context):
(webkit_web_view_download_uri):

Tools:

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:

(testWebViewWebContextLifetime):
(beforeAll):

5:24 AM Changeset in webkit [180997] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] the GST_SCHEDULING_FLAG_BANDWIDTH_LIMITED should be wrapped by a ifdef
https://bugs.webkit.org/show_bug.cgi?id=142274

Patch by Philippe Normand <pnormand@igalia.com> on 2015-03-04
Reviewed by Carlos Garcia Campos.

Don't handle scheduling queries if building against versions of
GStreamer older than 1.2.0.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcQueryWithParent):

5:22 AM WebKitGTK/2.6.x edited by Carlos Garcia Campos
(diff)
12:37 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)

Mar 3, 2015:

11:55 PM Changeset in webkit [180996] by yoav@yoav.ws
  • 14 edits
    10 adds in trunk

Add a microtask abstraction
https://bugs.webkit.org/show_bug.cgi?id=137496

Reviewed by Sam Weinig.

Source/WebCore:

This patch adds a microtask abstraction: https://html.spec.whatwg.org/multipage/webappapis.html#microtask
That abstraction is required in order to enable async loading of images,
which is in turn required to enable support for the picture element, as well as
to make sure that the order of properties set on HTMLImageElement has no implications.

A similar patch was rolled back in r180914. This patch is an improved version.

  • WebCore.vcxproj/WebCore.vcxproj: Add MicroTask.{h,cpp} to the project.
  • WebCore.vcxproj/WebCoreTestSupport.vcxproj: Add MicroTaskTest.{h,cpp} to the project.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Add MicroTask.{h,cpp} to the project.
  • WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters: Add MicroTaskTest.{h,cpp} to the project.
  • WebCore.xcodeproj/project.pbxproj: Add MicroTask{,Test}.{h,cpp} to the project.
  • dom/Document.h: Add WEBCORE_EXPORT to addConsoleMessage, so it can be used in MicroTaskTest that's in WebCoreTestSupport..
  • dom/MicroTask.h: Add a MicroTask interface class. Add a MicroTaskQueue singleton.

(WebCore::MicroTask::~MicroTask):
(WebCore::MicroTask::run): Run the microtask.

  • dom/MicroTask.cpp: Implement the MicroTaskQueue singleton.

(WebCore::MicroTaskQueue::singleton): Get a singleton instance of MicroTaskQueue.
(WebCore::MicroTaskQueue::queueMicroTask): Add a microtask to the queue.
(WebCore::MicroTaskQueue::runMicroTasks): Run all the microtasks in the queue and clear it.

  • dom/ScriptRunner.cpp: Trigger running of all microtasks in queue.

(WebCore::ScriptRunner::timerFired):

  • html/parser/HTMLScriptRunner.cpp: Trigger running of all microtasks in queue.

(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
(WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
(WebCore::HTMLScriptRunner::runScript):

  • testing/Internals.cpp: Add a method to queue a test microtask.

(WebCore::Internals::queueMicroTask):

  • testing/Internals.h: Add a method to queue a test microtask.

(WebCore::Internals::queueMicroTask):

  • testing/Internals.idl: Expose test microtask queueing to test JS.
  • testing/MicroTaskTest.cpp: Add a test class that implements a microtask and prints to the console when it runs.

(WebCore::MicroTaskTest::run): Run the microtask
(WebCore::MicroTaskTest::create): Create a test microtask.

  • testing/MicroTaskTest.h: Add a test class that implements a microtask.

(WebCore::MicroTaskTest::run):
(WebCore::MicroTaskTest::create):

LayoutTests:

Adding a test for microtask abstraction.
A similar patch was rolled back in r180914.

  • fast/dom/microtask-detach.html: Added.
  • fast/dom/microtask-detach-expected.txt: Added.
  • fast/dom/microtask-inorder.html: Added.
  • fast/dom/microtask-inorder-expected.txt: Added.
  • fast/dom/microtask-reverse.html: Added.
  • fast/dom/microtask-reverse-expected.txt: Added.
11:52 PM Changeset in webkit [180995] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

11:51 PM Changeset in webkit [180994] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.21

New tag.

10:55 PM Changeset in webkit [180993] by fpizlo@apple.com
  • 13 edits in trunk/Source/JavaScriptCore

DFG IR should refer to FunctionExecutables directly and not via the CodeBlock
https://bugs.webkit.org/show_bug.cgi?id=142229

Reviewed by Mark Lam and Benjamin Poulain.

Anytime a DFG IR node refers to something in CodeBlock, it has three effects:

  • Cumbersome API for accessing the thing that the node refers to.


  • Not obvious how to create a new such node after bytecode parsing, especially if the thing it refers to isn't already in the CodeBlock. We have done this in the past, but it usually involves subtle changes to CodeBlock.


  • Not obvious how to inline code that ends up using such nodes. Again, when we have done this, it involved subtle changes to CodeBlock.


Prior to this change, the NewFunction* node types used an index into tables in CodeBlock.
For this reason, those operations were not inlineable. But the functin tables in CodeBlock
just point to FunctionExecutables, which are cells; this means that we can just abstract
these operands in DFG IR as cellOperands. cellOperands use DFG::FrozenValue, which means
that GC registration happens automagically. Even better, our dumping for cellOperand
already did FunctionExecutable dumping - so that functionality gets to be deduplicated.

Because this change increases the number of users of cellOperand, it also adds some
convenience methods for using it. For example, whereas before you'd say things like:

jsCast<Foo*>(node->cellOperand()->value())


you can now just say:

node->castOperand<Foo*>()


This change also changes existing cellOperand users to use the new conveniance API when
applicable.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::jettisonFunctionDeclsAndExprs):

  • bytecode/CodeBlock.h:
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • dfg/DFGFrozenValue.h:

(JSC::DFG::FrozenValue::cell):
(JSC::DFG::FrozenValue::dynamicCast):
(JSC::DFG::FrozenValue::cast):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::registerFrozenValues):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasCellOperand):
(JSC::DFG::Node::castOperand):
(JSC::DFG::Node::hasFunctionDeclIndex): Deleted.
(JSC::DFG::Node::functionDeclIndex): Deleted.
(JSC::DFG::Node::hasFunctionExprIndex): Deleted.
(JSC::DFG::Node::functionExprIndex): Deleted.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck):
(JSC::DFG::SpeculativeJIT::compileNewFunctionExpression):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGWatchpointCollectionPhase.cpp:

(JSC::DFG::WatchpointCollectionPhase::handle):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileCheckCell):
(JSC::FTL::LowerDFGToLLVM::compileNativeCallOrConstruct):

9:33 PM Changeset in webkit [180992] by msaboff@apple.com
  • 5 edits
    2 adds in trunk/Source/JavaScriptCore

DelayedReleaseScope drops locks during GC which can cause a thread switch and code reentry
https://bugs.webkit.org/show_bug.cgi?id=141275

Reviewed by Geoffrey Garen.

The original issue is that the CodeCache uses an unsafe method to add new UnlinkedCodeBlocks.
It basically adds a null UnlinkedCodeBlock if there isn't a cached entry and then later
updates the null entry to the result of the compilation. If during that compilation and
related processing we need to garbage collect, the DelayedReleaseScope would drop locks
possibly allowing another thread to try to get the same source out of the CodeCache.
This second thread would find the null entry and crash. The fix is to move the processing of
DelayedReleaseScope to when we drop locks and not drop locks during GC. That was done in
the original patch with the new function releaseDelayedReleasedObjects().

Updated releaseDelayedReleasedObjects() so that objects are released with all locks
dropped. Now its processing follows these steps

Increment recursion counter and do recursion check and exit if recursing
While there are objects to release

ASSERT that lock is held by current thread
Take all items from delayed release Vector and put into temporary Vector
Release API lock
Release and clear items from temporary vector
Reaquire API lock

This meets the requirement that we release while the API lock is released and it is
safer processing of the delayed release Vector.

Added new regression test to testapi.

Also added comment describing how recursion into releaseDelayedReleasedObjects() is
prevented.

  • API/tests/Regress141275.h: Added.
  • API/tests/Regress141275.mm: Added.

(+[JSTEvaluatorTask evaluatorTaskWithEvaluateBlock:completionHandler:]):
(-[JSTEvaluator init]):
(-[JSTEvaluator initWithScript:]):
(-[JSTEvaluator _accessPendingTasksWithBlock:]):
(-[JSTEvaluator insertSignPostWithCompletion:]):
(-[JSTEvaluator evaluateScript:completion:]):
(-[JSTEvaluator evaluateBlock:completion:]):
(-[JSTEvaluator waitForTasksDoneAndReportResults]):
(JSTRunLoopSourceScheduleCallBack):
(
JSTRunLoopSourcePerformCallBack):
(JSTRunLoopSourceCancelCallBack):
(-[JSTEvaluator _jsThreadMain]):
(-[JSTEvaluator _sourceScheduledOnRunLoop:]):
(-[JSTEvaluator _setupEvaluatorThreadContextIfNeeded]):
(-[JSTEvaluator _callCompletionHandler:ifNeededWithError:]):
(-[JSTEvaluator _sourcePerform]):
(-[JSTEvaluator _sourceCanceledOnRunLoop:]):
(runRegress141275):

  • API/tests/testapi.mm:

(testObjectiveCAPI):

(JSC::Heap::releaseDelayedReleasedObjects):

  • runtime/JSLock.cpp:

(JSC::JSLock::unlock):

9:31 PM Changeset in webkit [180991] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Mark fast/css/object-fit/object-fit-canvas.html as a flakey
image failure, since it keeps breaking EWS.

  • platform/mac/TestExpectations:
9:29 PM Changeset in webkit [180990] by Brent Fulgham
  • 6 edits in trunk

[Win] [Attachment] New Tests fail on Windows
https://bugs.webkit.org/show_bug.cgi?id=142017

WebKitLibraries:

Unreviewed test fix. Just activate the feature.

  • win/tools/vsprops/FeatureDefines.props:
  • win/tools/vsprops/FeatureDefinesCairo.props:

LayoutTests:

Unreviewed. Rebaseline tests for Windows display metrics.

  • platform/win/fast/attachment/attachment-disabled-rendering-expected.txt:
  • platform/win/fast/attachment/attachment-rendering-expected.txt:
9:26 PM Changeset in webkit [180989] by fpizlo@apple.com
  • 19 edits
    3 adds in trunk/Source/JavaScriptCore

DFG should constant fold GetScope, and accesses to the scope register in the ByteCodeParser should not pretend that it's a constant as that breaks OSR exit liveness tracking
https://bugs.webkit.org/show_bug.cgi?id=106202

Rubber stamped by Benjamin Poulain.

This fixes a bug discovered by working on https://bugs.webkit.org/show_bug.cgi?id=142229,
which was in turn discovered by working on https://bugs.webkit.org/show_bug.cgi?id=141174.
Our way of dealing with scopes known to be constant is very sketchy, and only really works
when a function is inlined. When it is, we pretend that every load of the scopeRegister sees
a constant. But this breaks the DFG's tracking of the liveness of the scopeRegister. The way
this worked made us miss oppportunities for optimizing based on a constant scope, and it also
meant that in some cases - particularly like when we inline code that uses NewFuction and
friends, as I do in bug 142229 - it makes OSR exit think that the scope is dead even though
it's most definitely alive and it's a constant.

The problem here is that we were doing too many optimizations in the ByteCodeParser, and not
later. Later optimization phases know how to preserve OSR exit liveness. They're actually
really good at it. Also, later phases know how to infer that any variable is a constant no
matter how that constant arose - rather than the inlining-specific thing in ByteCodeParser.

This changes the ByteCodeParser to largely avoid doing constant folding on the scope, except
making the GetScope operation itself a constant. This is a compilation-time hack for small
functions, and it doesn't break the loads of local variables - so OSR exit liveness still
sees that the scopeRegister is in use. This then adds a vastly more powerful GetScope and
GetClosureVar constant folder in the AbstractInterpreter. This handles most general cases
including those that arise in complex control flow. This will catch cases where the scope
is constant for any number of reasons. Basically anytime that the callee is inferred constant
this will give us a constant scope. Also, we still have the parse-time constant folding of
ResolveScope based on the reentry watchpoint, which luckily did the right thing with respect
to OSR exit liveness (it splats a Phantom on its inputs, and it produces a constant result
which is then set() normally).

This appears to be a broad speed-up, albeit a small one. But mainly it unblocks bug 142229,
which then should unblock bug 141174.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::get):
(JSC::DFG::ByteCodeParser::getLocal):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::parse):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::tryGetConstantClosureVar):
(JSC::DFG::Graph::tryGetRegisters):
(JSC::DFG::Graph::tryGetActivation): Deleted.

  • dfg/DFGGraph.h:
  • dfg/DFGNode.h:

(JSC::DFG::Node::hasVariableWatchpointSet):
(JSC::DFG::Node::hasSymbolTable): Deleted.
(JSC::DFG::Node::symbolTable): Deleted.

  • dfg/DFGNodeType.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGWatchpointCollectionPhase.cpp:

(JSC::DFG::WatchpointCollectionPhase::handle):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetClosureVar):

  • runtime/SymbolTable.cpp:

(JSC::SymbolTable::visitChildren):
(JSC::SymbolTable::localToEntry):
(JSC::SymbolTable::entryFor):

  • runtime/SymbolTable.h:

(JSC::SymbolTable::add):
(JSC::SymbolTable::set):

  • tests/stress/function-expression-exit.js: Added.
  • tests/stress/function-reentry-infer-on-self.js: Added.

(thingy):

  • tests/stress/goofy-function-reentry-incorrect-inference.js: Added.
9:25 PM Changeset in webkit [180988] by shiva.jm@samsung.com
  • 2 edits in trunk/Source/WebKit2

Fix build warning in WebKit2/Shared module.
https://bugs.webkit.org/show_bug.cgi?id=142213

Reviewed by Simon Fraser.

Fix build warning by removing argument name from function.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::pathPointCountApplierFunction):

8:56 PM Changeset in webkit [180987] by Brent Fulgham
  • 6 edits in trunk/Source/WebCore

Scroll snap points are not supported on the main frame
https://bugs.webkit.org/show_bug.cgi?id=141973
<rdar://problem/19938393>

Reviewed by Simon Fraser.

No new tests. Tests will be added when the animation behavior is finalized. Manual tests are attached to the bug.

Update the ScrollingTreeFrameScrollingNodeMac class to implement the delegate interface needed by the
ScrollController. This involves the following:

  1. Implement scrollOffsetOnAxis: Used by the AxisScrollAnimator to determine the current position of the ScrollableArea.
  2. Implement immediateScrollOnAxis: Used by the AxisScrollAnimator to scroll the ScrollableArea

We also need to hold a copy of the snap points vector to send to the scrolling thread.

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::convertToLayoutUnits): Added helper function to match Scroll Snap Points API.
(WebCore::ScrollingTreeFrameScrollingNodeMac::updateBeforeChildren): Recognize and react to changes to
Scroll Snap Points on top-level frames.
(WebCore::ScrollingTreeFrameScrollingNodeMac::scrollOffsetOnAxis): Implement delegate method needed by the ScrollController.
(WebCore::ScrollingTreeFrameScrollingNodeMac::immediateScrollOnAxis): Ditto.

  • platform/cocoa/ScrollController.h:
  • platform/cocoa/ScrollController.mm:

(WebCore::ScrollController::updateScrollAnimatorsAndTimers): Pass snap offsets to AxisScrollSnapAnimator constructor as references.
(WebCore::ScrollController::updateScrollSnapPoints): Added. Used by ScrollingTreeFrameScrollingNodeMac to update scroll snap point
settings in the scrolling thread.

  • platform/mac/AxisScrollSnapAnimator.h:
  • platform/mac/AxisScrollSnapAnimator.mm:

(WebCore::toWheelEventStatus): Don't ignore the "MayBegin" or "Cancelled" event phases.
(WebCore::AxisScrollSnapAnimator::AxisScrollSnapAnimator): Revise signature to take a reference to the layout units.
(WebCore::AxisScrollSnapAnimator::scrollSnapAnimationUpdate): Handle the case where this method gets called from a thread
when the scrollable area has already reached its final destination.
(WebCore::AxisScrollSnapAnimator::beginScrollSnapAnimation): Handle the possibility that the snap offset point vector might be
empty. Update method to account for m_snapOffsets being a value, instead of a pointer.

8:47 PM Changeset in webkit [180986] by Stephanie Lewis
  • 2 edits in trunk/LayoutTests

Update TestExpectations after http://trac.webkit.org/changeset/180965 to skip new test on Mavericks.

Unreviewed.

  • platform/mac/TestExpectations:
7:36 PM Changeset in webkit [180985] by aestes@apple.com
  • 21 edits
    1 copy
    1 move in trunk/Source

[Content Filtering] Separate unblock handling into its own class
https://bugs.webkit.org/show_bug.cgi?id=142251

Reviewed by Andreas Kling.
Source/WebCore:

Unblock handling is currently supported only for one type of content filter (WebFilterEvaluator) on one
platform (iOS). Having its implementation in ContentFilter is making it difficult to support other filters and
platforms, so let's separate unblock handling into its own class called ContentFilterUnblockHandler.

  • WebCore.xcodeproj/project.pbxproj:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::finishedLoading): Passed a ContentFilterUnblockHandler to FrameLoaderClient::contentFilterDidBlockLoad.
(WebCore::DocumentLoader::dataReceived): Ditto.

  • loader/FrameLoaderClient.h:
  • platform/ContentFilter.h:
  • platform/ContentFilterUnblockHandler.h: Copied from Source/WebCore/platform/ios/ContentFilterIOS.mm.

(WebCore::ContentFilterUnblockHandler::clear):

  • platform/cocoa/ContentFilterUnblockHandlerCocoa.mm: Renamed from Source/WebCore/platform/ios/ContentFilterIOS.mm.

(WebCore::ContentFilterUnblockHandler::ContentFilterUnblockHandler):
(WebCore::ContentFilterUnblockHandler::encode):
(WebCore::ContentFilterUnblockHandler::decode):
(WebCore::scheme):
(WebCore::ContentFilterUnblockHandler::handleUnblockRequestAndDispatchIfSuccessful):

  • platform/mac/ContentFilterMac.mm:

(WebCore::ContentFilter::unblockHandler):
(WebCore::ContentFilter::ContentFilter): Deleted.
(WebCore::ContentFilter::encode): Deleted.
(WebCore::ContentFilter::decode): Deleted.

Source/WebKit/mac:

Adopted ContentFilterUnblockHandler.

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::dispatchDidStartProvisionalLoad):

  • WebView/WebFrame.mm:

(-[WebFrame _contentFilterDidHandleNavigationAction:]):

  • WebView/WebFrameInternal.h:

Source/WebKit2:

Adopted ContentFilterUnblockHandler.

  • Shared/WebCoreArgumentCoders.h:
  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<ContentFilterUnblockHandler>::encode):
(IPC::ArgumentCoder<ContentFilterUnblockHandler>::decode):
(IPC::ArgumentCoder<ContentFilter>::encode): Deleted.
(IPC::ArgumentCoder<ContentFilter>::decode): Deleted.

  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::contentFilterDidBlockLoadForFrame):

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::didStartProvisionalLoad):
(WebKit::WebFrameProxy::contentFilterDidHandleNavigationAction):

  • UIProcess/WebFrameProxy.h:

(WebKit::WebFrameProxy::setContentFilterUnblockHandler):
(WebKit::WebFrameProxy::setContentFilterForBlockedLoad): Deleted.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::contentFilterDidBlockLoad):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
7:33 PM Changeset in webkit [180984] by ap@apple.com
  • 4 edits in trunk

[Mac] Track localized name follows locale instead of primary language
https://bugs.webkit.org/show_bug.cgi?id=142242
rdar://problem/20000365

Reviewed by Eric Carlson.

Source/WebCore:

  • page/CaptionUserPreferencesMediaAF.cpp: (WebCore::trackDisplayName): Use the

language for localization, as CFBundle does.

LayoutTests:

  • platform/mac/media/video-controls-captions-trackmenu-sorted-expected.txt: This

test now successfully switches to Japanese, as originally intended.

6:51 PM Changeset in webkit [180983] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

[iOS] Crash logs can't be found on ios-simulator because WebKitTestRunner returns the wrong process name
<http://webkit.org/b/142243>

Reviewed by Alexey Proskuryakov.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::webProcessName):
(WTR::TestController::networkProcessName):

  • Return the same process name on iOS and Mac because they both use the same process name for local engineering builds.
6:51 PM Changeset in webkit [180982] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

[WK2] Fix memory leak in _getCookieHeadersForTask
https://bugs.webkit.org/show_bug.cgi?id=142245

Reviewed by Alexey Proskuryakov.

Fix memory leak in _getCookieHeadersForTask. We are leaking the CFDictionary
returned by webKitCookieStorageCopyRequestHeaderFieldsForURL().

This patch addresses the issue by storing the return CFDictionary in a
RetainPtr<CFDictionaryRef>.

  • Shared/mac/CookieStorageShim.mm:

(-[WKNSURLSessionLocal _getCookieHeadersForTask:completionHandler:]):

6:47 PM Changeset in webkit [180981] by ddkilzer@apple.com
  • 3 edits in trunk/Tools

check-webkit-style: Add exception for FrameworkSoftLink.h header order
<http://webkit.org/b/141872>

Reviewed by Alex Christensen.

  • Scripts/webkitpy/style/checkers/cpp.py: Remove unneeded

semi-colons in various places and fix whitespace.
(_IncludeState): Add _SOFT_LINK_HEADER and _SOFT_LINK_SECTION
constants.
(_IncludeState.init): Add self._visited_soft_link_section
boolean state variable.
(_IncludeState.visited_soft_link_section): Getter for
self._visited_soft_link_section.
(_IncludeState.check_next_include_order): Update state machine
for soft-link headers. Add check that soft-link headers always
appear last.
(_classify_include): Add check for soft-link header type.
(check_include_line): Return early if there is a soft-link
header error.

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(OrderOfIncludesTest.test_public_primary_header): Add tests for
including soft-link headers.
(OrderOfIncludesTest.test_classify_include): Add test for
_SOFT_LINK_HEADER type.

6:37 PM Changeset in webkit [180980] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source

Versioning.

6:09 PM Changeset in webkit [180979] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed build fix.

  • WebCore.vcxproj/WebCoreIncludeCommon.props:

Include contentextensions subdirectory.

5:57 PM Changeset in webkit [180978] by achristensen@apple.com
  • 12 edits
    4 adds in trunk

Prepare to use CSS selectors in content extensions.
https://bugs.webkit.org/show_bug.cgi?id=142227

Reviewed by Benjamin Poulain.

Source/WebCore:

Test: http/tests/usercontentfilter/css-display-none.html

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • contentextensions/ContentExtensionActions.h: Added.
  • contentextensions/ContentExtensionRule.cpp:

(WebCore::ContentExtensions::Action::deserialize):

  • contentextensions/ContentExtensionRule.h:

(WebCore::ContentExtensions::Action::Action):
(WebCore::ContentExtensions::Action::type):
(WebCore::ContentExtensions::Action::cssSelector):

  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::serializeActions):
Put action descriptions into a compact format in a Vector
to be able to be put into one block of shared read-only memory.
(WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList):
Put an index of the beginning of the description into the NFA instead of the index of the rule
because we will be sharing the descriptions of the actions and not the rules.
(WebCore::ContentExtensions::ContentExtensionsBackend::actionsForURL):
(WebCore::ContentExtensions::ContentExtensionsBackend::actionForURL): Deleted.
Return a vector of actions to be able to do multiple actions for one URL.

  • contentextensions/ContentExtensionsBackend.h:
  • contentextensions/ContentExtensionsManager.cpp:

(WebCore::ContentExtensions::ExtensionsManager::loadTrigger):
(WebCore::ContentExtensions::ExtensionsManager::loadAction):
Added the css-display-none action type, which requires a selector.
(WebCore::ContentExtensions::ExtensionsManager::loadRule):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):

  • page/UserContentController.cpp:

(WebCore::UserContentController::actionsForURL):
(WebCore::UserContentController::actionForURL): Deleted.

  • page/UserContentController.h:

LayoutTests:

  • http/tests/usercontentfilter/css-display-none-expected.txt: Added.
  • http/tests/usercontentfilter/css-display-none.html: Added.
  • http/tests/usercontentfilter/css-display-none.html.json: Added.
5:55 PM Changeset in webkit [180977] by Brian Burg
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: selecting overview timeline tree elements without source locations doesn't update selection components
https://bugs.webkit.org/show_bug.cgi?id=142248

Reviewed by Timothy Hatcher.

Add a missing event dispatch to trigger recalculation of path components when showing the overview timeline view.

  • UserInterface/Views/OverviewTimelineView.js:

(WebInspector.OverviewTimelineView.prototype._treeElementSelected):

5:51 PM Changeset in webkit [180976] by Brent Fulgham
  • 1 edit
    1 add in trunk/LayoutTests

[Win] Add baseline for new legacy-event-handler test.

  • platform/win/fast/dom/legacy-event-handler-attributes-expected.txt: Added.
5:46 PM Changeset in webkit [180975] by timothy_horton@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

<attachment> label can get very wide, doesn't wrap/truncate
https://bugs.webkit.org/show_bug.cgi?id=142214
<rdar://problem/19982499>

  • fast/attachment/attachment-label-highlight-expected.png: Added.
  • fast/attachment/attachment-label-highlight-expected.txt: Added.

Add (empty) platform independent baselines.

5:36 PM Changeset in webkit [180974] by Brent Fulgham
  • 12 edits
    2 moves
    2 adds in trunk

Move scroll animating functions from ScrollAnimator to ScrollController
https://bugs.webkit.org/show_bug.cgi?id=142102
<rdar://problem/20007161>

Reviewed by Simon Fraser.

Source/WebCore:

Tested by platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-mainframe-zoom.html.

Do some refactoring of the various scrolling classes:

  1. Consolidate animation times to RunLoop::Timer instead of a combination of WebCore::Timer and CFRunLoopTimers. Do this for Scroll Snap Point and Rubberband animations.
  2. Move ScrollController from platform/mac to platform/cocoa to enable sharing with iOS.
  3. Move code from ScrollAnimator{Mac} -> ScrollController.
  4. Rename scrollOffsetInAxis -> scrollOffsetOnAxis
  5. Rename immediateScrollInAxis -> immediateScrollOnAxis
  • WebCore.xcodeproj/project.pbxproj: Move ScrollController to 'platform/cocoa'
  • page/mac/EventHandlerMac.mm: Make sure the scroll controller is notified of end-of-scroll

events, just as is done for the "event not handled" case in EventHandler.cpp.
(WebCore::EventHandler::platformCompleteWheelEvent):

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h: Remove timer and some delegate

methods, now that ScrollController is controlling this state.

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::~ScrollingTreeFrameScrollingNodeMac): We no longer
need to clean up the CFRunLoopTimer.
(WebCore::ScrollingTreeFrameScrollingNodeMac::stopSnapRubberbandTimer): Make sure scroll
state is updated after rubber band snap.
(WebCore::ScrollingTreeFrameScrollingNodeMac::scrollOffsetOnAxis): Add temporary stub needed
until Bug1973 is completed.).
(WebCore::ScrollingTreeFrameScrollingNodeMac::immediateScrollOnAxis): Ditto.
(WebCore::ScrollingTreeFrameScrollingNodeMac::startSnapRubberbandTimer): Deleted.

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::ScrollAnimator):
(WebCore::ScrollAnimator::processWheelEventForScrollSnap): Just call the ScrollController method.
(WebCore::ScrollAnimator::handleWheelEvent): Ditto.
(WebCore::ScrollAnimator::updateScrollAnimatorsAndTimers): Ditto.
(WebCore::ScrollAnimator::scrollOffsetOnAxis): Renamed from scrollOffsetInAxis.
(WebCore::ScrollAnimator::immediateScrollOnAxis): Renamed from immediateScrollInAxis.
(WebCore::ScrollAnimator::scrollOffsetInAxis): Deleted.
(WebCore::ScrollAnimator::immediateScrollInAxis): Deleted.
(WebCore::ScrollAnimator::startScrollSnapTimer): Deleted.
(WebCore::ScrollAnimator::stopScrollSnapTimer): Deleted.
(WebCore::ScrollAnimator::horizontalScrollSnapTimerFired): Deleted.
(WebCore::ScrollAnimator::verticalScrollSnapTimerFired): Deleted.

  • platform/ScrollAnimator.h:
  • platform/cocoa/ScrollController.h: Copied from platform/mac/ScrollController.h.

(WebCore::ScrollControllerClient::startSnapRubberbandTimer):
(WebCore::ScrollControllerClient::stopSnapRubberbandTimer):
(WebCore::ScrollControllerClient::startScrollSnapTimer):
(WebCore::ScrollControllerClient::stopScrollSnapTimer):

  • platform/cocoa/ScrollController.mm: Copied from platform/mac/ScrollController.mm.

(WebCore::ScrollController::ScrollController): Update to initialize new timers.
(WebCore::ScrollController::handleWheelEvent): Update to handle Scroll Snap Point events.
(WebCore::ScrollController::startSnapRubberbandTimer): Added.
(WebCore::ScrollController::stopSnapRubberbandTimer): Manage animation timers locally, do not
require client to maintain timers.
(WebCore::ScrollController::snapRubberBand): Ditto.
(WebCore::ScrollController::processWheelEventForScrollSnap): Added. (Moved from ScrollAnimatorMac)
(WebCore::ScrollController::updateScrollAnimatorsAndTimers): Ditto. Also updated to use RunLoop::Timer.
(WebCore::ScrollController::startScrollSnapTimer): Ditto. Also updated to use RunLoop::Timer.
(WebCore::ScrollController::stopScrollSnapTimer): Ditto. Also updated to use RunLoop::Timer.
(WebCore::ScrollController::horizontalScrollSnapTimerFired): Ditto.
(WebCore::ScrollController::verticalScrollSnapTimerFired): Ditto.
(WebCore::ScrollController::scrollOffsetOnAxis): Moved from ScrollAnimatorMac.
(WebCore::ScrollController::immediateScrollOnAxis): Ditto.

  • platform/mac/AxisScrollSnapAnimator.h: Rename methods from 'InAxis' to 'OnAxis'
  • platform/mac/AxisScrollSnapAnimator.mm:

(WebCore::AxisScrollSnapAnimator::handleWheelEvent): Update for 'InAxis' to 'OnAxis' renaming.
(WebCore::AxisScrollSnapAnimator::scrollSnapAnimationUpdate): Ditto.
(WebCore::AxisScrollSnapAnimator::beginScrollSnapAnimation): Ditto.
(WebCore::AxisScrollSnapAnimator::computeSnapDelta): Ditto.
(WebCore::AxisScrollSnapAnimator::computeGlideDelta): Ditto.

  • platform/mac/ScrollAnimatorMac.h:
  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::ScrollAnimatorMac): Remove unused Rubberband timers (now that this is
controlled in the ScrollController)
(WebCore::ScrollAnimatorMac::startSnapRubberbandTimer): Deleted.
(WebCore::ScrollAnimatorMac::stopSnapRubberbandTimer): Deleted.
(WebCore::ScrollAnimatorMac::snapRubberBandTimerFired): Deleted.

  • platform/mac/ScrollController.h: Removed.
  • platform/mac/ScrollController.mm: Removed.

LayoutTests:

Add a new test that confirms that rubberband snap animations work properly when combined
with text zooming.

  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-mainframe-zoom-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-mainframe-zoom.html: Added.
5:32 PM Changeset in webkit [180973] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.15.10

New tag.

5:31 PM Changeset in webkit [180972] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.20.1/Source/WebKit2

Merged r180967. rdar://problem/19933387

5:25 PM Changeset in webkit [180971] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r180967. rdar://problem/19953432

5:19 PM Changeset in webkit [180970] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.20.1/Source

Versioning.

5:17 PM Changeset in webkit [180969] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.20.1

New tag.

5:15 PM Changeset in webkit [180968] by andersca@apple.com
  • 7 edits
    2 deletes in trunk/Source

Remove unused compression code
https://bugs.webkit.org/show_bug.cgi?id=142237

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • bytecode/UnlinkedCodeBlock.h:

Source/WTF:

  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/Compression.cpp: Removed.
  • wtf/Compression.h: Removed.
5:14 PM Changeset in webkit [180967] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

Incomplete dictation results in text fields in a web page.
https://bugs.webkit.org/show_bug.cgi?id=142240
rdar://problem/19953432

Reviewed by Tim Horton.

The empty stub for insertDictationResult:withCorrectionIdentifier
must be removed. This way UIKit will call insertText and do the right thing.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView insertDictationResult:withCorrectionIdentifier:]): Deleted.

5:03 PM Changeset in webkit [180966] by commit-queue@webkit.org
  • 6 edits
    6 deletes in trunk

Unreviewed, rolling out r180683.
https://bugs.webkit.org/show_bug.cgi?id=142249

Broke fast/css/acid2-pixel.html (Requested by ap on #webkit).

Reverted changeset:

"Setting any of the <object> element plugin controlling
attributes does not have any affect."
https://bugs.webkit.org/show_bug.cgi?id=141936
http://trac.webkit.org/changeset/180683

4:39 PM Changeset in webkit [180965] by dino@apple.com
  • 19 edits
    2 adds in trunk

Controls panel should have system blurry background
https://bugs.webkit.org/show_bug.cgi?id=142154
<rdar://problem/20000964>

Reviewed by Simon Fraser.

Source/WebCore:

In order to replicate the system style of media controls
on OS X and iOS, we need to expose a special -webkit-appearance.
This patch adds the new property value, and implements
the iOS part of the appearance, which is a blurry shaded
background.

Test: compositing/media-controls-bar-appearance.html

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Map the new
keywords from ControlParts.

  • css/CSSValueKeywords.in: Add media-controls-light-bar-background

and media-controls-dark-bar-background. Darin suggested they
be sorted, so I did this at the same time.

  • platform/ThemeTypes.h: New ControlParts for the values, and

sort the values since they need to be in sync with
CSSValueKeywords.in.

  • platform/graphics/GraphicsLayer.h: Expose two new custom appearance

values.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::layerTypeForCustomBackdropAppearance): Helper function.
(WebCore::isCustomBackdropLayerType): Ditto.
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Merge setting
a system backdrop layer in with the code that swaps to/from tiled layers.
(WebCore::GraphicsLayerCA::changeLayerTypeTo): New method that does what
swapFromOrToTiledLayer implemented, but also allows us to change to a
system backdrop layer.
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Deleted.

  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/ca/PlatformCALayer.h: New layer types.
  • platform/graphics/ca/mac/PlatformCALayerMac.mm: For now expose these

as regular backdrop layers.
(PlatformCALayerMac::PlatformCALayerMac):
(PlatformCALayerMac::updateCustomAppearance):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Make sure to update
custom appearance,
(WebCore::RenderLayerBacking::updateCustomAppearance): New method.

  • rendering/RenderLayerBacking.h:

Source/WebKit2:

In order to replicate the system style of media controls
on OS X and iOS, we need to expose a special -webkit-appearance.
This patch adds the new property value, and implements
the iOS part of the appearance, which is a blurry shaded
background.

  • Shared/mac/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::drawInContext): Add entries for
the new layer types, even though they are not correct yet.

  • Shared/mac/RemoteLayerTreePropertyApplier.mm:

(WebKit::updateCustomAppearance):
(WebKit::RemoteLayerTreePropertyApplier::applyProperties): UIBackdropViews
have a defined hierarchy that we don't create. We need to make sure we add our
children to the right subview.

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::description): Logging.

  • UIProcess/ios/RemoteLayerTreeHostIOS.mm: Rename existing WKBackdropView

to WKSimpleBackdropView, and add a new WKBackdropView that inherits
from UIBackdropView.
(-[WKBackdropView hitTest:withEvent:]):
(-[WKBackdropView description]):
(WebKit::RemoteLayerTreeHost::createLayer): Handle the new LayerTypes.

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::createLayer):

LayoutTests:

Make sure content with a -webkit-appearance of
media-controls-light-bar-background or
media-controls-dark-bar-background doesn't get composited
unless explicitly requested. This avoids a
performance hit for a rarely used feature.

  • compositing/media-controls-bar-appearance-expected.txt: Added.
  • compositing/media-controls-bar-appearance.html: Added.
4:30 PM Changeset in webkit [180964] by ggaren@apple.com
  • 2 edits in trunk/Source/bmalloc

bmalloc: Don't branch when setting the owner of a large object
https://bugs.webkit.org/show_bug.cgi?id=142241

Reviewed by Andreas Kling.

  • bmalloc/BoundaryTag.h:

(bmalloc::BoundaryTag::owner):
(bmalloc::BoundaryTag::setOwner):

4:10 PM Changeset in webkit [180963] by Chris Dumez
  • 21 edits in trunk/Source

Access ApplicationCacheStorage global instance via singleton() static member function
https://bugs.webkit.org/show_bug.cgi?id=142239

Reviewed by Anders Carlsson.

Access ApplicationCacheStorage global instance via singleton() static
member function as per WebKit coding style.

4:08 PM Changeset in webkit [180962] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebKit2

Build Fix: Add fall back handling in postprocess script for missing/unknown platform name.

Rubber-stamped by David Kilzer.

  • mac/postprocess-framework-headers.sh:
3:36 PM Changeset in webkit [180961] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

Build fix for iOS.

Unreviewed.

  • UIProcess/ios/WKContentViewInteraction.mm: Adding forward declaration.
3:27 PM Changeset in webkit [180960] by ggaren@apple.com
  • 3 edits in trunk/Source/bmalloc

bmalloc should implement malloc introspection (to stop false-positive leaks when MallocStackLogging is off)
https://bugs.webkit.org/show_bug.cgi?id=141802

Reviewed by Andreas Kling.

Re-enabled this feature on iOS, now that the iOS crash should be fixed.

  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::grow):

  • bmalloc/VMHeap.h:
3:22 PM Changeset in webkit [180959] by ap@apple.com
  • 6 edits in trunk/Tools

build.webkit.org/dashboard: Don't repeatedly handle each test type
https://bugs.webkit.org/show_bug.cgi?id=142211

Reviewed by Tim Horton and Matt Hanson.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:

(Buildbot.prototype.javascriptTestResultsURLForIteration): Deleted.
(Buildbot.prototype.apiTestResultsURLForIteration): Deleted.
(Buildbot.prototype.platformAPITestResultsURLForIteration): Deleted.
(Buildbot.prototype.webkitpyTestResultsURLForIteration): Deleted.
(Buildbot.prototype.webkitperlTestResultsURLForIteration): Deleted.
(Buildbot.prototype.bindingsTestResultsURLForIteration): Deleted.
Removed functions that build a link to test step results. The buildbot provides
these links in JSON.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:

(BuildbotIteration): Put failing tests into an array, instead of named variables.
(BuildbotIteration.ProductiveSteps): Removed step names that are not used on build.webkit.org.
We can easily add them to the map as needed.
(BuildbotIteration.TestSteps): Added a list of test steps to be displayed by test queues.
(BuildbotIteration.prototype._parseData): Moved code for parsing step results away
to BuildbotTestResults class. We used to parse here, build an intermediate data structure,
and then build a BuildbotTestResults object, which was strange.
(BuildbotIteration.prototype.loadLayoutTestResults): Ditto.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:

Corrected an unrelated assertion that was buggy, and kept firing.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTestResults.js:

(BuildbotTestResults):
(BuildbotTestResults.prototype._parseResults.resultSummarizer):
(BuildbotTestResults.prototype._parseResults):
(BuildbotTestResults.prototype.addFullLayoutTestResults):
Moved the code for parsing JSON results for a single step here.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:

(BuildbotTesterQueueView.prototype._testStepFailureDescription):
(BuildbotTesterQueueView.prototype._testStepFailureDescriptionWithCount):
(BuildbotTesterQueueView.prototype._presentPopoverForGenericTestFailures):
(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus): Deleted.
(BuildbotTesterQueueView.prototype.update): Deleted.
(BuildbotTesterQueueView.prototype._presentPopoverForMultipleFailureKinds): Deleted.
Updated for the new data structures. One behavior change is that we now display individual
counts when multiple test kinds fail, e.g. "1 javascript test failure, 83+ layout
test failures, 3 platform api test failures".

2:45 PM Changeset in webkit [180958] by ggaren@apple.com
  • 3 edits in trunk/Source/bmalloc

bmalloc: Added missing features to the malloc zone introspection API
https://bugs.webkit.org/show_bug.cgi?id=142235

Reviewed by Andreas Kling.

This should fix the crash we saw on the iOS PLT bot
(c.f. http://trac.webkit.org/changeset/180604).

  • bmalloc/Zone.cpp:

(bmalloc::good_size):
(bmalloc::check):
(bmalloc::print):
(bmalloc::log):
(bmalloc::force_lock):
(bmalloc::force_unlock):
(bmalloc::statistics):
(bmalloc::size):
(bmalloc::enumerator): Provide all of these functions since they are called
indiscriminately on all zones.

(bmalloc::Zone::Zone):
(bmalloc::Zone::size): Deleted.
(bmalloc::Zone::enumerator): Deleted. Moved these functions out of the
Zone class since they can stand alone.

  • bmalloc/Zone.h:
2:43 PM Changeset in webkit [180957] by commit-queue@webkit.org
  • 2 edits
    2 adds
    1 delete in trunk

Convert ManualTests/svg-tooltip.svg to a DRT test
https://bugs.webkit.org/show_bug.cgi?id=140480

Patch by Daniel Bates <dabates@apple.com> on 2015-03-03
Reviewed by Alex Christensen.

.:

  • ManualTests/svg-tooltip.svg: Removed.

LayoutTests:

  • svg/hittest/svg-tooltip-expected.txt: Added.
  • svg/hittest/svg-tooltip.svg: Added.
2:35 PM Changeset in webkit [180956] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

JIT debugging features that selectively disable the JITs for code blocks need to stay out of the way of the critical path of JIT management
https://bugs.webkit.org/show_bug.cgi?id=142234

Reviewed by Mark Lam and Benjamin Poulain.

Long ago, we used to selectively disable compilation of CodeBlocks for debugging purposes by
adding hacks to DFGDriver.cpp. This was all well and good. It used the existing
CompilationFailed mode of the DFG driver to signal failure of CodeBlocks that we didn't want
to compile. That's great because CompilationFailed is a well-supported return value on the
critical path, usually used for when we run out of JIT memory.

Later, this was moved into DFGCapabilities. This was basically incorrect. It introduced a bug
where disabling compiling of a CodeBlock meant that we stopped inlining it as well. So if
you had a compiler bug that arose if foo was inlined into bar, and you bisected down to bar,
then foo would no longer get inlined and you wouldn't see the bug. That's busted.

So then we changed the code in DFGCapabilities to mark bar as CanCompile and foo as
CanInline. Now, foo wouldn't get compiled alone but it would get inlined.

But then we removed CanCompile because that capability mode only existed for the purpose of
our old varargs hacks. After that removal, "CanInline" became CannotCompile. This means
that if you bisect down on bar in the "foo inlined into bar" case, you'll crash in the DFG
because the baseline JIT wouldn't have known to insert profiling on foo.

We could fix this by bringing back CanInline.

But this is all a pile of nonsense. The debug support to selectively disable compilation of
some CodeBlocks shouldn't cross-cut our entire engine and should most certainly never involve
adding new capability modes. This support is a hack at best and is for use by JSC hackers
only. It should be as unintrusive as possible.

So, as in the ancient times, the only proper place to put this hack is in DFGDriver.cpp, and
return CompilationFailed. This is correct not just because it takes capability modes out of
the picture (and obviates the need to introduce new ones), but also because it means that
disabling compilation doesn't change the profiling mode of other CodeBlocks in the Baseline
JIT. Capability mode influences profiling mode which in turn influences code generation in
the Baseline JIT, sometimes in very significant ways - like, we sometimes do additional
double-to-int conversions in Baseline if we know that we might tier-up into the DFG, since
this buys us more precise profiling.

This change reduces the intrusiveness of debugging hacks by making them use the very simple
CompilationFailed mechanism rather than trying to influence capability modes. Capability
modes have very subtle effects on the whole engine, while CompilationFailed just makes the
engine pretend like the DFG compilation will happen at timelike infinity. That makes these
hacks much more likely to continue working as we make other changes to the system.

This brings back the ability to bisect down onto a function bar when bar inlines foo. Prior
to this change, we would crash in that case.

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::isSupported):
(JSC::DFG::mightCompileEval):
(JSC::DFG::mightCompileProgram):
(JSC::DFG::mightCompileFunctionForCall):
(JSC::DFG::mightCompileFunctionForConstruct):

  • dfg/DFGCapabilities.h:
  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):

2:12 PM Changeset in webkit [180955] by timothy_horton@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

<attachment> label can get very wide, doesn't wrap/truncate
https://bugs.webkit.org/show_bug.cgi?id=142214
<rdar://problem/19982499>

  • platform/mac-mavericks/fast/attachment: Added.
  • platform/mac-mavericks/fast/attachment/attachment-label-highlight-expected.txt: Added.

Add a Mavericks result because text metrics differ.

1:58 PM Changeset in webkit [180954] by ggaren@apple.com
  • 5 edits in trunk/Source/bmalloc

bmalloc should implement malloc introspection (to stop false-positive leaks when MallocStackLogging is off)
https://bugs.webkit.org/show_bug.cgi?id=141802

Reviewed by Andreas Kling.

Rolling back in but disabled on iOS until I can debug why the iOS PLT crashes.

  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::grow):

  • bmalloc/VMHeap.h:
  • bmalloc/Zone.cpp:

(bmalloc::Zone::size):
(bmalloc::Zone::Zone):

  • bmalloc/Zone.h:
1:47 PM Changeset in webkit [180953] by ggaren@apple.com
  • 6 edits in trunk/Source/bmalloc

bmalloc: Miscellaneous cleanup
https://bugs.webkit.org/show_bug.cgi?id=142231

Reviewed by Andreas Kling.

No performance change -- maybe a tiny reduction in memory use.

  • bmalloc/Heap.cpp: Moved the sleep function into StaticMutex, since

it's a helper for working with mutexes.

(bmalloc::Heap::scavenge): Make sure to wait before we start any
scavenging, since individual scavenging functions now always scavenge
at least one page before waiting themselves.

(bmalloc::Heap::scavengeSmallPages):
(bmalloc::Heap::scavengeMediumPages):
(bmalloc::Heap::scavengeLargeObjects): Use the new wait helper to
simplify this code. Also, we now require our caller to wait until at
least one deallocation is desirable. This simplifies our loop.

(bmalloc::Heap::allocateSmallPage):
(bmalloc::Heap::allocateMediumPage):
(bmalloc::Heap::allocateXLarge):
(bmalloc::Heap::allocateLarge): Don't freak out any time the heap does
an allocation. Only consider the heap to be growing if it actually needs
to allocate new VM. This allows us to shrink the heap back down from a
high water mark more reliably even if heap activity continues.

(bmalloc::sleep): Deleted.
(bmalloc::Heap::scavengeLargeRanges): Renamed to match our use of
"LargeObject".

  • bmalloc/Heap.h:
  • bmalloc/LargeObject.h:

(bmalloc::LargeObject::operator bool): Added to simplify a while loop.

  • bmalloc/StaticMutex.h:

(bmalloc::sleep):
(bmalloc::waitUntilFalse): New helper for waiting until a condition
becomes reliably false.

  • bmalloc/Vector.h:

(bmalloc::Vector<T>::~Vector): Oops! Don't deallocate the null pointer.
We don't actually run any Vector destructors, but an iteration of this
patch did, and then crashed. So, let's fix that.

1:20 PM Changeset in webkit [180952] by Darin Adler
  • 1 edit
    2 adds in trunk/LayoutTests

Test legacy event handler attributes (ones with names like "onclick")
https://bugs.webkit.org/show_bug.cgi?id=142221

Reviewed by Anders Carlsson.

  • fast/dom/legacy-event-handler-attributes-expected.txt: Added.
  • fast/dom/legacy-event-handler-attributes.html: Added.
1:13 PM Changeset in webkit [180951] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Try to fix the build.

  • platform/spi/cf/CFNetworkSPI.h:
12:29 PM March 2015 Meeting edited by Simon Fraser
(diff)
12:16 PM Changeset in webkit [180950] by timothy_horton@apple.com
  • 5 edits
    3 adds in trunk

<attachment> label can get very wide, doesn't wrap/truncate
https://bugs.webkit.org/show_bug.cgi?id=142214
<rdar://problem/19982499>

Reviewed by Simon Fraser.

Test: fast/attachment/attachment-label-highlight.html

  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:

(WebCore::labelTextColorForAttachment):
(WebCore::AttachmentLayout::addLine):
(WebCore::AttachmentLayout::layOutText):
(WebCore::AttachmentLayout::AttachmentLayout):
Make it possible to lay out multiple lines of label text.
We lay out the whole string normally, but then only draw N (where N=1 for now,
but is adjustable) of the lines. The remainder of the string is then
merged into a single line, which is middle-truncated with an ellipsis
and drawn in place of the N+1 line.

(WebCore::addAttachmentLabelBackgroundRightCorner):
(WebCore::addAttachmentLabelBackgroundLeftCorner):
(WebCore::paintAttachmentLabelBackground):
Wrap the label background around the multiple lines of text with curved edges.
We run first down the right side of the label, determining whether to use
concave or convex arcs based on the relative widths of adjacent lines.
Then, we run back up the left side of the label doing the same thing.

If the background rects of two lines are very similar (within the rounded rect radius),
they will be expanded to the larger of the two, because otherwise the arcs
look quite wrong.

(WebCore::paintAttachmentLabel):
Draw the label with CoreText directly instead of bothering with WebCore
text layout primitives. There's no need, and it makes wrapping much more complicated.

(WebCore::RenderThemeMac::paintAttachment):
(WebCore::RenderThemeMac::paintAttachmentLabelBackground): Deleted.
(WebCore::RenderThemeMac::paintAttachmentLabel): Deleted.

  • fast/attachment/attachment-label-highlight.html: Added.
  • platform/mac/fast/attachment/attachment-label-highlight-expected.png: Added.
  • platform/mac/fast/attachment/attachment-label-highlight-expected.txt: Added.

Add a test for various <attachment> highlight cases.

  • platform/mac/fast/attachment/attachment-rendering-expected.txt:

Update expected result for attachment-rendering, which changed size
because we now bail from text layout if we don't have any text.

12:13 PM Changeset in webkit [180949] by Antti Koivisto
  • 6 edits in trunk/Source/WebKit2

Include key to NetworkCacheStorage::Entry
https://bugs.webkit.org/show_bug.cgi?id=142215

Reviewed by Chris Dumez.

This simplified code. The key is saved as part of the entry so it makes logical sense too.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::makeCacheKey):
(WebKit::encodeStorageEntry):
(WebKit::NetworkCache::retrieve):
(WebKit::NetworkCache::store):
(WebKit::NetworkCache::update):
(WebKit::NetworkCache::traverse):
(WebKit::entryAsJSON):
(WebKit::NetworkCache::dumpContentsToFile):

  • NetworkProcess/cache/NetworkCacheKey.cpp:

(WebKit::NetworkCacheKey::operator=):

  • NetworkProcess/cache/NetworkCacheKey.h:

(WebKit::NetworkCacheKey::isNull):

  • NetworkProcess/cache/NetworkCacheStorage.h:
  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::decodeEntry):
(WebKit::encodeEntryHeader):
(WebKit::retrieveFromMemory):
(WebKit::NetworkCacheStorage::retrieve):
(WebKit::NetworkCacheStorage::store):
(WebKit::NetworkCacheStorage::update):
(WebKit::NetworkCacheStorage::traverse):
(WebKit::NetworkCacheStorage::dispatchPendingWriteOperations):
(WebKit::NetworkCacheStorage::dispatchFullWriteOperation):
(WebKit::NetworkCacheStorage::dispatchHeaderWriteOperation):

12:12 PM Changeset in webkit [180948] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Avoid applying the clip-path when painting, if a layer also has a shape layer mask
https://bugs.webkit.org/show_bug.cgi?id=142212

Reviewed by Zalan Bujtas.

After r180882 we translate clip-path into a composited shape mask when the layer
is composited. However, we were also still applying the clip-path when painting
the layer contents.

Now, we set the GraphicsLayer bits GraphicsLayerPaintClipPath and GraphicsLayerPaintMask
only for the m_maskLayer's painting. This translate into setting PaintLayerPaintingCompositingMaskPhase
and PaintLayerPaintingCompositingClipPathPhase only when painting that same mask layer,
rather than always. To ensure that masks and clip-path get applied for software paints,
add shouldPaintMask() and shouldApplyClipPath() that return true for non-composited layers,
and when doing a flattening paint.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayerContents): Use shouldApplyClipPath().
Pull three chunks of code under a single "if (shouldPaintContent && !selectionOnly)" condition.
The condition for paintChildClippingMaskForFragments() is changed slightly; we need to call this
only when painting the clip-path/mask layer contents, but also only when there is no mask to fill
the clipped area for us.
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::paintsWithClipPath): Deleted.

  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateMaskingLayer): Be sure to set the GraphicsLayerPaintClipPath bit
when having a mask forces us onto the painting path.

12:10 PM Changeset in webkit [180947] by Antti Koivisto
  • 3 edits in trunk/Source/WebKit2

Cache shrink leaves behind empty partition directories
https://bugs.webkit.org/show_bug.cgi?id=142217

Reviewed by Andreas Kling.

  • NetworkProcess/cache/NetworkCacheFileSystemPosix.h:

(WebKit::traverseCacheFiles):

No need for std::function.

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::NetworkCacheStorage::shrinkIfNeeded):

After shrink traverse through the partition directories and try to delete them.
System knows if they are actually empty.

11:56 AM Changeset in webkit [180946] by andersca@apple.com
  • 5 edits in trunk/Source

Use the correct display name for website data for local files
https://bugs.webkit.org/show_bug.cgi?id=142228

Reviewed by Dan Bernstein.

Source/WebCore:

  • English.lproj/Localizable.strings:

Add local file display name.

  • platform/spi/cf/CFNetworkSPI.h:

Add kCFHTTPCookieLocalFileDomain declaration.

Source/WebKit2:

  • UIProcess/WebsiteData/WebsiteDataRecord.cpp:

(displayNameForLocalFiles):
Add new helper function.

(WebKit::WebsiteDataRecord::displayNameForCookieHostName):
Check if the hostname is kCFHTTPCookieLocalFileDomain.

(WebKit::WebsiteDataRecord::displayNameForOrigin):
Handle file URLs as well.

11:31 AM March 2015 Meeting edited by Simon Fraser
(diff)
11:29 AM March 2015 Meeting edited by Simon Fraser
(diff)
11:14 AM Changeset in webkit [180945] by mmirman@apple.com
  • 3 edits in trunk/Tools

JSC tests should not be repeated twice for each branch builder, and should if possible have their own queue.
https://bugs.webkit.org/show_bug.cgi?id=142094

Reviewed by Csaba Osztrogonác.

  • BuildSlaveSupport/build.webkit.org-config/config.json: Added bots 155 and 157
  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(TestFactory):
(TestFactory.init): Made running of JSC tests conditional.
(TestAllButJSCFactory):
(TestJSCFactory): Added.
(TestJSCFactory.init):
(TestWebKit2AndJSCFactory): Added factory to not run JSC tests on WebKit2.

11:13 AM Changeset in webkit [180944] by mmaxfield@apple.com
  • 5 edits in trunk/Source/WebCore

BreakingContext cleanup
https://bugs.webkit.org/show_bug.cgi?id=142146

Reviewed by Dean Jackson.

  1. Use commitLineBreakAtCurrentWidth() instead of directly

updating m_width and m_lineBreak, because the name makes the
intent clearer.

  1. Remove duplicate function LineBreaker::nextSegmentBreak().
  2. lineStyle() takes care of inspecting RenderText's parent's

style.

  1. Add FIXME to BreakingContext::initializeForCurrentObject()

because it seems like we are ignoring first-line style for
some properties.

No new tests because there is no behavior change.

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::BreakingContext):
(WebCore::BreakingContext::initializeForCurrentObject):
(WebCore::BreakingContext::handleReplaced):
(WebCore::BreakingContext::handleText):
(WebCore::BreakingContext::commitAndUpdateLineBreakIfNeeded):
(WebCore::BreakingContext::handleEndOfLine):

  • rendering/line/LineBreaker.cpp:

(WebCore::LineBreaker::nextLineBreak): Deleted.
(WebCore::LineBreaker::nextSegmentBreak): Deleted.

  • rendering/line/LineBreaker.h:
  • rendering/line/LineInlineHeaders.h:

(WebCore::lineStyle):

10:52 AM Changeset in webkit [180943] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

Fixed typo in platform guard in http://trac.webkit.org/changeset/180939.

Unreviewed.

  • UIProcess/ios/WKContentViewInteraction.mm:
10:50 AM Changeset in webkit [180942] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

build-webkit --help is wrong about how to build for the iOS simulator
<http://webkit.org/b/142223>

Reviewed by Csaba Osztrogonác.

  • Scripts/build-webkit: Fix help.
10:10 AM Changeset in webkit [180941] by Nikita Vasilyev
  • 5 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: Refactoring: separate ConsoleSession from ConsoleGroup
https://bugs.webkit.org/show_bug.cgi?id=142141

ConsoleSession doesn't have a title and it's not collapsible either.
Simplify ConsoleSession by removing excessive markup.

Reviewed by Timothy Hatcher.

  • UserInterface/Controllers/JavaScriptLogViewController.js:

(WebInspector.JavaScriptLogViewController):
(WebInspector.JavaScriptLogViewController.prototype.startNewSession):
(WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessage):
(WebInspector.JavaScriptLogViewController.prototype.get topConsoleGroup): Deleted.

  • UserInterface/Main.html:
  • UserInterface/Views/ConsoleGroup.js:

(WebInspector.ConsoleGroup):
(WebInspector.ConsoleGroup.prototype.render):
(WebInspector.ConsoleGroup.prototype.addMessage):
(WebInspector.ConsoleGroup.prototype.append):
(WebInspector.ConsoleGroup.prototype.hasMessages): Deleted.

  • UserInterface/Views/ConsoleSession.js: Added.

(WebInspector.ConsoleSession):
(WebInspector.ConsoleSession.prototype.addMessage):
(WebInspector.ConsoleSession.prototype.append):
(WebInspector.ConsoleSession.prototype.hasMessages):

  • UserInterface/Views/LogContentView.css:

(.console-session + .console-session):
(.console-group.new-session .console-group-messages .console-item:first-child): Deleted.
(.console-group.new-session): Deleted.

10:05 AM Changeset in webkit [180940] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Bump libsoup version to 2.49.91.1 to fix 32 bit build.

  • gtk/jhbuild.modules:
9:46 AM Changeset in webkit [180939] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

Adopt new API for keyboard interaction.
https://bugs.webkit.org/show_bug.cgi?id=142201
rdar://problem/19924949

Reviewed by Joseph Pecoraro.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView inputAssistantItem]):
(-[WKContentView _inputAssistantItem]):

9:32 AM Changeset in webkit [180938] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[Win64] JSC compile error.
https://bugs.webkit.org/show_bug.cgi?id=142216

Patch by peavo@outlook.com <peavo@outlook.com> on 2015-03-03
Reviewed by Mark Lam.

There is missing a version of setupArgumentsWithExecState when NUMBER_OF_ARGUMENT_REGISTERS == 4.

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

9:13 AM Changeset in webkit [180937] by Brian Burg
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: popover should use requestAnimationFrame to drive move/resize animations
https://bugs.webkit.org/show_bug.cgi?id=142218

Reviewed by Timothy Hatcher.

Remove setTimeout workaround now that Inspector runs in its own process.

  • UserInterface/Views/Popover.js:

(WebInspector.Popover.prototype.drawBackground):
(WebInspector.Popover.prototype._animateFrame):

9:08 AM Changeset in webkit [180936] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Document more debug assertions.

  • platform/win/TestExpectations:
8:52 AM Changeset in webkit [180935] by Brian Burg
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Console log level selector loses selection on reload
https://bugs.webkit.org/show_bug.cgi?id=142199

Reviewed by Timothy Hatcher.

The selected items in the console scope bar were being saved as settings,
but the "All" scope is forcibly selected on reload due to a logic bug.

  • UserInterface/Base/Main.js:

(WebInspector.showFullHeightConsole):
The scope bar may already have selected items restored from WebInspector.Settings.
Don't select a scope unless explicitly requested (i.e., clicking on dashboard buttons)
or if no scopes are selected at all. (In the latter case, "All" is the default scope.)

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView): Don't specify a default value here to avoid trampling
settings. The "All" scope is selected by default in showFullHeightConsole if
nothing else is selected.

7:58 AM Changeset in webkit [180934] by Chris Dumez
  • 6 edits
    6 adds in trunk

Make AudioContext suspendable when it is not rendering
https://bugs.webkit.org/show_bug.cgi?id=142210
<rdar://problem/19923085>

Reviewed by Eric Carlson.

Source/WebCore:

Make AudioContext suspendable when it is not rendering to increase the
likelihood of entering the PageCache for pages using WebAudio.

This patch adds a state member to AudioContext with 3 possible states:
Suspended / Running / Closed, as defined in the specification:
http://webaudio.github.io/web-audio-api/#widl-AudioContext-state

This state is used to decide if we can suspend the page or not. We
can safely suspend if the AudioContext's state is suspended (did not
start rendering) or closed (Stopped rendering).

Note that this patch does not expose the AudioContext's state to the
Web yet, even though it is exposed in the latest specification.

Tests: fast/history/page-cache-closed-audiocontext.html

fast/history/page-cache-running-audiocontext.html
fast/history/page-cache-suspended-audiocontext.html

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::uninitialize):
(WebCore::AudioContext::canSuspend):
(WebCore::AudioContext::startRendering):
(WebCore::AudioContext::fireCompletionEvent):

  • Modules/webaudio/AudioContext.h:

LayoutTests:

Add layout tests to check cases where an AudioContext should or should
not prevent pages from entering the page cache.

  • fast/history/page-cache-closed-audiocontext-expected.txt: Added.
  • fast/history/page-cache-closed-audiocontext.html: Added.
  • fast/history/page-cache-running-audiocontext-expected.txt: Added.
  • fast/history/page-cache-running-audiocontext.html: Added.
  • fast/history/page-cache-suspended-audiocontext-expected.txt: Added.
  • fast/history/page-cache-suspended-audiocontext.html: Added.
7:10 AM Changeset in webkit [180933] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.7.91

WebKitGTK+ 2.7.91

7:09 AM Changeset in webkit [180932] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.8

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.7.91 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.7.91.
2:53 AM Changeset in webkit [180931] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r180928 - [SOUP] Use SoupMessage::starting instead of SoupSession::request-started
https://bugs.webkit.org/show_bug.cgi?id=142164

Reviewed by Sergio Villar Senin.

SoupSession::request-started is deprecated in libsoup 2.50. Both
signals are equivalent, but SoupMessage::starting is also emitted
for resources loaded from the disk cache. This fixes web timing
calculations for cached resources, since we were not initializing
m_requestStart.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::startingCallback):
(WebCore::createSoupMessageForHandleAndRequest):

  • platform/network/soup/SoupNetworkSession.cpp:

(WebCore::SoupNetworkSession::SoupNetworkSession):

2:52 AM Changeset in webkit [180930] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.8

Merge r180927 - [SOUP] Synchronous XMLHttpRequests can time out when we reach the max connections limit
https://bugs.webkit.org/show_bug.cgi?id=141508

Reviewed by Sergio Villar Senin.

Source/WebCore:

Use SOUP_MESSAGE_IGNORE_CONNECTION_LIMITS flag when loading a
synchronous message instead of increasing the maximum number of
connections allowed if the soup version is recent enough.
The current solution of increasing/decreasing the limits doesn't
always work, because connections are not marked as IDLE in libsoup
until the message is unqueued, but we don't wait for the message
to be unqueued to finish our loads in WebKit, we finish them as
soon as we have finished reading the stream. This causes that
synchronous loads keep blocked in the nested main loop until the
timeout of 10 seconds is fired and the load fails.
Also marked WebCoreSynchronousLoader class as final, the virtual
methods as override and removed the unsused method isSynchronousClient.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::createSoupMessageForHandleAndRequest):
(WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
(WebCore::WebCoreSynchronousLoader::isSynchronousClient): Deleted.
(WebCore::WebCoreSynchronousLoader::didReceiveResponse):
(WebCore::WebCoreSynchronousLoader::didReceiveData):
(WebCore::WebCoreSynchronousLoader::didReceiveBuffer):
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
(WebCore::WebCoreSynchronousLoader::didFail):
(WebCore::WebCoreSynchronousLoader::didReceiveAuthenticationChallenge):
(WebCore::WebCoreSynchronousLoader::shouldUseCredentialStorage):

Tools:

Add a unit test to check that synchronous XHRs load even if the
maximum connection limits are reached.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:

(testWebViewSyncRequestOnMaxConns):
(serverCallback):
(beforeAll):

  • gtk/jhbuild.modules: Bump libsoup version to 2.49.91.
2:51 AM Changeset in webkit [180929] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.8/Source/WebKit2

Merge r180924 - REGRESSION(r177075): WebProcess crashes when entering accelerating compositing mode before the WebView is realized
https://bugs.webkit.org/show_bug.cgi?id=142079

Reviewed by Žan Doberšek.

The problem is that the texture mapper and native window handler
are initialized when the LayerTreeHost is initialized, assuming
the UI process has already sent the native window handler to the
web process, but that doesn't always happen since we moved the
redirected window creation to realize in r177075.

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::nativeSurfaceHandleForCompositing): Deleted.

  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode): Call
LayerTreeHost::setNativeSurfaceHandleForCompositing if we
already have a native window handle at this point.
(WebKit::DrawingAreaImpl::setNativeSurfaceHandleForCompositing):
Call LayerTreeHost::setNativeSurfaceHandleForCompositing also when
not using threaded compositing.

  • WebProcess/WebPage/LayerTreeHost.h:
  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::makeContextCurrent): Helper function to
ensure a context and making it current.
(WebKit::LayerTreeHostGtk::ensureTextureMapper): Ensure a texture
is created for the current context.
(WebKit::LayerTreeHostGtk::initialize): Use makeContextCurrent()
and ensureTextureMapper(), and remove the LayerTreeContext
initialization since that's is now always initialized in
setNativeSurfaceHandleForCompositing().
(WebKit::LayerTreeHostGtk::compositeLayersToContext): Use
makeContextCurrent() helper function and also call
ensureTextureMapper() just in case the texture could not be
created during initialization because the native window handle was
not yet available.
(WebKit::LayerTreeHostGtk::flushAndRenderLayers): Use makeContextCurrent().
(WebKit::LayerTreeHostGtk::setNativeSurfaceHandleForCompositing):
Initialize the LayerTreeContext.
(WebKit::LayerTreeHostGtk::glContext): Deleted.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
2:24 AM Changeset in webkit [180928] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

[SOUP] Use SoupMessage::starting instead of SoupSession::request-started
https://bugs.webkit.org/show_bug.cgi?id=142164

Reviewed by Sergio Villar Senin.

SoupSession::request-started is deprecated in libsoup 2.50. Both
signals are equivalent, but SoupMessage::starting is also emitted
for resources loaded from the disk cache. This fixes web timing
calculations for cached resources, since we were not initializing
m_requestStart.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::startingCallback):
(WebCore::createSoupMessageForHandleAndRequest):

  • platform/network/soup/SoupNetworkSession.cpp:

(WebCore::SoupNetworkSession::SoupNetworkSession):

1:17 AM Changeset in webkit [180927] by Carlos Garcia Campos
  • 5 edits in trunk

[SOUP] Synchronous XMLHttpRequests can time out when we reach the max connections limit
https://bugs.webkit.org/show_bug.cgi?id=141508

Reviewed by Sergio Villar Senin.

Source/WebCore:

Use SOUP_MESSAGE_IGNORE_CONNECTION_LIMITS flag when loading a
synchronous message instead of increasing the maximum number of
connections allowed if the soup version is recent enough.
The current solution of increasing/decreasing the limits doesn't
always work, because connections are not marked as IDLE in libsoup
until the message is unqueued, but we don't wait for the message
to be unqueued to finish our loads in WebKit, we finish them as
soon as we have finished reading the stream. This causes that
synchronous loads keep blocked in the nested main loop until the
timeout of 10 seconds is fired and the load fails.
Also marked WebCoreSynchronousLoader class as final, the virtual
methods as override and removed the unsused method isSynchronousClient.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::createSoupMessageForHandleAndRequest):
(WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
(WebCore::WebCoreSynchronousLoader::isSynchronousClient): Deleted.
(WebCore::WebCoreSynchronousLoader::didReceiveResponse):
(WebCore::WebCoreSynchronousLoader::didReceiveData):
(WebCore::WebCoreSynchronousLoader::didReceiveBuffer):
(WebCore::WebCoreSynchronousLoader::didFinishLoading):
(WebCore::WebCoreSynchronousLoader::didFail):
(WebCore::WebCoreSynchronousLoader::didReceiveAuthenticationChallenge):
(WebCore::WebCoreSynchronousLoader::shouldUseCredentialStorage):

Tools:

Add a unit test to check that synchronous XHRs load even if the
maximum connection limits are reached.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:

(testWebViewSyncRequestOnMaxConns):
(serverCallback):
(beforeAll):

  • gtk/jhbuild.modules: Bump libsoup version to 2.49.91.
12:55 AM Changeset in webkit [180926] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/bmalloc

Merge r180908 - bmalloc: Eagerly remove allocated objects from the free list
https://bugs.webkit.org/show_bug.cgi?id=142194

Reviewed by Andreas Kling.

This reduces the pressure to garbage collect the free list.

Might be a 1% speedup on MallocBench.

  • bmalloc/FreeList.cpp: Put this comment at the top of the file instead

of repeating it inside of each function. Tried to clarify the details.

(bmalloc::FreeList::takeGreedy): Matched the other iteration code in this
file for consistency -- even though either direction works fine in this
function.

(bmalloc::FreeList::take): Change to iterate from low to high so that we
can maintain an index into the vector that is not disturbed even if we
pop from the middle (which invalidates the last index in the vector).

Decrement i when popping from the middle to make sure that we don't
skip the next item after popping.

(bmalloc::FreeList::removeInvalidAndDuplicateEntries): Ditto.

12:47 AM Changeset in webkit [180925] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8

Merge r180884 - REGRESSION(r179409): [GTK] Undefined symbol prevents web extensions from being loaded
https://bugs.webkit.org/show_bug.cgi?id=142165

Patch by Debarshi Ray <debarshir@gnome.org> on 2015-03-02
Reviewed by Carlos Garcia Campos.

  • Source/cmake/gtksymbols.filter:
12:10 AM Changeset in webkit [180924] by Carlos Garcia Campos
  • 6 edits in trunk/Source/WebKit2

REGRESSION(r177075): WebProcess crashes when entering accelerating compositing mode before the WebView is realized
https://bugs.webkit.org/show_bug.cgi?id=142079

Reviewed by Žan Doberšek.

The problem is that the texture mapper and native window handler
are initialized when the LayerTreeHost is initialized, assuming
the UI process has already sent the native window handler to the
web process, but that doesn't always happen since we moved the
redirected window creation to realize in r177075.

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::nativeSurfaceHandleForCompositing): Deleted.

  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode): Call
LayerTreeHost::setNativeSurfaceHandleForCompositing if we
already have a native window handle at this point.
(WebKit::DrawingAreaImpl::setNativeSurfaceHandleForCompositing):
Call LayerTreeHost::setNativeSurfaceHandleForCompositing also when
not using threaded compositing.

  • WebProcess/WebPage/LayerTreeHost.h:
  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::makeContextCurrent): Helper function to
ensure a context and making it current.
(WebKit::LayerTreeHostGtk::ensureTextureMapper): Ensure a texture
is created for the current context.
(WebKit::LayerTreeHostGtk::initialize): Use makeContextCurrent()
and ensureTextureMapper(), and remove the LayerTreeContext
initialization since that's is now always initialized in
setNativeSurfaceHandleForCompositing().
(WebKit::LayerTreeHostGtk::compositeLayersToContext): Use
makeContextCurrent() helper function and also call
ensureTextureMapper() just in case the texture could not be
created during initialization because the native window handle was
not yet available.
(WebKit::LayerTreeHostGtk::flushAndRenderLayers): Use makeContextCurrent().
(WebKit::LayerTreeHostGtk::setNativeSurfaceHandleForCompositing):
Initialize the LayerTreeContext.
(WebKit::LayerTreeHostGtk::glContext): Deleted.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.h:

Mar 2, 2015:

11:20 PM Changeset in webkit [180923] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Disable -Wdeprecated-declaration warnings in WebVideoFullscreenInterfaceAVKit.mm

Fixing the deprecations is tracked by: <rdar://problem/20018692>

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::enterFullscreenOptimized):
Ignore -Wdeprecated-declaration warnings via clang pragmas.

10:57 PM Changeset in webkit [180922] by mark.lam@apple.com
  • 3 edits in trunk/LayoutTests

Gardening: skipping inspector/timeline tests since they are still flaky.
<https://webkit.org/b/142208>

Not reviewed.

  • TestExpectations:
  • Restore skipping of inspector/timeline tests.
  • platform/win/TestExpectations:
  • Removing the skipping here since the general TestExpectations has it covered.
10:55 PM Changeset in webkit [180921] by gyuyoung.kim@samsung.com
  • 10 edits in trunk/Source

[WK2] Remove unnecessary create() factory functions.
https://bugs.webkit.org/show_bug.cgi?id=142161

Reviewed by Chris Dumez.

We can replace some create() factory functions with std::make_unique(). Because
it just returns new instance. Even some of those functions have used std::unique_ptr<>
instead of std::make_unique<>. Fixed all.

Source/WebKit2:

  • DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h:

(WebKit::SQLiteIDBTransaction::create): Deleted.

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):

  • Platform/efl/DispatchQueueWorkItemEfl.h:

(WorkItem::dispatch):
(WorkItem::create): Deleted.

  • UIProcess/API/gtk/PageClientImpl.h:

(WebKit::PageClientImpl::create): Deleted.

  • UIProcess/API/gtk/WebKitTextChecker.h:

(WebKitTextChecker::create): Deleted.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkitWebContextConstructed):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseConstructed):

Source/WTF:

  • wtf/efl/WorkQueueEfl.cpp:

(WorkQueue::dispatch):

8:38 PM Changeset in webkit [180920] by ap@apple.com
  • 2 edits in trunk/Tools

Update the name of ASan build step.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
8:33 PM Changeset in webkit [180919] by fpizlo@apple.com
  • 4 edits in trunk/Source

DFG compile time measurements should really report milliseconds
https://bugs.webkit.org/show_bug.cgi?id=142209

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

Fix this to record milliseconds instead of seconds.

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThread):
(JSC::DFG::Plan::compileInThreadImpl):

Source/WTF:

This bug was introduced because currentTimeMS() calls were converted to
monotonicallyIncreasingTime() calls. Perhaps this bug would be less likely if there was a
monotonicallyIncreasingTimeMS() function available, so this patch adds it.

  • wtf/CurrentTime.h:

(WTF::monotonicallyIncreasingTimeMS):

8:12 PM Changeset in webkit [180918] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] inspector/timeline always times out.
https://bugs.webkit.org/show_bug.cgi?id=142208

  • platform/win/TestExpectations: Skipping.)
8:05 PM Changeset in webkit [180917] by fpizlo@apple.com
  • 13 edits in trunk/Source/JavaScriptCore

Remove op_get_callee, it's unused
https://bugs.webkit.org/show_bug.cgi?id=142206

Reviewed by Andreas Kling.

It's a bit of a shame that we stopped using this opcode since it gives us same-callee
profiling. But, if we were to add this functionality back in, we would almost certainly do
it by adding a JSFunction allocation watchpoint on FunctionExecutable.

  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::finalizeUnconditionally):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):

  • jit/JIT.h:
  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_get_callee): Deleted.
(JSC::JIT::emitSlow_op_get_callee): Deleted.

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_get_callee): Deleted.
(JSC::JIT::emitSlow_op_get_callee): Deleted.

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL): Deleted.

7:58 PM Changeset in webkit [180916] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Remove native extensions now built-in
https://bugs.webkit.org/show_bug.cgi?id=142203

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-03-02
Reviewed by Timothy Hatcher.

  • UserInterface/Base/Utilities.js:
7:29 PM Changeset in webkit [180915] by commit-queue@webkit.org
  • 11 edits
    2 moves in trunk/Source/WebCore

Unreviewed, rolling out r180902.
https://bugs.webkit.org/show_bug.cgi?id=142205

It broke scrolling in some cases. See bug 142202 for details.
(Requested by bdash on #webkit).

Reverted changeset:

"Move scroll animating functions from ScrollAnimator to
ScrollController"
https://bugs.webkit.org/show_bug.cgi?id=142102
http://trac.webkit.org/changeset/180902

7:25 PM Changeset in webkit [180914] by commit-queue@webkit.org
  • 14 edits
    10 deletes in trunk

Unreviewed, rolling out r180911.
https://bugs.webkit.org/show_bug.cgi?id=142204

The tests it added are crashing (Requested by bdash on
#webkit).

Reverted changeset:

"Add a microtask abstraction"
https://bugs.webkit.org/show_bug.cgi?id=137496
http://trac.webkit.org/changeset/180911

6:24 PM Changeset in webkit [180913] by Joseph Pecoraro
  • 17 edits in trunk/Source

Web Inspector: Context Menu to Log a Particular Object
https://bugs.webkit.org/show_bug.cgi?id=142198

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Add a protocol method to assign a $n index to a value. For an object
use the injected script context for that object. For a value, use
the execution context to know where to save the value.

  • inspector/InjectedScript.cpp:

(Inspector::InjectedScript::saveResult):

  • inspector/InjectedScript.h:
  • inspector/InjectedScriptSource.js:
  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::saveResult):

  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/protocol/Debugger.json:
  • inspector/protocol/Runtime.json:

Source/WebInspectorUI:

  • UserInterface/Controllers/JavaScriptLogViewController.js:

(WebInspector.JavaScriptLogViewController.prototype.saveResultCallback):
(WebInspector.JavaScriptLogViewController.prototype.appendImmediateExecutionWithResult):
Add a way to show an execution and result immediately in the Log View.

  • UserInterface/Views/ConsolePrompt.js:

(WebInspector.ConsolePrompt.prototype.pushHistoryItem):
(WebInspector.ConsolePrompt.prototype.commitTextOrInsertNewLine):
(WebInspector.ConsolePrompt.prototype._handleEnterKey):
(WebInspector.ConsolePrompt.prototype._commitHistoryEntry):
Add a way to append a history item to the console prompt history.

  • UserInterface/Views/ObjectTreePropertyTreeElement.js:

(WebInspector.ObjectTreePropertyTreeElement.prototype):
Add a context menu item to object tree properties to log the value.

  • UserInterface/Protocol/RemoteObject.js:

(WebInspector.RemoteObject.createCallArgument):
(WebInspector.RemoteObject.prototype.callFunction):
(WebInspector.RemoteObject.prototype.asCallArgument):
Simplify CallArgument creation.

  • UserInterface/Controllers/RuntimeManager.js:

(WebInspector.RuntimeManager.prototype.mycallback):
(WebInspector.RuntimeManager.prototype.saveResult):
Wrap RuntimeAgent.saveResult. If supported, run the backend command
and fetch a saved result index from the backend for the given value.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Base/Main.js:

(WebInspector.contentLoaded):

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype.get logViewController):
Misc.

5:37 PM Changeset in webkit [180912] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

Lots of: ERROR: Unhandled web process message WebPageGroupProxy:RemoveAllUserContentFilters
https://bugs.webkit.org/show_bug.cgi?id=142155

Reviewed by Simon Fraser.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::didReceiveMessage): Return after handling WebPageGroupProxy messages

instead of logging an error.

5:04 PM Changeset in webkit [180911] by yoav@yoav.ws
  • 14 edits
    10 adds in trunk

Add a microtask abstraction
https://bugs.webkit.org/show_bug.cgi?id=137496

Reviewed by Sam Weinig.

Source/WebCore:

This patch adds a microtask abstraction: https://html.spec.whatwg.org/multipage/webappapis.html#microtask
That abstraction is required in order to enable async loading of images,
which is in turn required to enable support for the picture element, as well as
to make sure that the order of properties set on HTMLImageElement has no implications.

  • WebCore.vcxproj/WebCore.vcxproj: Add MicroTask.{h,cpp} to the project.
  • WebCore.vcxproj/WebCoreTestSupport.vcxproj: Add MicroTaskTest.{h,cpp} to the project.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Add MicroTask.{h,cpp} to the project.
  • WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters: Add MicroTaskTest.{h,cpp} to the project.
  • WebCore.xcodeproj/project.pbxproj: Add MicroTask{,Test}.{h,cpp} to the project.
  • dom/Document.h: Add WEBCORE_EXPORT to addConsoleMessage, so it can be used in MicroTaskTest that's in WebCoreTestSupport..
  • dom/MicroTask.h: Add a MicroTask interface class. Add a MicroTaskQueue singleton.

(WebCore::MicroTask::~MicroTask):
(WebCore::MicroTask::run): Run the microtask.

  • dom/MicroTask.cpp: Implement the MicroTaskQueue singleton.

(WebCore::MicroTaskQueue::singleton): Get a singleton instance of MicroTaskQueue.
(WebCore::MicroTaskQueue::queueMicroTask): Add a microtask to the queue.
(WebCore::MicroTaskQueue::runMicroTasks): Run all the microtasks in the queue and clear it.

  • dom/ScriptRunner.cpp: Trigger running of all microtasks in queue.

(WebCore::ScriptRunner::timerFired):

  • html/parser/HTMLScriptRunner.cpp: Trigger running of all microtasks in queue.

(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
(WebCore::HTMLScriptRunner::executeScriptsWaitingForParsing):
(WebCore::HTMLScriptRunner::runScript):

  • testing/Internals.cpp: Add a method to queue a test microtask.

(WebCore::Internals::queueMicroTask):

  • testing/Internals.h: Add a method to queue a test microtask.

(WebCore::Internals::queueMicroTask):

  • testing/Internals.idl: Expose test microtask queueing to test JS.
  • testing/MicroTaskTest.cpp: Add a test class that implements a microtask and prints to the console when it runs.

(WebCore::MicroTaskTest::run): Run the microtask
(WebCore::MicroTaskTest::create): Create a test microtask.

  • testing/MicroTaskTest.h: Add a test class that implements a microtask.

(WebCore::MicroTaskTest::run):
(WebCore::MicroTaskTest::create):

LayoutTests:

Adding a test for microtask abstraction.

  • fast/dom/microtask-detach.html: Added.
  • fast/dom/microtask-detach-expected.txt: Added.
  • fast/dom/microtask-inorder.html: Added.
  • fast/dom/microtask-inorder-expected.txt: Added.
  • fast/dom/microtask-reverse.html: Added.
  • fast/dom/microtask-reverse-expected.txt: Added.
4:58 PM Changeset in webkit [180910] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

RenderVideo should not paint the video frame when video is fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=142097

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-03-02
Reviewed by Eric Carlson.

For performance and correctness, RenderVideo should not paint the current video frame
inline when video is fullscreen. This happens when snapshots are taken and can have a
negative performance impact.

  • rendering/RenderVideo.cpp:

(WebCore::RenderVideo::paintReplaced):

4:45 PM Changeset in webkit [180909] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

SpeculativeJIT::emitAllocateArguments() should be a bit faster, and shouldn't do destructor initialization
https://bugs.webkit.org/show_bug.cgi?id=142197

Reviewed by Geoffrey Garen.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::emitAllocateArguments): Use shift instead of mul, since mul doesn't automatically strength-reduce to shift. Also pass the structure as a TrustedImmPtr.

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::emitAllocateVariableSizedJSObject): Rationalize this a bit. The other emitAllocate... methods take a templated structure so that it can be either a TrustedImmPtr or a register. Also don't do destructor initialization, since its one client doesn't need it, and it's actually probably wrong.

4:38 PM Changeset in webkit [180908] by ggaren@apple.com
  • 2 edits in trunk/Source/bmalloc

bmalloc: Eagerly remove allocated objects from the free list
https://bugs.webkit.org/show_bug.cgi?id=142194

Reviewed by Andreas Kling.

This reduces the pressure to garbage collect the free list.

Might be a 1% speedup on MallocBench.

  • bmalloc/FreeList.cpp: Put this comment at the top of the file instead

of repeating it inside of each function. Tried to clarify the details.

(bmalloc::FreeList::takeGreedy): Matched the other iteration code in this
file for consistency -- even though either direction works fine in this
function.

(bmalloc::FreeList::take): Change to iterate from low to high so that we
can maintain an index into the vector that is not disturbed even if we
pop from the middle (which invalidates the last index in the vector).

Decrement i when popping from the middle to make sure that we don't
skip the next item after popping.

(bmalloc::FreeList::removeInvalidAndDuplicateEntries): Ditto.

4:24 PM Changeset in webkit [180907] by mark.lam@apple.com
  • 3 edits
    2 adds in trunk

Source/JavaScriptCore:
Exception stack unwinding in JSC hangs while the Timeline Profiler is enabled.
<https://webkit.org/b/142191>

Reviewed by Geoffrey Garen.

Imagine a scenario where the Inspector is paused / suspended at a breakpoint or
while the user is stepping through JS code. The user then tries to evaluate an
expression in the console, and that evaluation results in an exception being
thrown. Currently, if the Timeline Profiler is enabled while this exception is
being thrown, the WebProcess will hang while trying to handle that exception.

The issue is that the Timeline Profiler's ProfileGenerator::didExecute() will
return early and decline to process ProfileNodes if the Inspector is paused.
This is proper because it does not want to count work done for injected scripts
(e.g. from the console) towards the timeline profile of the webpage being run.
However, this is in conflict with ProfileGenerator::exceptionUnwind()'s
expectation that didExecute() will process ProfileNodes in order to do the stack
unwinding for the exception handling. As a result,
ProfileGenerator::exceptionUnwind() hangs.

ProfileGenerator::exceptionUnwind() is in error. While the Inspector is paused,
there will not be any ProfileNodes that it needs to "unwind". Hence, the fix is
simply to return early also in ProfileGenerator::exceptionUnwind() if the
Inspector is paused.

  • profiler/ProfileGenerator.cpp:

(JSC::ProfileGenerator::exceptionUnwind):

LayoutTests:
Last gardening after r177774

Unreviewed.

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-03-02

  • fast/text/font-kerning-expected.html:
  • fast/text/font-variant-ligatures-expected.html:
  • fast/text/whitespace/inline-whitespace-wrapping-7-expected.html:
  • fast/text/whitespace/inline-whitespace-wrapping-7.html:
  • mathml/presentation/scripts-subsup-expected.html:
  • mathml/presentation/scripts-subsup.html:
  • platform/mac/TestExpectations:
  • platform/mac/fast/text/multiple-codeunit-vertical-upright-expected.html:
  • platform/mac/fast/text/multiple-codeunit-vertical-upright.html:
  • platform/mac/fast/text/resources/multiple-codeunit-vertical-upright.otf: Removed.
  • svg/text/svg-font-word-rounding-hacks-spaces-expected.html:
  • svg/text/svg-font-word-rounding-hacks-spaces.html:
  • svg/text/tspan-outline-expected.svg:
  • svg/text/tspan-outline.html:
3:57 PM Changeset in webkit [180906] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

[iOS Media] Airplay button should be blue when active
https://bugs.webkit.org/show_bug.cgi?id=142193

Reviewed by Brent Fulgham.

Add a blue form of the Airplay button that is used
when we are actively displaying on another screen.

  • Modules/mediacontrols/mediaControlsiOS.css:

(video::-webkit-media-controls-wireless-playback-picker-button):
(video::-webkit-media-controls-wireless-playback-picker-button:active):
(video::-webkit-media-controls-wireless-playback-picker-button.playing):

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.updateWirelessPlaybackStatus):

3:52 PM Changeset in webkit [180905] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit2

Add way to dump cache meta data to file
https://bugs.webkit.org/show_bug.cgi?id=142183

Add a missing return so we don't try to decode a null entry.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::dumpContentsToFile):

3:51 PM Changeset in webkit [180904] by mmaxfield@apple.com
  • 15 edits
    1 delete in trunk/LayoutTests

Last gardening after r177774

Unreviewed.

  • fast/text/font-kerning-expected.html:
  • fast/text/font-variant-ligatures-expected.html:
  • fast/text/whitespace/inline-whitespace-wrapping-7-expected.html:
  • fast/text/whitespace/inline-whitespace-wrapping-7.html:
  • mathml/presentation/scripts-subsup-expected.html:
  • mathml/presentation/scripts-subsup.html:
  • platform/mac/TestExpectations:
  • platform/mac/fast/text/multiple-codeunit-vertical-upright-expected.html:
  • platform/mac/fast/text/multiple-codeunit-vertical-upright.html:
  • platform/mac/fast/text/resources/multiple-codeunit-vertical-upright.otf: Removed.
  • svg/text/svg-font-word-rounding-hacks-spaces-expected.html:
  • svg/text/svg-font-word-rounding-hacks-spaces.html:
  • svg/text/tspan-outline-expected.svg:
  • svg/text/tspan-outline.html:
3:49 PM Changeset in webkit [180903] by fpizlo@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

FTL should correctly document where it puts the argument count for inlined varargs frames
https://bugs.webkit.org/show_bug.cgi?id=142187

Reviewed by Geoffrey Garn.

After LLVM tells us where the captured variables alloca landed in the frame, we need to
tell all of our meta-data about it. We were forgetting to do so for the argument count
register, which is used by inlined varargs calls.

  • ftl/FTLCompile.cpp:

(JSC::FTL::mmAllocateDataSection):

  • tests/stress/inline-varargs-get-arguments.js: Added.

(foo):
(bar):
(baz):

3:49 PM Changeset in webkit [180902] by Brent Fulgham
  • 11 edits
    2 moves in trunk/Source/WebCore

Move scroll animating functions from ScrollAnimator to ScrollController
https://bugs.webkit.org/show_bug.cgi?id=142102
<rdar://problem/20007161>

Reviewed by Simon Fraser.

No change in functionality.

Do some refactoring of the various scrolling classes:

  1. Consolidate animation times to RunLoop::Timer instead of a combination of WebCore::Timer and CFRunLoopTimers. Do this for Scroll Snap Point and Rubberband animations.
  2. Move ScrollController from platform/mac to platform/cocoa to enable sharing with iOS.
  3. Move code from ScrollAnimator{Mac} -> ScrollController.
  4. Rename scrollOffsetInAxis -> scrollOffsetOnAxis
  5. Rename immediateScrollInAxis -> immediateScrollOnAxis
  • WebCore.xcodeproj/project.pbxproj: Move ScrollController to 'platform/cocoa'
  • page/mac/EventHandlerMac.mm: Make sure the scroll controller is notified of end-of-scroll

events, just as is done for the "event not handled" case in EventHandler.cpp.
(WebCore::EventHandler::platformCompleteWheelEvent):

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h: Remove timer and some delegate

methods, now that ScrollController is controlling this state.

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::~ScrollingTreeFrameScrollingNodeMac): We no longer
need to clean up the CFRunLoopTimer.
(WebCore::ScrollingTreeFrameScrollingNodeMac::scrollOffsetOnAxis): Add temporary stub needed
until Bug 141973 is completed.).
(WebCore::ScrollingTreeFrameScrollingNodeMac::immediateScrollOnAxis): Ditto.
(WebCore::ScrollingTreeFrameScrollingNodeMac::startSnapRubberbandTimer): Deleted.
(WebCore::ScrollingTreeFrameScrollingNodeMac::stopSnapRubberbandTimer): Deleted.

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::ScrollAnimator):
(WebCore::ScrollAnimator::processWheelEventForScrollSnap): Just call the ScrollController method.
(WebCore::ScrollAnimator::handleWheelEvent): Ditto.
(WebCore::ScrollAnimator::updateScrollAnimatorsAndTimers): Ditto.
(WebCore::ScrollAnimator::scrollOffsetOnAxis): Renamed from scrollOffsetInAxis.
(WebCore::ScrollAnimator::scrollOffsetInAxis): Deleted.
(WebCore::ScrollAnimator::immediateScrollOnAxis): Renamed from immediateScrollInAxis.
(WebCore::ScrollAnimator::immediateScrollInAxis): Deleted.
(WebCore::ScrollAnimator::startScrollSnapTimer): Deleted.
(WebCore::ScrollAnimator::stopScrollSnapTimer): Deleted.
(WebCore::ScrollAnimator::horizontalScrollSnapTimerFired): Deleted.
(WebCore::ScrollAnimator::verticalScrollSnapTimerFired): Deleted.

  • platform/ScrollAnimator.h:
  • platform/cocoa/ScrollController.h: Copied from platform/mac/ScrollController.h.
  • platform/cocoa/ScrollController.mm: Copied from platform/mac/ScrollController.mm.

(WebCore::ScrollController::ScrollController): Update to initialize new timers.
(WebCore::ScrollController::handleWheelEvent): Update to handle Scroll Snap Point events.
(WebCore::ScrollController::startSnapRubberbandTimer): Added.
(WebCore::ScrollController::stopSnapRubberbandTimer): Manage animation timers locally, do not
require client to maintain timers.
(WebCore::ScrollController::snapRubberBand): Ditto.
(WebCore::ScrollController::processWheelEventForScrollSnap): Added. (Moved from ScrollAnimatorMac)
(WebCore::ScrollController::updateScrollAnimatorsAndTimers): Ditto. Also updated to use RunLoop::Timer.
(WebCore::ScrollController::startScrollSnapTimer): Ditto. Also updated to use RunLoop::Timer.
(WebCore::ScrollController::stopScrollSnapTimer): Ditto. Also updated to use RunLoop::Timer.
(WebCore::ScrollController::horizontalScrollSnapTimerFired): Ditto.
(WebCore::ScrollController::verticalScrollSnapTimerFired): Ditto.
(WebCore::ScrollController::scrollOffsetOnAxis): Moved from ScrollAnimatorMac.
(WebCore::ScrollController::immediateScrollOnAxis): Ditto.

  • platform/mac/AxisScrollSnapAnimator.h: Rename methods from 'InAxis' to 'OnAxis'
  • platform/mac/AxisScrollSnapAnimator.mm: Ditto.
  • platform/mac/ScrollAnimatorMac.h:
  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::ScrollAnimatorMac): Remove unused Rubberband timers (now that this is
controlled in the ScrollController)
(WebCore::ScrollAnimatorMac::startSnapRubberbandTimer): Deleted.
(WebCore::ScrollAnimatorMac::stopSnapRubberbandTimer): Deleted.
(WebCore::ScrollAnimatorMac::snapRubberBandTimerFired): Deleted.

  • platform/mac/ScrollController.h: Removed.
  • platform/mac/ScrollController.mm: Removed.
3:39 PM Changeset in webkit [180901] by mark.lam@apple.com
  • 4 edits in trunk

The InspectorTimelineAgent should gracefully handle attempts to start more than once.
<https://webkit.org/b/142189>

Reviewed by Joseph Pecoraro.

Source/WebCore:

No new tests. Unskipped an existing test that already asserts this.

InspectorTimelineAgent::internalStop() already checks for redundant calls to it in
case the InspectorTimelineAgent is already disabled. Similarly,
InspectorTimelineAgent::internalStart() should check if the InspectorTimelineAgent
is already enabled before proceeding to do work to enable it. Though wasteful,
it is legal for clients of the InspectorTimelineAgent to invoke start on it more
than once. Hence, this check is needed.

This check fixes the debug assertion failure when running the
inspector/timeline/debugger-paused-while-recording.html test. The test can now
be unskipped.

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::internalStart):

LayoutTests:

3:35 PM Changeset in webkit [180900] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Skip media control test after r180893.

  • platform/win/TestExpectations:
3:25 PM Changeset in webkit [180899] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Return disk cache entries from the new disk cache
https://bugs.webkit.org/show_bug.cgi?id=142190

Reviewed by Antti Koivisto.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::fetchDiskCacheEntries):
Call NetworkCache::traverse() to get all the cache entries, unique their origins and pass them back with the completion handler.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::traverse):
New helper function that traverses network cache entries.

  • NetworkProcess/cache/NetworkCache.h:
2:54 PM Changeset in webkit [180898] by roger_fong@apple.com
  • 4 edits in trunk/Source/WebCore

Update backgrounds of sliders for inline media controls on OS X.
https://bugs.webkit.org/show_bug.cgi?id=142188.
<rdar://problem/20012413>
Reviewed by Dean Jackson.
Don’t use CSS to draw volume and timeline slider backgrounds.

  • Modules/mediacontrols/mediaControlsApple.css:

(video::-webkit-media-controls-volume-slider):
(audio::-webkit-media-controls-volume-slider::-webkit-slider-thumb):
(audio::-webkit-media-controls-timeline):
(audio::-webkit-media-controls-timeline::-webkit-slider-thumb):
(audio::-webkit-media-controls-panel .thumbnail-track):
(audio::-webkit-media-controls-volume-slider::-webkit-slider-thumb:active::-webkit-slider-thumb): Deleted.
(audio::-webkit-media-controls-timeline:active::-webkit-slider-thumb,): Deleted.
Draw volume and timeline slider backgrounds using 2d canvases.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.createControls):
(Controller.prototype.handleVolumeSliderInput):
(Controller.prototype.addRoundedRect):
(Controller.prototype.drawTimelineBackground):
(Controller.prototype.drawVolumeBackground):
(Controller.prototype.showControls):

  • Modules/mediacontrols/mediaControlsiOS.js:
2:52 PM Changeset in webkit [180897] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Deduplicate slow path calling code in JITOpcodes.cpp/JITOpcodes32_64.cpp
https://bugs.webkit.org/show_bug.cgi?id=142184

Reviewed by Michael Saboff.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_get_enumerable_length):
(JSC::JIT::emitSlow_op_has_structure_property):
(JSC::JIT::emit_op_has_generic_property):
(JSC::JIT::emit_op_get_structure_property_enumerator):
(JSC::JIT::emit_op_get_generic_property_enumerator):
(JSC::JIT::emit_op_to_index_string):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_get_enumerable_length): Deleted.
(JSC::JIT::emitSlow_op_has_structure_property): Deleted.
(JSC::JIT::emit_op_has_generic_property): Deleted.
(JSC::JIT::emit_op_get_structure_property_enumerator): Deleted.
(JSC::JIT::emit_op_get_generic_property_enumerator): Deleted.
(JSC::JIT::emit_op_to_index_string): Deleted.
(JSC::JIT::emit_op_profile_control_flow): Deleted.

2:28 PM Changeset in webkit [180896] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Document more debug assertions.

  • platform/win/TestExpectations:
2:10 PM Changeset in webkit [180895] by Brent Fulgham
  • 2 edits
    1 add in trunk/LayoutTests

Skip media control tests for now while new look is being finalized.
https://bugs.webkit.org/show_bug.cgi?id=142138.

Patch by Roger Fong <roger_fong@apple.com> on 2015-02-28
Reviewed by Dean Jackson.

  • platform/mac/TestExpectations:
1:51 PM Changeset in webkit [180894] by Antti Koivisto
  • 9 edits in trunk/Source

Add way to dump cache meta data to file
https://bugs.webkit.org/show_bug.cgi?id=142183

Reviewed by Andreas Kling.

Source/JavaScriptCore:

Export appendQuotedJSONStringToBuilder.

  • bytecompiler/NodesCodegen.cpp:

(JSC::ObjectPatternNode::toString):

  • runtime/JSONObject.cpp:

(JSC::appendQuotedJSONStringToBuilder):
(JSC::Stringifier::appendQuotedString):
(JSC::escapeStringToBuilder): Deleted.

  • runtime/JSONObject.h:

Source/WebKit2:

Dump goes to WebKitCache/dump.json. On OSX it can be triggered with

notifyutil -p com.apple.WebKit.Cache.dump

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::initialize):
(WebKit::NetworkCache::dumpFilePath):
(WebKit::entryAsJSON):
(WebKit::NetworkCache::dumpContentsToFile):
(WebKit::NetworkCache::clear):

Also clear any dumps.

  • NetworkProcess/cache/NetworkCache.h:
  • NetworkProcess/cache/NetworkCacheStorage.h:

(WebKit::NetworkCacheStorage::baseDirectoryPath):

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::fileNameForKey):
(WebKit::filePathForKey):
(WebKit::openFile):
(WebKit::openFileForKey):
(WebKit::decodeEntryHeader):

Separate header decoding.

(WebKit::decodeEntry):
(WebKit::NetworkCacheStorage::traverse):

Add asynchronous cache traversal inteface.

1:07 PM Changeset in webkit [180893] by roger_fong@apple.com
  • 4 edits in trunk

Update inline media element controls appearance Part 1.
https://bugs.webkit.org/show_bug.cgi?id=142138.
<rdar://problem/19997384>

Reviewed by Dean Jackson.

Update positioning, sizes, and background colors media control elements.
Volume and timeline sliders will be drawn in a separate patch via 2d canvases.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-panel):
(video::-webkit-media-controls-panel):
(audio::-webkit-media-controls-rewind-button):
(audio::-webkit-media-controls-play-button):
(audio::-webkit-media-controls-panel .mute-box):
(video::-webkit-media-controls-volume-max-button):
(audio::-webkit-media-controls-panel .volume-box):
(audio::-webkit-media-controls-panel .volume-box:active):
(video::-webkit-media-controls-volume-slider):
(audio::-webkit-media-controls-toggle-closed-captions-button):
(audio::-webkit-media-controls-fullscreen-button):
(audio::-webkit-media-controls-current-time-display):
(audio::-webkit-media-controls-time-remaining-display):
(audio::-webkit-media-controls-timeline-container .hour-long-time): Deleted.

Skip media control tests for now while new look is being finalized.

  • platform/mac/TestExpectations:
12:45 PM Changeset in webkit [180892] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

WebsiteDataStore should handle deleting cookies
https://bugs.webkit.org/show_bug.cgi?id=142185

Reviewed by Beth Dakin.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
When asked to delete cookies, do so.

  • NetworkProcess/NetworkProcess.h:

Update the deleteWebsiteDataForOrigins signature.

  • NetworkProcess/NetworkProcess.messages.in:

Add cookieHostNames to DeleteWebsiteDataForOrigins.

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::deleteWebsiteDataForOrigins):

  • UIProcess/Network/NetworkProcessProxy.h:

Update to take a vector of cookie host names.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::removeData):
Figure out if we need to ask the network process to delete data.

11:32 AM Changeset in webkit [180891] by Joseph Pecoraro
  • 7 edits in trunk/Source

Web Inspector: Add Context Menus to Object Tree properties
https://bugs.webkit.org/show_bug.cgi?id=142125

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::functionDetails):
Update to include columnNumber.

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Views/ObjectPropertiesSection.js:

(WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired):
(WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired.revealFunction):
Fix legacy implementation.

  • UserInterface/Views/ObjectTreeArrayIndexTreeElement.js:
  • UserInterface/Views/ObjectTreePropertyTreeElement.js:

(WebInspector.ObjectTreePropertyTreeElement.prototype._createTitlePrototype):
Give prototype buttons a tooltip.

(WebInspector.ObjectTreePropertyTreeElement.prototype.oncontextmenu):
(WebInspector.ObjectTreePropertyTreeElement.prototype._contextMenuHandler):
(WebInspector.ObjectTreePropertyTreeElement.prototype._appendMenusItemsForObject):
Context Menus based on the selected object.

11:08 AM Changeset in webkit [180890] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Document more debug assertions.

  • platform/win/TestExpectations:
10:42 AM Changeset in webkit [180889] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

WebsiteDataStore should support getting cookie host names
https://bugs.webkit.org/show_bug.cgi?id=142178

Reviewed by Dan Bernstein.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::fetchWebsiteData):
Assert that we're destroyed from the main thread since we end up copying the website data struct.

  • Shared/WebsiteData/WebsiteData.cpp:

(WebKit::WebsiteData::encode):
(WebKit::WebsiteData::decode):

  • Shared/WebsiteData/WebsiteData.h:

Add a hostnamesWithCookies member.

  • UIProcess/WebsiteData/WebsiteDataRecord.cpp:

(WebKit::WebsiteDataRecord::displayNameForCookieHostName):
Add a new function that will return the display name for a cookie host name.

(WebKit::WebsiteDataRecord::addCookieHostName):

  • UIProcess/WebsiteData/WebsiteDataRecord.h:

Add a hash set of cookie host names.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::fetchData):
Create data records for each host name with cookies.

10:18 AM Changeset in webkit [180888] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Fix a typo in TestExpectations.

  • platform/mac/TestExpectations: Faiure - > Failure.
9:52 AM Changeset in webkit [180887] by ap@apple.com
  • 2 edits in trunk/LayoutTests

js/promises-tests/promises-tests-2-1-2.html sometimes times out
https://bugs.webkit.org/show_bug.cgi?id=142175

9:39 AM Changeset in webkit [180886] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebKit2

[WK2][Mac] WebPageProxy::supressVisibilityUpdates() should suppress visibility updates.
https://bugs.webkit.org/show_bug.cgi?id=141907

Reviewed by Tim Horton.

At some point, the window/view/page visibility update code was refactored such that setting
WebPageProxy::setSuppressVisibilityUpdate() no longer suppressed visibility updates. This causes
full screen animations to become "flashy" when moving the WebView between the regular and full
screen window, as a HTMLMediaElement in the full screen animation will receive a "!visible"
notification and disconnect its rendering pipeline.

In WebPageProxy::viewStateDidChange(), respect m_suppressVisibilityUpdates and bail out early
if set. In WebPageProxy::setSuppressVisibilityUpdates(), trigger an explicit update after
clearing m_suppressVisibilityUpdates.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setSuppressVisibilityUpdates):
(WebKit::WebPageProxy::viewStateDidChange):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::setSuppressVisibilityUpdates): Deleted.

9:37 AM Changeset in webkit [180885] by jer.noble@apple.com
  • 9 edits
    2 adds in trunk

[WK1][WK2][Mac] Fullscreen animation is incorrect when page is scaled.
https://bugs.webkit.org/show_bug.cgi?id=142121

Reviewed by Simon Fraser.

Source/WebKit/mac:

Fullscreening a page with a non-1 scale would result in that scale being applied to the
fullscreen content, breaking fullscreen mode. Set the page scale to 1 when entering
fullscreen and reset it to the original value when exiting fullscreen.

  • WebView/WebFullScreenController.h:
  • WebView/WebFullScreenController.mm:

(-[WebFullScreenController enterFullScreen:]): Set the page scale to 1.
(-[WebFullScreenController finishedExitFullScreenAnimation:]): Reset the page

scale to the original value.

  • WebView/WebView.mm:

(-[WebView _supportsFullScreenForElement:withKeyboard:]): Drive-by fix. Check the

WebView's own preferences to see if fullscreen mode is enabled, rather than
the global object's.

Source/WebKit2:

Change the order of operations when entering or exiting fullscreen. Change the page scale to
1 before entering, so the final screen rect takes that scale into account, and vice-versa on
exiting.

  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController enterFullScreen:]):
(-[WKFullScreenWindowController exitFullScreen]):

Tools:

Add a test which changes the WebView's page scale, then enters fullscreen mode, and verifies
that the initial and final screen rects for the web content are as expected.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/mac/FullscreenZoomInitialFrame.html: Added.
  • TestWebKitAPI/Tests/mac/FullscreenZoomInitialFrame.mm: Added.

(-[FullscreenStateDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:]):
(runJavaScriptAlert):
(TestWebKitAPI::FullscreenZoomInitialFrame::initializeView):
(TestWebKitAPI::FullscreenZoomInitialFrame::teardownView):
(TestWebKitAPI::FullscreenZoomInitialFrame::setPageScale):
(TestWebKitAPI::FullscreenZoomInitialFrame::sendMouseDownEvent):
(TestWebKitAPI::FullscreenZoomInitialFrame::runTest):
(TestWebKitAPI::TEST_F):

7:34 AM Changeset in webkit [180884] by commit-queue@webkit.org
  • 2 edits in trunk

REGRESSION(r179409): [GTK] Undefined symbol prevents web extensions from being loaded
https://bugs.webkit.org/show_bug.cgi?id=142165

Patch by Debarshi Ray <debarshir@gnome.org> on 2015-03-02
Reviewed by Carlos Garcia Campos.

  • Source/cmake/gtksymbols.filter:
7:30 AM Changeset in webkit [180883] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r180882): Build failure: Methods not marked override in GraphicsLayerCA.h
<http://webkit.org/b/138684>

Fixes the following build failures:

In file included from WebKit2/WebProcess/WebPage/DrawingArea.cpp:39:
In file included from WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:30:
In file included from WebKit2/WebProcess/WebPage/mac/GraphicsLayerCARemote.h:29:
WebCore.framework/PrivateHeaders/GraphicsLayerCA.h:123:33: error: 'setShapeLayerPath' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-override]

WEBCORE_EXPORT virtual void setShapeLayerPath(const Path&);


In file included from WebKit2/WebProcess/WebPage/DrawingArea.cpp:30:
In file included from WebKit2/WebProcess/WebPage/WebPage.h:46:
In file included from WebKit2/WebProcess/Plugins/Plugin.h:31:
WebCore.framework/PrivateHeaders/GraphicsLayer.h:390:18: note: overridden virtual function is here

virtual void setShapeLayerPath(const Path&);


In file included from WebKit2/WebProcess/WebPage/DrawingArea.cpp:39:
In file included from WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:30:
In file included from WebKit2/WebProcess/WebPage/mac/GraphicsLayerCARemote.h:29:
WebCore.framework/PrivateHeaders/GraphicsLayerCA.h:124:33: error: 'setShapeLayerWindRule' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-override]

WEBCORE_EXPORT virtual void setShapeLayerWindRule(WindRule);


In file included from WebKit2/WebProcess/WebPage/DrawingArea.cpp:30:
In file included from WebKit2/WebProcess/WebPage/WebPage.h:46:
In file included from WebKit2/WebProcess/Plugins/Plugin.h:31:
WebCore.framework/PrivateHeaders/GraphicsLayer.h:393:18: note: overridden virtual function is here

virtual void setShapeLayerWindRule(WindRule);


2 errors generated.

  • platform/graphics/ca/GraphicsLayerCA.h:

(WebCore::GraphicsLayer::setShapeLayerPath): Mark as override.
(WebCore::GraphicsLayer::setShapeLayerWindRule): Ditto.

Mar 1, 2015:

10:35 PM Changeset in webkit [180882] by Simon Fraser
  • 26 edits
    8 adds in trunk

Make clip-path work on <video>, <canvas> etc.
https://bugs.webkit.org/show_bug.cgi?id=138684

Reviewed by Darin Adler.

Source/WebCore:

clip-path only worked in compositing layers on the painted contents of the layer,
and failed to clip children. Fix this by translating the clip path into a Path
which is set on a CA shape layer (for Mac and iOS), or painted into the
RenderLayerBacking's mask layer. There are two code paths:

  1. clip-path which is a <basic-shape> or <geometry-box>, and no mask.

Here we can use the optimal code path of converting the clip into a path
that is put onto a CAShapeLayer, which is then used as a mask. There is no
additional backing store.

  1. clip-path with an SVG reference, or clip-path combined with -webkit-mask:

Here we have to allocate backing store for the mask layer, and paint the
clip path (possibly with the mask).

We add GraphicsLayer::Type::Shape, and add a getter for the layer type.

Tests: compositing/masks/compositing-clip-path-and-mask.html

compositing/masks/compositing-clip-path-mask-change.html
compositing/masks/compositing-clip-path.html
compositing/masks/reference-clip-path-on-composited.html

  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::GraphicsLayer): Store the type in the layer so the getter can return it.
(WebCore::GraphicsLayer::shapeLayerPath): Get and set the shape layer path.
(WebCore::GraphicsLayer::setShapeLayerPath): Ditto.
(WebCore::GraphicsLayer::shapeLayerWindRule): Get and set the shape layer wind rule.
(WebCore::GraphicsLayer::setShapeLayerWindRule): Ditto.

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::type): Expose the type.
(WebCore::GraphicsLayer::supportsLayerType): Allow the cross-platform code to use
shape layers when it knows they are available.
(WebCore::GraphicsLayer::needsClippingMaskLayer): Deleted. This was never used.

  • platform/graphics/GraphicsLayerClient.h: Align the bits (helps avoid typos). Add a

GraphicsLayerPaintClipPath phase.

  • platform/graphics/Path.h: Some exports since WK2 needs to encode Paths now.
  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::initialize): Make shape layers.
(WebCore::GraphicsLayerCA::setShapeLayerPath): Setter for the shape path. Sadly we
can't early return on unchanged paths yet.
(WebCore::GraphicsLayerCA::setShapeLayerWindRule):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Updates for shape path
and wind rule.
(WebCore::GraphicsLayerCA::updateShape):
(WebCore::GraphicsLayerCA::updateWindRule):

  • platform/graphics/ca/GraphicsLayerCA.h: Some new dirty bits for shape path and wind rule.
  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm: Got rid of lots of m_layer.get().

(PlatformCALayerMac::~PlatformCALayerMac):
(PlatformCALayerMac::setNeedsDisplay):
(PlatformCALayerMac::setNeedsDisplayInRect):
(PlatformCALayerMac::removeFromSuperlayer):
(PlatformCALayerMac::setSublayers):
(PlatformCALayerMac::removeAllSublayers):
(PlatformCALayerMac::appendSublayer):
(PlatformCALayerMac::insertSublayer):
(PlatformCALayerMac::replaceSublayer):
(PlatformCALayerMac::adoptSublayers):
(PlatformCALayerMac::addAnimationForKey):
(PlatformCALayerMac::removeAnimationForKey):
(PlatformCALayerMac::animationForKey):
(PlatformCALayerMac::setMask):
(PlatformCALayerMac::isOpaque):
(PlatformCALayerMac::setOpaque):
(PlatformCALayerMac::bounds):
(PlatformCALayerMac::setBounds):
(PlatformCALayerMac::position):
(PlatformCALayerMac::setPosition):
(PlatformCALayerMac::anchorPoint):
(PlatformCALayerMac::setAnchorPoint):
(PlatformCALayerMac::transform):
(PlatformCALayerMac::setTransform):
(PlatformCALayerMac::sublayerTransform):
(PlatformCALayerMac::setSublayerTransform):
(PlatformCALayerMac::setHidden):
(PlatformCALayerMac::setGeometryFlipped):
(PlatformCALayerMac::isDoubleSided):
(PlatformCALayerMac::setDoubleSided):
(PlatformCALayerMac::masksToBounds):
(PlatformCALayerMac::setMasksToBounds):
(PlatformCALayerMac::acceleratesDrawing):
(PlatformCALayerMac::setAcceleratesDrawing):
(PlatformCALayerMac::contents):
(PlatformCALayerMac::setContents):
(PlatformCALayerMac::setContentsRect):
(PlatformCALayerMac::setMinificationFilter):
(PlatformCALayerMac::setMagnificationFilter):
(PlatformCALayerMac::backgroundColor):
(PlatformCALayerMac::setBackgroundColor):
(PlatformCALayerMac::setBorderWidth):
(PlatformCALayerMac::setBorderColor):
(PlatformCALayerMac::opacity):
(PlatformCALayerMac::setOpacity):
(PlatformCALayerMac::copyFiltersFrom):
(PlatformCALayerMac::setName):
(PlatformCALayerMac::setSpeed):
(PlatformCALayerMac::setTimeOffset):
(PlatformCALayerMac::contentsScale):
(PlatformCALayerMac::setContentsScale):
(PlatformCALayerMac::cornerRadius):
(PlatformCALayerMac::setCornerRadius):
(PlatformCALayerMac::setEdgeAntialiasingMask):
(PlatformCALayerMac::shapeWindRule): New function.
(PlatformCALayerMac::setShapeWindRule): Ditto.
(PlatformCALayerMac::shapePath): Ditto.
(PlatformCALayerMac::setShapePath): Ditto.
(PlatformCALayer::isWebLayer):

  • platform/graphics/cg/PathCG.cpp:

(WebCore::Path::Path): nullptr.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintsWithClipPath): Return true if the clip path is painted.
(WebCore::RenderLayer::computeClipPath): Factor code that computes the clip path into this
function, so we can call it from RenderLayerBacking too.
(WebCore::RenderLayer::setupClipPath):
(WebCore::RenderLayer::paintLayerContents): We only want to apply the clip path
for painting when we're either painting a non-composited layer, or we're painting the
mask layer of a composited layer. We in the latter case, we just want to fill the clip
path with black, so re-use the paintChildClippingMaskForFragments() which does this.

  • rendering/RenderLayer.h: Align the bits, add PaintLayerPaintingCompositingClipPathPhase.
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::~RenderLayerBacking):
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::RenderLayerBacking::updateGeometry): Move mask updating into its own function.
(WebCore::RenderLayerBacking::updateMaskingLayerGeometry): If we're using the shape layer
code path, compute the Path and set it and the wind rule on the mask layer.
(WebCore::RenderLayerBacking::updateMaskingLayer): This is now more complex, as it has
to deal with combinations of clip-path and mask, some of which allow for the shape layer
mask, and we handle dynamic changes between these and painted masks.
(WebCore::RenderLayerBacking::paintingPhaseForPrimaryLayer): Include the GraphicsLayerPaintClipPath phase.
(WebCore::RenderLayerBacking::paintIntoLayer): Map GraphicsLayerPaintClipPath to PaintLayerPaintingCompositingClipPathPhase.
(WebCore::RenderLayerBacking::updateMaskLayer): Deleted.

  • rendering/RenderLayerBacking.h:

Source/WebKit2:

Support encode/decode for WebCore Path objects, which is done by traversing
the path.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::pathPointCountApplierFunction):
(IPC::pathEncodeApplierFunction):
(IPC::ArgumentCoder<Path>::encode):
(IPC::ArgumentCoder<Path>::decode):

  • Shared/WebCoreArgumentCoders.h:
  • Shared/mac/RemoteLayerTreePropertyApplier.mm:

(WebKit::applyPropertiesToLayer): Actually apply the path and wind rule to the shape layer.

  • Shared/mac/RemoteLayerTreeTransaction.h: Include path and wind rule in the layer properties.
  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode): Encode shape and wind rule.
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode): Decode shape and wind rule.

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::shapePath):
(WebKit::PlatformCALayerRemote::setShapePath):
(WebKit::PlatformCALayerRemote::shapeWindRule):
(WebKit::PlatformCALayerRemote::setShapeWindRule):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:

LayoutTests:

Tests for various combinations of clip-path and mask, and dynamic changes
thereof.

  • compositing/masks/compositing-clip-path-and-mask-expected.html: Added.
  • compositing/masks/compositing-clip-path-and-mask.html: Added.
  • compositing/masks/compositing-clip-path-expected.html: Added.
  • compositing/masks/compositing-clip-path-mask-change-expected.html: Added.
  • compositing/masks/compositing-clip-path-mask-change.html: Added.
  • compositing/masks/compositing-clip-path.html: Added.
  • compositing/masks/reference-clip-path-on-composited-expected.html: Added.
  • compositing/masks/reference-clip-path-on-composited.html: Added.
8:33 PM Changeset in webkit [180881] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Cairo] Implement Path::addEllipse
https://bugs.webkit.org/show_bug.cgi?id=142144

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-03-01
Reviewed by Gyuyoung Kim.

Add support for addEllipse method for platforms using cairo.

  • platform/graphics/cairo/PathCairo.cpp:

(WebCore::Path::addEllipse):

7:58 PM Changeset in webkit [180880] by bshafiei@apple.com
  • 5 edits in branches/safari-600.4.10-branch/Source

Versioning.

7:56 PM Changeset in webkit [180879] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening. Mark crash tests of webgl to CRASH.
WebGL isn't supported by EFL port now.

  • platform/efl/TestExpectations:
7:40 PM Changeset in webkit [180878] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.4.10.6

New tag.

7:26 PM Changeset in webkit [180877] by bshafiei@apple.com
  • 30 edits in branches/safari-600.4.10-branch/Source/WebCore

Merged r180839. rdar://problem/20001723

6:59 PM Changeset in webkit [180876] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit

Silence non-fatal errors about failing to create WebKitPluginHost.app and WebKitPluginAgent symlinks.

Rubber-stamped by Alexey Proskuryakov.

  • WebKit.xcodeproj/project.pbxproj: If a link already exist, don’t try to create it.
6:08 PM Changeset in webkit [180875] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

BytecodeGenerator shouldn't emit op_resolve_scope as a roundabout way of returning the scopeRegister
https://bugs.webkit.org/show_bug.cgi?id=142153

Reviewed by Michael Saboff.

We don't need a op_resolve_scope if we know that it will simply return the scope register.
This changes the BytecodeGenerator to use the scope register directly in those cases where
we know statically that we would just have returned that from op_resolve_scope.

This doesn't appear to have a significant impact on performance.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitResolveScope):
(JSC::BytecodeGenerator::emitReturn):
(JSC::BytecodeGenerator::emitGetOwnScope): Deleted.

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::ResolveNode::emitBytecode):
(JSC::EvalFunctionCallNode::emitBytecode):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::PostfixNode::emitResolve):
(JSC::DeleteResolveNode::emitBytecode):
(JSC::TypeOfResolveNode::emitBytecode):
(JSC::PrefixNode::emitResolve):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::ConstDeclNode::emitCodeSingle):
(JSC::EmptyVarExpression::emitBytecode):
(JSC::ForInNode::emitLoopHeader):
(JSC::ForOfNode::emitBytecode):
(JSC::BindingNode::bindValue):

5:53 PM Changeset in webkit [180874] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening on 2nd March.

Mark css3 shape tests to flaky. Unskip passing tests and so on.

  • platform/efl/TestExpectations:
5:48 PM Changeset in webkit [180873] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore

Use std::unique_ptr instead of PassOwnPtr|OwnPtr for ScrollAnimator
https://bugs.webkit.org/show_bug.cgi?id=142143

Patch by Joonghun Park <jh718.park@samsung.com> on 2015-03-01
Reviewed by Darin Adler.

No new tests, no behavior changes.

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::create):

  • platform/ScrollAnimator.h:
  • platform/ScrollAnimatorNone.cpp:

(WebCore::ScrollAnimator::create):

  • platform/ScrollableArea.h:
  • platform/ios/ScrollAnimatorIOS.mm:

(WebCore::ScrollAnimator::create):

  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimator::create):

5:46 PM Changeset in webkit [180872] by aestes@apple.com
  • 3 edits in trunk/Source/WebCore

[Content Filtering] Move another declaration to WebFilterEvaluatorSPI.h
https://bugs.webkit.org/show_bug.cgi?id=142066

Reviewed by Andreas Kling.

  • platform/ios/ContentFilterIOS.mm:
  • platform/spi/cocoa/WebFilterEvaluatorSPI.h:
4:08 PM Changeset in webkit [180871] by Chris Dumez
  • 21 edits
    4 adds in trunk

Make NotificationCenter / Notification suspendable
https://bugs.webkit.org/show_bug.cgi?id=142117
<rdar://problem/19923085>

Reviewed by Andreas Kling.

Source/WebCore:

Make NotificationCenter / Notification suspendable so that pages using
them can enter the PageCache.

NotificationCenter can safely be suspended if there are no pending
permission requests. This required adding an
"hasPendingPermissionRequests()" callback to the NotificationClient.

Notification can safely be suspended if it is either idle (not showing
yet) or closed.

Tests: fast/history/page-cache-notification-non-suspendable.html

fast/history/page-cache-notification-suspendable.html

  • Modules/notifications/Notification.cpp:

(WebCore::Notification::canSuspend):

  • Modules/notifications/NotificationCenter.cpp:

(WebCore::NotificationCenter::canSuspend):

  • Modules/notifications/NotificationClient.h:

Source/WebKit/mac:

Provide implementation for NotificationClient::hasPendingPermissionRequests().
The implementation is very simplistic. it will only return false if no
request for permission for ever made. This is because there is currently no
easy way to figure out if a permission request is pending or not.

  • WebCoreSupport/WebNotificationClient.h:
  • WebCoreSupport/WebNotificationClient.mm:

(WebNotificationClient::requestPermission):
(WebNotificationClient::hasPendingPermissionRequests):

Source/WebKit/win:

Provide implementation for NotificationClient::hasPendingPermissionRequests().

  • WebCoreSupport/WebDesktopNotificationsDelegate.cpp:

(WebDesktopNotificationsDelegate::requestPermission):
(hasPendingPermissionRequests):

  • WebCoreSupport/WebDesktopNotificationsDelegate.h:

Source/WebKit2:

Provide implementation for NotificationClient::hasPendingPermissionRequests().

  • WebProcess/Notifications/NotificationPermissionRequestManager.cpp:

(WebKit::NotificationPermissionRequestManager::hasPendingPermissionRequests):

  • WebProcess/Notifications/NotificationPermissionRequestManager.h:
  • WebProcess/WebCoreSupport/WebNotificationClient.cpp:

(WebKit::WebNotificationClient::hasPendingPermissionRequests):

  • WebProcess/WebCoreSupport/WebNotificationClient.h:

LayoutTests:

Add layout tests to cover cases where notifications should prevent
entering the PageCache or not.

  • fast/history/page-cache-notification-non-suspendable-expected.txt: Added.
  • fast/history/page-cache-notification-non-suspendable.html: Added.
  • fast/history/page-cache-notification-suspendable-expected.txt: Added.
  • fast/history/page-cache-notification-suspendable.html: Added.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios-simulator/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
2:34 PM Changeset in webkit [180870] by rniwa@webkit.org
  • 11 edits in trunk/LayoutTests

EFL, GTK+, and Windows rebaselines after r180867.

  • platform/efl/TestExpectations:
  • platform/efl/editing/execCommand/5142012-1-expected.txt:
  • platform/efl/editing/execCommand/nsresponder-outdent-expected.txt:
  • platform/efl/editing/inserting/insert-at-end-02-expected.txt:
  • platform/gtk/editing/execCommand/5142012-1-expected.txt:
  • platform/gtk/editing/execCommand/nsresponder-outdent-expected.txt:
  • platform/gtk/editing/inserting/insert-at-end-02-expected.txt:
  • platform/gtk/editing/pasteboard/4989774-expected.txt:
  • platform/win/editing/execCommand/5142012-1-expected.txt:
  • platform/win/editing/execCommand/nsresponder-outdent-expected.txt:
  • platform/win/editing/inserting/insert-at-end-02-expected.txt:
1:56 PM Changeset in webkit [180869] by Antti Koivisto
  • 4 edits in trunk/Source/WebKit2

Enable new disk cache on iOS
https://bugs.webkit.org/show_bug.cgi?id=142148

Reviewed by Sam Weinig.

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

iOS build fix.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::registerUserDefaultsIfNeeded):

Disable the efficacy logging by default for now. It has significant performance impact.

  • config.h:

Enable it.

12:43 PM Changeset in webkit [180868] by ap@apple.com
  • 2 edits in trunk/LayoutTests

media/track/track-in-band-cues-added-once.html flakily fails
https://bugs.webkit.org/show_bug.cgi?id=142152

  • platform/mac/TestExpectations: Marked it as such.
11:52 AM Changeset in webkit [180867] by rniwa@webkit.org
  • 17 edits
    2 adds in trunk

isContentEditable shouldn't trigger synchronous style recalc in most cases
https://bugs.webkit.org/show_bug.cgi?id=129034

Reviewed by Antti Koivisto.

Source/WebCore:

Avoid style recalc inside isContentEditable when the document doesn't contain -webkit-user-modify or
-webkit-user-select: all. Instead, compute the value from contenteditable attributes in ancestors.
However, still compute the editability from the style tree when it's up-to-date in order to avoid
repeatedly walking up the DOM tree in a hot code path inside editing.

Test: fast/dom/HTMLElement/dynamic-editability-change.html

  • css/CSSGrammar.y.in: No need to pass in "true" as we never call this function with false.
  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue): Calls parserSetUsesStyleBasedEditability as needed.
(WebCore::parseKeywordValue): Passes around StyleSheetContents*.
(WebCore::CSSParser::parseValue): Ditto.
(WebCore::CSSParser::parseFont): Ditto.

  • css/StyleSheetContents.cpp:

(WebCore::StyleSheetContents::StyleSheetContents): Initializes and copies m_usesStyleBasedEditability.

  • css/StyleSheetContents.h:

(WebCore::StyleSheetContents::parserSetUsesRemUnits): Removed the argument since it was always true.
(WebCore::StyleSheetContents::parserSetUsesStyleBasedEditability): Added.
(WebCore::StyleSheetContents::usesStyleBasedEditability): Added.

  • dom/Document.cpp:

(WebCore::Document::recalcStyle): Added a FIXME as well as a comment explaining why we don't call
setUsesStyleBasedEditability. Since Node::computeEditability triggers style recalc only when the flag
is set to true, it's too late to update the flag here.
(WebCore::Document::updateStyleIfNeeded): Uses a newly extracted needsStyleRecalc.
(WebCore::Document::updateBaseURL): Preserves m_usesStyleBasedEditability as well as m_usesRemUnit.
(WebCore::Document::usesStyleBasedEditability): Added. Returns true when inline style declarations or
any active stylesheet uses -webkit-user-modify or -webkit-user-select: all. Flushing pending stylesheet
changes here is fine because the alternative is to trigger a full blown style recalc.

  • dom/Document.h:

(WebCore::Document::needsStyleRecalc): Added. Extracted from updateStyleIfNeeded.

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
(WebCore::styleSheetsUseRemUnits): Deleted.
(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets): Updates m_usesStyleBasedEditability
as well as m_usesRemUnit.

  • dom/DocumentStyleSheetCollection.h:

(WebCore::DocumentStyleSheetCollection::usesStyleBasedEditability): Added.
(WebCore::DocumentStyleSheetCollection::setUsesStyleBasedEditability): Added.

  • dom/Node.cpp:

(WebCore::computeEditabilityFromComputedStyle): Extracted from computeEditability.
(WebCore::Node::computeEditability): When the style recalc is requested and the render tree is dirty,
check if the document uses any CSS property that can affect the editability of elements. If it doesn't,
compute the editability from contenteditable attributes in the anchors via matchesReadWritePseudoClass.
Continue to use the style-based computation when the render tree isn't dirty to avoid the tree walk.

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::editabilityFromContentEditableAttr): Extracted from matchesReadWritePseudoClass
to be called in Node::computeEditability. Also made it return Editability instead of boolean.
(WebCore::HTMLElement::matchesReadWritePseudoClass):

  • html/HTMLElement.h:

LayoutTests:

Added a regression test to update the editability of elements dynamically. Also rebaselined
tests per style recalc timing changes.

  • fast/dom/HTMLElement/dynamic-editability-change-expected.txt: Added.
  • fast/dom/HTMLElement/dynamic-editability-change.html: Added.
  • platform/mac/editing/execCommand/5142012-1-expected.txt: anonymous render block differences.
  • platform/mac/editing/execCommand/nsresponder-outdent-expected.txt: Ditto.
  • platform/mac/editing/inserting/insert-at-end-02-expected.txt: Empty render text differences.
  • platform/mac/editing/pasteboard/4989774-expected.txt: Ditto.
11:48 AM Changeset in webkit [180866] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

LayoutTestRealy: Prepend XPC_ to the key, not the value!

Follow-up fix for:

LayoutTestRelay: App environment variables not set for --guard-malloc or --leaks
<http://webkit.org/b/142145>

  • LayoutTestRelay/LayoutTestRelay/LTRelayController.m:

(-[LTRelayController _environmentVariables]): Fix think-o.

11:12 AM Changeset in webkit [180865] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed build fix.

  • WebCorePrefix.h: Provide some default definitions to help build on Windows

machines with different application support libraries.

10:57 AM Changeset in webkit [180864] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

LayoutTestRelay: App environment variables not set for --guard-malloc or --leaks
<http://webkit.org/b/142145>

Reviewed by Simon Fraser.

  • LayoutTestRelay/LayoutTestRelay/LTRelayController.m:

(-[LTRelayController _environmentVariables]): Add.
(-[LTRelayController launchApp]): Use -_environmentVariables.

10:28 AM Changeset in webkit [180863] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Document some more debug assertions.

  • platform/win/TestExpectations:
1:52 AM Changeset in webkit [180862] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r180846 - FrameView::layoutTimerFired() should update style if needed before doing layout
https://bugs.webkit.org/show_bug.cgi?id=141688

Reviewed by Andreas Kling.

If the style recalc timer has been scheduled to fire after the layout timer,
when the layout timer fires, we might as well just do the style recalc
too. The call to updateStyleIfNeeded() will cancel the pending style
recalc timer.

This doesn't have much impact on the number of layouts (measured via PLT)
but seems like a reasonable thing to do.

  • page/FrameView.cpp:

(WebCore::FrameView::layoutTimerFired):

1:48 AM Changeset in webkit [180861] by Carlos Garcia Campos
  • 14 edits
    1 copy in releases/WebKitGTK/webkit-2.8/Source/bmalloc

Merge r180797 - bmalloc: Pathological madvise churn on the free(malloc(x)) benchmark
https://bugs.webkit.org/show_bug.cgi?id=142058

Reviewed by Andreas Kling.

The churn was caused by repeatedly splitting an object with physical
pages from an object without, and then merging them back together again.
The merge would conservatively forget that we had physical pages, forcing
a new call to madvise on the next allocation.

This patch more strictly segregates objects in the heap from objects in
the VM heap, with these changes:

(1) Objects in the heap are not allowed to merge with objects in the VM
heap, and vice versa -- since that would erase our precise knowledge of
which physical pages had been allocated.

(2) The VM heap is exclusively responsible for allocating and deallocating
physical pages.

(3) The heap free list must consider entries for objects that are in the
VM heap to be invalid, and vice versa. (This condition can arise
because the free list does not eagerly remove items.)

With these changes, we can know that any valid object in the heap's free
list already has physical pages, and does not need to call madvise.

Note that the VM heap -- as before -- might sometimes contain ranges
or pieces of ranges that have physical pages, since we allow splitting
of ranges at granularities smaller than the VM page size. These ranges
can eventually merge with ranges in the heap during scavenging.

  • bmalloc.xcodeproj/project.pbxproj:
  • bmalloc/BoundaryTag.h:

(bmalloc::BoundaryTag::owner):
(bmalloc::BoundaryTag::setOwner):
(bmalloc::BoundaryTag::initSentinel):
(bmalloc::BoundaryTag::hasPhysicalPages): Deleted.
(bmalloc::BoundaryTag::setHasPhysicalPages): Deleted. Replaced the concept
of "has physical pages" with a bit indicating which heap owns the large
object. This is a more precise concept, since the old bit was really a
Yes / Maybe bit.

  • bmalloc/Deallocator.cpp:
  • bmalloc/FreeList.cpp: Adopt

(bmalloc::FreeList::takeGreedy):
(bmalloc::FreeList::take):
(bmalloc::FreeList::removeInvalidAndDuplicateEntries):

  • bmalloc/FreeList.h:

(bmalloc::FreeList::push): Added API for considering the owner when
deciding if a free list entry is valid.

  • bmalloc/Heap.cpp:

(bmalloc::Heap::Heap): Adopt new API.

(bmalloc::Heap::scavengeLargeRanges): Scavenge all ranges with no minimum,
since some ranges might be able to merge with ranges in the VM heap, and
they won't be allowed to until we scavenge them.

(bmalloc::Heap::allocateSmallPage):
(bmalloc::Heap::allocateMediumPage):
(bmalloc::Heap::allocateLarge): New VM heap API makes this function
simpler, since we always get back physical pages now.

  • bmalloc/Heap.h:
  • bmalloc/LargeObject.h:

(bmalloc::LargeObject::end):
(bmalloc::LargeObject::owner):
(bmalloc::LargeObject::setOwner):
(bmalloc::LargeObject::isValidAndFree):
(bmalloc::LargeObject::merge): Do not merge objects across heaps since
that causes madvise churn.
(bmalloc::LargeObject::validateSelf):
(bmalloc::LargeObject::init):
(bmalloc::LargeObject::hasPhysicalPages): Deleted.
(bmalloc::LargeObject::setHasPhysicalPages): Deleted. Propogate the Owner API.

  • bmalloc/Owner.h: Added.
  • bmalloc/SegregatedFreeList.cpp:

(bmalloc::SegregatedFreeList::SegregatedFreeList):
(bmalloc::SegregatedFreeList::insert):
(bmalloc::SegregatedFreeList::takeGreedy):
(bmalloc::SegregatedFreeList::take):

  • bmalloc/SegregatedFreeList.h: Propogate the owner API.
  • bmalloc/VMAllocate.h:

(bmalloc::vmDeallocatePhysicalPagesSloppy):
(bmalloc::vmAllocatePhysicalPagesSloppy): Clarified these functions and
removed an edge case.

  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::VMHeap):

  • bmalloc/VMHeap.h:

(bmalloc::VMHeap::allocateSmallPage):
(bmalloc::VMHeap::allocateMediumPage):
(bmalloc::VMHeap::allocateLargeObject):
(bmalloc::VMHeap::deallocateLargeObject): Be sure to give each object
a new chance to merge, since it might have been prohibited from merging
before by virtue of not being in the VM heap.

(bmalloc::VMHeap::allocateLargeRange): Deleted.
(bmalloc::VMHeap::deallocateLargeRange): Deleted.

1:43 AM Changeset in webkit [180860] by Carlos Garcia Campos
  • 18 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r180772 - Use NeverDestroyed for JS wrapper owners.
<https://webkit.org/b/142090>

Reviewed by Chris Dumez.

Using NeverDestroyed puts these objects in BSS which is preferable
since that prevents them from pinning down entire malloc pages forever.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader): Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL.

  • bindings/scripts/test/JS/*: Rebaseline bindings tests for this change.
1:21 AM Changeset in webkit [180859] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.8

Merge r180767 - Use after free in WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle
https://bugs.webkit.org/show_bug.cgi?id=138366

Reviewed by Dave Hyatt.

This patch ensures that we clean up RenderNamedFlowFragment::m_renderObjectRegionStyle when embedded flow content is getting destroyed.

In m_renderObjectRegionStyle hash map, we store style information about the named flow's descendant children.
When a child is being detached from the tree, it removes itself from this hashmap.
We do it by traversing up on the ancestor chain and call removeFlowChildInfo() on the parent flow.
However in case of embedded flows (for example multicolumn content inside a region), we need to check whether the parent flow
is inside a flow too and continue the cleanup accordingly.

Source/WebCore:

Test: fast/regions/region-with-multicolumn-embedded-crash.html

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::removeFromRenderFlowThreadIncludingDescendants):

LayoutTests:

  • fast/regions/region-with-multicolumn-embedded-crash-expected.txt: Added.
  • fast/regions/region-with-multicolumn-embedded-crash.html: Added.
1:18 AM Changeset in webkit [180858] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore

Merge r180716 - MachineThreads::Thread clean up has a use after free race condition.
<https://webkit.org/b/141990>

Reviewed by Filip Pizlo.

MachineThreads::Thread clean up relies on the clean up mechanism
implemented in _pthread_tsd_cleanup_key(), which looks like this:

void _pthread_tsd_cleanup_key(pthread_t self, pthread_key_t key)
{

void (*destructor)(void *);
if (_pthread_key_get_destructor(key, &destructor)) {

void ptr = &self->tsd[key];
void *value = *ptr;

=== Start of window for the bug to manifest =================

At this point, this thread has cached "destructor" and "value"
(which is a MachineThreads*). If the VM gets destructed (along
with its MachineThreads registry) by another thread, then this
thread will have no way of knowing that the MachineThreads* is
now pointing to freed memory. Calling the destructor below will
therefore result in a use after free scenario when it tries to
access the MachineThreads' data members.

if (value) {

*ptr = NULL;
if (destructor) {

=== End of window for the bug to manifest ==================

destructor(value);

}

}

}

}

The fix is to add each active MachineThreads to an ActiveMachineThreadsManager,
and always check if the manager still contains that MachineThreads object
before we call removeCurrentThread() on it. When MachineThreads is destructed,
it will remove itself from the manager. The add, remove, and checking
operations are all synchronized on the manager's lock, thereby ensuring that
the MachineThreads object, if found in the manager, will remain alive for the
duration of time we call removeCurrentThread() on it.

There's also possible for the MachineThreads object to already be destructed
and another one happened to have been instantiated at the same address.
Hence, we should only remove the exiting thread if it is found in the
MachineThreads object.

There is no test for this issue because this bug requires a race condition
between 2 threads where:

  1. Thread B, which had previously used the VM, exiting and getting to the bug window shown in _pthread_tsd_cleanup_key() above.
  2. Thread A destructing the VM (and its MachineThreads object) within that window of time before Thread B calls the destructor.

It is not possible to get a reliable test case without invasively
instrumenting _pthread_tsd_cleanup_key() or MachineThreads::removeCurrentThread()
to significantly increase that window of opportunity.

  • heap/MachineStackMarker.cpp:

(JSC::ActiveMachineThreadsManager::Locker::Locker):
(JSC::ActiveMachineThreadsManager::add):
(JSC::ActiveMachineThreadsManager::remove):
(JSC::ActiveMachineThreadsManager::contains):
(JSC::ActiveMachineThreadsManager::ActiveMachineThreadsManager):
(JSC::activeMachineThreadsManager):
(JSC::MachineThreads::MachineThreads):
(JSC::MachineThreads::~MachineThreads):
(JSC::MachineThreads::removeThread):
(JSC::MachineThreads::removeThreadIfFound):
(JSC::MachineThreads::removeCurrentThread): Deleted.

  • heap/MachineStackMarker.h:
12:56 AM Changeset in webkit [180857] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.8/Source/bmalloc

Merge r180701 - bmalloc: Large object free list can grow infinitely
https://bugs.webkit.org/show_bug.cgi?id=142055

Reviewed by Andreas Kling.

By design, we don't eagerly remove large objects from the free list.
This creates two simple pathologies:

(1) If you free and then allocate the same object repeatedly, it will
duplicate itself in the free list repeatedly. Since it is never
invalid at the time of allocation, it will never be removed.

(2) If you split and then merge the same object repeatedly, it will
duplicate its split sibling in the free list repeatedly. If its
sibling is in a separate free list size class, it will never be
consulted at the time of allocation, so it will never be removed.

So, a simple "while (1) { free(malloc(x)); }" causes infinite memory
use in the free list.

The solution in this patch is a simple helper to remove garbage from the
free list if it grows too large. This pathology is not common, so the
cost is OK.

Long-term, perhaps we should rethink the laziness of these free lists.

  • bmalloc/BoundaryTag.h:

(bmalloc::BoundaryTag::isMarked):
(bmalloc::BoundaryTag::setMarked): New bit, used by free list GC.

  • bmalloc/FreeList.cpp:

(bmalloc::FreeList::removeInvalidAndDuplicateEntries): The GC algorithm.

  • bmalloc/FreeList.h:

(bmalloc::FreeList::FreeList):
(bmalloc::FreeList::push): Invoke the GC if we're getting huge.

  • bmalloc/LargeObject.h:

(bmalloc::LargeObject::isMarked):
(bmalloc::LargeObject::setMarked):
(bmalloc::LargeObject::validateSelf): Expose the new bit.

  • bmalloc/Sizes.h: New constant to control GC frequency.
12:51 AM Changeset in webkit [180856] by Carlos Garcia Campos
  • 8 edits
    1 copy
    1 move in releases/WebKitGTK/webkit-2.8/Source/bmalloc

Merge r180693 - bmalloc: Refactored SegregatedFreeList and BoundaryTag::init
https://bugs.webkit.org/show_bug.cgi?id=142049

Reviewed by Anders Carlsson.

Split out a FreeList class from SegregatedFreeList. This will make it
easier to add behaviors on free list insertion and removal -- and it's
probably how I should have designed things at the start.

Moved BoundaryTag::init into LargeObject, since all the related logic
lives in LargeObject now too, and this allows us to remove BoundaryTagInlines.h.

  • bmalloc.xcodeproj/project.pbxproj:
  • bmalloc/BoundaryTagInlines.h: Removed.
  • bmalloc/FreeList.cpp: Copied from Source/bmalloc/bmalloc/SegregatedFreeList.cpp.

(bmalloc::FreeList::takeGreedy):
(bmalloc::FreeList::take):
(bmalloc::SegregatedFreeList::SegregatedFreeList): Deleted.
(bmalloc::SegregatedFreeList::insert): Deleted.
(bmalloc::SegregatedFreeList::takeGreedy): Deleted.
(bmalloc::SegregatedFreeList::take): Deleted.

  • bmalloc/FreeList.h: Copied from Source/bmalloc/bmalloc/SegregatedFreeList.h.

(bmalloc::FreeList::push):

  • bmalloc/LargeObject.h:

(bmalloc::LargeObject::init):

  • bmalloc/SegregatedFreeList.cpp:

(bmalloc::SegregatedFreeList::SegregatedFreeList):
(bmalloc::SegregatedFreeList::insert):
(bmalloc::SegregatedFreeList::takeGreedy):
(bmalloc::SegregatedFreeList::take):

  • bmalloc/SegregatedFreeList.h:
  • bmalloc/Sizes.h:
  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::grow):

12:45 AM Changeset in webkit [180855] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.8/Source/bmalloc

Merge r180688 - bmalloc: free up a bit in BoundaryTag
https://bugs.webkit.org/show_bug.cgi?id=142048

Reviewed by Brady Eidson.

We were wasting a bit by accident, and I need one now.

  • bmalloc/Algorithm.h:

(bmalloc::rightShift): Deleted. Not needed, now that I've simplified
the math.

  • bmalloc/BoundaryTag.h: Since each boundary tag bucket is 1024 bytes

long, the maximum offset into a bucket is 1023.

You need 5 bits to count up to 1024, but only 4 to count up to 1023.

Math is hard.

(bmalloc::BoundaryTag::compactBegin): Switched to division because it
is simpler, and easier to match up with our ASSERT. The compiler will
turn division by constant power of two into a shift for us.

(bmalloc::BoundaryTag::setRange): Added an ASSERT for compactBegin
because we do encode it, so we should ASSERT that encoding did not
lose information.

  • bmalloc/Sizes.h: Shifting is no longer used since we use division

instead.

12:43 AM Changeset in webkit [180854] by Carlos Garcia Campos
  • 6 edits
    6 adds in releases/WebKitGTK/webkit-2.8

Merge r180683 - Setting any of the <object> element plugin controlling attributes does not have any affect.
https://bugs.webkit.org/show_bug.cgi?id=141936.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-02-26
Reviewed by Zalan Bujtas.

Source/WebCore:

When setting any of the <object> element plugin controlling attributes
dynamically we need to mark the the element to be dirty by calling
setNeedsStyleRecalc(), so it has to recreate its renderer when needed.

Test: svg/as-object/svg-in-object-dynamic-attribute-change.html

  • dom/Element.h: Delete unimplemented function.
  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::parseAttribute): Dirty the element by calling
setNeedsStyleRecalc() when one of the plugin controlling attributes gets
changed. We have to clear the m_useFallbackContent because the attribute's
new value might fix the object rendering.

  • html/HTMLObjectElement.h: Add a function to clear m_useFallbackContent.
  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::willRecalcStyle): We might need to
reconstruct the object renderer in the image case. This can happen if the
image was rendering fallback content and the attribute's new value fixes
the object rendering.

LayoutTests:

  • svg/as-object/resources/lime100x100.html: Added.
  • svg/as-object/resources/lime100x100.png: Added.
  • svg/as-object/resources/lime100x100.svg: Added.
  • svg/as-object/resources/red100x100.svg: Added.
  • svg/as-object/svg-in-object-dynamic-attribute-change-expected.html: Added.
  • svg/as-object/svg-in-object-dynamic-attribute-change.html: Added.

Ensure that changing the 'type' and the 'data' attributes of the <object>
element will have the expected outcome. Also make sure that the <object>
element renderer falls back correctly when setting any of the attributes
to some unexpected value.

12:36 AM WebKitGTK/2.8.x edited by Carlos Garcia Campos
(diff)
12:28 AM Changeset in webkit [180853] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore

Merge r180667 - Add calleeSaveRegisters() implementation for ARM Traditional
https://bugs.webkit.org/show_bug.cgi?id=141903

Reviewed by Darin Adler.

  • jit/RegisterSet.cpp:

(JSC::RegisterSet::calleeSaveRegisters):

12:24 AM Changeset in webkit [180852] by Carlos Garcia Campos
  • 7 edits
    2 adds in releases/WebKitGTK/webkit-2.8

Merge r180643 - Horizontal and vertical lines are clipped completely if clip-path is included in the tag but the referenced element is defined later.
https://bugs.webkit.org/show_bug.cgi?id=141776.

Reviewed by Dean Jackson.
Source/WebCore:

Tests: svg/clip-path/clip-path-line-use-before-defined-expected.svg

svg/clip-path/clip-path-line-use-before-defined.svg

  • rendering/svg/RenderSVGResourceClipper.cpp:

(WebCore::RenderSVGResourceClipper::applyClippingToContext): Ensure the renderer
is added to m_clipper if it does not exist. The same renderer might have been
added to m_clipper in resourceBoundingBox().

(WebCore::RenderSVGResourceClipper::addRendererToClipper): Add the renderer to
m_clipper if it does not exist. Return the associated ClipperData.

(WebCore::RenderSVGResourceClipper::resourceBoundingBox): If the clipper is
referenced before it is defined, add the renderer to m_clipper. While doing the
layout() for the clipper, we can check if m_clipper has values or not. If it does
have, we are going to mark the clipper for client invalidation which is done by
the SVG root.

  • rendering/svg/RenderSVGResourceClipper.h:
  • rendering/svg/RenderSVGResourceContainer.h:

(WebCore::RenderSVGResourceContainer::selfNeedsClientInvalidation): Define a
new function selfNeedsClientInvalidation() which controls marking the clipper
for client invalidation. In RenderSVGResourceClipper, override it so it checks
m_clipper to force clients validation even if it the first time we do layout
for this clipper.

  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::layout): Call the virtual function
selfNeedsClientInvalidation() to check whether we need to mark the clipper for
client invalidation.

  • svg/SVGElement.cpp: Delete unneeded header file.

LayoutTests:

New test cases for SVG lines which are clipped to a <clipPath>. The <clipPath>
is referenced before it is defined.

  • svg/clip-path/clip-path-line-use-before-defined-expected.svg: Added.
  • svg/clip-path/clip-path-line-use-before-defined.svg: Added.
12:21 AM Changeset in webkit [180851] by Carlos Garcia Campos
  • 6 edits
    1 add in releases/WebKitGTK/webkit-2.8

Merge r180639 - CodeBlock crashes when dumping op_push_name_scope
https://bugs.webkit.org/show_bug.cgi?id=141953

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-25
PerformanceTests/SunSpider:

Reviewed by Filip Pizlo.

  • profiler-test.yaml:

Source/JavaScriptCore:

Reviewed by Filip Pizlo and Csaba Osztrogonác.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • tests/stress/op-push-name-scope-crashes-profiler.js: Added.

Tools:

Reviewed by Filip Pizlo.

  • Scripts/run-jsc-stress-tests:
12:17 AM Changeset in webkit [180850] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r180634 - REGRESSION (r180018 ): Holding a rubber-band in place can get stuck
https://bugs.webkit.org/show_bug.cgi?id=142020
-and corresponding-
rdar://problem/19945216

Reviewed by Tom Horton.

It was a mistaken assumption that it was necessary to return false in the zero-
delta case. That is clearly conceptually wrong since false represents the DOM
doing something special with the event, which is clearly not the case if we never
even send the event to the DOM. Returning true will allow the rest of the
scrolling machinery the ability to handle the event.

  • dom/Element.cpp:

(WebCore::Element::dispatchWheelEvent):

12:15 AM Changeset in webkit [180849] by Carlos Garcia Campos
  • 16 edits in releases/WebKitGTK/webkit-2.8

Merge r180621 - AX: Implement support for ARIA 1.1 'searchbox' role
https://bugs.webkit.org/show_bug.cgi?id=142004

Reviewed by Chris Fleizach.

Source/WebCore:

Add a new accessible SearchFieldRole to handle both the ARIA role
and the "search" input type.

No new tests. Instead, added a new test case to roles-exposed.html
for the mapping, and updated roles-computedRoleString.html because
there is now a one-to-one mapping between the "search" input type
and an ARIA role.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::determineAccessibilityRole):
(WebCore::AccessibilityNodeObject::isSearchField):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::isARIATextControl):
(WebCore::AccessibilityObject::isARIAInput):
(WebCore::initializeRoleMap):

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineAccessibilityRole):

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(atkRole):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]):
(-[WebAccessibilityObjectWrapper accessibilityTraits]):
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(createAccessibilityRoleMap):

LayoutTests:

  • accessibility/roles-computedRoleString-expected.txt: Updated for new role.
  • accessibility/roles-computedRoleString.html: Updated for new role.
  • accessibility/roles-exposed.html: New test case added.
  • platform/efl/accessibility/roles-exposed-expected.txt: Updated for new test case.
  • platform/gtk/accessibility/roles-exposed-expected.txt: Updated for new test case.
  • platform/mac-mavericks/accessibility/roles-exposed-expected.txt: Updated for new test case.
  • platform/mac/accessibility/roles-exposed-expected.txt: Updated for new test case.

Feb 28, 2015:

8:36 PM Changeset in webkit [180848] by Simon Fraser
  • 6 edits in trunk/Source

Viewport units should not dirty style just before we do layout
https://bugs.webkit.org/show_bug.cgi?id=141682

Reviewed by Zalan Bujtas.
Source/WebCore:

In documents using viewport units, we dirtied style every time layout changed
the size of the document. This is nonsensical, because viewport units depend on the
viewport size, not the document size.

Move the style dirtying from layout() into availableContentSizeChanged(). Hook
this up for WebKit1 by calling from -[WebFrameView _frameSizeChanged], and,
since that causes availableContentSizeChanged() to be called for WK1 for the first
time, protect the call to updateScrollbars() with a !platformWidget check.

Covered by existing viewport unit tests.

  • page/FrameView.cpp:

(WebCore::FrameView::layout):
(WebCore::FrameView::availableContentSizeChanged):
(WebCore::FrameView::viewportSizeForCSSViewportUnits): Add a FIXME comment. Whether
scrollbars are ignored depends on the value of the overflow property on the root element.

  • page/FrameView.h:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::availableContentSizeChanged):

Source/WebKit/mac:

  • WebView/WebFrameView.mm:

(-[WebFrameView _frameSizeChanged]):

6:31 PM Changeset in webkit [180847] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

[Cocoa] Purge SQLite page cache when under memory pressure.
<https://webkit.org/b/142139>
<rdar://problem/19997739>

Reviewed by Pratik Solanki.

Call out to sqlite3 cache purging SPI on Cocoa platforms when
we need to free up some extra memory.

  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::platformReleaseMemory):

5:04 PM Changeset in webkit [180846] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

FrameView::layoutTimerFired() should update style if needed before doing layout
https://bugs.webkit.org/show_bug.cgi?id=141688

Reviewed by Andreas Kling.

If the style recalc timer has been scheduled to fire after the layout timer,
when the layout timer fires, we might as well just do the style recalc
too. The call to updateStyleIfNeeded() will cancel the pending style
recalc timer.

This doesn't have much impact on the number of layouts (measured via PLT)
but seems like a reasonable thing to do.

  • page/FrameView.cpp:

(WebCore::FrameView::layoutTimerFired):

3:06 PM Changeset in webkit [180845] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

[iOS] Stop running webkit-build-directory on every layout test

This was originally fixed by David Farler for Bug 135409 in
r172602.

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort.relay_path): Mark as @memoized so it doesn't
run webkit-build-directory every time it's called.

2:47 PM Changeset in webkit [180844] by youenn.fablet@crf.canon.fr
  • 2 edits in trunk/Tools

W3C importer should use filesystem instead of shutil/host
https://bugs.webkit.org/show_bug.cgi?id=142012

Reviewed by Bem Jones-Bey.

Removed direct use of python shutil and os, except for os.walk which will require its own fix.

  • Scripts/webkitpy/w3c/test_importer.py:

(main):
(TestImporter.do_import):
(TestImporter.find_importable_tests):
(TestImporter.import_tests):
(TestImporter.remove_deleted_files):
(TestImporter.write_import_log):

2:33 PM Changeset in webkit [180843] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

REGRESSION(r85798): Lists of crashing/timeouting/stderr tests aren't sorted
https://bugs.webkit.org/show_bug.cgi?id=142081

Reviewed by Ryosuke Niwa.

  • fast/harness/results.html:
2:20 PM Changeset in webkit [180842] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

WebsiteDataStore should handle fetching and deleting local storage data
https://bugs.webkit.org/show_bug.cgi?id=142137

Reviewed by Sam Weinig.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::deleteEntriesForOrigins):
Add a new function that deletes entries from multiple origins.

  • UIProcess/Storage/StorageManager.h:

Add new members.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::fetchData):
Fetch local storage data as well.

(WebKit::WebsiteDataStore::removeData):
Delete local storage data as well.

1:52 PM Changeset in webkit [180841] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Fetch cache origins from the network process
https://bugs.webkit.org/show_bug.cgi?id=142135

Reviewed by Dan Bernstein.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::cfURLCacheOrigins):
Add a new helper function that returns a vector of CFURL cache origins.

(WebKit::fetchDiskCacheOrigins):
Fetch the disk cache origins and pass them along to the completion handler. Currently we don't handle the new disk cache.

(WebKit::NetworkProcess::fetchWebsiteData):
Create a callback aggregator and fetch disk cache origins if we're asked for it.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::computeNetworkProcessAccessTypeForDataFetch):
New helper function that computes if we need to launch the network process in order to fetch data.

(WebKit::WebsiteDataStore::fetchData):
Fetch website data from the network process as well.

1:41 PM Changeset in webkit [180840] by youenn.fablet@crf.canon.fr
  • 3 edits in trunk/LayoutTests/imported/w3c/web-platform-tests

Unreviewed - set svn:ignore for generated web-platform-tests files - see bug 142110

12:58 PM Changeset in webkit [180839] by Simon Fraser
  • 31 edits in trunk/Source/WebCore

Fullscreen video layers are off by one sometimes
https://bugs.webkit.org/show_bug.cgi?id=142122
rdar://problem/19878821

Reviewed by Eric Carlson.

Convert MediaPlayer::naturalSize() to return a FloatSize, since the natural size
isn't always integral (because of preserving pixel aspect ratio etc). Fix all the media
backends to use FloatSizes for natural size. Convert the video image drawing code
paths to FloatSize, since naturalSize is used on the destination rect computation,
and painting should be floating point anyway.

Give the layer created by SourceBufferPrivateAVFObjC a name in debug builds.

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::videoWidth):
(WebCore::HTMLVideoElement::videoHeight):
(WebCore::HTMLVideoElement::paintCurrentFrameInContext):

  • html/HTMLVideoElement.h:
  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::size):
(WebCore::CanvasRenderingContext2D::drawImage):

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::videoFrameToImage):

  • platform/graphics/MediaPlayer.cpp:

(WebCore::NullMediaPlayerPrivate::naturalSize):
(WebCore::MediaPlayer::naturalSize):
(WebCore::MediaPlayer::paint):
(WebCore::MediaPlayer::paintCurrentFrameInContext):
(WebCore::NullMediaPlayerPrivate::paint): Deleted.

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::paintCurrentFrameInContext):

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::naturalSize):
(WebCore::MediaPlayerPrivateAVFoundation::setNaturalSize):

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::paintCurrentFrameInContext):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paint):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithImageGenerator):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createImageForTimeInRect):
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged):
(WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::naturalSize):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paint):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paintCurrentFrameInContext):

  • platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:

(WebCore::MediaSourcePrivateAVFObjC::naturalSize):

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
(WebCore::SourceBufferPrivateAVFObjC::naturalSize):

  • platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.mm:

(WebCore::VideoTrackPrivateMediaSourceAVFObjC::naturalSize):

  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::MediaPlayerPrivateQTKit::naturalSize):
(WebCore::MediaPlayerPrivateQTKit::paintCurrentFrameInContext):
(WebCore::MediaPlayerPrivateQTKit::paint):

  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::naturalSize):
(WebCore::MockMediaPlayerMediaSource::paint):

  • platform/mock/mediasource/MockMediaPlayerMediaSource.h:
  • rendering/RenderVideo.cpp:

(WebCore::RenderVideo::calculateIntrinsicSize):
(WebCore::RenderVideo::paintReplaced):

12:20 PM Changeset in webkit [180838] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Simplify WebResourceCacheManagerCFNet.mm code
https://bugs.webkit.org/show_bug.cgi?id=142134

Reviewed by Dan Bernstein.

  • ENABLE(CACHE_PARTITIONING) is always true on Mac and iOS, so remove those #ifdefs.
  • Make cfURLCacheHostNamesWithCallback and clearCFURLCacheForHostNames public so they can be used by the new WebsiteDataStore code in an upcoming patch.
  • Change cfURLCacheHostNamesWithCallback to take an std::function instead of a block.
  • WebProcess/ResourceCache/WebResourceCacheManager.cpp:

(WebKit::WebResourceCacheManager::getCacheOrigins):

  • WebProcess/ResourceCache/WebResourceCacheManager.h:
  • WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.mm:

(WebKit::partitionName):
(WebKit::WebResourceCacheManager::cfURLCacheHostNamesWithCallback):
(WebKit::WebResourceCacheManager::clearCFURLCacheForHostNames):
(WebKit::WebResourceCacheManager::cfURLCacheHostNames): Deleted.

10:45 AM Changeset in webkit [180837] by commit-queue@webkit.org
  • 10 edits
    1 copy
    1 move
    2 adds in trunk/Source/WebKit2

Unreviewed, rolling out r180804.
https://bugs.webkit.org/show_bug.cgi?id=142131

Broke nightlies (Requested by ap on #webkit).

Reverted changeset:

"[WK2] Drop legacy WKBundlePageDiagnosticLoggingClient API"
https://bugs.webkit.org/show_bug.cgi?id=141176
http://trac.webkit.org/changeset/180804

7:05 AM Changeset in webkit [180836] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening 1st Mar.

  • platform/efl/TestExpectations:
  • Unskip tests which have been passed since r180672.
  • Skip compositing/webgl.
5:22 AM WebKitGTK/2.8.x edited by Carlos Garcia Campos
(diff)
5:20 AM Changeset in webkit [180835] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WTF

Merge r180620 - Enable concurrent JIT on GTK
https://bugs.webkit.org/show_bug.cgi?id=142007

Reviewed by Benjamin Poulain.

Seems weird that GTK keeps it off. No good reason for that as far as I can tell.

  • wtf/Platform.h:
5:20 AM Changeset in webkit [180834] by Carlos Garcia Campos
  • 2 edits
    1 add in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore

CMake build of libllvmForJSC.so should limit its export list like the Xcode build does
https://bugs.webkit.org/show_bug.cgi?id=141989

Reviewed by Gyuyoung Kim.

  • CMakeLists.txt:
  • llvm/library/libllvmForJSC.version: Added.
3:59 AM Changeset in webkit [180833] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.8/Source/bmalloc

Merge r180604 - Rolling out http://trac.webkit.org/changeset/180430 as it causes the PLT to crash.
<rdar://problem/19948015>

Unreviewed.

  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::grow):

  • bmalloc/VMHeap.h:
  • bmalloc/Zone.cpp:

(bmalloc::Zone::Zone):
(bmalloc::Zone::size): Deleted.

  • bmalloc/Zone.h:
3:55 AM Changeset in webkit [180832] by Carlos Garcia Campos
  • 15 edits
    10 adds in releases/WebKitGTK/webkit-2.8

Merge r180600 - AX: Implement support for ARIA 1.1 'switch' role
https://bugs.webkit.org/show_bug.cgi?id=141986

Reviewed by Chris Fleizach.

Source/WebCore:

Map the role to ATK_ROLE_TOGGLE_BUTTON for Gtk and Efl; on the Mac, to
AXCheckBox with a subrole of AXSwitch. Ensure it looks and acts like a
widget to accessibility APIs (supports and emits notifications when
toggled, doesn't have children, exposes a name and description when
provided).

Tests: accessibility/aria-switch-checked.html

accessibility/aria-switch-sends-notification.html
accessibility/aria-switch-text.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::canHaveChildren):
(WebCore::AccessibilityNodeObject::isChecked):
(WebCore::AccessibilityNodeObject::visibleText):
(WebCore::AccessibilityNodeObject::title):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::isARIAInput):
(WebCore::AccessibilityObject::actionVerb):
(WebCore::initializeRoleMap):
(WebCore::AccessibilityObject::supportsChecked):
(WebCore::AccessibilityObject::checkboxOrRadioValue):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::isSwitch):

  • accessibility/atk/AXObjectCacheAtk.cpp:

(WebCore::AXObjectCache::postPlatformNotification):

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(atkRole):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]):
(-[WebAccessibilityObjectWrapper accessibilityTraits]):
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(createAccessibilityRoleMap):
(-[WebAccessibilityObjectWrapper subrole]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

LayoutTests:

  • accessibility/aria-switch-checked-expected.txt: Added.
  • accessibility/aria-switch-checked.html: Added.
  • accessibility/aria-switch-sends-notification-expected.txt: Added.
  • accessibility/aria-switch-sends-notification.html: Added.
  • accessibility/aria-switch-text.html: Added.
  • accessibility/roles-exposed.html: Added a test case for the new role.
  • platform/efl/accessibility/aria-fallback-roles-expected.txt: Added.
  • platform/efl/accessibility/aria-switch-text-expected.txt: Added.
  • platform/efl/accessibility/roles-exposed-expected.txt: Updated for the new role.
  • platform/gtk/accessibility/aria-fallback-roles-expected.txt: Added.
  • platform/gtk/accessibility/aria-switch-text-expected.txt: Added.
  • platform/gtk/accessibility/roles-exposed-expected.txt: Updated for the new role.
  • platform/mac-mavericks/accessibility/roles-exposed-expected.txt: Updated for the new role.
  • platform/mac/TestExpectations: Skip the 'checked' notifcation as the Mac doesn't have it.
  • platform/mac/accessibility/aria-switch-text-expected.txt: Added.
  • platform/mac/accessibility/roles-exposed-expected.txt: Updated for the new role.
3:52 AM Changeset in webkit [180831] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore

Merge r180591 - Rolling out r179753. The fix was invalid.
<https://webkit.org/b/141990>

Not reviewed.

  • API/tests/testapi.mm:

(threadMain):
(useVMFromOtherThread): Deleted.
(useVMFromOtherThreadAndOutliveVM): Deleted.

  • heap/Heap.cpp:

(JSC::Heap::Heap):
(JSC::Heap::~Heap):
(JSC::Heap::gatherStackRoots):

  • heap/Heap.h:

(JSC::Heap::machineThreads):

  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::Thread::Thread):
(JSC::MachineThreads::MachineThreads):
(JSC::MachineThreads::~MachineThreads):
(JSC::MachineThreads::addCurrentThread):
(JSC::MachineThreads::removeThread):
(JSC::MachineThreads::removeCurrentThread):

  • heap/MachineStackMarker.h:
3:49 AM Changeset in webkit [180830] by youenn.fablet@crf.canon.fr
  • 2 edits in trunk/Tools

W3C test importer should use filesystem to read and write files
https://bugs.webkit.org/show_bug.cgi?id=142084

Reviewed by Bem Jones-Bey.

Use of FileSystem.write_binary_file, read_text_file and write_text_file in lieu of open().

  • Scripts/webkitpy/w3c/test_importer.py:

(TestImporter.import_tests):
(TestImporter.remove_deleted_files):
(TestImporter.write_import_log):

3:31 AM Changeset in webkit [180829] by Carlos Garcia Campos
  • 13 edits
    1 add in releases/WebKitGTK/webkit-2.8/Source/bmalloc

Merge r180576 - bmalloc: Added a little more abstraction for large objects
https://bugs.webkit.org/show_bug.cgi?id=141978

Reviewed by Sam Weinig.

Previously, each client needed to manage the boundary tags of
a large object using free functions. This patch introduces a LargeObject
class that does things a little more automatically.

  • bmalloc.xcodeproj/project.pbxproj:
  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::reallocate): Use the new LargeObject class.

  • bmalloc/BeginTag.h:

(bmalloc::BeginTag::isInFreeList): Deleted. Moved this logic into the
LargeObject class.

  • bmalloc/BoundaryTag.h:

(bmalloc::BoundaryTag::isSentinel):
(bmalloc::BoundaryTag::compactBegin):
(bmalloc::BoundaryTag::setRange):
(bmalloc::BoundaryTag::initSentinel): Added an explicit API for sentinels,
which we used to create and test for implicitly.

  • bmalloc/BoundaryTagInlines.h:

(bmalloc::BoundaryTag::init):
(bmalloc::validate): Deleted.
(bmalloc::validatePrev): Deleted.
(bmalloc::validateNext): Deleted.
(bmalloc::BoundaryTag::mergeLeft): Deleted.
(bmalloc::BoundaryTag::mergeRight): Deleted.
(bmalloc::BoundaryTag::merge): Deleted.
(bmalloc::BoundaryTag::deallocate): Deleted.
(bmalloc::BoundaryTag::split): Deleted.
(bmalloc::BoundaryTag::allocate): Deleted. Moved this logic into the
LargeObject class.

  • bmalloc/EndTag.h:

(bmalloc::EndTag::init):
(bmalloc::EndTag::operator=): Deleted. Re-reading this code, I found
special behavior in the assignment operator to be a surprising API.
So, I replaced the assignment operation with an explicit initializing
function.

  • bmalloc/Heap.cpp:

(bmalloc::Heap::scavengeLargeRanges):
(bmalloc::Heap::allocateXLarge):
(bmalloc::Heap::findXLarge):
(bmalloc::Heap::deallocateXLarge):
(bmalloc::Heap::allocateLarge):
(bmalloc::Heap::deallocateLarge):

  • bmalloc/Heap.h: No behavior changes here -- just adopting the

LargeObject interface.

  • bmalloc/LargeObject.h: Added.

(bmalloc::LargeObject::operator!):
(bmalloc::LargeObject::begin):
(bmalloc::LargeObject::size):
(bmalloc::LargeObject::range):
(bmalloc::LargeObject::LargeObject):
(bmalloc::LargeObject::setFree):
(bmalloc::LargeObject::isFree):
(bmalloc::LargeObject::hasPhysicalPages):
(bmalloc::LargeObject::setHasPhysicalPages):
(bmalloc::LargeObject::isValidAndFree):
(bmalloc::LargeObject::merge):
(bmalloc::LargeObject::split):
(bmalloc::LargeObject::validateSelf):
(bmalloc::LargeObject::validate): Moved this code into a class, out of
BoundaryTag free functions.

New to the class are these features:

(1) Every reference to an object is validated upon creation and use.

(2) There's an explicit API for "This is a reference to an object
that might be stale (the DoNotValidate API)".

(3) The begin and end tags are kept in sync automatically.

  • bmalloc/SegregatedFreeList.cpp:

(bmalloc::SegregatedFreeList::insert):
(bmalloc::SegregatedFreeList::takeGreedy):
(bmalloc::SegregatedFreeList::take):

  • bmalloc/SegregatedFreeList.h: Adopt the LargeObject interface.
  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::grow):

  • bmalloc/VMHeap.h:

(bmalloc::VMHeap::allocateLargeRange):
(bmalloc::VMHeap::deallocateLargeRange): Adopt the LargeObject interface.

3:29 AM Changeset in webkit [180828] by Carlos Garcia Campos
  • 50 edits
    2 adds in releases/WebKitGTK/webkit-2.8

Merge r180570 - REGRESSION(r179429): Can't type comments in Facebook
https://bugs.webkit.org/show_bug.cgi?id=141859

Reviewed by Brent Fulgham.

Source/JavaScriptCore:

When window.Symbol is exposed to user-space pages,
Facebook's JavaScript use it (maybe, for immutable-js and React.js's unique key).
However, to work with Symbols completely, it also requires
1) Object.getOwnPropertySymbols (for mixin including Symbols)
2) the latest ES6 Iterator interface that uses Iterator.next and it returns { done: boolean, value: value }.
Since they are not landed yet, comments in Facebook don't work.

This patch introduces RuntimeFlags for JavaScriptCore.
Specifying SymbolEnabled flag under test runner and inspector to continue to work with Symbol.
And drop JavaScriptExperimentsEnabled flag
because it is no longer used and use case of this is duplicated to runtime flags.

(GlobalObject::javaScriptRuntimeFlags):
(GlobalObject::javaScriptExperimentsEnabled): Deleted.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::JSGlobalObject):
(JSC::JSGlobalObject::init):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::finishCreation):
(JSC::JSGlobalObject::javaScriptRuntimeFlags):
(JSC::JSGlobalObject::javaScriptExperimentsEnabled): Deleted.

  • runtime/RuntimeFlags.h: Added.

(JSC::RuntimeFlags::RuntimeFlags):
(JSC::RuntimeFlags::createAllEnabled):

Source/WebCore:

Enable SymbolEnabled runtime flag in inspector context.

  • ForwardingHeaders/runtime/RuntimeFlags.h: Added.
  • WebCore.order:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::javaScriptRuntimeFlags):
(WebCore::JSDOMWindowBase::javaScriptExperimentsEnabled): Deleted.

  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSWorkerGlobalScopeBase.cpp:

(WebCore::JSWorkerGlobalScopeBase::javaScriptRuntimeFlags):
(WebCore::JSWorkerGlobalScopeBase::javaScriptExperimentsEnabled): Deleted.

  • bindings/js/JSWorkerGlobalScopeBase.h:
  • inspector/InspectorFrontendClientLocal.cpp:

(WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):

  • page/Settings.h:
  • page/Settings.in:

Source/WebKit/mac:

Introduce SymbolEnabled and drop javaScriptExperimentsEnabled.
Private API, javaScriptExperimentsEnabled is dropped.

  • Misc/WebNSDictionaryExtras.h:
  • Misc/WebNSDictionaryExtras.m:

(-[NSMutableDictionary _webkit_setUnsignedInt:forKey:]):

  • WebKit.order:
  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences _setUnsignedIntValue:forKey:]):
(-[WebPreferences javaScriptRuntimeFlags]):
(-[WebPreferences setJavaScriptRuntimeFlags:]):
(-[WebPreferences setJavaScriptExperimentsEnabled:]): Deleted.
(-[WebPreferences javaScriptExperimentsEnabled]): Deleted.

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit/win:

Added Windows support.

  • Interfaces/IWebPreferences.idl:
  • Interfaces/IWebPreferencesPrivate.idl:
  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings):
(WebPreferences::javaScriptRuntimeFlags):
(WebPreferences::setJavaScriptRuntimeFlags):
(WebPreferences::isWebSecurityEnabled):

  • WebPreferences.h:
  • WebView.cpp:

(WebView::notifyPreferencesChanged):

Source/WebKit2:

Enable SymbolEnabled in inspector context.

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetJavaScriptRuntimeFlags):
(WKPreferencesGetJavaScriptRuntimeFlags):
(WKPreferencesSetJavaScriptExperimentsEnabled): Deleted.
(WKPreferencesGetJavaScriptExperimentsEnabled): Deleted.

  • UIProcess/API/C/WKPreferencesRef.h:
  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _javaScriptRuntimeFlags]):
(-[WKPreferences _setJavaScriptRuntimeFlags:]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/efl/WebInspectorProxyEfl.cpp:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

  • mac/WebKit2.order:

Tools:

Drop javaScriptExperimentsEnabled and specify JavaScriptRuntimeFlagsAllEnabled as KJavaScriptRuntimeFlags.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebPreferencesToConsistentValues):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetWebPreferencesToConsistentValues):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):

3:16 AM WebKitGTK/2.8.x edited by Carlos Garcia Campos
(diff)
3:14 AM WebKitGTK/2.8.x edited by Carlos Garcia Campos
(diff)
3:13 AM WebKitGTK/2.8.x edited by Carlos Garcia Campos
(diff)
3:05 AM Changeset in webkit [180827] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.8

Merge r180566 - [GTK] Layout Test accessibility/roles-exposed.html is failing
https://bugs.webkit.org/show_bug.cgi?id=141960

Reviewed by Martin Robinson.

Source/WebCore:

The test was failing because Gtk now uses GtkColorChooserDialog for the
color input, making the input field a button which results in the color
chooser dialog appearing. As a side effect of this change, the input now
has an accessible role of ColorWell, which is currently mapped to
ATK_ROLE_COLOR_CHOOSER (which is by definition the dialog which results
upon activating the button input field). Changed the Gtk platform mapping
to ATK_ROLE_BUTTON, leaving the Efl mapping as-is.

No new tests. Instead, updated and unskipped failing test.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(atkRole):

LayoutTests:

  • platform/gtk/TestExpectations: Unskip the failing test.
  • platform/gtk/accessibility/roles-exposed-expected.txt: Update the expectations.
3:03 AM Changeset in webkit [180826] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.8

Merge r180565 - Crash loading local file with WebPageProxy::loadAlternateHTMLString
https://bugs.webkit.org/show_bug.cgi?id=141867

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-02-24
Reviewed by Anders Carlsson.

Source/WebKit2:

WebPageProxy::loadAlternateHTMLString needs to assume read access to unreachableURL as well
as baseURL, because unreachableURL will get added to the back/forward list, causing us to
crash later on when we notice the unexpected URL received in checkURLReceivedFromWebProcess.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadAlternateHTMLString):

Tools:

  • TestWebKitAPI/Tests/WebKit2/LoadAlternateHTMLStringWithNonDirectoryURL.cpp:

(TestWebKitAPI::loadAlternateHTMLString): Split most of this test into a function so it can
be shared with the new test.
(TestWebKitAPI::TEST): Add a cross-platform test for this crash.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp: Add a GTK+ test for this crash.

(testLoadAlternateHTMLForLocalPage):
(beforeAll):

3:00 AM Changeset in webkit [180825] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r180563 - [GTK] Fonts loaded via @font-face look bad
https://bugs.webkit.org/show_bug.cgi?id=140994

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-02-24
Reviewed by Martin Robinson.

We've had several complaints that woff fonts look bad on some websites. This seems to be a
combination of multiple issues. For one, we don't look at Fontconfig settings at all when
creating a web font. This commit changes FontPlatformData::initializeWithFontFace to instead
use sane default settings from Fontconfig when loading a web font, rather than accepting the
default settings from GTK+, which are normally overridden by Fontconfig when loading system
fonts. However, we will hardcode the hinting setting for web fonts to always force use of
the light autohinter, so that we do not use a font's native hints. This avoids compatibility
issues when fonts with poor native hinting are only tested in browsers that do not use the
native hints. It also allows us to sidestep future security vulnerabilities in FreeType's
bytecode interpreter.

The net result of this is that there should be little noticable difference if you have GTK+
set to use slight hinting (which forces use of the autohinter) unless you have customized
Fontconfig configuration, but a dramatic improvement with particular fonts if you use medium
or full hinting. This should reduce complaints about our font rendering on "fancy sites."

No new tests, since the affected fonts we've found are not freely redistributable.

  • platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:

(WebCore::FontCustomPlatformData::FontCustomPlatformData): Force web fonts to be autohinted.

  • platform/graphics/freetype/FontPlatformDataFreeType.cpp:

(WebCore::getDefaultCairoFontOptions): Renamed to disambiguate.
(WebCore::getDefaultFontconfigOptions): Added.
(WebCore::FontPlatformData::initializeWithFontFace): Always call
FontPlatformData::setCairoOptionsFromFontConfigPattern. If the FontPlatformData was not
created with an FcPattern (e.g. because this is a web font), call
getDefaultFontconfigOptions to get a sane default FcPattern.
(WebCore::FontPlatformData::setOrientation): Renamed call to getDefaultCairoFontOptions.
(WebCore::getDefaultFontOptions): Deleted.

2:56 AM Changeset in webkit [180824] by Carlos Garcia Campos
  • 18 edits in releases/WebKitGTK/webkit-2.8

Merge r180558 - Always serialize :lang()'s arguments to strings
https://bugs.webkit.org/show_bug.cgi?id=141944

Reviewed by Benjamin Poulain.

Source/WebCore:

As specified in [1] :lang()'s arguments are always serialized to strings.

[1] http://dev.w3.org/csswg/cssom/#serializing-selectors

Related tests are updated.

  • css/CSSGrammar.y.in:
  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::setLangArgumentList):

  • css/CSSParserValues.h:

(WebCore::CSSParserString::init):
(WebCore::CSSParserString::clear):
(WebCore::CSSParserString::tokenType): Deleted.
(WebCore::CSSParserString::setTokenType): Deleted.

  • css/CSSSelector.cpp:

(WebCore::appendLangArgumentList):
(WebCore::CSSSelector::setLangArgumentList):

  • css/CSSSelector.h:

(WebCore::CSSSelector::langArgumentList):

  • css/SelectorCheckerTestFunctions.h:

(WebCore::matchesLangPseudoClass):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsInLanguage):

LayoutTests:

Some tests results are updated to reflect the always serialize
:lang()'s arguments to strings.

  • fast/css/css-lang-selector-with-string-arguments-text-expected.txt:
  • fast/css/css-lang-selector-with-string-arguments-text.html:
  • fast/css/parsing-css-lang-expected.txt:
  • fast/css/parsing-css-lang.html:
  • fast/css/css-selector-text-expected.txt:
  • fast/css/css-selector-text.html:
  • fast/css/css-set-selector-text-expected.txt:
  • fast/css/css-set-selector-text.html:
  • fast/dom/css-selectorText-expected.txt:
2:51 AM Changeset in webkit [180823] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r180554 - Give TemporaryChange for m_inLoadPendingImages assertion a name so it actually does something.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::loadPendingImages):

1:31 AM Changeset in webkit [180822] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r180548 - EventHandler references deleted Scrollbar
https://bugs.webkit.org/show_bug.cgi?id=141931
<rdar://problem/19915210>

Reviewed by Tim Horton.

Tested by scrollbars/overflow-custom-scrollbar-crash.html

Update the EventHandler class to use a WeakPtr to reference the
last used Scrollbar, rather than retaining the Scrollbar and
artificially extending its life. This keeps the EventHandler
state in proper sync with the state of the render tree, and
avoids cases where we have destroyed a ScrollableArea (and
Scrollbar) but are still sending messages to a fake zombie
version of the element.

  • page/EventHandler.cpp:

(WebCore::EventHandler::clear):
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::updateMouseEventTargetNode):
(WebCore::EventHandler::updateLastScrollbarUnderMouse):

  • page/EventHandler.h:
  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::Scrollbar): Initialize WeakPtrFactory.

  • platform/Scrollbar.h:

(WebCore::Scrollbar::createWeakPtr): Added,

1:26 AM Changeset in webkit [180821] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.8

Merge r180535 - WTF::WeakPtr should rename 'forgot' to 'clear' and support nullptr assignment
https://bugs.webkit.org/show_bug.cgi?id=141935

Reviewed by Myles C. Maxfield.

Source/WTF:

  • wtf/WeakPtr.h:

(WTF::WeakPtr::operator=): Added 'nullptr_t' overload.
(WTF::WeakPtr::clear): Renamed from 'forget'
(WTF::WeakPtr::forget): Deleted.

Tools:

  • TestWebKitAPI/Tests/WTF/WeakPtr.cpp:

(TestWebKitAPI::TEST): Updated for 'clear' method rename, and added a few
tests for assigning from nullptr.

1:08 AM Changeset in webkit [180820] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.8

Merge r180528 - Source/WTF:
WTF::WeakPtr should have a 'forget' method
https://bugs.webkit.org/show_bug.cgi?id=141923

Reviewed by Myles C. Maxfield.

  • wtf/WeakPtr.h:

(WTF::WeakPtr::forget): Added.

Tools:
WTF::WeakPtr should have a 'forget' method.
https://bugs.webkit.org/show_bug.cgi?id=141923

Reviewed by Myles C. Maxfield.

  • TestWebKitAPI/Tests/WTF/WeakPtr.cpp:

(TestWebKitAPI::TEST): Added 'Forget' tests case.

12:41 AM Changeset in webkit [180819] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.8

Merge r180530 - Default value of HTMLSelectElement size IDL attribute should be 0.
https://bugs.webkit.org/show_bug.cgi?id=141795

Reviewed by Andreas Kling.

Source/WebCore:

Default value of HTMLSelectElement size IDL attribute should be 0.
As in spec: http://www.w3.org/html/wg/drafts/html/master/forms.html#the-select-element, also this matches the behavior of Chrome, IE and
Gecko.

Test: fast/dom/select-size.html

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::parseAttribute):

LayoutTests:

  • fast/dom/select-size-expected.txt: Added.
  • fast/dom/select-size.html: Added.
12:38 AM Changeset in webkit [180818] by Carlos Garcia Campos
  • 2 edits
    1 add in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore

Merge r180516 - r9 is volatile on ARMv7 for iOS 3 and up.
https://bugs.webkit.org/show_bug.cgi?id=141489
rdar://problem/19432916

Reviewed by Michael Saboff.

  • jit/RegisterSet.cpp:

(JSC::RegisterSet::calleeSaveRegisters): removed r9 from the list of ARMv7 callee save registers.

  • tests/stress/regress-141489.js: Added.

(foo):

Feb 27, 2015:

11:26 PM Changeset in webkit [180817] by Csaba Osztrogonác
  • 4 edits in trunk/Source

Source/WebCore:
[EFL][GTK] Fix build break after r180790,180798
https://bugs.webkit.org/show_bug.cgi?id=142127

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-02-27
Reviewed by Gyuyoung Kim.

  • platform/graphics/cairo/PathCairo.cpp:

(WebCore::Path::addEllipse):

Source/WebKit2:
[EFL][GTK] Fix build break after r180790,180798
https://bugs.webkit.org/show_bug.cgi?id=142127

Patch by Hunseop Jeong <Hunseop Jeong> on 2015-02-27
Reviewed by Gyuyoung Kim.

  • CMakeLists.txt:
11:12 PM Changeset in webkit [180816] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed build fix.

Adjust project dependencies to ensure a consistent build order.

  • WebKit.vcxproj/WebKit.sln:
10:21 PM Changeset in webkit [180815] by Alan Bujtas
  • 18 edits in trunk

Subpixel-layout: width: max-content; property might cause unnecessary scrollbar.
https://bugs.webkit.org/show_bug.cgi?id=142065

Reviewed by Simon Fraser.

Source/WebCore:

We should not pixelsnap (ceil in this case) logical coordinates during layout.
Should this cause content to be partially cut off, we need to
find the broken piece in the computation logic.

Covered by the unskipped test.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::paddedLayoutOverflowRect):

LayoutTests:

Rebaseline. Scroll layer shrinks in certain cases.

  • platform/mac-mavericks/editing/input/caret-at-the-edge-of-input-expected.txt:
  • platform/mac-mavericks/fast/css/text-overflow-input-expected.txt:
  • platform/mac-mavericks/fast/forms/basic-inputs-expected.txt:
  • platform/mac-mavericks/fast/forms/control-restrict-line-height-expected.txt:
  • platform/mac-mavericks/fast/forms/input-disabled-color-expected.txt:
  • platform/mac-mavericks/fast/forms/search/search-size-with-decorations-expected.txt:
  • platform/mac-mavericks/http/tests/navigation/javascriptlink-frames-expected.txt:
  • platform/mac/TestExpectations:
  • platform/mac/fast/forms/control-restrict-line-height-expected.txt:
  • platform/mac/fast/forms/input-appearance-selection-expected.txt:
  • platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt:
  • platform/mac/fast/forms/input-type-text-min-width-expected.txt:
  • platform/mac/fast/forms/minWidthPercent-expected.txt:
  • platform/mac/fast/forms/search/search-size-with-decorations-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug96334-expected.txt:
10:02 PM Changeset in webkit [180814] by Darin Adler
  • 6 edits
    1 delete in trunk/Source/WTF

Remove unused PossiblyNull
https://bugs.webkit.org/show_bug.cgi?id=142124

Reviewed by Andreas Kling.

  • WTF.vcxproj/WTF.vcxproj: Removed the file.
  • WTF.vcxproj/WTF.vcxproj.filters: Ditto.
  • WTF.xcodeproj/project.pbxproj: Ditto.
  • wtf/CMakeLists.txt: Ditto.
  • wtf/PossiblyNull.h: Removed.
  • wtf/FastMalloc.h: Moved everything to the left.

Moved member functions out of the TryMallocReturnValue class definition.
(WTF::TryMallocReturnValue::operator PossiblyNull<T>): Deleted.
(WTF::TryMallocReturnValue::getValue): Marked inline, changed to work
only with pointer types, not arbitrary non-pointer types.

7:21 PM Changeset in webkit [180813] by benjamin@webkit.org
  • 23 edits
    2 adds in trunk/Source/JavaScriptCore

[JSC] Use the way number constants are written to help type speculation
https://bugs.webkit.org/show_bug.cgi?id=142072

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-27
Reviewed by Filip Pizlo.

This patch changes how we interpret numeric constant based on how they appear
in the source.

Constants that are integers but written with a decimal point now carry that information
to the optimizating tiers. From there, we use that to be more aggressive about typing
math operations toward double operations.

For example, in:

var a = x + 1.0;
var b = y + 1;

The Add for a would be biased toward doubles, the Add for b would speculate
integer as usual.

The gains are tiny but this is a prerequisite to make my next patch useful:
-SunSpider's access-fannkuch: definitely 1.0661x faster
-SunSpider's math-cordic: definitely 1.0266x slower

overal: might be 1.0066x slower.

-Kraken's imaging-darkroom: definitely 1.0333x faster.

  • parser/Lexer.cpp:

(JSC::tokenTypeForIntegerLikeToken):
(JSC::Lexer<T>::lex):
The lexer now create two types of tokens for number: INTEGER and DOUBLE.
Those token types only carry information about how the values were
entered, an INTEGER does not have to be an integer, it is only written like one.
Large integer still end up represented as double in memory.

One trap I fell into was typing numbers like 12e3 as double. This kind of literal
is frequently used in integer-typed code, while 12.e3 would appear in double-typed
code.
Because of that, the only signals for double are: decimal point, negative zero,
and ridiculously large values.

  • parser/NodeConstructors.h:

(JSC::DoubleNode::DoubleNode):
(JSC::IntegerNode::IntegerNode):

  • parser/Nodes.h:

(JSC::NumberNode::value):
(JSC::NumberNode::setValue): Deleted.
Number get specialized in two new kind of nodes in the AST: IntegerNode and DoubleNode.

  • bytecompiler/NodesCodegen.cpp:

(JSC::NumberNode::emitBytecode):

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createDoubleExpr):
(JSC::ASTBuilder::createIntegerExpr):
(JSC::ASTBuilder::createIntegerLikeNumber):
(JSC::ASTBuilder::createDoubleLikeNumber):
(JSC::ASTBuilder::createNumberFromBinaryOperation):
(JSC::ASTBuilder::createNumberFromUnaryOperation):
(JSC::ASTBuilder::makeNegateNode):
(JSC::ASTBuilder::makeBitwiseNotNode):
(JSC::ASTBuilder::makeMultNode):
(JSC::ASTBuilder::makeDivNode):
(JSC::ASTBuilder::makeModNode):
(JSC::ASTBuilder::makeAddNode):
(JSC::ASTBuilder::makeSubNode):
(JSC::ASTBuilder::makeLeftShiftNode):
(JSC::ASTBuilder::makeRightShiftNode):
(JSC::ASTBuilder::makeURightShiftNode):
(JSC::ASTBuilder::makeBitOrNode):
(JSC::ASTBuilder::makeBitAndNode):
(JSC::ASTBuilder::makeBitXOrNode):
(JSC::ASTBuilder::createNumberExpr): Deleted.
(JSC::ASTBuilder::createNumber): Deleted.
The AST has some optimization to resolve constants before emitting bytecode.
In the new code, the intger representation is kept if both operands where
also represented as integers.

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseDeconstructionPattern):
(JSC::Parser<LexerType>::parseProperty):
(JSC::Parser<LexerType>::parseGetterSetter):
(JSC::Parser<LexerType>::parsePrimaryExpression):
(JSC::Parser<LexerType>::printUnexpectedTokenText):

  • parser/ParserTokens.h:
  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createDoubleExpr):
(JSC::SyntaxChecker::createIntegerExpr):
(JSC::SyntaxChecker::createNumberExpr): Deleted.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::registerName):
(JSC::CodeBlock::constantName):
Change constantName(r, getConstant(r)) -> constantName(r) to simplify
the dump code.

(JSC::CodeBlock::dumpBytecode):
Dump thre soure representation information we have with each constant.

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::shrinkToFit):
(JSC::constantName): Deleted.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::constantsSourceCodeRepresentation):
(JSC::CodeBlock::addConstant):
(JSC::CodeBlock::addConstantLazily):
(JSC::CodeBlock::constantSourceCodeRepresentation):
(JSC::CodeBlock::setConstantRegisters):

  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedCodeBlock::addConstant):
(JSC::UnlinkedCodeBlock::constantsSourceCodeRepresentation):
(JSC::UnlinkedCodeBlock::shrinkToFit):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::addConstantValue):
(JSC::BytecodeGenerator::emitLoad):

  • bytecompiler/BytecodeGenerator.h:

We have to differentiate between constants that have the same values but are
represented differently in the source. Values like 1.0 and 1 now end up
as different constants.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::get):
(JSC::DFG::ByteCodeParser::addConstantToGraph):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::registerFrozenValues):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::addSpeculationMode):
(JSC::DFG::Graph::addImmediateShouldSpeculateInt32):
ArithAdd is very aggressive toward using Int52, which is quite useful
in many benchmarks.

Here we need to specialize to make sure we don't force our literals
to Int52 if there were represented as double.

There is one exception to that rule: when the other operand is guaranteed
to come from a NodeResultInt32. This is because there is some weird code
doing stuff like:

var b = a|0;
var c = b*2.0;

  • dfg/DFGNode.h:

(JSC::DFG::Node::Node):
(JSC::DFG::Node::setOpAndDefaultFlags):
(JSC::DFG::Node::sourceCodeRepresentation):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • runtime/JSCJSValue.h:

(JSC::EncodedJSValueWithRepresentationHashTraits::emptyValue):
(JSC::EncodedJSValueWithRepresentationHashTraits::constructDeletedValue):
(JSC::EncodedJSValueWithRepresentationHashTraits::isDeletedValue):
(JSC::EncodedJSValueWithRepresentationHash::hash):
(JSC::EncodedJSValueWithRepresentationHash::equal):

  • tests/stress/arith-add-with-constants.js: Added.
  • tests/stress/arith-mul-with-constants.js: Added.
7:16 PM Changeset in webkit [180812] by ddkilzer@apple.com
  • 3 edits
    2 adds in trunk/LayoutTests

[iOS] Gardening: rebaseline fast/attachment results

  • platform/ios-simulator/fast/attachment/attachment-disabled-dom-expected.txt: Add.
  • platform/ios-simulator/fast/attachment/attachment-disabled-rendering-expected.txt: Update.
  • platform/ios-simulator/fast/attachment/attachment-dom-expected.txt: Add.
  • platform/ios-simulator/fast/attachment/attachment-rendering-expected.txt: Update.
6:51 PM Changeset in webkit [180811] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

[iOS] Gardening: Unskip fast/history/page-cache-webdatabase-opened-db.html

  • platform/ios-simulator/TestExpectations: Unskip test. It

passes on iOS WK1 and WK2 because WebSQL != IndexedDB.

6:51 PM Changeset in webkit [180810] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

[iOS] Gardening: Skip some new page-cache tests

  • platform/ios-simulator/TestExpectations:
  • Skip MediaSource tests: fast/history/page-cache-media-source-closed-2.html fast/history/page-cache-media-source-closed.html fast/history/page-cache-media-source-opened.html
  • Skip test that uses drag-and-drop: fast/history/page-cache-createObjectURL.html
6:41 PM Changeset in webkit [180809] by rniwa@webkit.org
  • 14 edits in trunk/Source/WebCore

Node::hasEditableStyle and isEditablePosition have too many options
https://bugs.webkit.org/show_bug.cgi?id=142078

Reviewed by Andreas Kling.

Moved the code that dealt with accessibility to htmlediting.cpp from Node. This patch introduces
new editing helper functions hasEditableStyle and isEditableNode for this purpose.

Also removed UserSelectAllTreatment from isContentEditable's arguments in the favor of using
newly extracted computeEditability in call sites that specify this option since isContentEditable
is a public DOM API.

No new tests since there should be no observable behavior changes.

  • accessibility/AXObjectCache.h: Removed the declaration of an undefined function.
  • dom/Element.cpp:

(WebCore::Element::shouldUseInputMethod): Uses newly added computeEditability.

  • dom/Node.cpp:

(WebCore::Node::isContentEditable): Ditto. No longer takes UserSelectAllTreatment as an argument.
(WebCore::Node::isContentRichlyEditable): Ditto.
(WebCore::Node::computeEditability): Renamed from hasEditableStyle to avoid the confusion with
a helper function of the same name. Added ShouldUpdateStyle as an argument to optionally update
style tree. Also returns tri-state Editability enum instead of returning a boolean based on
the value of EditableLevel argument.
(WebCore::Node::isEditableToAccessibility): Moved to htmlediting.cpp.
(WebCore::Node::willRespondToMouseClickEvents): Uses newly added computeEditability.
(WebCore::Node::rootEditableElement): Moved to htmlediting.cpp.

  • dom/Node.h: No longer includes EditingBoundary.h.

(WebCore::Node::isContentEditable):
(WebCore::Node::hasEditableStyle): No longer takes EditableType as an argument.
(WebCore::Node::hasRichlyEditableStyle): Ditto.

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Uses newly added isEditableNode.
(WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): Ditto.

  • editing/DeleteFromTextNodeCommand.cpp:

(WebCore::DeleteFromTextNodeCommand::doApply): Ditto.

  • editing/FrameSelection.cpp:

(WebCore::CaretBase::invalidateCaretRect): Ditto.

  • editing/InsertNodeBeforeCommand.cpp:

(WebCore::InsertNodeBeforeCommand::doApply): Ditto.
(WebCore::InsertNodeBeforeCommand::doUnapply): Ditto.

  • editing/RemoveNodeCommand.cpp:

(WebCore::RemoveNodeCommand::doApply): Ditto.

  • editing/VisibleSelection.cpp:

(WebCore::VisibleSelection::hasEditableStyle): Since this is the only caller of isEditablePosition
which sets DoNotUpdateStyle, directly call hasEditableStyle on the container node instead. This was
not possible prior to r180726 because isEditablePosition had to move out of tables.

  • editing/VisibleUnits.cpp:

(WebCore::previousLeafWithSameEditability): Uses newly added hasEditableStyle.
(WebCore::nextLeafWithSameEditability): Ditto.
(WebCore::rootEditableOrDocumentElement): Extracted from previousLinePosition. Use helper functions
in htmlediting.cpp instead of member functions of Node since they no longer support EditableType.
(WebCore::previousLinePosition):
(WebCore::nextLinePosition):

  • editing/htmlediting.cpp:

(WebCore::highestEditableRoot): Uses newly added hasEditableStyle.
(WebCore::isEditableToAccessibility): Moved from Node.
(WebCore::computeEditability): Extracted from isEditablePosition.
(WebCore::hasEditableStyle): Added.
(WebCore::isEditableNode): Added.
(WebCore::isEditablePosition): Now calls computeEditability.
(WebCore::isRichlyEditablePosition): No longer takes EditableType since that variant was never used.
(WebCore::editableRootForPosition): Moved the code from Node::rootEditableElement.

  • editing/htmlediting.h:
6:14 PM Changeset in webkit [180808] by mmaxfield@apple.com
  • 2 edits in trunk/LayoutTests

Test gardening for Windows after r180796.

Unreviewed.

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-02-27

  • platform/win/TestExpectations:
5:57 PM Changeset in webkit [180807] by dino@apple.com
  • 2 edits in trunk/LayoutTests

https://bugs.webkit.org/show_bug.cgi?id=142119

Unreviewed. Add fast/canvas/canvas-ellipse-zero-lineto.html
to list of failing tests on Windows.

  • platform/win/TestExpectations:
5:52 PM Changeset in webkit [180806] by rniwa@webkit.org
  • 2 edits in trunk/Source/bmalloc

Fixed a typo in the previous commit.

  • bmalloc/BoundaryTag.h:

(bmalloc::BoundaryTag::setOwner):

5:46 PM Changeset in webkit [180805] by rniwa@webkit.org
  • 2 edits in trunk/Source/bmalloc

EFL build fix after r180797.

  • bmalloc/BoundaryTag.h:

(bmalloc::BoundaryTag::owner):
(bmalloc::BoundaryTag::setOwner):

5:43 PM Changeset in webkit [180804] by Chris Dumez
  • 10 edits
    1 move
    3 deletes in trunk/Source/WebKit2

[WK2] Drop legacy WKBundlePageDiagnosticLoggingClient API
https://bugs.webkit.org/show_bug.cgi?id=141176

Reviewed by Sam Weinig.

Drop legacy WKBundlePageDiagnosticLoggingClient WK2 API as we are now
exposing this functionality via WKPageDiagnosticLoggingClient.h on
UIProcess side. The client-side has already been ported over.

  • CMakeLists.txt:
  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toAPI): Deleted.
(WebKit::toDiagnosticLoggingResultType): Deleted.

  • UIProcess/API/C/WKAPICast.h:

(WebKit::toAPI):

  • UIProcess/API/C/WKDiagnosticLoggingResultType.h: Renamed from Source/WebKit2/Shared/API/c/WKDiagnosticLoggingResultType.h.
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKBundlePageSetDiagnosticLoggingClient): Deleted.

  • WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h: Removed.
  • WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp: Removed.
  • WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h: Removed.
  • WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp:

(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessage):
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithResult):
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithValue):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::close):
(WebKit::WebPage::initializeInjectedBundleDiagnosticLoggingClient): Deleted.

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::injectedBundleDiagnosticLoggingClient): Deleted.

5:33 PM Changeset in webkit [180803] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source

Versioning.

5:19 PM Changeset in webkit [180802] by andersca@apple.com
  • 2 edits
    1 move in trunk/Source/WebKit2

Rename WebResourceCacheManagerCFNet.cpp to WebResourceCacheManagerCFNet.mm

Rubber-stamped by Dan Bernstein.

This will let us use lambda to block conversion in a subsequent patch.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.mm: Renamed from Source/WebKit2/WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp.
5:13 PM March 2015 Meeting edited by dino@apple.com
(diff)
5:05 PM Changeset in webkit [180801] by Chris Dumez
  • 63 edits in trunk/Source

Make ActiveDOMObject::canSuspend() pure virtual
https://bugs.webkit.org/show_bug.cgi?id=142096
<rdar://problem/19923085>

Reviewed by Andreas Kling.

Make ActiveDOMObject::canSuspend() pure virtual so that people at least
try to provide an implementation for it. The default implementation was
returning false unconditionally and thus was preventing pages from
entering the PageCache.

4:48 PM Changeset in webkit [180800] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.15.9

New tag.

4:46 PM Changeset in webkit [180799] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Unreviewed, rolling out r180203 and r180210.
https://bugs.webkit.org/show_bug.cgi?id=142116

broke process suspension and tile map (Requested by thorton on
#webkit).

Reverted changesets:

"Adopt CAMachPort-as-layer-contents"
https://bugs.webkit.org/show_bug.cgi?id=141687
http://trac.webkit.org/changeset/180203

"Fix the !USE(IOSURFACE) build"
http://trac.webkit.org/changeset/180210

4:42 PM Changeset in webkit [180798] by commit-queue@webkit.org
  • 13 edits
    7 adds in trunk

Add WebKit2 SPI to create a DOM File object
https://bugs.webkit.org/show_bug.cgi?id=142109

Patch by Sam Weinig <sam@webkit.org> on 2015-02-27
Reviewed by Tim Horton.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:

Make <WebCore/File.h> (and associated files) available to WebKit2.

Source/WebKit2:

Add a new handle type for exposing a DOM File object to script. Follow
the pattern of WKBundleNodeHandleRef and WKBundleRangeHandleRef with the
new class WKBundleFileHandleRef. It can be created for a specific path,
and then the JS wrapper can be obtained via WKBundleFrameGetJavaScriptWrapperForFileForWorld.

  • Shared/API/APIObject.h:
  • Shared/API/c/WKBase.h:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
  • WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.cpp: Added.

(WKBundleFileHandleGetTypeID):
(WKBundleFileHandleCreateWithPath):

  • WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.h: Added.
  • WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:

(WKBundleFrameGetJavaScriptWrapperForFileForWorld):

  • WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
  • WebProcess/InjectedBundle/DOM/InjectedBundleFileHandle.cpp: Added.

(WebKit::domHandleCache):
(WebKit::InjectedBundleFileHandle::create):
(WebKit::InjectedBundleFileHandle::getOrCreate):
(WebKit::InjectedBundleFileHandle::InjectedBundleFileHandle):
(WebKit::InjectedBundleFileHandle::~InjectedBundleFileHandle):
(WebKit::InjectedBundleFileHandle::coreFile):

  • WebProcess/InjectedBundle/DOM/InjectedBundleFileHandle.h: Added.
  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::jsWrapperForWorld):

  • WebProcess/WebPage/WebFrame.h:

Tools:

Add a test for WKBundleFileHandleRef.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/WKBundleFileHandle.cpp: Added.

(TestWebKitAPI::didReceiveMessageFromInjectedBundle):
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/WKBundleFileHandle_Bundle.cpp: Added.

(TestWebKitAPI::WKBundleFileHandleTest::WKBundleFileHandleTest):

  • TestWebKitAPI/Tests/WebKit2/bundle-file.html: Added.
4:29 PM Changeset in webkit [180797] by ggaren@apple.com
  • 14 edits
    1 add in trunk/Source/bmalloc

bmalloc: Pathological madvise churn on the free(malloc(x)) benchmark
https://bugs.webkit.org/show_bug.cgi?id=142058

Reviewed by Andreas Kling.

The churn was caused by repeatedly splitting an object with physical
pages from an object without, and then merging them back together again.
The merge would conservatively forget that we had physical pages, forcing
a new call to madvise on the next allocation.

This patch more strictly segregates objects in the heap from objects in
the VM heap, with these changes:

(1) Objects in the heap are not allowed to merge with objects in the VM
heap, and vice versa -- since that would erase our precise knowledge of
which physical pages had been allocated.

(2) The VM heap is exclusively responsible for allocating and deallocating
physical pages.

(3) The heap free list must consider entries for objects that are in the
VM heap to be invalid, and vice versa. (This condition can arise
because the free list does not eagerly remove items.)

With these changes, we can know that any valid object in the heap's free
list already has physical pages, and does not need to call madvise.

Note that the VM heap -- as before -- might sometimes contain ranges
or pieces of ranges that have physical pages, since we allow splitting
of ranges at granularities smaller than the VM page size. These ranges
can eventually merge with ranges in the heap during scavenging.

  • bmalloc.xcodeproj/project.pbxproj:
  • bmalloc/BoundaryTag.h:

(bmalloc::BoundaryTag::owner):
(bmalloc::BoundaryTag::setOwner):
(bmalloc::BoundaryTag::initSentinel):
(bmalloc::BoundaryTag::hasPhysicalPages): Deleted.
(bmalloc::BoundaryTag::setHasPhysicalPages): Deleted. Replaced the concept
of "has physical pages" with a bit indicating which heap owns the large
object. This is a more precise concept, since the old bit was really a
Yes / Maybe bit.

  • bmalloc/Deallocator.cpp:
  • bmalloc/FreeList.cpp: Adopt

(bmalloc::FreeList::takeGreedy):
(bmalloc::FreeList::take):
(bmalloc::FreeList::removeInvalidAndDuplicateEntries):

  • bmalloc/FreeList.h:

(bmalloc::FreeList::push): Added API for considering the owner when
deciding if a free list entry is valid.

  • bmalloc/Heap.cpp:

(bmalloc::Heap::Heap): Adopt new API.

(bmalloc::Heap::scavengeLargeRanges): Scavenge all ranges with no minimum,
since some ranges might be able to merge with ranges in the VM heap, and
they won't be allowed to until we scavenge them.

(bmalloc::Heap::allocateSmallPage):
(bmalloc::Heap::allocateMediumPage):
(bmalloc::Heap::allocateLarge): New VM heap API makes this function
simpler, since we always get back physical pages now.

  • bmalloc/Heap.h:
  • bmalloc/LargeObject.h:

(bmalloc::LargeObject::end):
(bmalloc::LargeObject::owner):
(bmalloc::LargeObject::setOwner):
(bmalloc::LargeObject::isValidAndFree):
(bmalloc::LargeObject::merge): Do not merge objects across heaps since
that causes madvise churn.
(bmalloc::LargeObject::validateSelf):
(bmalloc::LargeObject::init):
(bmalloc::LargeObject::hasPhysicalPages): Deleted.
(bmalloc::LargeObject::setHasPhysicalPages): Deleted. Propogate the Owner API.

  • bmalloc/Owner.h: Added.
  • bmalloc/SegregatedFreeList.cpp:

(bmalloc::SegregatedFreeList::SegregatedFreeList):
(bmalloc::SegregatedFreeList::insert):
(bmalloc::SegregatedFreeList::takeGreedy):
(bmalloc::SegregatedFreeList::take):

  • bmalloc/SegregatedFreeList.h: Propogate the owner API.
  • bmalloc/VMAllocate.h:

(bmalloc::vmDeallocatePhysicalPagesSloppy):
(bmalloc::vmAllocatePhysicalPagesSloppy): Clarified these functions and
removed an edge case.

  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::VMHeap):

  • bmalloc/VMHeap.h:

(bmalloc::VMHeap::allocateSmallPage):
(bmalloc::VMHeap::allocateMediumPage):
(bmalloc::VMHeap::allocateLargeObject):
(bmalloc::VMHeap::deallocateLargeObject): Be sure to give each object
a new chance to merge, since it might have been prohibited from merging
before by virtue of not being in the VM heap.

(bmalloc::VMHeap::allocateLargeRange): Deleted.
(bmalloc::VMHeap::deallocateLargeRange): Deleted.

4:28 PM Changeset in webkit [180796] by mmaxfield@apple.com
  • 26 edits in trunk/LayoutTests

Updating more tests after r177774

Unreviewed.

Most of these tests simply need to be updated. However, I found two real bugs while
going through these!

  • fast/css-generated-content/after-with-inline-continuation-expected.html:
  • fast/css-generated-content/after-with-inline-continuation.html:
  • fast/inline/hidpi-pixel-gap-between-adjacent-selection-inlines-expected.html:
  • fast/inline/hidpi-select-inline-on-subpixel-position-expected.html:
  • fast/inline/hidpi-select-inline-on-subpixel-position.html:
  • fast/lists/rtl-marker-expected.html:
  • fast/lists/rtl-marker.html:
  • fast/multicol/cell-shrinkback-expected.html:
  • fast/multicol/cell-shrinkback.html:
  • fast/multicol/newmulticol/breaks-3-columns-3-expected.html:
  • fast/multicol/newmulticol/breaks-3-columns-3.html:
  • fast/regions/last-region-border-radius-expected.html:
  • fast/regions/last-region-border-radius.html:
  • fast/regions/overflow/overflow-first-and-last-regions.html:
  • fast/regions/overflow/overflow-in-uniform-regions-dynamic-expected.html:
  • fast/regions/overflow/overflow-in-uniform-regions-dynamic.html:
  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-large-radius-expected.html:
  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-large-radius.html:
  • fast/shapes/shape-outside-floats/shape-outside-rounded-inset-expected.html:
  • fast/shapes/shape-outside-floats/shape-outside-rounded-inset.html:
  • fast/table/td-width-fifty-percent-regression-expected.html:
  • fast/table/td-width-fifty-percent-regression.html:
  • fast/text/complex-initial-advance-expected.html:
  • fast/text/complex-initial-advance.html:
  • platform/mac/TestExpectations:
4:23 PM Changeset in webkit [180795] by mmaxfield@apple.com
  • 5 edits in trunk

[Subpixel] Subpixelize RenderListMarker
https://bugs.webkit.org/show_bug.cgi?id=142093

Reviewed by Zalan Bujtas.

Source/WebCore:

Use floats instead of ints.

Test: fast/lists/rtl-marker.html

  • rendering/RenderListMarker.cpp:

(WebCore::RenderListMarker::paint):
(WebCore::RenderListMarker::updateContent):
(WebCore::RenderListMarker::getRelativeMarkerRect):

  • rendering/RenderListMarker.h:

LayoutTests:

  • platform/mac/TestExpectations: Unskip fast/lists/rtl-marker.html
4:09 PM Changeset in webkit [180794] by timothy_horton@apple.com
  • 7 edits in trunk/Source/WebCore

<attachment> should be selected immediately upon click, and be drag/copyable upon click
https://bugs.webkit.org/show_bug.cgi?id=142114
<rdar://problem/19982520>

Reviewed by Enrica Casucci.

  • css/html.css:

(attachment):
Make attachment use 'user-select: all' to act as a single click-to-select unit.

  • html/HTMLAttachmentElement.cpp:

(WebCore::HTMLAttachmentElement::setFocus): Deleted.

  • html/HTMLAttachmentElement.h:
  • rendering/RenderAttachment.cpp:

(WebCore::RenderAttachment::isFocused): Deleted.
(WebCore::RenderAttachment::focusChanged): Deleted.

  • rendering/RenderAttachment.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintAttachment):
Remove focus-related code; instead of focusing the element upon click,
we get a selection including just the <attachment>, and everything
behaves much more consistently (copy works, drag works, etc.).

4:06 PM Changeset in webkit [180793] by ap@apple.com
  • 4 edits in trunk/LayoutTests

Test gardening, unmark now passing tests.

  • TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
4:02 PM Changeset in webkit [180792] by mmaxfield@apple.com
  • 7 edits in trunk

[iOS] Some MathML tests crash in RenderMathMLOperator::advanceForGlyph() or boundsForGlyph()
https://bugs.webkit.org/show_bug.cgi?id=141371

Reviewed by David Kilzer.

Source/WebCore:

Null checks.

Covered by existing mathml tests.

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::boundsForGlyph):
(WebCore::RenderMathMLOperator::advanceForGlyph):
(WebCore::RenderMathMLOperator::getDisplayStyleLargeOperator):

LayoutTests:

Updating expected results and TestExpectations

  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/mathml/opentype/horizontal-munderover-expected.txt:
  • platform/ios-simulator/mathml/opentype/large-operators-expected.txt:
  • platform/ios-simulator/mathml/opentype/vertical-expected.txt:
3:46 PM Changeset in webkit [180791] by Chris Dumez
  • 8 edits
    2 adds in trunk

Make SourceBuffer ActiveDOMObject suspendable
https://bugs.webkit.org/show_bug.cgi?id=142108
<rdar://problem/19923085>

Reviewed by Jer Noble.

Source/WebCore:

Make SourceBuffer ActiveDOMObject suspendable if it is removed from its
MediaSource and does not have any pending events. This makes it more
likely for pages using SourceBuffer objects to go into the PageCache.

Test: fast/history/page-cache-removed-source-buffer.html

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::canSuspend):

  • Modules/mediasource/SourceBuffer.h:

LayoutTests:

Add a layout tests to check that a SourceBuffer removed from its
MediaSource does not prevent a Page from entering PageCache.

  • fast/history/page-cache-removed-source-buffer-expected.txt: Added.
  • fast/history/page-cache-removed-source-buffer.html: Added.
3:40 PM Changeset in webkit [180790] by dino@apple.com
  • 8 edits
    19 adds in trunk

Add support for canvas ellipse method
https://bugs.webkit.org/show_bug.cgi?id=82791
<rdar://problem/11159172>

Patch by Sam Weinig <sam@webkit.org> on 2015-02-26
Reviewed by Dirk Schulze.

Source/WebCore:

Tests: fast/canvas/canvas-ellipse-360-winding.html

fast/canvas/canvas-ellipse-circumference-fill.html
fast/canvas/canvas-ellipse-circumference.html
fast/canvas/canvas-ellipse-connecting-line.html
fast/canvas/canvas-ellipse-negative-radius.html
fast/canvas/canvas-ellipse-zero-lineto.html
fast/canvas/canvas-ellipse.html

  • html/canvas/CanvasPathMethods.h:
  • html/canvas/CanvasPathMethods.cpp:

(WebCore::CanvasPathMethods::lineTo):
Convenience for passing a FloatPoint instead of two floats.

(WebCore::normalizeAngles):
Normalizes the angles as described in the HTML spec. Ensuring the startAngle
is greater than 0 and less than 2pi, and the the endAngle is at most 2pi
from the start angle.

(WebCore::CanvasPathMethods::arc):

  • Renames some of the parameters to be clearer.
  • Normalizes the angles for consistency with ellipse.
  • Moves hasInvertibleTransform() higher in the function for consistency.

(WebCore::CanvasPathMethods::ellipse): Added.

  • html/canvas/CanvasRenderingContext2D.idl:
  • html/canvas/DOMPath.idl:

Add ellipse(...).

  • platform/graphics/Path.h:
  • platform/graphics/cg/PathCG.cpp:

(WebCore::Path::addArc):
Rename parameters for clarity and use a nullptr.

(WebCore::Path::addEllipse):
Added. Constructs an ellipse via a transformed arc.

LayoutTests:

  • fast/canvas/canvas-ellipse-360-winding-expected.txt: Added.
  • fast/canvas/canvas-ellipse-360-winding.html: Added.
  • fast/canvas/canvas-ellipse-circumference-expected.txt: Added.
  • fast/canvas/canvas-ellipse-circumference-fill-expected.txt: Added.
  • fast/canvas/canvas-ellipse-circumference-fill.html: Added.
  • fast/canvas/canvas-ellipse-circumference.html: Added.
  • fast/canvas/canvas-ellipse-connecting-line-expected.html: Added.
  • fast/canvas/canvas-ellipse-connecting-line.html: Added.
  • fast/canvas/canvas-ellipse-expected.txt: Added.
  • fast/canvas/canvas-ellipse-negative-radius-expected.txt: Added.
  • fast/canvas/canvas-ellipse-negative-radius.html: Added.
  • fast/canvas/canvas-ellipse-zero-lineto-expected.txt: Added.
  • fast/canvas/canvas-ellipse-zero-lineto.html: Added.
  • fast/canvas/canvas-ellipse.html: Added.
  • fast/canvas/script-tests/canvas-ellipse-360-winding.js: Added.
  • fast/canvas/script-tests/canvas-ellipse.js: Added.
  • fast/canvas/script-tests/js-ellipse-implementation.js: Added.
  • platform/mac/fast/canvas/canvas-ellipse-circumference-expected.png: Added.
  • platform/mac/fast/canvas/canvas-ellipse-circumference-fill-expected.png: Added.
3:37 PM Changeset in webkit [180789] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests

Test more features of content extensions.
https://bugs.webkit.org/show_bug.cgi?id=142100

Patch by Alex Christensen <achristensen@webkit.org> on 2015-02-27
Reviewed by Brady Eidson.

  • http/tests/usercontentfilter/basic-filter.html:
  • http/tests/usercontentfilter/basic-filter.html.json:
  • platform/mac/http/tests/usercontentfilter/basic-filter-expected.txt:
3:35 PM Changeset in webkit [180788] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Use Maps in ResourceCollection instead of objects
https://bugs.webkit.org/show_bug.cgi?id=142101

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-27
Reviewed by Timothy Hatcher.

  • UserInterface/Models/ResourceCollection.js:

(WebInspector.ResourceCollection):
(WebInspector.ResourceCollection.prototype.resourcesWithType):
(WebInspector.ResourceCollection.prototype.removeAllResources):
(WebInspector.ResourceCollection.prototype.resourceForURL):
(WebInspector.ResourceCollection.prototype._associateWithResource):
(WebInspector.ResourceCollection.prototype._disassociateWithResource):
(WebInspector.ResourceCollection.prototype._resourceURLDidChange):
(WebInspector.ResourceCollection.prototype._resourceTypeDidChange):
Use Maps instead of objects.

3:32 PM Changeset in webkit [180787] by msaboff@apple.com
  • 2 edits in trunk/Tools

Add ability for run-jsc-benchmarks to set library path from test binary when run on a build bot
https://bugs.webkit.org/show_bug.cgi?id=142112

Reviewed by Filip Pizlo.

Added check for VMs in the form of <someDir>/{DumpRenderTree,webkitTestRunner,jsc} and use
<someDir> as the library path.

  • Scripts/run-jsc-benchmarks:
3:31 PM Changeset in webkit [180786] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Some WebGL tests fail on ATI hardware
https://bugs.webkit.org/show_bug.cgi?id=93560
rdar://problem/19991477

  • platform/mac/TestExpectations: Updating expectations, as this is not limited to

Mavericks.

3:07 PM Changeset in webkit [180785] by enrica@apple.com
  • 7 edits
    2 adds in trunk

Adding support for serializing HTMLAttachment elements.
https://bugs.webkit.org/show_bug.cgi?id=142026

Reviewed by Tim Horton.

Source/WebCore:

Test: editing/pasteboard/copy-paste-attachment.html

Adding support to serialize the attachment element
and properly handle it when converting a DOM range
to NSAttributedString.

  • editing/cocoa/HTMLConverter.mm:

(HTMLConverter::_processElement):

  • editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::appendCustomAttributes): Create new attribute
for attachment element when serializating.
(WebCore::StyledMarkupAccumulator::appendElement):
(WebCore::createFragmentFromMarkup): Remove the attribute from the attachment element
when creating the fragment.

  • html/HTMLAttachmentElement.cpp:

(WebCore::HTMLAttachmentElement::file): Added const to file() to
use it in appendCustonAttributes where the element is a const reference.

  • html/HTMLAttachmentElement.h:
  • html/HTMLAttributeNames.in:

LayoutTests:

  • editing/pasteboard/copy-paste-attachment-expected.txt: Added.
  • editing/pasteboard/copy-paste-attachment.html: Added.
3:00 PM Changeset in webkit [180784] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

<attachment> should have an inactive style (gray in background)
https://bugs.webkit.org/show_bug.cgi?id=142103
<rdar://problem/19982486>

Reviewed by Dan Bernstein.

  • rendering/RenderThemeMac.mm:

(WebCore::attachmentLabelInactiveBackgroundColor):
(WebCore::attachmentLabelInactiveTextColor):
(WebCore::RenderThemeMac::paintAttachmentLabelBackground):
(WebCore::RenderThemeMac::paintAttachmentLabel):
Use a gray background and gray text when the selection containing the
attachment isn't focused and active.

2:50 PM Changeset in webkit [180783] by beidson@apple.com
  • 9 edits
    7 adds in trunk

Add a "block-cookies" rule to the user content filter.
https://bugs.webkit.org/show_bug.cgi?id=142105

Reviewed by Alex Christensen.

Source/WebCore:

Tests: http/tests/usercontentfilter/block-cookies-basic.html

http/tests/usercontentfilter/block-cookies-send.html

  • contentextensions/ContentExtensionRule.h:
  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::actionForURL):
(WebCore::ContentExtensions::ContentExtensionsBackend::shouldBlockURL): Deleted.

  • contentextensions/ContentExtensionsBackend.h:
  • contentextensions/ContentExtensionsManager.cpp:

(WebCore::ContentExtensions::ExtensionsManager::loadAction):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):

  • page/UserContentController.cpp:

(WebCore::UserContentController::actionForURL):
(WebCore::UserContentController::contentFilterBlocksURL): Deleted.

  • page/UserContentController.h:

LayoutTests:

  • http/tests/cookies/resources/echo-cookies.php: Added.
  • http/tests/usercontentfilter/block-cookies-basic-expected.txt: Added.
  • http/tests/usercontentfilter/block-cookies-basic.html: Added.
  • http/tests/usercontentfilter/block-cookies-basic.html.json: Added.
  • http/tests/usercontentfilter/block-cookies-send-expected.txt: Added.
  • http/tests/usercontentfilter/block-cookies-send.html: Added.
  • http/tests/usercontentfilter/block-cookies-send.html.json: Added.
2:45 PM Changeset in webkit [180782] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Lookup panel dismisses when pages are loading in other tabs/windows
https://bugs.webkit.org/show_bug.cgi?id=142104
-and corresponding-
rdar://problem/19882137

Reviewed by Tim Horton.

Until rdar://problem/13875766 is resolved, we should only call into Lookup and
DataDetectors for key windows.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _dismissContentRelativeChildWindows]):

2:17 PM Changeset in webkit [180781] by achristensen@apple.com
  • 5 edits in trunk

[WinCairo] Unreviewed build fix.

Source/WebCore:

  • platform/graphics/BitmapImage.h:
  • platform/win/BitmapInfo.h:

Added WEBCORE_EXPORT.

Tools:

  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPICommonWinCairo.props:

Use TestWebKitAPIPrefix.h like in TestWebKitAPICommon.props.

1:56 PM Changeset in webkit [180780] by timothy_horton@apple.com
  • 6 edits in trunk/Source/WebCore

<attachment>'s label baseline should match that of the surrounding text
https://bugs.webkit.org/show_bug.cgi?id=142099
rdar://problem/19982495

Reviewed by Dan Bernstein.

  • rendering/RenderAttachment.cpp:

(WebCore::RenderAttachment::baselinePosition):

  • rendering/RenderAttachment.h:

Override baselinePosition and retrieve it from RenderTheme.

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::attachmentBaseline):

  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:

(WebCore::AttachmentLayout::AttachmentLayout):
(WebCore::RenderThemeMac::attachmentBaseline):
Plumb the label baseline from AttachmentLayout to RenderAttachment.

1:42 PM Changeset in webkit [180779] by commit-queue@webkit.org
  • 12 edits in trunk/Source/WebCore

Unreviewed, rolling out r180752.
https://bugs.webkit.org/show_bug.cgi?id=142098

Causes 10 SVG test failures on Windows. (Requested by
bfulgham_ on #webkit).

Reverted changeset:

"Cache glyph widths to GlyphPages"
https://bugs.webkit.org/show_bug.cgi?id=142028
http://trac.webkit.org/changeset/180752

1:40 PM Changeset in webkit [180778] by rniwa@webkit.org
  • 4 edits in trunk/LayoutTests

iOS, GTK, and EFL rebaselines after r180726.

  • platform/efl/editing/inserting/5058163-1-expected.txt:
  • platform/gtk/editing/inserting/5058163-1-expected.txt:
  • platform/ios-simulator-wk2/editing/inserting/5058163-1-expected.txt:
1:39 PM Changeset in webkit [180777] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Fix build by defining EAGL_IOSURFACE macro before including <OpenGLES/EAGLPrivate.h>

  • platform/spi/ios/OpenGLESSPI.h: Define EAGL_IOSURFACE macro

until header refactoring is completed.

1:34 PM Changeset in webkit [180776] by Chris Dumez
  • 6 edits in trunk/LayoutTests

Unreviewed, skip tests added in r180771 on platforms that don't support IndexedDB.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios-simulator/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
1:27 PM Changeset in webkit [180775] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Skip IndexDB tests on Windows since it's not implemented.

  • platform/win/TestExpectations:
1:18 PM Changeset in webkit [180774] by Chris Dumez
  • 8 edits
    6 adds in trunk

MediaSource should be suspendable when closed
https://bugs.webkit.org/show_bug.cgi?id=142089
<rdar://problem/19923085>

Reviewed by Jer Noble.

Source/WebCore:

Make MediaSource ActiveDOMObject suspendable when it is in closed state
and it has no pending events. This increases the likelihood of pages
using MediaSource to enter the PageCache.

Tests: fast/history/page-cache-media-source-closed-2.html

fast/history/page-cache-media-source-closed.html
fast/history/page-cache-media-source-opened.html

LayoutTests:

Add layout tests to check that:

  • Pages with an open MediaSource do not enter the PageCache
  • Pages with an initially closed MediaSource enter the PageCache
  • Pages with a MediaSource that changed state from opened to closed enter the PageCache.
12:14 PM Changeset in webkit [180773] by andersca@apple.com
  • 11 edits in trunk

Add infrastructure for handling website data in the network process
https://bugs.webkit.org/show_bug.cgi?id=142092

Reviewed by Andreas Kling.

Source/WebKit2:

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
Send back "Did" messages without actually doing anything for now.

  • NetworkProcess/NetworkProcess.h:

Add new members.

  • NetworkProcess/NetworkProcess.messages.in:

Add FetchWebsiteData and DeleteWebsiteDataForOrigins messages.

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::~NetworkProcessProxy):
Assert that all maps are empty.

(WebKit::NetworkProcessProxy::fetchWebsiteData):
(WebKit::NetworkProcessProxy::deleteWebsiteDataForOrigins):
Add callbacks and send fetch and delete messages respectively.

(WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
Make sure to invoke all callbacks.

(WebKit::NetworkProcessProxy::didFetchWebsiteData):
Find the callback and invoke it.

(WebKit::NetworkProcessProxy::didDeleteWebsiteDataForOrigins):
Ditto.

  • UIProcess/Network/NetworkProcessProxy.h:

Add new members.

  • UIProcess/Network/NetworkProcessProxy.messages.in:

Add DidFetchWebsiteData and DidDeleteWebsiteDataForOrigins messages.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::connectionDidClose):
Just pass an empty WebsiteData object.

Tools:

Add a menu item that will fetch all website data, delete the returned data records, and
fetch all website data again so we can confirm that it's all empty.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController fetchAndClearWebsiteData:]):

11:52 AM Changeset in webkit [180772] by akling@apple.com
  • 18 edits in trunk/Source/WebCore

Use NeverDestroyed for JS wrapper owners.
<https://webkit.org/b/142090>

Reviewed by Chris Dumez.

Using NeverDestroyed puts these objects in BSS which is preferable
since that prevents them from pinning down entire malloc pages forever.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader): Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL.

  • bindings/scripts/test/JS/*: Rebaseline bindings tests for this change.
11:24 AM Changeset in webkit [180771] by Chris Dumez
  • 7 edits
    4 adds in trunk

Make IDBDatabase / IDBRequest suspendable
https://bugs.webkit.org/show_bug.cgi?id=142076
<rdar://problem/19923085>

Reviewed by Andreas Kling.

Source/WebCore:

Make IDBDatabase / IDBRequest suspendable under certain conditions to
make it more likely for pages using indexeddb to enter the PageCache.

IDBDatabase is safely suspendable if the database is closed. IDBRequest
is safely suspendable if the request no longer has any pending activity
(i.e. state is DONE and success / failure handler was called). We may
be able to do better later but this is the bare minimum for now.

Tests: fast/history/page-cache-indexed-closed-db.html

fast/history/page-cache-indexed-opened-db.html

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::IDBDatabase):
(WebCore::IDBDatabase::closeConnection):
(WebCore::IDBDatabase::enqueueEvent):
(WebCore::IDBDatabase::canSuspend):

  • Modules/indexeddb/IDBDatabase.h:
  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::canSuspend):

  • Modules/indexeddb/IDBRequest.h:

LayoutTests:

Add layout tests to make sure that:

  • A page with an open indexeddb database is not page-cacheable
  • A page with a closed indexeddb database is page-cacheable
  • fast/history/page-cache-indexed-closed-db-expected.txt: Added.
  • fast/history/page-cache-indexed-closed-db.html: Added.
  • fast/history/page-cache-indexed-opened-db-expected.txt: Added.
  • fast/history/page-cache-indexed-opened-db.html: Added.
11:22 AM Changeset in webkit [180770] by Chris Dumez
  • 7 edits
    2 adds in trunk

Drop unnecessary DatabaseManager::hasOpenDatabases() in PageCache::canCachePageContainingThisFrame()
https://bugs.webkit.org/show_bug.cgi?id=142052

Reviewed by Andreas Kling.

Source/WebCore:

Drop WebDatabase special-handling from PageCache::canCachePageContainingThisFrame().
DatabaseContext is already an ActiveDOMObject and DatabaseContext::canSuspend() was
returning false so pages using WebDatabase would never enter the PageCache anyway.

This patch also overrides ActiveDOMObject::canSuspend() in DatabaseContext to only
return false when there are open databases. This check is now equivalent to the one
that was in PageCache.

An issue that remains is that DatabaseContext::m_hasOpenDatabases is never reset
to false so once a page opened a database, it will never be page-cacheable. This
will be taken care of separately though.

Test: fast/history/page-cache-webdatabase-opened-db.html

  • Modules/webdatabase/DatabaseContext.cpp:

(WebCore::DatabaseContext::canSuspend):

  • Modules/webdatabase/DatabaseContext.h:
  • history/PageCache.cpp:

(WebCore::logCanCacheFrameDecision):
(WebCore::PageCache::canCachePageContainingThisFrame):

  • page/DiagnosticLoggingKeys.cpp:

(WebCore::DiagnosticLoggingKeys::hasOpenDatabasesKey): Deleted.

  • page/DiagnosticLoggingKeys.h:

LayoutTests:

Add a layout test to check that a page with an open WebDatabase does
not enter the PageCache.

  • fast/history/page-cache-webdatabase-opened-db-expected.txt: Added.
  • fast/history/page-cache-webdatabase-opened-db.html: Added.
11:20 AM Changeset in webkit [180769] by achristensen@apple.com
  • 6 edits
    5 adds in trunk/Source/WebCore

Compile DFA to bytecode.
https://bugs.webkit.org/show_bug.cgi?id=142031

Reviewed by Benjamin Poulain.

  • WebCore.xcodeproj/project.pbxproj:
  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList):
(WebCore::ContentExtensions::ContentExtensionsBackend::shouldBlockURL):

  • contentextensions/ContentExtensionsBackend.h:
  • contentextensions/DFA.cpp:

(WebCore::ContentExtensions::DFA::nextState): Deleted.
(WebCore::ContentExtensions::DFA::actions): Deleted.

  • contentextensions/DFA.h:

(WebCore::ContentExtensions::DFA::size):
(WebCore::ContentExtensions::DFA::nodeAt):

  • contentextensions/DFABytecode.h: Added.

(WebCore::ContentExtensions::instructionSizeWithArguments):

  • contentextensions/DFABytecodeCompiler.cpp: Added.

(WebCore::ContentExtensions::append):
(WebCore::ContentExtensions::set32Bits):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitAppendAction):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitJump):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitCheckValue):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitTerminate):
(WebCore::ContentExtensions::DFABytecodeCompiler::reserveBufferCapacity):
(WebCore::ContentExtensions::DFABytecodeCompiler::compileNode):
(WebCore::ContentExtensions::DFABytecodeCompiler::compile):

  • contentextensions/DFABytecodeCompiler.h: Added.

(WebCore::ContentExtensions::DFABytecodeCompiler::DFABytecodeCompiler):

  • contentextensions/DFABytecodeInterpreter.cpp: Added.

(WebCore::ContentExtensions::getBits):
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpret):

  • contentextensions/DFABytecodeInterpreter.h: Added.

(WebCore::ContentExtensions::DFABytecodeInterpreter::DFABytecodeInterpreter):

10:50 AM Changeset in webkit [180768] by enrica@apple.com
  • 10 edits in trunk/Source/WebKit2

[WK2] REGRESSION(r180465): WebKit::WebPage::editorState() triggers a layout.
https://bugs.webkit.org/show_bug.cgi?id=142015

Reviewed by Alexey Proskuryakov.

We no longer compute the font information at selection
when we update the editor state.
Instead, we request the font information only when the selection
changes and the font panel is visible.
I added an observer to be notified of the font panel visibility
changes to update NSFontManager to reflect the font at the
current selection.

  • Shared/EditorState.cpp:

(WebKit::EditorState::encode):
(WebKit::EditorState::decode):

  • Shared/EditorState.h:

(WebKit::EditorState::EditorState):

  • UIProcess/API/mac/WKView.mm:

(-[WKView updateFontPanelIfNeeded]):
(-[WKView _selectionChanged]):
(-[WKView addWindowObserversForWindow:]):
(-[WKView removeWindowObservers]):
(-[WKView observeValueForKeyPath:ofObject:change:context:]):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::fontAtSelection):
(WebKit::WebPageProxy::fontAtSelectionCallback):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::platformEditorState):
(WebKit::WebPage::fontAtSelection):

10:43 AM Changeset in webkit [180767] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Use after free in WebCore::RenderNamedFlowFragment::restoreRegionObjectsOriginalStyle
https://bugs.webkit.org/show_bug.cgi?id=138366

Reviewed by Dave Hyatt.

This patch ensures that we clean up RenderNamedFlowFragment::m_renderObjectRegionStyle when embedded flow content is getting destroyed.

In m_renderObjectRegionStyle hash map, we store style information about the named flow's descendant children.
When a child is being detached from the tree, it removes itself from this hashmap.
We do it by traversing up on the ancestor chain and call removeFlowChildInfo() on the parent flow.
However in case of embedded flows (for example multicolumn content inside a region), we need to check whether the parent flow
is inside a flow too and continue the cleanup accordingly.

Source/WebCore:

Test: fast/regions/region-with-multicolumn-embedded-crash.html

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::removeFromRenderFlowThreadIncludingDescendants):

LayoutTests:

  • fast/regions/region-with-multicolumn-embedded-crash-expected.txt: Added.
  • fast/regions/region-with-multicolumn-embedded-crash.html: Added.
10:33 AM Changeset in webkit [180766] by beidson@apple.com
  • 19 edits in trunk/Source

Add API to remove a single content filter.
<rdar://problem/19977764> and https://bugs.webkit.org/show_bug.cgi?id=142088

Reviewed by Sam Weinig.

Source/WebCore:

  • page/UserContentController.cpp:

(WebCore::UserContentController::removeUserContentFilter):

  • page/UserContentController.h:

Source/WebKit2:

  • Shared/WebPageGroupData.h:
  • UIProcess/API/C/WKPageGroup.cpp:

(WKPageGroupRemoveUserContentFilter):

  • UIProcess/API/C/WKPageGroup.h:
  • UIProcess/API/Cocoa/WKUserContentController.mm:

(-[WKUserContentController _removeUserContentFilter:]):

  • UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:
  • UIProcess/UserContent/WebUserContentControllerProxy.cpp:

(WebKit::WebUserContentControllerProxy::WebUserContentControllerProxy):
(WebKit::WebUserContentControllerProxy::addProcess):
(WebKit::WebUserContentControllerProxy::addUserContentFilter):
(WebKit::WebUserContentControllerProxy::removeUserContentFilter):
(WebKit::WebUserContentControllerProxy::removeAllUserContentFilters):

  • UIProcess/UserContent/WebUserContentControllerProxy.h:
  • UIProcess/WebPageGroup.cpp:

(WebKit::WebPageGroup::addUserContentFilter):
(WebKit::WebPageGroup::removeUserContentFilter):

  • UIProcess/WebPageGroup.h:
  • WebProcess/UserContent/WebUserContentController.cpp:

(WebKit::WebUserContentController::removeUserContentFilter):

  • WebProcess/UserContent/WebUserContentController.h:
  • WebProcess/UserContent/WebUserContentController.messages.in:
  • WebProcess/WebPage/WebPageGroupProxy.cpp:

(WebKit::WebPageGroupProxy::WebPageGroupProxy):
(WebKit::WebPageGroupProxy::removeUserContentFilter):

  • WebProcess/WebPage/WebPageGroupProxy.h:
  • WebProcess/WebPage/WebPageGroupProxy.messages.in:
10:09 AM Changeset in webkit [180765] by Brent Fulgham
  • 16 edits in trunk

[Win] Remove remaining SafariTheme cruft
https://bugs.webkit.org/show_bug.cgi?id=142075

Reviewed by Anders Carlsson.

Remove reference to SafariTheme-switching preference.

Source/WebCore:

Tested by existing layout tests.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • config.h:
  • page/Settings.cpp:

(WebCore::Settings::fontRenderingMode):
(WebCore::Settings::setShouldPaintNativeControls): Deleted.

  • page/Settings.h:

(WebCore::Settings::shouldPaintNativeControls): Deleted.

  • platform/win/ScrollbarThemeWin.cpp:

(WebCore::ScrollbarTheme::nativeTheme):

  • rendering/RenderThemeWin.cpp:

(WebCore::RenderTheme::themeForPage):

Source/WebKit/win:

  • Interfaces/IWebPreferencesPrivate.idl:
  • WebKitClassFactory.cpp:

(WebKitClassFactory::WebKitClassFactory):
(WebKitClassFactory::QueryInterface):
(WebKitClassFactory::AddRef):
(WebKitClassFactory::Release):
(WebKitClassFactory::CreateInstance):
(WebKitClassFactory::LockServer):

  • WebPreferences.cpp:

(WebPreferences::shouldPaintNativeControls): Deleted.
(WebPreferences::setShouldPaintNativeControls): Deleted.

  • WebPreferences.h:
  • WebView.cpp:

(WebView::initWithFrame):
(WebView::notifyPreferencesChanged):

Tools:

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetWebPreferencesToConsistentValues):
(prepareConsistentTestingEnvironment):

9:49 AM Changeset in webkit [180764] by Carlos Garcia Campos
  • 7 edits
    2 adds in releases/WebKitGTK/webkit-2.8

Merge r180511 - Drawing an SVG image into a canvas using drawImage() ignores globalAlpha.
https://bugs.webkit.org/show_bug.cgi?id=141729.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-02-23
Reviewed by Simon Fraser.

Source/WebCore:

When drawing an SVG image and the drawing context is set to be transparent,
make sure this transparency is applied to the compositing layer.

Test: svg/canvas/canvas-global-alpha-svg.html

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::setAlpha): Make setAlpha() calls the platform
function and sets 'm_state.alpha' to the input value.

(WebCore::GraphicsContext::alpha): Add a new function 'alpha()' which
returns the value of the global alpha.

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContextState::GraphicsContextState): Add a new member
'alpha' to the context state since the getter function CGContextGetAlpha
is defined only in a private header file. Also move single line functions
from the source file to the header file.

  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::setPlatformAlpha):
(WebCore::GraphicsContext::setAlpha): Deleted.

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::setPlatformAlpha):
(WebCore::GraphicsContext::setAlpha): Deleted.
Rename setAlpha() to setPlatformAlpha() in the platform files. Add setAlpha()
to the core file. setAlpha() will set the value of 'm_state.alpha' and call
setPlatformAlpha().

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::draw): If the drawing context is transparent, apply its
global alpha value to the compositing layer.

LayoutTests:

Add a new test which draws an SVG image on a canvas after setting its
globalAlpha to a value less than 1.

  • svg/canvas/canvas-global-alpha-svg-expected.html: Added.
  • svg/canvas/canvas-global-alpha-svg.html: Added.
9:35 AM Changeset in webkit [180763] by Carlos Garcia Campos
  • 2 edits
    1 add in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore

Merge r180505 - Crash in DFGFrozenValue
https://bugs.webkit.org/show_bug.cgi?id=141883

Reviewed by Benjamin Poulain.

If a value might be a cell, then we have to have Graph freeze it rather than trying to
create the FrozenValue directly. Creating it directly is just an optimization for when you
know for sure that it cannot be a cell.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • tests/stress/regress-141883.js: Added. Hacked the original test to be faster while still crashing before this fix.
9:34 AM Changeset in webkit [180762] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r180503 - [GStreamer] Redundant track language notifications
https://bugs.webkit.org/show_bug.cgi?id=141908

Reviewed by Žan Doberšek.

Invoke languageChanged only if the language code actually
changed.

  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:

(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged):

9:32 AM Changeset in webkit [180761] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8

Merge r180502 - [GTK] Fails to compile with cmake 3.2.x
https://bugs.webkit.org/show_bug.cgi?id=141796

With cmake 3.2.x we have to explicitly ask for X11 otherwise the
X11_X11_LIB variable won't be set thus the X11 linker flags won't be
added and the build will fail.

Patch by Tomas Popela <tpopela@redhat.com> on 2015-02-23
Reviewed by Martin Robinson.

  • Source/cmake/OptionsGTK.cmake:
9:31 AM Changeset in webkit [180760] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.8

Merge r180492 - Print a console warning when HTMLCanvasElement exceeds the maximum size
https://bugs.webkit.org/show_bug.cgi?id=141861
<rdar://problem/19729145>

Reviewed by Simon Fraser.

Source/WebCore:

Add a warning if we ever try to create a canvas that is
too big.

No test because:

  1. We can't ref-test against console messages.
  2. The output is platform specific.
  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::createImageBuffer):

LayoutTests:

Add error message to expected results.

  • fast/canvas/canvas-toDataURL-crash-expected.txt:
  • fast/canvas/pattern-too-large-to-create-expected.txt:
9:27 AM Changeset in webkit [180759] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.8

Merge r180464 - Invalid assert in CompositeEditCommand::insertNodeAfter/insertNodeBefore
https://bugs.webkit.org/show_bug.cgi?id=141854

Reviewed by Ryosuke Niwa.

Inserting content before/after the body as the result of editing is a valid operation.
This assert was originally introduced to cover cases where edited content would get moved
out of body. However, asserting such operation properly is not possible atm.

Source/WebCore:

Test: editing/inserting/insert-as-body-sibling.html

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::insertNodeBefore):
(WebCore::CompositeEditCommand::insertNodeAfter):

LayoutTests:

  • editing/inserting/insert-as-body-sibling-expected.txt: Added.
  • editing/inserting/insert-as-body-sibling.html: Added.
9:22 AM Changeset in webkit [180758] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Add another batch of debug assert failures.

  • platform/win/TestExpectations:
9:21 AM Changeset in webkit [180757] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WTF

Merge r180434 - RunLoop::dispatch() should drop the mutex before calling wakeUp().
https://bugs.webkit.org/show_bug.cgi?id=141820

Reviewed by Alexey Proskuryakov.

RunLoop::wakeUp() calls into CoreFoundation which could take time,
so scope the mutex just to protect m_functionQueue.

  • wtf/RunLoop.cpp:

(WTF::RunLoop::dispatch):

9:16 AM Changeset in webkit [180756] by Carlos Garcia Campos
  • 9 edits in releases/WebKitGTK/webkit-2.8

Merge r180423 - DFG JIT needs to check for stack overflow at the start of Program and Eval execution
https://bugs.webkit.org/show_bug.cgi?id=141676

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Added stack check to the beginning of the code the DFG copmiler emits for Program and Eval nodes.
To aid in testing the code, I replaced the EvalCodeCache::maxCacheableSourceLength const
a options in runtime/Options.h. The test script, run-jsc-stress-tests, sets that option
to a huge value when running with the "Eager" options. This allows the updated test to
reliably exercise the code in questions.

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compile):
Added stack check.

  • bytecode/EvalCodeCache.h:

(JSC::EvalCodeCache::tryGet):
(JSC::EvalCodeCache::getSlow):

  • runtime/Options.h:

Replaced EvalCodeCache::imaxCacheableSourceLength with Options::maximumEvalCacheableSourceLength
so that it can be configured when running the related test.

Tools:

Set the newly added --maximumEvalCacheableSourceLength option for eager test runs. This is needed
to allow the eval out of stack tests to tier up. Without this option, we don't cache the likely
large string expression that we want to eval.

  • Scripts/run-jsc-stress-tests:

LayoutTests:

Updated the check for out of stack at eval entry test from using a fixed number of frame to
back track to now adjust the amount of back tracking up the stack based on where we can run a
simple eval(). At that point in the stack we try to cause an out of stack exception.

Also added a second pass of the test that takes the originally failing eval and tiers that
eval expression up to the DFG when used with the agreessive options of run-jsc-stress-tests.
This was done to reduce the amount of time the test takes to run in debug builds.

  • js/regress-141098-expected.txt:
  • js/script-tests/regress-141098.js:

(testEval):
(probeAndRecurse):

9:02 AM Changeset in webkit [180755] by Brent Fulgham
  • 3 edits in trunk/LayoutTests

[Win] Rebaseline test after r180726.

  • platform/win/TestExpectations: Mark a flaky test.
  • platform/win/editing/inserting/5058163-1-expected.txt:
8:59 AM Changeset in webkit [180754] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Add comment about CSS value name mangling

Unreviewed

  • css/CSSParser.cpp:

(WebCore::cssValueKeywordID):

8:50 AM Changeset in webkit [180753] by Carlos Garcia Campos
  • 12 edits in releases/WebKitGTK/webkit-2.8

Merge r180413 - Language ranges containing asterisks must be quoted as strings
https://bugs.webkit.org/show_bug.cgi?id=141659

Reviewed by Benjamin Poulain.

Source/WebCore:

As specified in [1], the language ranges containing asterisks must be quoted as strings.

[1] http://dev.w3.org/csswg/selectors-4/#the-lang-pseudo.

  • css/CSSGrammar.y.in:
  • css/CSSParser.cpp:

(WebCore::CSSParser::realLex):

LayoutTests:

Ensure language ranges containing asterisks are quoted as strings.

  • fast/css/css-selector-text-expected.txt:
  • fast/css/css-selector-text.html:
  • fast/css/parsing-css-lang-expected.txt:
  • fast/css/parsing-css-lang.html:
  • fast/selectors/lang-extended-filtering-expected.txt:
  • fast/selectors/lang-extended-filtering.html:
  • fast/selectors/lang-valid-extended-filtering-expected.txt:
  • fast/selectors/lang-valid-extended-filtering.html:
8:12 AM Changeset in webkit [180752] by Antti Koivisto
  • 12 edits in trunk/Source/WebCore

Cache glyph widths to GlyphPages
https://bugs.webkit.org/show_bug.cgi?id=142028

Reviewed by Andreas Kling.

Currently we have a separate cache in Font for glyph widths. In practice we always need
the widths so we can just cache them in GlyphPages. This simplifies the code and removes
a per-character hash lookup from WidthIterator.

  • platform/graphics/Font.cpp:

(WebCore::Font::Font):
(WebCore::Font::initCharWidths):
(WebCore::Font::platformGlyphInit):
(WebCore::createAndFillGlyphPage):
(WebCore::Font::computeWidthForGlyph):

Rename to make it clear this doesn't cache.

(WebCore::GlyphPage::setGlyphDataForIndex):

Initialize the width.
This could go to GlyphPage.cpp if we had one.

  • platform/graphics/Font.h:

(WebCore::Font::glyphZeroWidth):
(WebCore::Font::isZeroWidthSpaceGlyph):
(WebCore::Font::zeroGlyph): Deleted.
(WebCore::Font::setZeroGlyph): Deleted.
(WebCore::Font::widthForGlyph): Deleted.

  • platform/graphics/FontCascade.cpp:

(WebCore::offsetToMiddleOfGlyph):

  • platform/graphics/FontCascadeFonts.cpp:

(WebCore::FontCascadeFonts::glyphDataForCharacter):

  • platform/graphics/GlyphPage.h:

(WebCore::GlyphData::GlyphData):

Return width too as part of GlyphData.

(WebCore::GlyphPage::glyphDataForIndex):
(WebCore::GlyphPage::setGlyphDataForCharacter):
(WebCore::GlyphPage::setGlyphDataForIndex):
(WebCore::GlyphPage::GlyphPage):

  • platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::advanceInternal):

No need to lookup width separately now.

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::ComplexTextController::adjustGlyphsAndAdvances):

  • platform/graphics/mac/ComplexTextControllerCoreText.mm:

(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::advanceForGlyph):

  • rendering/svg/SVGTextRunRenderingContext.cpp:

(WebCore::missingGlyphForFont):

  • svg/SVGFontData.cpp:

(WebCore::SVGFontData::initializeFont):

6:57 AM Changeset in webkit [180751] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.8/Source/bmalloc

Merge r180430 - bmalloc should implement malloc introspection (to stop false-positive leaks when MallocStackLogging is off)
https://bugs.webkit.org/show_bug.cgi?id=141802

Reviewed by Andreas Kling.

Rolling back in with a fix for a crash seen while using GuardMalloc.

  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::grow):

  • bmalloc/VMHeap.h:
  • bmalloc/Zone.cpp: Re-land the old patch.

(bmalloc::Zone::size): Be sure to implement the size() function since
it's accessible indirectly via the malloc_zone_from_ptr public API --
and GuardMalloc calls it all the time.

(bmalloc::Zone::Zone):

  • bmalloc/Zone.h: Re-land the old patch.
6:51 AM Changeset in webkit [180750] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.8/Source/bmalloc

Merge r180363 - bmalloc should implement malloc introspection (to stop false-positive leaks when MallocStackLogging is off)
https://bugs.webkit.org/show_bug.cgi?id=141802

Reviewed by Andreas Kling.

Fixed a last-minute type.

The macro is OS, not PLATFORM.

  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::grow):

  • bmalloc/VMHeap.h:
  • bmalloc/Zone.h:
6:48 AM Changeset in webkit [180749] by Carlos Garcia Campos
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-2.8/Source/bmalloc

Merge r180359 - bmalloc should implement malloc introspection (to stop false-positive leaks when MallocStackLogging is off)
https://bugs.webkit.org/show_bug.cgi?id=141802

Reviewed by Andreas Kling.

This patch does the bare minimum to stop false positive leaks from
being reported by the Darwin leaks tool. We register each super chunk
as a single object, and then request that the leaks tool scan it.

  • bmalloc.xcodeproj/project.pbxproj: Added an abstraction for the malloc

zone introspection API.

  • bmalloc/Algorithm.h: Missing #include.
  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::grow):

  • bmalloc/VMHeap.h: Adopt the new abstraction.
  • bmalloc/Zone.cpp: Added.

(bmalloc::remoteRead): Helper for reading an object out of another process.
(bmalloc::Zone::enumerator):
(bmalloc::Zone::Zone): Register a malloc zone so that we will participate
in introspection.

  • bmalloc/Zone.h: Added.

(bmalloc::Zone::superChunks):
(bmalloc::Zone::addSuperChunk): Use a non-dynamically-allocated vector
since our dynamic allocations will not be scanned by leaks since they
will have the malloc VM tag.

6:43 AM Changeset in webkit [180748] by Carlos Garcia Campos
  • 6 edits
    2 adds in releases/WebKitGTK/webkit-2.8

Merge r180337 - REGRESSION(r179347): Clearing the PageCache no longer clears the PageCache.
<https://webkit.org/b/141788>

Reviewed by Anders Carlsson.

Source/WebCore:

Once again we've fallen into the TemporaryChange trap:

TemporaryChange<unsigned>(m_member, temporaryValue);

The code above doesn't actually do anything. Since the TemporaryChange local is not named,
it immediately goes out of scope and restores the original value of m_member.

Unless someone knows a C++ trick to prevent these, we'll need to add a style checker pass
to catch bugs like this. Whatever we do will be done separately from this bug.

Test: fast/history/page-cache-clearing.html

  • history/PageCache.cpp:

(WebCore::PageCache::pruneToSizeNow): Name the local so it lives longer.

  • testing/Internals.cpp:

(WebCore::Internals::clearPageCache):
(WebCore::Internals::pageCacheSize):

  • testing/Internals.h:
  • testing/Internals.idl: Add a way to clear the page cache and query its size from

window.internals to facilitate writing a simple test for this bug.

LayoutTests:

Add a simple test that navigates to a temporary page which immediately does a history.back
navigation. Upon returning to the first page, check that the page cache now has 1 entry,
and that clearing the page cache makes that entry go away.

  • fast/history/page-cache-clearing-expected.txt: Added.
  • fast/history/page-cache-clearing.html: Added.
6:35 AM Changeset in webkit [180747] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r180336 - Roll out r180280.

Crashes under IDBDatabase::closeConnection.
https://bugs.webkit.org/show_bug.cgi?id=141745
rdar://problem/19816412

  • Modules/indexeddb/IDBDatabase.cpp: (WebCore::IDBDatabase::closeConnection):
6:31 AM Changeset in webkit [180746] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.8

Merge r180328 - REGRESSION(r174761) Dangling spanner pointer in RenderMultiColumnSpannerPlaceholder.
https://bugs.webkit.org/show_bug.cgi?id=138224

Reviewed by Dave Hyatt.

It's wrong to call flowThreadRelativeWillBeRemoved(child).
RenderMultiColumnFlowThread::removeFlowChildInfo() does not mean that the child is actually about to be removed.
Should this introduce any regressions, we need to deal with those separately.

Source/WebCore:

Test: fast/multicol/crash-when-spanner-gets-moved-around.html

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::removeFlowChildInfo): Deleted.

  • rendering/RenderMultiColumnFlowThread.h:

LayoutTests:

  • fast/multicol/crash-when-spanner-gets-moved-around-expected.txt: Added.
  • fast/multicol/crash-when-spanner-gets-moved-around.html: Added.
6:26 AM Changeset in webkit [180745] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r180280 - Crashes under IDBDatabase::closeConnection.
https://bugs.webkit.org/show_bug.cgi?id=141745
rdar://problem/19816412

Reviewed by David Kilzer.

  • Modules/indexeddb/IDBDatabase.cpp: (WebCore::IDBDatabase::closeConnection):

Add a missing protector.

6:25 AM Changeset in webkit [180744] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.8

Merge r180278 - Justified ruby can cause lines to grow beyond their container
https://bugs.webkit.org/show_bug.cgi?id=141732

Reviewed by David Hyatt.

Source/WebCore:

After we re-layout RenderRubyRuns, this can change the environment upon which
ruby's overhang calculation is sensitive to. Before this patch, we would recalculate
the overhang after the RenderRubyRun gets relaid out. However, doing such causes the
effective width of the RenderRubyRun to change, which causes out subsequent
justification calculations to be off.

Therefore, we have a cycle; the amount of ruby overhang can change the justification
in a line, and the layout of the line affects the ruby overhang calculation. Instead
of performing a layout in a loop until it converges, this patch simply observes that
having a flush right edge is more valuable than having a perfectly correct overhang.
It therefore simply removes the secondary overhang calculation.

Test: fast/text/ruby-justification-flush.html

  • rendering/RenderBlockFlow.h:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::updateRubyForJustifiedText):
(WebCore::RenderBlockFlow::computeExpansionForJustifiedText):
(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):

LayoutTests:

Make sure that the right edge of a justified ruby line matches up with
the same line without ruby.

  • fast/text/ruby-justification-flush-expected.html: Added.
  • fast/text/ruby-justification-flush.html: Added.
6:19 AM Changeset in webkit [180743] by Carlos Garcia Campos
  • 4 edits
    1 copy in releases/WebKitGTK/webkit-2.8/Source/bmalloc

Merge r180272 - bmalloc: VMHeap should keep a record of all of its VM ranges (for malloc introspection)
https://bugs.webkit.org/show_bug.cgi?id=141759

Reviewed by Andreas Kling.

  • bmalloc.xcodeproj/project.pbxproj:
  • bmalloc/SuperChunk.h: Added.

(bmalloc::SuperChunk::create):
(bmalloc::SuperChunk::SuperChunk):
(bmalloc::SuperChunk::smallChunk):
(bmalloc::SuperChunk::mediumChunk):
(bmalloc::SuperChunk::largeChunk): Factored out super chunk creation
into a separate class, for clarity and type safety.

  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::grow):
(bmalloc::VMHeap::allocateSuperChunk): Renamed "allocateSuperChunk" to
"grow" because Andreas found "allocateSuperChunk" to be unclear.

  • bmalloc/VMHeap.h: Track all our VM ranges. We will use this information

for malloc introspection.

(bmalloc::VMHeap::allocateSmallPage):
(bmalloc::VMHeap::allocateMediumPage):
(bmalloc::VMHeap::allocateLargeRange): Updated for renames.

4:20 AM Changeset in webkit [180742] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/bmalloc

Merge r180264 - Build bmalloc through CMake as a static library. It's then linked either
into the WTF library (if built as a shared library) or into the JSC and
WebKit2 libraries. There's no need to build it as a standalone shared library.

Rubber-stamped by Carlos Garcia Campos.

  • CMakeLists.txt:
4:16 AM Changeset in webkit [180741] by Carlos Garcia Campos
  • 9 edits
    2 adds in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore

Merge r180258 - Fix the C-Loop LLInt build
https://bugs.webkit.org/show_bug.cgi?id=141618

Reviewed by Filip Pizlo.

I broke C-Loop when moving the common code of pow()
to JITOperations because that file is #ifdefed out
when the JITs are disabled.

It would be weird to move it back to MathObject since
the function needs to know about the calling conventions.

To avoid making a mess, I just gave the function its own file
that is used by both the runtime and the JIT.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGAbstractInterpreterInlines.h:
  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • runtime/MathCommon.cpp: Added.

(JSC::fdlibmScalbn):
(JSC::fdlibmPow):
(JSC::isDenormal):
(JSC::isEdgeCase):
(JSC::mathPowInternal):
(JSC::operationMathPow):

  • runtime/MathCommon.h: Added.
  • runtime/MathObject.cpp:
4:15 AM BadContent edited by Csaba Osztrogonác
add one more spammer (diff)
4:13 AM Changeset in webkit [180740] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore

Merge r180257 - Clean up OSRExit's considerAddingAsFrequentExitSite()
https://bugs.webkit.org/show_bug.cgi?id=141690

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-17
Reviewed by Anders Carlsson.

Looks like some code was removed from CodeBlock::tallyFrequentExitSites()
and the OSRExit were left untouched.

This patch cleans up the two loops and remove the boolean return
on considerAddingAsFrequentExitSite().

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::tallyFrequentExitSites):

  • dfg/DFGOSRExit.h:

(JSC::DFG::OSRExit::considerAddingAsFrequentExitSite):

  • dfg/DFGOSRExitBase.cpp:

(JSC::DFG::OSRExitBase::considerAddingAsFrequentExitSiteSlow):

  • dfg/DFGOSRExitBase.h:

(JSC::DFG::OSRExitBase::considerAddingAsFrequentExitSite):

  • ftl/FTLOSRExit.h:

(JSC::FTL::OSRExit::considerAddingAsFrequentExitSite):

4:09 AM Changeset in webkit [180739] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore

Merge r180248 - Unreviewed, rolling out r180184.
https://bugs.webkit.org/show_bug.cgi?id=141733

Caused infinite recursion on js/function-apply-aliased.html
(Requested by ap_ on #webkit).

Reverted changeset:

"REGRESSION(r180060): C Loop crashes"
https://bugs.webkit.org/show_bug.cgi?id=141671
http://trac.webkit.org/changeset/180184

Unreviewed, Restoring the C LOOP insta-crash fix in r180184.

Fixed a typo that only affected the C Loop in the prologue() macro in LowLevelInterpreter.asm.
After the stackHeightOKGetCodeBlock label, codeBlockSetter(t1) should be codeBlockGetter(t1).

  • llint/LowLevelInterpreter.asm: Fixed a typo.
4:08 AM BadContent edited by Csaba Osztrogonác
add one more spammer (diff)
4:03 AM Changeset in webkit [180738] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.8/Source/WebCore

Merge r180244 - Slight CachedPage class clean up
https://bugs.webkit.org/show_bug.cgi?id=141693

Reviewed by Andreas Kling.

Slight CachedPage class clean up:

  • Drop unnecessary m_timeStamp data member
  • Protect m_needsCaptionPreferencesChanged data member with #if ENABLE(VIDEO_TRACK)
  • Merge destroy() method into the destructor as this is the only caller
  • Update clear() to reset 2 data members that were missing
4:00 AM Changeset in webkit [180737] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore

Merge r180237 - StackLayoutPhase should use CodeBlock::usesArguments rather than FunctionExecutable::usesArguments
https://bugs.webkit.org/show_bug.cgi?id=141721
rdar://problem/17198633

Reviewed by Michael Saboff.

I've seen cases where the two are out of sync. We know we can trust the CodeBlock::usesArguments because
we use it everywhere else.

No test because I could never reproduce the crash.

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::usesArguments):

  • dfg/DFGStackLayoutPhase.cpp:

(JSC::DFG::StackLayoutPhase::run):

3:57 AM Changeset in webkit [180736] by Carlos Garcia Campos
  • 4 edits
    3 adds in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore

Merge r180234 - Throwing from an FTL call IC slow path may result in tag registers being clobbered on 64-bit CPUs
https://bugs.webkit.org/show_bug.cgi?id=141717
rdar://problem/19863382

Reviewed by Geoffrey Garen.

The best solution is to ensure that the engine catching an exception restores tag registers.

Each of these new test cases reliably crashed prior to this patch and they don't crash at all now.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_catch):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
  • tests/stress/throw-from-ftl-call-ic-slow-path-cells.js: Added.
  • tests/stress/throw-from-ftl-call-ic-slow-path-undefined.js: Added.
  • tests/stress/throw-from-ftl-call-ic-slow-path.js: Added.
3:54 AM Changeset in webkit [180735] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore

Merge r180232 - [ARM] Add the necessary setupArgumentsWithExecState after bug141332
https://bugs.webkit.org/show_bug.cgi?id=141714

Reviewed by Michael Saboff.

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

3:51 AM Changeset in webkit [180734] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.8

Merge r180649 - ASan does not like JSC::MachineThreads::tryCopyOtherThreadStack.
<https://webkit.org/b/141672>

Reviewed by Alexey Proskuryakov.

ASan does not like the fact that we memcpy the stack for GC scans. So,
we're working around this by using our own memcpy (asanUnsafeMemcpy)
implementation that we can tell ASan to ignore.

Source/JavaScriptCore:

  • heap/MachineStackMarker.cpp:

(JSC::asanUnsafeMemcpy):

Tools:

Also removed the previous added directive to ignore *tryCopyOtherThreadStack*
which isn't effective for working around this issue.

  • asan/webkit-asan-ignore.txt:
12:03 AM Changeset in webkit [180733] by bshafiei@apple.com
  • 6 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r173806. rdar://problem/19871063

12:00 AM WebKitGTK/2.6.x edited by sergio@webkit.org
Readded the fonts changes with the regression fix (diff)

Feb 26, 2015:

11:26 PM Changeset in webkit [180732] by fpizlo@apple.com
  • 4 edits
    1 delete in trunk/Source/JavaScriptCore

Unreviewed, roll out r180723. It broke a bunch of tests.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::constLocal):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::ConstDeclNode::emitCodeSingle):

  • tests/stress/const-arguments.js: Removed.
11:04 PM Changeset in webkit [180731] by bshafiei@apple.com
  • 5 edits in branches/safari-600.4.10-branch/Source

Versioning.

11:03 PM Changeset in webkit [180730] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.4.10.5

New tag.

10:56 PM Changeset in webkit [180729] by bshafiei@apple.com
  • 6 edits in branches/safari-600.1.4.15-branch

Merge patch for r180129, r180133. rdar://problem/19870998

10:44 PM Changeset in webkit [180728] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch

Merged r180087. rdar://problem/19871068

10:06 PM Changeset in webkit [180727] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build fix after r180717.

  • Modules/webdatabase/DatabaseThread.cpp: (WebCore::DatabaseUnpauseTask::doPerformTask):
9:51 PM Changeset in webkit [180726] by rniwa@webkit.org
  • 8 edits in trunk

isEditablePosition and related functions shouldn't move position out of table
https://bugs.webkit.org/show_bug.cgi?id=129200

Reviewed by Darin Adler.

Source/WebCore:

This patch removes the legacy editing position for elements display: table in its computed style.
Previously, we used (table, 0) and (table, !0) to denote positions immediately before and after
such an element for historical reasons. This forced us to update the style tree before computing
the editability of a position because we have to check the editability of the position outside
the element with display: table if the position was using such a legacy editing position.
e.g. if a table was not editable (contenteditable=false), the position before the table (table, 0)
should still be considered editable if the parent node of the table was editable.

This patch replaces such a legacy editing position by using modern position types:
PositionIsBeforeAnchor and PositionIsAfterAnchor.

No new tests since there should be no change in the user perceived editing operations.

  • dom/Position.cpp:

(WebCore::Position::previous): Setup the node and the offset correctly when the original position's
type is PositionIsBeforeAnchor. Also return a position before or after node when the node we found
is "atomic" (e.g. input, img, br, etc...) or it's a table. This avoids creating a legacy editing
position inside a table.
(WebCore::Position::next): Ditto.
(WebCore::Position::atStartOfTree): Use atFirstEditingPositionForNode, which takes care of all types
of positions.
(WebCore::Position::atEndOfTree): Ditto.
(WebCore::Position::downstream): Return a position before a node instead of a legacy editing position
for an atomic element or a table element as done in the equivalent code in Position::upstream.
(WebCore::Position::isCandidate): Don't treat a position inside a table to be a candidate. e.g.
(table, 1) when there are more than two children of the table.

  • dom/PositionIterator.cpp:

(WebCore::PositionIterator::operator Position): PositionIterator internally uses legacy editing
positions. So convert it to a modern position by returning a position before or after a table here.

  • editing/ApplyBlockElementCommand.cpp:

(WebCore::ApplyBlockElementCommand::formatSelection): Check that the unsplittable element we found
is actually empty before executing the simple code path for an empty unsplittable element. Without
this check, block formatting a table element will fail.

  • editing/htmlediting.cpp:

(WebCore::isEditablePosition): Use containerNode instead of deprecatedNode because the editability
of a position before or after an element is determined by its parent, not the element itself.
(WebCore::isAtUnsplittableElement): Ditto.
(WebCore::isRichlyEditablePosition): Ditto. Removed the code that moved the starting node out of
an element with display: table. This is the code removal for which this patch was made.
(WebCore::editableRootForPosition): Ditto.

LayoutTests:

Rebaselined a test. There is no visual difference.

  • platform/mac/editing/inserting/5058163-1-expected.txt:
9:32 PM Changeset in webkit [180725] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Add a subtle blue background for selected console messages
https://bugs.webkit.org/show_bug.cgi?id=142073

Reviewed by Timothy Hatcher.

  • UserInterface/Views/LogContentView.css:

(.console-item.selected::after):
(.console-messages:focus .console-item.selected):
(.console-messages:focus .console-item.selected + .console-item):
(.console-error-level + .console-item):
(.console-error-level .section .header .title):
(.console-warning-level):
(.console-warning-level + .console-item):

9:27 PM Changeset in webkit [180724] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] More test expectation updates.

  • platform/win/TestExpectations:
9:12 PM Changeset in webkit [180723] by fpizlo@apple.com
  • 4 edits
    1 add in trunk/Source/JavaScriptCore

BytecodeGenerator::constLocal() behaves identically to BytecodeGenerator::local() for the purposes of its one caller
https://bugs.webkit.org/show_bug.cgi?id=142071

Rubber stamped by Benjamin Poulain.

The only behavioral differences between constLocal() and local() are:

  • constLocal() doesn't have a special case for "this" that overrides other checks like the shouldOptimizeLocals() check. But the one user of constLocal() is for the "const x" expression, and "const this" doesn't parse.
  • constLocal() won't createArgumentsIfNecessary() for "arguments". But it's harmless if it does, since its one user assigns to the local.

So, we can remove constLocal() and make its one caller use local() instead.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::constLocal): Deleted.

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::ConstDeclNode::emitCodeSingle):

  • tests/stress/const-arguments.js: Added.

(foo):
(check):

8:11 PM Changeset in webkit [180722] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Colored console messages apply text color to object tree properties
https://bugs.webkit.org/show_bug.cgi?id=142051

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-26
Reviewed by Timothy Hatcher.

  • UserInterface/Views/ObjectPreviewView.css:

(.object-preview):

  • UserInterface/Views/ObjectTreeView.css:

(.object-tree):
Default the color to black within Object Tree and Object Preview views.

8:08 PM Changeset in webkit [180721] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Clear Log on Reload clears some logs that were after reload
https://bugs.webkit.org/show_bug.cgi?id=142070

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-26
Reviewed by Timothy Hatcher.

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype._sessionStarted):
We can bail after calling clearLog, since that will already start
a new session for us.

(WebInspector.LogContentView.prototype._clearLog):
Don't trigger a backend clear messages, since that will cause us to
clear messages received between the request and response.

6:07 PM Changeset in webkit [180720] by timothy_horton@apple.com
  • 16 edits
    6 adds in trunk

Implement <attachment> element appearance on Mac
https://bugs.webkit.org/show_bug.cgi?id=142023

Reviewed by Dean Jackson.

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

  • css/CSSValueKeywords.in:
  • css/html.css:

(attachment):

  • platform/ThemeTypes.h:

Add a new -webkit-appearance value, attachment.

  • WebCore.xcodeproj/project.pbxproj:
  • html/HTMLAttachmentElement.cpp:

(WebCore::HTMLAttachmentElement::setFile):
Let the renderer know when the file changes (so it can relayout and repaint).

(WebCore::HTMLAttachmentElement::filePath):
(WebCore::HTMLAttachmentElement::fileName):

  • html/HTMLAttachmentElement.h:

Handy acccessors for the full path and the name of the file.

  • platform/spi/mac/IconServicesSPI.h: Added.
  • platform/spi/mac/LaunchServicesSPI.h: Added.

Add some IconServices and LaunchServices SPI headers.

  • rendering/RenderAttachment.cpp:

(WebCore::RenderAttachment::RenderAttachment):
Don't have a default intrinsic size; we'll adjust in layout().

(WebCore::RenderAttachment::isSelected):
(WebCore::RenderAttachment::isFocused):
(WebCore::RenderAttachment::isSelectedOrFocused):
Factor out from paintReplaced().

(WebCore::RenderAttachment::layout):
Use RenderTheme to compute the intrinsic size of this attachment.

(WebCore::RenderAttachment::paintReplaced):
Use RenderTheme to paint the attachment.

(WebCore::RenderAttachment::representedFileChanged):
When the represented file changes, we need to recompute the intrinsic size and repaint.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::adjustAttachmentStyle):
(WebCore::RenderTheme::paintAttachment):
Plumb through the attachment appearance.

  • rendering/RenderAttachment.h:
  • rendering/RenderTheme.h:

(WebCore::RenderTheme::paintAttachment):
(WebCore::RenderTheme::attachmentIntrinsicSize):

  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:

(WebCore::attachmentIconBackgroundColor):
(WebCore::attachmentIconBorderColor):
(WebCore::AttachmentLayout):
AttachmentLayout lays out the innards of the RenderThemeMac attachment
presentation: an icon with an optional bordered background, with a label
underneath it with an optional background.

(WebCore::RenderThemeMac::attachmentIntrinsicSize):
(WebCore::paintAttachmentIconBackground):
(WebCore::paintAttachmentIcon):
(WebCore::RenderThemeMac::paintAttachmentLabelBackground):
(WebCore::RenderThemeMac::paintAttachmentLabel):
(WebCore::RenderThemeMac::paintAttachment):
Paint the attachment element. Paint the optional backgrounds (and swap
out the text color) if the element is selected/focused.

6:07 PM Changeset in webkit [180719] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Assertion fix for r180711: The bool returning form of BytecodeGenerator::addVar() can be removed.
<https://webkit.org/b/142064>

Reviewed by Joseph Pecoraro.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::addVar):

5:57 PM Changeset in webkit [180718] by commit-queue@webkit.org
  • 15 edits
    7 adds in trunk

AX: Expose caret browsing preference to accessibility API
https://bugs.webkit.org/show_bug.cgi?id=141862

Patch by Doug Russell <d_russell@apple.com> on 2015-02-26
Reviewed by Chris Fleizach.

Exposing the caret browsing setting on WebCore::Frame via the accessibility API would allow assistive tech apps to enable it contextually (for example, when the assistive tech app is running).
Enabling caret browsing when assistive tech apps are running greatly improves the reliability of keyboard navigation on the web. Most especially in cases where selection would be disrupted by focus events.

Source/WebCore:

Tests: platform/mac/accessibility/caret-browsing-arrow-nav.html

platform/mac/accessibility/caret-browsing-attribute.html
platform/mac/accessibility/caret-browsing-tab-selection.html

  • accessibility/AccessibilityObject.h:
  • accessibility/mac/AccessibilityObjectMac.mm:

(WebCore::AccessibilityObject::caretBrowsingEnabled):
(WebCore::AccessibilityObject::setCaretBrowsingEnabled):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[WebAccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
(-[WebAccessibilityObjectWrapper _accessibilitySetValue:forAttribute:]):
(-[WebAccessibilityObjectWrapper _accessibilitySetTestValue:forAttribute:]):

Tools:

  • DumpRenderTree/AccessibilityUIElement.cpp:

(setBoolAttributeValueCallback):
(selectedTextMarkerRangeCallback):
(resetSelectedTextMarkerRangeCallback):
(AccessibilityUIElement::setBoolAttributeValue):
(AccessibilityUIElement::selectedTextMarkerRange):
(AccessibilityUIElement::resetSelectedTextMarkerRange):
(AccessibilityUIElement::getJSClass):

  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::setBoolAttributeValue):
(AccessibilityUIElement::selectedTextMarkerRange):
(AccessibilityUIElement::resetSelectedTextMarkerRange):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::selectedTextMarkerRange):
(WTR::AccessibilityUIElement::resetSelectedTextMarkerRange):
(WTR::AccessibilityUIElement::setBoolAttributeValue):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::setBoolAttributeValue):
(WTR::AccessibilityUIElement::selectedTextMarkerRange):
(WTR::AccessibilityUIElement::resetSelectedTextMarkerRange):

LayoutTests:

  • accessibility/parent-delete-expected.txt:
  • platform/mac/accessibility/caret-browsing-arrow-nav-expected.txt: Added.
  • platform/mac/accessibility/caret-browsing-arrow-nav.html: Added.
  • platform/mac/accessibility/caret-browsing-attribute-expected.txt: Added.
  • platform/mac/accessibility/caret-browsing-attribute.html: Added.
  • platform/mac/accessibility/caret-browsing-tab-selection-expected.txt: Added.
  • platform/mac/accessibility/caret-browsing-tab-selection.html: Added.
  • platform/mac/accessibility/document-attributes-expected.txt:
  • platform/mac/accessibility/resources/accessibility-helper.js: Added.

(clearSelectionAndFocusOnWebArea):
(elementAtStartMarkerOfSelectedTextMarkerRange):
(caretBrowsingEnabled):
(setCaretBrowsingEnabled):

5:56 PM Changeset in webkit [180717] by gyuyoung.kim@samsung.com
  • 7 edits in trunk/Source/WebCore

Remove unnecessary create() factory functions
https://bugs.webkit.org/show_bug.cgi?id=142039

Reviewed by Chris Dumez.

Clean up remaining JSCryptoKeySerializationJWK::create, HTMLMediaSession::create,
and DatabaseUnpauseTask::create.

  • Modules/webdatabase/DatabaseThread.cpp:

(WebCore::DatabaseUnpauseTask::DatabaseUnpauseTask):
(WebCore::DatabaseThread::setPaused):
(WebCore::DatabaseUnpauseTask::create): Deleted.

  • bindings/js/JSCryptoKeySerializationJWK.h:
  • bindings/js/JSSubtleCryptoCustom.cpp:

(WebCore::importKey):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement):

  • html/HTMLMediaSession.cpp:

(WebCore::HTMLMediaSession::create): Deleted.

  • html/HTMLMediaSession.h:
5:25 PM Changeset in webkit [180716] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

MachineThreads::Thread clean up has a use after free race condition.
<https://webkit.org/b/141990>

Reviewed by Filip Pizlo.

MachineThreads::Thread clean up relies on the clean up mechanism
implemented in _pthread_tsd_cleanup_key(), which looks like this:

void _pthread_tsd_cleanup_key(pthread_t self, pthread_key_t key)
{

void (*destructor)(void *);
if (_pthread_key_get_destructor(key, &destructor)) {

void ptr = &self->tsd[key];
void *value = *ptr;

=== Start of window for the bug to manifest =================

At this point, this thread has cached "destructor" and "value"
(which is a MachineThreads*). If the VM gets destructed (along
with its MachineThreads registry) by another thread, then this
thread will have no way of knowing that the MachineThreads* is
now pointing to freed memory. Calling the destructor below will
therefore result in a use after free scenario when it tries to
access the MachineThreads' data members.

if (value) {

*ptr = NULL;
if (destructor) {

=== End of window for the bug to manifest ==================

destructor(value);

}

}

}

}

The fix is to add each active MachineThreads to an ActiveMachineThreadsManager,
and always check if the manager still contains that MachineThreads object
before we call removeCurrentThread() on it. When MachineThreads is destructed,
it will remove itself from the manager. The add, remove, and checking
operations are all synchronized on the manager's lock, thereby ensuring that
the MachineThreads object, if found in the manager, will remain alive for the
duration of time we call removeCurrentThread() on it.

There's also possible for the MachineThreads object to already be destructed
and another one happened to have been instantiated at the same address.
Hence, we should only remove the exiting thread if it is found in the
MachineThreads object.

There is no test for this issue because this bug requires a race condition
between 2 threads where:

  1. Thread B, which had previously used the VM, exiting and getting to the bug window shown in _pthread_tsd_cleanup_key() above.
  2. Thread A destructing the VM (and its MachineThreads object) within that window of time before Thread B calls the destructor.

It is not possible to get a reliable test case without invasively
instrumenting _pthread_tsd_cleanup_key() or MachineThreads::removeCurrentThread()
to significantly increase that window of opportunity.

  • heap/MachineStackMarker.cpp:

(JSC::ActiveMachineThreadsManager::Locker::Locker):
(JSC::ActiveMachineThreadsManager::add):
(JSC::ActiveMachineThreadsManager::remove):
(JSC::ActiveMachineThreadsManager::contains):
(JSC::ActiveMachineThreadsManager::ActiveMachineThreadsManager):
(JSC::activeMachineThreadsManager):
(JSC::MachineThreads::MachineThreads):
(JSC::MachineThreads::~MachineThreads):
(JSC::MachineThreads::removeThread):
(JSC::MachineThreads::removeThreadIfFound):
(JSC::MachineThreads::removeCurrentThread): Deleted.

  • heap/MachineStackMarker.h:
5:15 PM Changeset in webkit [180715] by Joseph Pecoraro
  • 35 edits in trunk

Web Inspector: Save Console Evaluations into Command Line variables $1-$99 ($n)
https://bugs.webkit.org/show_bug.cgi?id=142061

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/protocol/Debugger.json:
  • inspector/protocol/Runtime.json:

Input flag "saveResult" on whether we should try to save a result.
Output int "savedResultIndex" to tell the frontend the saved state.

  • inspector/InjectedScriptSource.js:

Handle saving and clearing $1-$99 values.
Include in BasicCommandLineAPI for JSContext inspection.

  • inspector/InjectedScriptBase.cpp:

(Inspector::InjectedScriptBase::makeEvalCall):

  • inspector/InjectedScriptBase.h:

Allow an optional "savedResultIndex" out value on evals.

  • inspector/InjectedScript.cpp:

(Inspector::InjectedScript::evaluate):
(Inspector::InjectedScript::evaluateOnCallFrame):

  • inspector/InjectedScript.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::evaluateOnCallFrame):

  • inspector/agents/InspectorDebuggerAgent.h:
  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::evaluate):

  • inspector/agents/InspectorRuntimeAgent.h:

Plumbing for new in and out parameters.

Source/WebCore:

  • inspector/CommandLineAPIModuleSource.js:

Replace $1-$4 "inspected objects" with $1-$99 "saved results".

  • bindings/js/JSCommandLineAPIHostCustom.cpp:

(WebCore::JSCommandLineAPIHost::inspectedObject):

  • inspector/CommandLineAPIHost.cpp:

(WebCore::CommandLineAPIHost::CommandLineAPIHost):
(WebCore::CommandLineAPIHost::InspectableObject::get):
(WebCore::CommandLineAPIHost::addInspectedObject):
(WebCore::CommandLineAPIHost::inspectedObject):
(WebCore::CommandLineAPIHost::clearInspectedObjects): Deleted.

  • inspector/CommandLineAPIHost.h:
  • inspector/CommandLineAPIHost.idl:

Since we now just save the single $0 inspected object, eliminate
keeping track of a list of 5 values.

Source/WebInspectorUI:

  • UserInterface/Controllers/RuntimeManager.js:

(WebInspector.RuntimeManager.prototype.evalCallback):
(WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
Add a saveResult parameter for the new protocol command in parameter.

  • UserInterface/Views/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl.prototype._formatMessage):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsObject):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArray):
(WebInspector.ConsoleMessageImpl.prototype._rootPropertyPathForObject):

  • UserInterface/Views/ObjectTreeView.js:

(WebInspector.ObjectTreeView.prototype.appendTitleSuffix):
For console evaluation results, show a "= $n" when the evaluation was
given a saved result index.

  • UserInterface/Views/LogContentView.css:

(.console-saved-variable):

  • UserInterface/Views/ObjectPreviewView.css:

(.object-preview-name):
Make $n and class names in previews always non-italics.

  • UserInterface/Controllers/JavaScriptLogViewController.js:

(WebInspector.JavaScriptLogViewController.prototype.printResult):
(WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted):

  • UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:

(get WebInspector.JavaScriptRuntimeCompletionProvider.prototype.):

  • UserInterface/Controllers/LogManager.js:

(WebInspector.LogManager.prototype.messagesCleared):
(WebInspector.LogManager.prototype._mainResourceDidChange):
Try to provide better autocompletion for $n, by populating autocompletion menus
from $1-$n where n is the maximum saved result index seen. Clear the maximum
when we clear the console.

  • UserInterface/Views/ConsoleCommandResult.js:

(WebInspector.ConsoleCommandResult):
(WebInspector.ConsoleCommandResult.clearMaximumSavedResultIndex):
Keep track of the maximum savedResultIndex for console evaluation results.

LayoutTests:

  • inspector/debugger/command-line-api-exception-nested-catch.html:
  • inspector/debugger/command-line-api-exception.html:
  • inspector/model/remote-object-get-properties.html:
  • inspector/model/remote-object-weak-collection.html:
  • inspector/model/remote-object.html:

Update evaluateInInspectedWindow call sites for new parameter.

5:15 PM Changeset in webkit [180714] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Set/Map appear as lossless when they have lossy entries
https://bugs.webkit.org/show_bug.cgi?id=142050

Reviewed by Timothy Hatcher.

  • UserInterface/Views/ObjectPreviewView.js:

(WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
Take into account the lossless states of entry keys and values.

5:15 PM Changeset in webkit [180713] by Joseph Pecoraro
  • 14 edits
    2 copies
    3 adds
    1 delete in trunk/Source/WebInspectorUI

Web Inspector: New ObjectTree UI for Arrays / Maps / Sets
https://bugs.webkit.org/show_bug.cgi?id=142037

Reviewed by Timothy Hatcher.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Main.html:

Miscellaneous changes.

  • UserInterface/Models/PropertyDescriptor.js:

(WebInspector.PropertyDescriptor.prototype.isIndexProperty):
Useful for quickly checking if this property is numeric and possibly
an array index.

  • UserInterface/Models/PropertyPath.js:

(WebInspector.PropertyPath.prototype.appendMapKey):
(WebInspector.PropertyPath.prototype.appendMapValue):
(WebInspector.PropertyPath.prototype.appendSetIndex):
Be specific about property paths into maps / sets. Note that a map
value may be displayable if the key is simple.

  • UserInterface/Protocol/RemoteObject.js:

(WebInspector.RemoteObject.prototype.hasValue):
A simple value RemoteObject may have the value "undefined". So provide
a falsey proof helper that actually checks if we have a value.

(WebInspector.RemoteObject.prototype.isArray):
(WebInspector.RemoteObject.prototype.backendGetOwnPropertyDescriptor):
(WebInspector.RemoteObject.prototype.wrappedCallback):
(WebInspector.RemoteObject.prototype.getOwnPropertyDescriptor):
Currently backend APIs exist only to get all properties. In the case
of collections, we often want to get only one property (proto).
This is a simple implementation on top of callFunctionOn.

  • UserInterface/Views/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsObject):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArray):
(WebInspector.ConsoleMessageImpl.prototype.appendUndefined): Deleted.
(WebInspector.ConsoleMessageImpl.prototype._printArray): Deleted.
(WebInspector.ConsoleMessageImpl.prototype._formatAsArrayEntry): Deleted.
Simplify array formatted to just use an ObjectTreeView. Add fixmes
that we should seed the ObjectTreeView with a starting property path.

  • UserInterface/Views/FormattedValue.css:

(.formatted-node > ol):
Sometimes, a node's display was getting overridden by various console styles.
Force a node to always display block. We may be able to remove this later.

  • UserInterface/Views/FormattedValue.js:

(WebInspector.FormattedValue.createObjectTreeOrFormattedValueForRemoteObject):
Helper for formatting a node / object / value more easily. This
is used by all collection types.

  • UserInterface/Views/ObjectPreviewView.js:

(WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
We lost the nice sparse array support when switching to the new preview path,
we should add it back.

  • UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:

(.object-tree-array-index):
(.object-tree-array-index > .titles):
(.object-tree-array-index > .icon):
(.object-tree-array-index .index-name):
(.object-tree-array-index .index-value .object-tree):
(.object-tree-array-index .index-value .object-tree .object-tree-outline):
(.object-tree-property + ol .object-tree-array-index):
New styles specific to array index tree elements.

  • UserInterface/Views/ObjectTreeMapEntryTreeElement.css:

(.object-tree-array-index.object-tree-map-entry > .titles > .title > .index-name):
(.object-tree-map-entry.key):
(.object-tree-map-entry.key:first-of-type):
(.object-tree-map-entry):
New styles specific to map key/value tree elements.

  • UserInterface/Views/ObjectTreeCollectionTreeElement.js: Removed.

Remove old collection implementation.

  • UserInterface/Views/ObjectTreeArrayIndexTreeElement.js: Added.

(WebInspector.ObjectTreeArrayIndexTreeElement):
(WebInspector.ObjectTreeArrayIndexTreeElement.prototype.get property):
(WebInspector.ObjectTreeArrayIndexTreeElement.prototype._resolvedValue):
(WebInspector.ObjectTreeArrayIndexTreeElement.prototype._propertyPathType):
(WebInspector.ObjectTreeArrayIndexTreeElement.prototype._resolvedValuePropertyPath):
(WebInspector.ObjectTreeArrayIndexTreeElement.prototype._thisPropertyPath):
(WebInspector.ObjectTreeArrayIndexTreeElement.prototype._propertyPathString):
(WebInspector.ObjectTreeArrayIndexTreeElement.prototype._updateTitle):
(WebInspector.ObjectTreeArrayIndexTreeElement.prototype._titleFragment):
(WebInspector.ObjectTreeArrayIndexTreeElement.prototype._createInteractiveGetterElement.):
(WebInspector.ObjectTreeArrayIndexTreeElement.prototype._createReadOnlyIconElement):
Index followed by formatted value. Unfortunately a page can hack up an array
with getter properties, so also support getter values in an array. This ends
up copying a lot of ObjectTreePropertyTreeElement as a result.

  • UserInterface/Views/ObjectTreeMapEntryTreeElement.js: Added.

(WebInspector.ObjectTreeMapEntryTreeElement):
(WebInspector.ObjectTreeMapEntryTreeElement.prototype.get object):
(WebInspector.ObjectTreeMapEntryTreeElement.prototype._propertyPathString):
(WebInspector.ObjectTreeMapEntryTreeElement.prototype._titleFragment):
(WebInspector.ObjectTreeMapKeyTreeElement):
(WebInspector.ObjectTreeMapKeyTreeElement.prototype.displayPropertyName):
(WebInspector.ObjectTreeMapKeyTreeElement.prototype.resolvedValuePropertyPath):
(WebInspector.ObjectTreeMapValueTreeElement):
(WebInspector.ObjectTreeMapValueTreeElement.prototype.displayPropertyName):
(WebInspector.ObjectTreeMapValueTreeElement.prototype.resolvedValuePropertyPath):
Key/value followed by formatted value.

  • UserInterface/Views/ObjectTreeSetIndexTreeElement.js: Added.

(WebInspector.ObjectTreeSetIndexTreeElement):
(WebInspector.ObjectTreeSetIndexTreeElement.prototype.get object):
(WebInspector.ObjectTreeSetIndexTreeElement.prototype._resolvedValuePropertyPath):
(WebInspector.ObjectTreeSetIndexTreeElement.prototype._titleFragment):
Dot followed by formatted value.

  • UserInterface/Views/ObjectTreePropertyTreeElement.css:

(.object-tree-property > .titles):
Reformat.

  • UserInterface/Views/ObjectTreeView.css:

(.object-tree-property :matches(.formatted-string, .formatted-regexp)):
Upgrade generic styles.

  • UserInterface/Views/ObjectTreePropertyTreeElement.js:

(WebInspector.ObjectTreePropertyTreeElement.prototype._resolvedValue):
(WebInspector.ObjectTreePropertyTreeElement.prototype._resolvedValuePropertyPath):
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateChildren):
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateChildrenInternal):
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateEntries):
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateProperties):

  • UserInterface/Views/ObjectTreeView.js:

(WebInspector.ObjectTreeView):
(WebInspector.ObjectTreeView.emptyMessageElement):
(WebInspector.ObjectTreeView.prototype.expand):
(WebInspector.ObjectTreeView.prototype.collapse):
(WebInspector.ObjectTreeView.prototype.update):
(WebInspector.ObjectTreeView.prototype._updateChildren):
(WebInspector.ObjectTreeView.prototype._updateEntries):
(WebInspector.ObjectTreeView.prototype._updateProperties):
(WebInspector.ObjectTreeView.prototype._handlePreviewOrTitleElementClick):
Both ObjectTreeView and ObjectTreePropertyTreeElement will fetch only collection
entries or properties depending on the type of the object being expanded.

(WebInspector.ObjectTreeView.prototype._trackWeakEntries):
(WebInspector.ObjectTreeView.prototype._untrackWeakEntries):
Allow WeakMap entries to be Garbage Collected when the ObjectTreeView
collapses or the console is cleared. FIXME for handling sub-tree WeakMaps.

5:04 PM Changeset in webkit [180712] by gyuyoung.kim@samsung.com
  • 10 edits in trunk/Source/WebCore

Remove unnecessary create() factory functions in CDMFoo, NamedNodeMap
https://bugs.webkit.org/show_bug.cgi?id=141902

Reviewed by Darin Adler.

Create instance using std::make_unique<> in CDMFactory directly. To do that,
CDMFactory uses lambdas. Additionally this patch removes NamedNodeMap::create() as well.

No new tests, no behavior changes.

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::installedCDMFactories):

  • Modules/encryptedmedia/CDM.h:
  • Modules/encryptedmedia/CDMPrivateClearKey.h:

(WebCore::CDMPrivateClearKey::CDMPrivateClearKey):
(WebCore::CDMPrivateClearKey::create): Deleted.

  • Modules/encryptedmedia/CDMPrivateMediaPlayer.h:

(WebCore::CDMPrivateMediaPlayer::create): Deleted.

  • dom/Element.cpp:

(WebCore::Element::attributes):

  • dom/NamedNodeMap.h:

(WebCore::NamedNodeMap::NamedNodeMap):
(WebCore::NamedNodeMap::create): Deleted.

  • platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.h:

(WebCore::CDMPrivateMediaSourceAVFObjC::create): Deleted.

4:55 PM Changeset in webkit [180711] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

The bool returning form of BytecodeGenerator::addVar() can be removed
https://bugs.webkit.org/show_bug.cgi?id=142064

Reviewed by Mark Lam.

It's easier to implement addVar() when you don't have to return whether it's a new
variable or not.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::addVar):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::addVar): Deleted.

4:30 PM Changeset in webkit [180710] by bshafiei@apple.com
  • 5 edits in branches/safari-600.5-branch/Source

Versioning.

4:28 PM Changeset in webkit [180709] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.5.8

New tag.

4:09 PM Changeset in webkit [180708] by aestes@apple.com
  • 3 edits
    2 adds in trunk/Source/WebCore

[Content Filtering] Move WebFilterEvaluator and NEFilterSource declarations to SPI headers
https://bugs.webkit.org/show_bug.cgi?id=142062

Reviewed by Daniel Bates.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/mac/ContentFilterMac.mm:
  • platform/spi/cocoa/NEFilterSourceSPI.h: Added.
  • platform/spi/cocoa/WebFilterEvaluatorSPI.h: Added.
3:53 PM Changeset in webkit [180707] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] More Debug assertion updates.

  • platform/win/TestExpectations:
3:34 PM Changeset in webkit [180706] by andersca@apple.com
  • 9 edits in trunk/Source

Add API to remove all website data for the given data records
https://bugs.webkit.org/show_bug.cgi?id=142060

Reviewed by Beth Dakin.

Source/WebCore:

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::removeResourcesWithOrigins):
New function that removes all resources that match the set of origins in a given session.

Source/WebKit2:

  • UIProcess/API/Cocoa/_WKWebsiteDataStore.h:

Add new method declaration.

  • UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:

(toWebsiteDataRecords):
Add a helper function that converts an NSArray of _WKWebsiteDataRecords to a Vector of WebsiteDataRecords.

(-[_WKWebsiteDataStore removeDataOfTypes:forDataRecords:completionHandler:]):
Call through to the underlying WebsiteDataStore.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::removeData):
Figure out which processes to call deleteWebsiteDataForOrigins for and do so. Add a callback aggregator so we can
call the completion handler at the right time.

  • UIProcess/WebsiteData/WebsiteDataStore.h:

Add new members.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::deleteWebsiteDataForOrigins):
Use the newly added MemoryCache member function to delete all resources matching the set of origins.

3:26 PM Changeset in webkit [180705] by Brent Fulgham
  • 7 edits
    1 delete in trunk

[Win] Remove WebKitExportGenerator project (and related)
https://bugs.webkit.org/show_bug.cgi?id=142035

Reviewed by Dean Jackson.

Source/WebKit:

  • WebKit.vcxproj/WebKit.sln: Remove references to WebKitExportGenerator
  • WebKit.vcxproj/WebKit.submit.sln: Ditto.
  • WebKit.vcxproj/WebKit/WebKit.vcxproj: Ditto.
  • WebKit.vcxproj/WebKit/WebKit.vcxproj.filters: Ditto.
  • WebKit.vcxproj/WebKitExportGenerator: Removed.
  • WebKit.vcxproj/WebKitExportGenerator/WebKitExportGenerator.vcxproj: Removed.
  • WebKit.vcxproj/WebKitExportGenerator/WebKitExportGenerator.vcxproj.filters: Removed.
  • WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorBuildCmd.cmd: Removed.
  • WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorCommon.props: Removed.
  • WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorDebug.props: Removed.
  • WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorDebugWinCairo.props: Removed.
  • WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorPostBuild.cmd: Removed.
  • WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorPreBuild.cmd: Removed.
  • WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorProduction.props: Removed.
  • WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorRelease.props: Removed.
  • WebKit.vcxproj/WebKitExportGenerator/WebKitExportGeneratorReleaseWinCairo.props: Removed.
  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Removed.
  • WebKit.vcxproj/WebKitExportGenerator/make-export-file-generator: Removed.

Tools:

  • win/AssembleBuildLogs/AssembleLogs.cmd: Don't look for a

build log from WebKitExportGenerator.

3:22 PM Changeset in webkit [180704] by Chris Dumez
  • 23 edits in trunk/Source

Rename DatabaseManager::manager() to DatabaseManager::singleton()
https://bugs.webkit.org/show_bug.cgi?id=142054

Reviewed by Ryosuke Niwa.

Rename DatabaseManager::manager() to DatabaseManager::singleton() as
per coding style and use WTF::NeverDestroyed.

Source/WebCore:

  • Modules/webdatabase/DOMWindowWebDatabase.cpp:

(WebCore::DOMWindowWebDatabase::openDatabase):

  • Modules/webdatabase/DatabaseBackendBase.cpp:

(WebCore::DatabaseBackendBase::DatabaseBackendBase):

  • Modules/webdatabase/DatabaseContext.cpp:

(WebCore::DatabaseContext::DatabaseContext):
(WebCore::DatabaseContext::~DatabaseContext):
(WebCore::DatabaseContext::stopDatabases):
(WebCore::DatabaseContext::databaseExceededQuota):

  • Modules/webdatabase/DatabaseManager.cpp:

(WebCore::DatabaseManager::singleton):
(WebCore::DatabaseManager::manager): Deleted.

  • Modules/webdatabase/DatabaseManager.h:

(WebCore::DatabaseManager::~DatabaseManager): Deleted.

  • Modules/webdatabase/SQLTransactionClient.cpp:

(WebCore::SQLTransactionClient::didExceedQuota):

  • history/PageCache.cpp:

(WebCore::logCanCacheFrameDecision):
(WebCore::PageCache::canCachePageContainingThisFrame):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::stopLoading):

Source/WebKit/mac:

  • Storage/WebDatabaseManager.mm:

(-[WebDatabaseManager init]):
(-[WebDatabaseManager origins]):
(-[WebDatabaseManager databasesWithOrigin:]):
(-[WebDatabaseManager detailsForDatabase:withOrigin:]):
(-[WebDatabaseManager deleteAllDatabases]):
(-[WebDatabaseManager deleteOrigin:]):
(-[WebDatabaseManager deleteDatabase:withOrigin:]):

  • Storage/WebDatabaseQuotaManager.mm:

(-[WebDatabaseQuotaManager usage]):
(-[WebDatabaseQuotaManager quota]):
(-[WebDatabaseQuotaManager setQuota:]):

  • WebCoreSupport/WebSecurityOrigin.mm:

(-[WebSecurityOrigin usage]):
(-[WebSecurityOrigin quota]):
(-[WebSecurityOrigin setQuota:]):

  • WebView/WebFrame.mm:

(-[WebFrame _cacheabilityDictionary]):

  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit/win:

  • WebDatabaseManager.cpp:

(WebDatabaseManager::sharedWebDatabaseManager):
(WebDatabaseManager::origins):
(WebDatabaseManager::databasesWithOrigin):
(WebDatabaseManager::detailsForDatabase):
(WebDatabaseManager::deleteAllDatabases):
(WebDatabaseManager::deleteOrigin):
(WebDatabaseManager::deleteDatabase):
(WebDatabaseManager::setQuota):
(WebKitInitializeWebDatabasesIfNecessary):

  • WebSecurityOrigin.cpp:

(WebSecurityOrigin::usage):
(WebSecurityOrigin::quota):
(WebSecurityOrigin::setQuota):

  • WebView.cpp:

(WebView::notifyPreferencesChanged):

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::exceededDatabaseQuota):

  • WebProcess/WebCoreSupport/WebDatabaseManager.cpp:

(WebKit::WebDatabaseManager::initialize):
(WebKit::WebDatabaseManager::getDatabasesByOrigin):
(WebKit::WebDatabaseManager::getDatabaseOrigins):
(WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
(WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
(WebKit::WebDatabaseManager::deleteAllDatabases):
(WebKit::WebDatabaseManager::setQuotaForOrigin):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

2:44 PM Changeset in webkit [180703] by fpizlo@apple.com
  • 7 edits
    11 adds in trunk

Various array access corner cases should take OSR exit feedback
https://bugs.webkit.org/show_bug.cgi?id=142056

Reviewed by Geoffrey Garen.
Source/JavaScriptCore:


Two major changes here:

  • Don't keep converting GetById into GetArrayLength if we exited due to any kind of array type check.


  • Use a generic form of GetByVal/PutByVal if we exited due to any kind of exotic checks, like the Arguments safety checks. We use the "ExoticObjectMode" for out-of-bounds on arguments for now, since it's a convenient way of forcing out-of-bounds to be handled by the Generic array mode.
  • bytecode/ExitKind.cpp:

(JSC::exitKindToString):

  • bytecode/ExitKind.h:
  • dfg/DFGArrayMode.cpp:

(JSC::DFG::ArrayMode::refine):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileGetByValOnArguments):
(JSC::DFG::SpeculativeJIT::compileGetArgumentsLength):

  • tests/stress/array-length-array-storage-plain-object.js: Added.

(foo):

  • tests/stress/array-length-plain-object.js: Added.

(foo):

LayoutTests:

  • js/regress/arguments-out-of-bounds-expected.txt: Added.
  • js/regress/arguments-out-of-bounds.html: Added.
  • js/regress/exit-length-on-plain-object-expected.txt: Added.
  • js/regress/exit-length-on-plain-object.html: Added.
  • js/regress/script-tests/arguments-out-of-bounds.js: Added.

(foo):
(bar):

  • js/regress/script-tests/exit-length-on-plain-object.js: Added.

(foo):

  • js/regress/script-tests/string-out-of-bounds.js: Added.

(bar):

  • js/regress/string-out-of-bounds-expected.txt: Added.
  • js/regress/string-out-of-bounds.html: Added.
2:25 PM Changeset in webkit [180702] by Lucas Forschler
  • 4 edits
    2 copies in branches/safari-600.1.4.15-branch/Source/JavaScriptCore

Merged r180452. rdar://problem/19966376

2:24 PM Changeset in webkit [180701] by ggaren@apple.com
  • 6 edits in trunk/Source/bmalloc

bmalloc: Large object free list can grow infinitely
https://bugs.webkit.org/show_bug.cgi?id=142055

Reviewed by Andreas Kling.

By design, we don't eagerly remove large objects from the free list.
This creates two simple pathologies:

(1) If you free and then allocate the same object repeatedly, it will
duplicate itself in the free list repeatedly. Since it is never
invalid at the time of allocation, it will never be removed.

(2) If you split and then merge the same object repeatedly, it will
duplicate its split sibling in the free list repeatedly. If its
sibling is in a separate free list size class, it will never be
consulted at the time of allocation, so it will never be removed.

So, a simple "while (1) { free(malloc(x)); }" causes infinite memory
use in the free list.

The solution in this patch is a simple helper to remove garbage from the
free list if it grows too large. This pathology is not common, so the
cost is OK.

Long-term, perhaps we should rethink the laziness of these free lists.

  • bmalloc/BoundaryTag.h:

(bmalloc::BoundaryTag::isMarked):
(bmalloc::BoundaryTag::setMarked): New bit, used by free list GC.

  • bmalloc/FreeList.cpp:

(bmalloc::FreeList::removeInvalidAndDuplicateEntries): The GC algorithm.

  • bmalloc/FreeList.h:

(bmalloc::FreeList::FreeList):
(bmalloc::FreeList::push): Invoke the GC if we're getting huge.

  • bmalloc/LargeObject.h:

(bmalloc::LargeObject::isMarked):
(bmalloc::LargeObject::setMarked):
(bmalloc::LargeObject::validateSelf): Expose the new bit.

  • bmalloc/Sizes.h: New constant to control GC frequency.
2:22 PM Changeset in webkit [180700] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebCore

Fix the !ENABLE(GEOLOCATION) build after r180533
https://bugs.webkit.org/show_bug.cgi?id=142053

Reviewed by Chris Dumez.

  • Modules/geolocation/GeoNotifier.cpp:
  • Modules/geolocation/GeoNotifier.h:
2:21 PM Changeset in webkit [180699] by Lucas Forschler
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r179904. rdar://problem/19966381

2:18 PM Changeset in webkit [180698] by Lucas Forschler
  • 4 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r180174. rdar://problem/19966344

2:04 PM Changeset in webkit [180697] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[EFL] Bump EFL version to 1.13.0
https://bugs.webkit.org/show_bug.cgi?id=141708

Reviewed by Gyuyoung Kim.

  • efl/jhbuild.modules:
1:42 PM March 2015 Meeting edited by Brian Burg
(diff)
1:04 PM Changeset in webkit [180696] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

[iOS Media] incorrect front padding on time values
https://bugs.webkit.org/show_bug.cgi?id=142027
<rdar://problem/19960790>

Reviewed by Brent Fulgham.

My last commit was updating the OS X file,
not the iOS file.

We don't want to prefix times with a "0".

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.formatTime):

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.formatTime):

12:40 PM Changeset in webkit [180695] by Csaba Osztrogonác
  • 2 edits in trunk/Source/bmalloc

URTBF after r180693.

  • CMakeLists.txt:
12:20 PM Changeset in webkit [180694] by ggaren@apple.com
  • 2 edits in trunk/Source/bmalloc

2015-02-26 Geoffrey Garen <ggaren@apple.com>

Try to fix the Mac build.

Unreviewed.

  • bmalloc.xcodeproj/project.pbxproj: Make FreeList.h available.
12:05 PM Changeset in webkit [180693] by ggaren@apple.com
  • 7 edits
    2 copies
    1 delete in trunk/Source/bmalloc

bmalloc: Refactored SegregatedFreeList and BoundaryTag::init
https://bugs.webkit.org/show_bug.cgi?id=142049

Reviewed by Anders Carlsson.

Split out a FreeList class from SegregatedFreeList. This will make it
easier to add behaviors on free list insertion and removal -- and it's
probably how I should have designed things at the start.

Moved BoundaryTag::init into LargeObject, since all the related logic
lives in LargeObject now too, and this allows us to remove BoundaryTagInlines.h.

  • bmalloc.xcodeproj/project.pbxproj:
  • bmalloc/BoundaryTagInlines.h: Removed.
  • bmalloc/FreeList.cpp: Copied from Source/bmalloc/bmalloc/SegregatedFreeList.cpp.

(bmalloc::FreeList::takeGreedy):
(bmalloc::FreeList::take):
(bmalloc::SegregatedFreeList::SegregatedFreeList): Deleted.
(bmalloc::SegregatedFreeList::insert): Deleted.
(bmalloc::SegregatedFreeList::takeGreedy): Deleted.
(bmalloc::SegregatedFreeList::take): Deleted.

  • bmalloc/FreeList.h: Copied from Source/bmalloc/bmalloc/SegregatedFreeList.h.

(bmalloc::FreeList::push):

  • bmalloc/LargeObject.h:

(bmalloc::LargeObject::init):

  • bmalloc/SegregatedFreeList.cpp:

(bmalloc::SegregatedFreeList::SegregatedFreeList):
(bmalloc::SegregatedFreeList::insert):
(bmalloc::SegregatedFreeList::takeGreedy):
(bmalloc::SegregatedFreeList::take):

  • bmalloc/SegregatedFreeList.h:
  • bmalloc/Sizes.h:
  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::grow):

11:56 AM Changeset in webkit [180692] by Lucas Forschler
  • 10 edits in branches/safari-600.1.4.15-branch/Source

Merged r179480. rdar://problem/19709193

11:51 AM Changeset in webkit [180691] by fpizlo@apple.com
  • 29 edits
    2 moves
    1 add in trunk/Source/JavaScriptCore

DFG SSA stack accesses shouldn't speak of VariableAccessDatas
https://bugs.webkit.org/show_bug.cgi?id=142036

Reviewed by Michael Saboff.

VariableAccessData is a useful thing in LoadStore and ThreadedCPS, but it's purely harmful in
SSA because you can't cook up new VariableAccessDatas. So, if you know that you want to load
or store to the stack, and you know what format to use as well as the location, then prior to
this patch you couldn't do it unless you found some existing VariableAccessData that matched
your requirements. That can be a hard task.

It's better if SSA doesn't speak of VariableAccessDatas but instead just has stack accesses
that speak of the things that a stack access needs: local, machineLocal, and format. This
patch changes the SSA way of accessing the stack to do just that.

Also add more IR validation.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGFlushFormat.h:

(JSC::DFG::isConcrete):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGGraph.h:
  • dfg/DFGMayExit.cpp:

(JSC::DFG::mayExit):

  • dfg/DFGNode.cpp:

(JSC::DFG::Node::hasVariableAccessData):

  • dfg/DFGNode.h:

(JSC::DFG::StackAccessData::StackAccessData):
(JSC::DFG::StackAccessData::flushedAt):
(JSC::DFG::Node::convertToPutStack):
(JSC::DFG::Node::convertToGetStack):
(JSC::DFG::Node::hasUnlinkedLocal):
(JSC::DFG::Node::hasStackAccessData):
(JSC::DFG::Node::stackAccessData):
(JSC::DFG::Node::willHaveCodeGenOrOSR):

  • dfg/DFGNodeType.h:
  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp:

(JSC::DFG::LocalOSRAvailabilityCalculator::executeNode):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGPutLocalSinkingPhase.cpp: Removed.
  • dfg/DFGPutLocalSinkingPhase.h: Removed.
  • dfg/DFGPutStackSinkingPhase.cpp: Copied from Source/JavaScriptCore/dfg/DFGPutLocalSinkingPhase.cpp.

(JSC::DFG::performPutStackSinking):
(JSC::DFG::performPutLocalSinking): Deleted.

  • dfg/DFGPutStackSinkingPhase.h: Copied from Source/JavaScriptCore/dfg/DFGPutLocalSinkingPhase.h.
  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGStackLayoutPhase.cpp:

(JSC::DFG::StackLayoutPhase::run):

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validate):
(JSC::DFG::Validate::validateCPS):
(JSC::DFG::Validate::validateSSA):

  • dfg/DFGVirtualRegisterAllocationPhase.cpp:

(JSC::DFG::VirtualRegisterAllocationPhase::run):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetStack):
(JSC::FTL::LowerDFGToLLVM::compilePutStack):
(JSC::FTL::LowerDFGToLLVM::compileGetLocal): Deleted.
(JSC::FTL::LowerDFGToLLVM::compilePutLocal): Deleted.

  • ftl/FTLOSRExit.h:
  • tests/stress/many-sunken-locals.js: Added. This failure mode was caught by some miscellaneous test, so I figured I should write an explicit test for it.

(foo):
(bar):
(baz):
(fuzz):
(buzz):

11:44 AM Changeset in webkit [180690] by mark.lam@apple.com
  • 10 edits in trunk

Rolling out r180602, r180608, r180613, r180617, r180671.
<https://webkit.org/b/141990>

Not reviewed.

The r180602 solution does result in more work for GC when worker
threads are in use. Filip is uncomfortable with that.
The EFL and GTK ports also seem to be unhappy with this change.
Rolling out while we investigate.

Source/JavaScriptCore:

  • heap/Heap.cpp:

(JSC::Heap::Heap):
(JSC::Heap::gatherStackRoots):
(JSC::Heap::machineThreads): Deleted.

  • heap/Heap.h:

(JSC::Heap::machineThreads):

  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::MachineThreads):
(JSC::MachineThreads::~MachineThreads):
(JSC::MachineThreads::addCurrentThread):

  • heap/MachineStackMarker.h:
  • runtime/JSLock.cpp:

(JSC::JSLock::didAcquireLock):

Source/WebCore:

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::commonVM):

LayoutTests:

  • platform/efl/TestExpectations:
11:39 AM Changeset in webkit [180689] by mmaxfield@apple.com
  • 21 edits
    2 adds in trunk

Source/JavaScriptCore:
[Mac] [iOS] Parsing support for -apple-trailing-word
https://bugs.webkit.org/show_bug.cgi?id=141939

Reviewed by Andreas Kling.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:
[Mac] [iOS] Parsing support for -apple-trailing-word
https://bugs.webkit.org/show_bug.cgi?id=141939

Reviewed by Andreas Kling.

This patch implements initial parsing support for the -apple-trailing-word CSS property.
This property has two possible (mutually exclusive) values: auto and
-apple-partially-balanced. This property is inherited.

The work for this property is behind the ENABLE(CSS_TRAILING_WORD) preprocessor define.

This is an internal property that will allow us to control line breaking behavior for
short paragraphs.

Note that, because of the implementation of cssValueKeywordID() in CSSParser.cpp,
the new value must be implemented as -webkit-partially-balanced. Using the -apple-
prefix will work, but if you getComputedStyle(), it will return the -webkit- prefixed
version.

Test: platform/mac/fast/text/trailing-word-parse.html

  • Configurations/FeatureDefines.xcconfig:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue): Turn internal representation into a
CSS value.

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue): Updated for new keyword property / value
pair.
(WebCore::isKeywordPropertyID): New property is a keyword property.
(WebCore::CSSParser::parseValue): Use the keyword property codepath.

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Convert to and from the internal
representation and CSS values.
(WebCore::CSSPrimitiveValue::operator TrailingWord):

  • css/CSSPropertyNames.in: New property.
  • css/CSSValueKeywords.in: New value.
  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseFor): Can't use SimpleLineLayout for this.

  • rendering/style/RenderStyle.h: Getter, setter and initial value.
  • rendering/style/RenderStyleConstants.h: Internal data type.
  • rendering/style/StyleRareInheritedData.h: One bit to control this style property.
  • rendering/style/StyleRareInheritedData.cpp: Update constructors and operators.

Source/WebKit/mac:
[Mac] [iOS] Parsing support for -apple-trailing-word
https://bugs.webkit.org/show_bug.cgi?id=141939

Reviewed by Andreas Kling.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:
[Mac] [iOS] Parsing support for -apple-trailing-word
https://bugs.webkit.org/show_bug.cgi?id=141939

Reviewed by Andreas Kling.

  • Configurations/FeatureDefines.xcconfig:

LayoutTests:
Parsing support for -webkit-trailing-word
https://bugs.webkit.org/show_bug.cgi?id=141939

Reviewed by Andreas Kling.

Test parsing using getComputedStyle().

  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html: Updated.
  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip-expected.txt: Updated.
  • platform/mac/fast/text/trailing-word-parse-expected.txt: Added.
  • platform/mac/fast/text/trailing-word-parse.html: Added.
11:30 AM Changeset in webkit [180688] by ggaren@apple.com
  • 4 edits in trunk/Source/bmalloc

bmalloc: free up a bit in BoundaryTag
https://bugs.webkit.org/show_bug.cgi?id=142048

Reviewed by Brady Eidson.

We were wasting a bit by accident, and I need one now.

  • bmalloc/Algorithm.h:

(bmalloc::rightShift): Deleted. Not needed, now that I've simplified
the math.

  • bmalloc/BoundaryTag.h: Since each boundary tag bucket is 1024 bytes

long, the maximum offset into a bucket is 1023.

You need 5 bits to count up to 1024, but only 4 to count up to 1023.

Math is hard.

(bmalloc::BoundaryTag::compactBegin): Switched to division because it
is simpler, and easier to match up with our ASSERT. The compiler will
turn division by constant power of two into a shift for us.

(bmalloc::BoundaryTag::setRange): Added an ASSERT for compactBegin
because we do encode it, so we should ASSERT that encoding did not
lose information.

  • bmalloc/Sizes.h: Shifting is no longer used since we use division

instead.

11:29 AM Changeset in webkit [180687] by beidson@apple.com
  • 4 edits in trunk

Make WKPageGroupRemoveAllUserContentFilters actually remove all user content filters
https://bugs.webkit.org/show_bug.cgi?id=142047

Reviewed by Geoff Garen.

Source/WebKit2:

  • UIProcess/API/C/WKPageGroup.cpp:

(WKPageGroupRemoveAllUserContentFilters): Remove all content filters instead of removing all user scripts.

LayoutTests:

  • platform/mac-wk2/TestExpectations: Renable content filter tests, as they should no longer interfere with others.
11:16 AM Changeset in webkit [180686] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix a accidental deletion from r178674.

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::create):
Return the fake WebGL context.

10:37 AM Changeset in webkit [180685] by commit-queue@webkit.org
  • 6 edits in trunk

Cleanup RenderSVGResourceClipper class.
https://bugs.webkit.org/show_bug.cgi?id=142032.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-02-26
Reviewed by Darin Adler.
Source/WebCore:

This is a follow up for r180643: <http://trac.webkit.org/changeset/180643>.
It includes cleanup for RenderSVGResourceClipper class.

  • rendering/svg/RenderSVGResourceClipper.cpp:

(WebCore::RenderSVGResourceClipper::applyClippingToContext):
(WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):

  • rendering/svg/RenderSVGResourceClipper.h: Change ClipperData to be a

typedef instead of a class and rename it to ClipperMaskImage. The purpose
of having it a class even though it includes only one member was because
we wanted it to be WTF_MAKE_FAST_ALLOCATED. We do not need to allocate it
as a separate object on the heap anymore.

(WebCore::RenderSVGResourceClipper::addRendererToClipper): Instead of doing
double hash table lookups by calling HashMap::contains() and then HashMap::get(),
we can use HashMap::add() instead.

LayoutTests:

  • svg/clip-path/clip-path-line-use-before-defined-expected.svg:
  • svg/clip-path/clip-path-line-use-before-defined.svg: Simplify the test

and make separate drawings for different cases.

10:36 AM Changeset in webkit [180684] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[Win] Debug-only JavaScriptCore failures
https://bugs.webkit.org/show_bug.cgi?id=142045

Rubber stamped by Filip Pizlo.

Reduced loop count to a more reasonable value of 10,000. This still gets us to tier up
to the FTL, but doesn't take too long to run.

  • tests/stress/repeated-arity-check-fail.js:
10:34 AM Changeset in webkit [180683] by commit-queue@webkit.org
  • 6 edits
    6 adds in trunk

Setting any of the <object> element plugin controlling attributes does not have any affect.
https://bugs.webkit.org/show_bug.cgi?id=141936.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-02-26
Reviewed by Zalan Bujtas.

Source/WebCore:

When setting any of the <object> element plugin controlling attributes
dynamically we need to mark the the element to be dirty by calling
setNeedsStyleRecalc(), so it has to recreate its renderer when needed.

Test: svg/as-object/svg-in-object-dynamic-attribute-change.html

  • dom/Element.h: Delete unimplemented function.
  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::parseAttribute): Dirty the element by calling
setNeedsStyleRecalc() when one of the plugin controlling attributes gets
changed. We have to clear the m_useFallbackContent because the attribute's
new value might fix the object rendering.

  • html/HTMLObjectElement.h: Add a function to clear m_useFallbackContent.
  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::willRecalcStyle): We might need to
reconstruct the object renderer in the image case. This can happen if the
image was rendering fallback content and the attribute's new value fixes
the object rendering.

LayoutTests:

  • svg/as-object/resources/lime100x100.html: Added.
  • svg/as-object/resources/lime100x100.png: Added.
  • svg/as-object/resources/lime100x100.svg: Added.
  • svg/as-object/resources/red100x100.svg: Added.
  • svg/as-object/svg-in-object-dynamic-attribute-change-expected.html: Added.
  • svg/as-object/svg-in-object-dynamic-attribute-change.html: Added.

Ensure that changing the 'type' and the 'data' attributes of the <object>
element will have the expected outcome. Also make sure that the <object>
element renderer falls back correctly when setting any of the attributes
to some unexpected value.

10:33 AM Changeset in webkit [180682] by weinig@apple.com
  • 1 edit
    1 add in trunk/Tools

Check in missing WebEditingTester.xcconfig file.

  • WebEditingTester/Configurations/WebEditingTester.xcconfig: Added.
10:32 AM Changeset in webkit [180681] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

[webkitpy] Remove skipped file related crufts
https://bugs.webkit.org/show_bug.cgi?id=142046

Reviewed by Ryosuke Niwa.

  • Scripts/webkitpy/port/base.py:

(Port.skipped_layout_tests):
(Port._tests_from_skipped_file_contents): Deleted.
(Port): Deleted.
(Port._expectations_from_skipped_files): Deleted.

  • Scripts/webkitpy/port/mac_unittest.py:

(MacTest.test_default_timeout_ms):
(MacTest): Deleted.
(test_tests_from_skipped_file_contents): Deleted.

10:19 AM Changeset in webkit [180680] by Brent Fulgham
  • 2 edits in trunk/WebKitLibraries

[Win] Unreviewed build fix after r180676.

I forgot to checkin one of the more important changes!

  • win/tools/vsprops/common.props:
10:03 AM Changeset in webkit [180679] by bshafiei@apple.com
  • 4 edits in branches/safari-600.5-branch/Source/JavaScriptCore

Merge patch for r180247 and r180249. rdar://problem/19877186

9:30 AM Changeset in webkit [180678] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed test updates for Debug bots.

  • platform/win/TestExpectations:
9:04 AM Changeset in webkit [180677] by Brent Fulgham
  • 4 edits
    2 adds in trunk/Tools

[Win] Unreviewed WinCairo build fix after r180653.

TestWebKitAPI should know about proper WEBCORE_EXPORT definitions.

  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj:
  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj.filters:
  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPICommon.props:
  • TestWebKitAPI/win/TestWebKitAPIPrefix.cpp: Added.
  • TestWebKitAPI/win/TestWebKitAPIPrefix.h: Added.
8:51 AM Changeset in webkit [180676] by Brent Fulgham
  • 31 edits in trunk

[Win] Make build logs more legible by reducing noise
https://bugs.webkit.org/show_bug.cgi?id=142034

Reviewed by Alexey Proskuryakov.

Modify batch files, makefiles, and DOS commands to remove
uninteresting/unhelpful output.

Source/JavaScriptCore:

Source/WebCore:

  • WebCore.vcxproj/WebCoreGenerated.make:
  • WebCore.vcxproj/WebCorePreBuild.cmd:
  • WebCore.vcxproj/copyForwardingHeaders.cmd:
  • WebCore.vcxproj/copyWebCoreResourceFiles.cmd:

Source/WebInspectorUI:

  • WebInspectorUI.vcxproj/WebInspectorUI.make:

Source/WebKit:

  • WebKit.vcxproj/Interfaces/InterfacesPostBuild.cmd:
  • WebKit.vcxproj/Interfaces/InterfacesPreBuild.cmd:
  • WebKit.vcxproj/WebKit/WebKitPostBuild.cmd:
  • WebKit.vcxproj/WebKit/WebKitPreBuild.cmd:
  • WebKit.vcxproj/WebKitGUID/WebKitGUIDPreBuild.cmd:

Source/WTF:

  • WTF.vcxproj/WTFGenerated.make:
  • WTF.vcxproj/WTFPreBuild.cmd:
  • WTF.vcxproj/copy-files.cmd:

WebKitLibraries:

  • win/tools/vsprops/common.props:
8:24 AM Changeset in webkit [180675] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[FreeType] REGRESSION(r180563): Introduced crashes
https://bugs.webkit.org/show_bug.cgi?id=142044

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-02-26
Reviewed by Martin Robinson.

No new tests, should be caught by any woff font test.

Use optionsPattern, not m_pattern, when m_pattern may be null.

  • platform/graphics/freetype/FontPlatformDataFreeType.cpp:

(WebCore::FontPlatformData::initializeWithFontFace):

7:34 AM WebKitGTK/2.8.x edited by Michael Catanzaro
r180563 introduced crashes (diff)
7:33 AM WebKitGTK/2.6.x edited by Michael Catanzaro
Remove r180563, it introduced crashes (diff)
7:21 AM Changeset in webkit [180674] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Revert bug 19975, now that gcc 4.7 is required.
https://bugs.webkit.org/show_bug.cgi?id=129927

Patch by Landry Breuil <landry@openbsd.org> on 2015-02-26
Reviewed by Andreas Kling.

isfinite() and signbit() are provided by gcc's cmath header.

  • wtf/MathExtras.h:
6:55 AM WebKitGTK/Gardening/Calendar edited by clopez@igalia.com
(diff)
5:53 AM Changeset in webkit [180673] by Csaba Osztrogonác
  • 2 edits in trunk

[EFL] Remove unnecessary comment after r179110
https://bugs.webkit.org/show_bug.cgi?id=142042

Reviewed by Gyuyoung Kim.

  • Source/cmake/OptionsEfl.cmake:
5:44 AM Changeset in webkit [180672] by Csaba Osztrogonác
  • 5 edits in trunk/LayoutTests

[WK2] Unreviewed gardening, skip failing tests related to missing
EventSender.beginDragWithFiles implementation in wk2/TestExpectations.

There is no good reason to wait for 30 seconds timeout, let's skip them everywhere.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/wk2/TestExpectations:
3:44 AM Changeset in webkit [180671] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed gardening, skip fast/workers tests to unbreak the buildbot.
https://bugs.webkit.org/show_bug.cgi?id=142041

  • platform/efl/TestExpectations:
3:33 AM Changeset in webkit [180670] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed gardening, comment out old expectations
of WebGL tests to really skip them as we expected.

  • platform/efl/TestExpectations:
2:58 AM Changeset in webkit [180669] by svillar@igalia.com
  • 4 edits
    2 adds in trunk

ASSERTION FAILED: !length.isUndefined() in WebCore::GridLength::GridLength
https://bugs.webkit.org/show_bug.cgi?id=141645

Reviewed by Chris Dumez.

Source/WebCore:

This bug has been here since r110484 but was uncovered by
r180140. The problem r110484 was trying to fix was that
CSSPrimitiveValue::convertToLength<Length> ended up calling
CSSPrimitiveValue::computeLengthDouble() which was apparently
dereferencing conversionData.style() and
conversionData.rootStyle() pointers without checking them. That's
why that fix added this condition to convertToLength():

isFontRelativeLength() && (!conversionData.style()
!conversionData.rootStyle())

which is not correct, because for the 4 possible font relative
length types, 3 of them just use the style() pointer and the other
one just uses rootStyle() which BTW could be NULL. This erroneous
condition makes that function to return Length(Undefined) more
often than it should.

From now on it only returns Length(Undefined) if the style()
pointer is NULL and the font relative length type is one in the
set (CSS_EMS, CSS_EXS, CSS_CHS);

Test: fast/css-grid-layout/grid-with-relative-font-length-crash.html

  • css/CSSPrimitiveValue.h:
  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::convertingToLengthRequiresNonNullStyle):
(WebCore::CSSPrimitiveValue::convertToLength):

LayoutTests:

  • fast/css-grid-layout/grid-with-relative-font-length-crash-expected.txt: Added.
  • fast/css-grid-layout/grid-with-relative-font-length-crash.html: Added.
2:50 AM Changeset in webkit [180668] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WTF

UNREACHABLE_FOR_PLATFORM() should be release assert
https://bugs.webkit.org/show_bug.cgi?id=141904

Reviewed by Darin Adler.

  • wtf/Assertions.h:

(UNREACHABLE_FOR_PLATFORM):

1:20 AM Changeset in webkit [180667] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

Add calleeSaveRegisters() implementation for ARM Traditional
https://bugs.webkit.org/show_bug.cgi?id=141903

Reviewed by Darin Adler.

  • jit/RegisterSet.cpp:

(JSC::RegisterSet::calleeSaveRegisters):

12:15 AM Changeset in webkit [180666] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

[Cocoa] Prod libcache to drop caches in memory pressure relief handler.
<https://webkit.org/b/142024>
<rdar://problem/19966096>

Reviewed by Antti Koivisto.

libcache already listens to the OS memory pressure notifications, but we still
need to manually request a cleanup when doing an iOS process suspension, or when
simulating memory pressure.

  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::platformReleaseMemory): Call out to libcache's
cache_simulate_memory_warning_event() to make sure that nonessential objects
being kept alive by NSCaches get dropped when we need the memory.

12:00 AM Changeset in webkit [180665] by bshafiei@apple.com
  • 9 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r180274. rdar://problem/19878981

Feb 25, 2015:

11:25 PM Changeset in webkit [180664] by bshafiei@apple.com
  • 4 edits in branches/safari-600.1.4.15-branch/Source/JavaScriptCore

Merge patch for r180247 and r180249. rdar://problem/19711578

11:15 PM Changeset in webkit [180663] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r180539. rdar://problem/19711490

11:13 PM Changeset in webkit [180662] by bshafiei@apple.com
  • 2 edits
    1 copy in branches/safari-600.1.4.15-branch/Source/JavaScriptCore

Merged r180516. rdar://problem/19432916

10:56 PM Changeset in webkit [180661] by Alan Bujtas
  • 4 edits
    2 adds in trunk

Black line across screen on Adobe Illustrator detail page (non-retina only)
https://bugs.webkit.org/show_bug.cgi?id=141866

Reviewed by Simon Fraser.

Phase is relative to the destination origin. We need to take location information into account
while snapping so that the result is inline with the snapped destination rect.
(location affects the snapped size.)

Source/WebCore:

Test: fast/backgrounds/gradient-background-on-subpixel-position.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::pixelSnapBackgroundImageGeometryForPainting):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):

LayoutTests:

  • fast/backgrounds/gradient-background-on-subpixel-position-expected.html: Added.
  • fast/backgrounds/gradient-background-on-subpixel-position.html: Added.
10:05 PM Changeset in webkit [180660] by msaboff@apple.com
  • 3 edits
    3 adds in trunk

Web Inspector: CRASH when debugger pauses inside a Promise handler
https://bugs.webkit.org/show_bug.cgi?id=141396

Reviewed by Mark Lam.

Source/JavaScriptCore:

For frames that don't have a scope, typically native frames, use the lexicalGlobalObject to
create the DebuggerScope for that frame.

  • debugger/DebuggerCallFrame.cpp:

(JSC::DebuggerCallFrame::scope):

LayoutTests:

New test.

  • inspector/debugger/breakpoint-scope-expected.txt: Added.
  • inspector/debugger/breakpoint-scope.html: Added.
  • inspector/debugger/resources/scope.js: Added.
9:43 PM Changeset in webkit [180659] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Make Windows green again after r180654.

  • platform/win/TestExpectations:
9:12 PM Changeset in webkit [180658] by dburkart@apple.com
  • 8 edits
    2 copies in branches/safari-600.5-branch

Merged r180364. <rdar://19720096>

9:05 PM Changeset in webkit [180657] by dburkart@apple.com
  • 4 edits
    2 copies in branches/safari-600.5-branch

Merged r180174. <rdar://19947808>

8:29 PM Changeset in webkit [180656] by fpizlo@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

DFG abstract heaps should respect the difference between heap and stack
https://bugs.webkit.org/show_bug.cgi?id=142022

Reviewed by Geoffrey Garen.

We will soon (https://bugs.webkit.org/show_bug.cgi?id=141174) be in a world where a "world
clobbering" operation cannot write to our stack, but may be able to read from it. This
means that we need to change the DFG abstract heap hierarchy to have a notion of Heap that
subsumes all that World previously subsumed, and a new notion of Stack that is a subtype
of World and a sibling of Heap.

So, henceforth "clobbering the world" means reading World and writing Heap.

This makes a bunch of changes to make this work, including changing the implementation of
disjointness in AbstractHeap to make it support a more general hierarchy. I was expecting
a slow-down, but I measured the heck out of this and found no perf difference.

  • dfg/DFGAbstractHeap.cpp:

(JSC::DFG::AbstractHeap::dump):

  • dfg/DFGAbstractHeap.h:

(JSC::DFG::AbstractHeap::supertype):
(JSC::DFG::AbstractHeap::isStrictSubtypeOf):
(JSC::DFG::AbstractHeap::isSubtypeOf):
(JSC::DFG::AbstractHeap::overlaps):
(JSC::DFG::AbstractHeap::isDisjoint):

  • dfg/DFGClobberize.cpp:

(JSC::DFG::clobbersHeap):
(JSC::DFG::clobbersWorld): Deleted.

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

8:18 PM Changeset in webkit [180655] by mmaxfield@apple.com
  • 3 edits in trunk/LayoutTests

Update fast/regions/region-overflow-break.html after r177774

Unreviewed.

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-02-25

  • fast/regions/region-overflow-break-expected.html:
  • platform/mac/TestExpectations:
8:08 PM Changeset in webkit [180654] by mmaxfield@apple.com
  • 6 edits in trunk/LayoutTests

Update 3 more tests after r177774

Unreviewed.

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-02-25

  • fast/multicol/newmulticol/spanner-table-expected.html:
  • fast/multicol/newmulticol/spanner-table.html:
  • fast/regions/scrolling/wheel-scroll-abspos-expected.html:
  • fast/regions/scrolling/wheel-scroll-expected.html:
  • platform/mac/TestExpectations:
8:04 PM Changeset in webkit [180653] by Brent Fulgham
  • 51 edits
    10 adds in trunk

[Win] Use WEBCORE_EXPORT instead of Definition file
https://bugs.webkit.org/show_bug.cgi?id=141734

Reviewed by Alex Christensen.

Source/WebCore:

No change in functionality.

  • WebCore.vcxproj/WebCore.vcxproj: Correct bad Precompiled header

settings on certain files.

  • WebCore.vcxproj/WebCore.vcxproj.filters: Automatically updated

by Visual Studio.

  • WebCore.vcxproj/WebCoreTestSupport.vcxproj: Ditto.
  • WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters: Ditto.
  • WebCore.vcxproj/WebCoreTestSupportCommon.props: Added.
  • WebCore.vcxproj/WebCoreTestSupportDebug.props: Added.
  • WebCore.vcxproj/WebCoreTestSupportDebugWinCairo.props: Added.
  • WebCore.vcxproj/WebCoreTestSupportProduction.props: Added.
  • WebCore.vcxproj/WebCoreTestSupportRelease.props: Added.
  • WebCore.vcxproj/WebCoreTestSupportReleaseWinCairo.props: Added.
  • WebCorePrefix.h: Provide proper export definitions for Windows.
  • bindings/js/JSCustomXPathNSResolver.cpp: Add missing #include

needed by the new export style.

  • bindings/js/JSDOMWindowBase.h: Export class since DRT needs

access to parts of it.

  • bindings/js/ScriptCachedFrameData.cpp: Add missing #include

needed by the new export style.

  • bindings/scripts/CodeGeneratorJS.pm: Use different export macro

when generating WebCoreTestSupport files, so that we don't confuse
the linker when WebCore.lib and WebCoreTestSupport.lib try to
both export WEBCORE_EXPORT symbols.
(ExportLabelForClass):
(GenerateHeader):

  • bridge/jsc/BridgeJSC.cpp: Add missing #include needed by the new

export style.

  • css/CSSParser.cpp: Ditto.
  • dom/Document.cpp: Ditto.
  • html/HTMLImageLoader.cpp: Ditto.
  • inspector/CommandLineAPIModule.cpp: Ditto.
  • inspector/PageDebuggerAgent.cpp: Ditto.
  • inspector/PageRuntimeAgent.cpp: Ditto.
  • inspector/WorkerRuntimeAgent.cpp: Ditto.
  • page/DOMWindow.cpp: Ditto.
  • page/DOMWindow.h: Export the destructor, as it is needed by

DumpRenderTree (on Windows).

  • page/Page.cpp: Add missing #include needed by the new export style.
  • platform/Logging.h: Remove conflicting export declaration.
  • platform/PlatformExportMacros.h: Update for Windows use.
  • testing/Internals.cpp: Add missing #include needed by the new export style.
  • testing/Internals.h: Use WEBCORE_TESTSUPPORT_EXPORT for things that

are supposed to be exported by WebCoreTestSupport, not WebCore.

  • testing/js/WebCoreTestSupport.cpp: Add missing #include needed by

new export style.

  • testing/js/WebCoreTestSupportPrefix.cpp: Added.
  • testing/js/WebCoreTestSupportPrefix.h: Added.
  • xml/XMLHttpRequest.h: Export the destructor.
  • xml/XSLStyleSheetLibxslt.cpp: Add missing #include needed by the new

export style.

  • xml/XSLTProcessorLibxslt.cpp: Ditto.

Source/WebKit:

  • WebKit.vcxproj/WebKit/WebKit.vcxproj: Visual studio automatic

file cleanup.

  • WebKit.vcxproj/WebKit/WebKitCommon.props: Don't use the export definition

file any longer.

Source/WebKit/win:

  • CFDictionaryPropertyBag.h: Add required export macros.
  • Interfaces/WebKit.idl: Ditto.
  • WebCoreStatistics.cpp: Add missing #include (required

now that we are exporting more symbols.)

  • WebKitCOMAPI.h: Add required export macros.
  • WebKitDLL.h: Ditto.
  • WebKitPrefix.h: Ditto.
  • WebView.cpp: Add missing #include required using new

due to new export mechanism.

Tools:

  • DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree/DumpRenderTree.vcxproj:

Use a precompiled header so we can define our export macros properly.

  • DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree/DumpRenderTree.vcxproj.filters:

Visual studio automatic update stuff.

  • DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree/DumpRenderTreeCommon.props:

Set up Precompiled Header use for project..

  • DumpRenderTree/win/DumpRenderTreePrefix.cpp: Added.
  • DumpRenderTree/DumpRenderTreePrefix.h: Update with proper export

declarations for building DumpRenderTree as a client of
WebCore/WebKit.

7:46 PM Changeset in webkit [180652] by mmaxfield@apple.com
  • 4 edits in trunk/LayoutTests

Update css3/flexbox/csswg/flexbox_direction-row-reverse.html after r177774

Unreviewed.

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2015-02-25

  • css3/flexbox/csswg/flexbox_direction-row-reverse-expected.html:
  • css3/flexbox/csswg/flexbox_direction-row-reverse.html:
  • platform/mac/TestExpectations:
5:24 PM Changeset in webkit [180651] by rniwa@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r180595): construct varargs fails in FTL
https://bugs.webkit.org/show_bug.cgi?id=142030

Reviewed by Geoffrey Garen.

The bug was caused by IC size being too small for construct_varargs even though we've added a new argument.
Fixed the bug by increasing the IC size to match call_varargs.

  • ftl/FTLInlineCacheSize.cpp:

(JSC::FTL::sizeOfConstructVarargs):

5:16 PM Changeset in webkit [180650] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Skip timing-out test after r180646.

  • platform/win/TestExpectations:
4:24 PM Changeset in webkit [180649] by mark.lam@apple.com
  • 4 edits in trunk

ASan does not like JSC::MachineThreads::tryCopyOtherThreadStack.
<https://webkit.org/b/141672>

Reviewed by Alexey Proskuryakov.

ASan does not like the fact that we memcpy the stack for GC scans. So,
we're working around this by using our own memcpy (asanUnsafeMemcpy)
implementation that we can tell ASan to ignore.

Source/JavaScriptCore:

  • heap/MachineStackMarker.cpp:

(JSC::asanUnsafeMemcpy):

Tools:

Also removed the previous added directive to ignore *tryCopyOtherThreadStack*
which isn't effective for working around this issue.

  • asan/webkit-asan-ignore.txt:
4:18 PM Changeset in webkit [180648] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebCore

Remove unnecessary DatabaseFooTask::create
https://bugs.webkit.org/show_bug.cgi?id=142002

Reviewed by Darin Adler.

DatabaseFooTask::create can be replaced with std::make_unique<>.

No new tests, no behavior changes.

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::scheduleTransaction):
(WebCore::Database::scheduleTransactionStep):
(WebCore::Database::markAsDeletedAndClose):
(WebCore::Database::closeImmediately):
(WebCore::Database::tableNames):

  • Modules/webdatabase/DatabaseTask.h:

(WebCore::DatabaseBackend::DatabaseCloseTask::create): Deleted.
(WebCore::DatabaseBackend::DatabaseTransactionTask::create): Deleted.
(WebCore::DatabaseBackend::DatabaseTableNamesTask::create): Deleted.

4:05 PM Changeset in webkit [180647] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS Media] incorrect front padding on time values
https://bugs.webkit.org/show_bug.cgi?id=142027
<rdar://problem/19960790>

Reviewed by Brent Fulgham.

We don't want to prefix times with a "0".

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.formatTime):

3:49 PM Changeset in webkit [180646] by Chris Dumez
  • 5 edits
    2 adds in trunk

Make PublicURLManager suspendable
https://bugs.webkit.org/show_bug.cgi?id=141977
<rdar://problem/19923085>

Reviewed by Andreas Kling.

Source/WebCore:

Make PublicURLManager suspendable by overriding ActiveDOMObject::canSuspend()
and returning true. Nothing prevents suspending the PublicURLManager as its
implementation never causes JS to be executed. No implementation for
suspend() / resume() needs to be provided for the same reason.

The fact that PublicURLManager wasn't suspendable was preventing pages using
URL.createObjectURL() from entering the PageCache. Baidu.com search results
pages are using the API for example.

Test: fast/history/page-cache-createObjectURL.html

  • html/PublicURLManager.cpp:

(WebCore::PublicURLManager::canSuspend):

  • html/PublicURLManager.h:

LayoutTests:

Add a layout test to check that a page using URL.createObjectURL() API
can enter the PageCache.

  • fast/history/page-cache-createObjectURL-expected.txt: Added.
  • fast/history/page-cache-createObjectURL.html: Added.
  • platform/wk2/TestExpectations: The new test is skipped on WK2 because WKTR does not support eventSender.beginDragWithFiles().
3:42 PM Changeset in webkit [180645] by ap@apple.com
  • 2 edits in trunk/Source/WebKit

<rdar://problem/19949665> Some queues fail to build because of WebKitPluginHost.app symlink

Fix by Dan Bernstein, reviewed by me.

  • WebKit.xcodeproj/project.pbxproj:
3:19 PM Changeset in webkit [180644] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Cleanup BackgroundImageGeometry class.
https://bugs.webkit.org/show_bug.cgi?id=141997

Reviewed by Simon Fraser.

This patch attempts to improve RenderBoxModelObject::calculateBackgroundImageGeometry() readability by
removing redundant code and making image geometry operations explicit. BackgroundImageGeometry
becomes a read only class (with the exception of the clip() method).

No change in functionality.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::BackgroundImageGeometry::BackgroundImageGeometry):
(WebCore::BackgroundImageGeometry::pixelSnapBackgroundImageGeometryForPainting):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
(WebCore::BackgroundImageGeometry::setNoRepeatX): Deleted.
(WebCore::BackgroundImageGeometry::setNoRepeatY): Deleted.
(WebCore::BackgroundImageGeometry::useFixedAttachment): Deleted.
(WebCore::BackgroundImageGeometry::clip): Deleted.
(WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting): Deleted.

  • rendering/RenderBoxModelObject.h:

(WebCore::BackgroundImageGeometry::clip):
(WebCore::BackgroundImageGeometry::BackgroundImageGeometry): Deleted.
(WebCore::BackgroundImageGeometry::setDestRect): Deleted.
(WebCore::BackgroundImageGeometry::setPhase): Deleted.
(WebCore::BackgroundImageGeometry::setPhaseX): Deleted.
(WebCore::BackgroundImageGeometry::setPhaseY): Deleted.
(WebCore::BackgroundImageGeometry::setTileSize): Deleted.
(WebCore::BackgroundImageGeometry::setSpaceSize): Deleted.
(WebCore::BackgroundImageGeometry::setHasNonLocalGeometry): Deleted.

3:05 PM Changeset in webkit [180643] by Said Abou-Hallawa
  • 7 edits
    2 adds in trunk

Horizontal and vertical lines are clipped completely if clip-path is included in the tag but the referenced element is defined later.
https://bugs.webkit.org/show_bug.cgi?id=141776.

Reviewed by Dean Jackson.
Source/WebCore:

Tests: svg/clip-path/clip-path-line-use-before-defined-expected.svg

svg/clip-path/clip-path-line-use-before-defined.svg

  • rendering/svg/RenderSVGResourceClipper.cpp:

(WebCore::RenderSVGResourceClipper::applyClippingToContext): Ensure the renderer
is added to m_clipper if it does not exist. The same renderer might have been
added to m_clipper in resourceBoundingBox().

(WebCore::RenderSVGResourceClipper::addRendererToClipper): Add the renderer to
m_clipper if it does not exist. Return the associated ClipperData.

(WebCore::RenderSVGResourceClipper::resourceBoundingBox): If the clipper is
referenced before it is defined, add the renderer to m_clipper. While doing the
layout() for the clipper, we can check if m_clipper has values or not. If it does
have, we are going to mark the clipper for client invalidation which is done by
the SVG root.

  • rendering/svg/RenderSVGResourceClipper.h:
  • rendering/svg/RenderSVGResourceContainer.h:

(WebCore::RenderSVGResourceContainer::selfNeedsClientInvalidation): Define a
new function selfNeedsClientInvalidation() which controls marking the clipper
for client invalidation. In RenderSVGResourceClipper, override it so it checks
m_clipper to force clients validation even if it the first time we do layout
for this clipper.

  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::layout): Call the virtual function
selfNeedsClientInvalidation() to check whether we need to mark the clipper for
client invalidation.

  • svg/SVGElement.cpp: Delete unneeded header file.

LayoutTests:


New test cases for SVG lines which are clipped to a <clipPath>. The <clipPath>
is referenced before it is defined.

  • svg/clip-path/clip-path-line-use-before-defined-expected.svg: Added.
  • svg/clip-path/clip-path-line-use-before-defined.svg: Added.
2:37 PM Changeset in webkit [180642] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source

Versioning.

2:37 PM Changeset in webkit [180641] by commit-queue@webkit.org
  • 4 edits in trunk

[WinCairo] WinLauncher is not starting on Vista.
https://bugs.webkit.org/show_bug.cgi?id=141905

Patch by peavo@outlook.com <peavo@outlook.com> on 2015-02-25
Reviewed by Alex Christensen.

We have to soft link with Media Foundation functions to be able
to start on Vista and WinXP.

Source/WebCore:

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::createSession):
(WebCore::MediaPlayerPrivateMediaFoundation::endSession):
(WebCore::MediaPlayerPrivateMediaFoundation::startCreateMediaSource):
(WebCore::MediaPlayerPrivateMediaFoundation::endGetEvent):
(WebCore::MediaPlayerPrivateMediaFoundation::createTopologyFromSource):
(WebCore::MediaPlayerPrivateMediaFoundation::createOutputNode):
(WebCore::MediaPlayerPrivateMediaFoundation::createSourceStreamNode):
(WebCore::MediaPlayerPrivateMediaFoundation::onTopologySet):

WebKitLibraries:

  • win/tools/vsprops/WinCairo.props: Remove Media Foundation input libraries.
2:35 PM Changeset in webkit [180640] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.15.8

New tag.

2:32 PM Changeset in webkit [180639] by benjamin@webkit.org
  • 6 edits
    1 add in trunk

CodeBlock crashes when dumping op_push_name_scope
https://bugs.webkit.org/show_bug.cgi?id=141953

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-25
PerformanceTests/SunSpider:

Reviewed by Filip Pizlo.

  • profiler-test.yaml:

Source/JavaScriptCore:

Reviewed by Filip Pizlo and Csaba Osztrogonác.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • tests/stress/op-push-name-scope-crashes-profiler.js: Added.

Tools:

Reviewed by Filip Pizlo.

  • Scripts/run-jsc-stress-tests:
2:32 PM Changeset in webkit [180638] by mmaxfield@apple.com
  • 2 edits in trunk/LayoutTests

Test gardening

Unreviewed.

Getting the bots green after r180633 until Brady fixes the underlying issue.

  • platform/mac-wk2/TestExpectations:
2:29 PM Changeset in webkit [180637] by benjamin@webkit.org
  • 14 edits in trunk/Source/JavaScriptCore

Make ParserError immutable by design
https://bugs.webkit.org/show_bug.cgi?id=141955

Reviewed by Geoffrey Garen.

This patch enforce that no field of ParserError can
be modified after the constructor.

  • parser/ParserError.h:

Move the attributes to pack the integer + 2 bytes together.
This is irrelevant for memory impact, it is to remve a load-store
when copying by value.

Also move the attributes to be private.

(JSC::ParserError::isValid):
To client of the interface cared about the type of the error,
the only information needed was: is there an error.

(JSC::ParserError::ParserError):
(JSC::ParserError::syntaxErrorType):
(JSC::ParserError::token):
(JSC::ParserError::message):
(JSC::ParserError::line):
(JSC::ParserError::toErrorObject):

  • API/JSScriptRef.cpp:
  • builtins/BuiltinExecutables.cpp:

(JSC::BuiltinExecutables::createBuiltinExecutable):

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::generateFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::fromGlobalCode):
(JSC::UnlinkedFunctionExecutable::codeBlockFor):

  • bytecode/UnlinkedCodeBlock.h:
  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::parse):

  • jsc.cpp:

(runInteractive):

  • parser/Parser.h:

(JSC::parse):

  • runtime/CodeCache.cpp:

(JSC::CodeCache::getGlobalCodeBlock):
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):

  • runtime/CodeCache.h:
  • runtime/Completion.h:
  • runtime/Executable.cpp:

(JSC::ProgramExecutable::checkSyntax):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::createProgramCodeBlock):
(JSC::JSGlobalObject::createEvalCodeBlock):

1:27 PM Changeset in webkit [180636] by beidson@apple.com
  • 6 edits in trunk/Tools

Get rid of TestInvocation::pathOrURL
https://bugs.webkit.org/show_bug.cgi?id=142021

Reviewed by Tim Horton.

The pathOrURL string is a relative path used as an argument to WebKitTestRunner,
but most code that uses it expected an absolute path.

This gets rid of the member and replaces all uses with a more descriptive "urlContains" method.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::updateWebViewSizeForTest):
(WTR::TestController::updateWindowScaleForTest):
(WTR::shouldUseFixedLayout):
(WTR::TestController::updateLayoutTypeForTest):

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::TestInvocation):
(WTR::TestInvocation::urlContains):
(WTR::TestInvocation::shouldLogFrameLoadDelegates):
(WTR::TestInvocation::shouldLogHistoryClientCallbacks):
(WTR::TestInvocation::invoke):
(WTR::shouldLogFrameLoadDelegates): Deleted.
(WTR::shouldLogHistoryClientCallbacks): Deleted.

  • WebKitTestRunner/TestInvocation.h:

(WTR::TestInvocation::pathOrURL): Deleted.

  • WebKitTestRunner/ios/TestControllerIOS.mm:

(WTR::shouldMakeViewportFlexible):
(WTR::TestController::platformConfigureViewForTest):

  • WebKitTestRunner/mac/TestControllerMac.mm:

(WTR::shouldUseThreadedScrolling):
(WTR::TestController::platformConfigureViewForTest):

1:05 PM Changeset in webkit [180635] by youenn.fablet@crf.canon.fr
  • 2 edits in trunk/Tools

W3C test importer should use argparse instead of optparse
https://bugs.webkit.org/show_bug.cgi?id=142013

Reviewed by Bem Jones-Bey.

  • Scripts/webkitpy/w3c/test_importer.py:

(main): Updating according argparse.
(parse_args): Moving from optparse to argparse.

12:54 PM Changeset in webkit [180634] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

REGRESSION (r180018 ): Holding a rubber-band in place can get stuck
https://bugs.webkit.org/show_bug.cgi?id=142020
-and corresponding-
rdar://problem/19945216

Reviewed by Tom Horton.

It was a mistaken assumption that it was necessary to return false in the zero-
delta case. That is clearly conceptually wrong since false represents the DOM
doing something special with the event, which is clearly not the case if we never
even send the event to the DOM. Returning true will allow the rest of the
scrolling machinery the ability to handle the event.

  • dom/Element.cpp:

(WebCore::Element::dispatchWheelEvent):

12:42 PM Changeset in webkit [180633] by beidson@apple.com
  • 6 edits
    5 adds in trunk

Layout test support for user content filters
https://bugs.webkit.org/show_bug.cgi?id=142018

Reviewed by Tim Horton.

Tools:

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetStateToConsistentValues): Clear all user content filters between tests.

  • WebKitTestRunner/mac/TestControllerMac.mm:

(WTR::TestController::platformConfigureViewForTest): For all tests with usercontentfilter/ in their path try to load a matching .json

file before loading the test itself.

LayoutTests:

  • TestExpectations:
  • http/tests/usercontentfilter/basic-filter.html: Added.
  • http/tests/usercontentfilter/basic-filter.html.json: Added.
  • platform/mac-wk2/TestExpectations:
10:56 AM Changeset in webkit [180632] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

Add (unused for now) code to delete website data for a set of origins
https://bugs.webkit.org/show_bug.cgi?id=142019

Reviewed by Beth Dakin.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::~WebProcessProxy):
Assert that there are no pending callbacks.

(WebKit::WebProcessProxy::connectionDidClose):
Invoke all the didDeleteWebsiteDataForOrigins callbacks.

(WebKit::WebProcessProxy::didDeleteWebsiteDataForOrigins):
Grab the didDeleteWebsiteDataForOrigins and invoke it.

(WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):
Add the pending callback and send a DeleteWebsiteDataForOrigins to the web process.

  • UIProcess/WebProcessProxy.h:

Add new members.

  • UIProcess/WebProcessProxy.messages.in:

Add a DidDeleteWebsiteDataForOrigins message.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::deleteWebsiteDataForOrigins):
For now, just send back a DidDeleteWebsiteDataForOrigins message.

  • WebProcess/WebProcess.h:

Add new members.

  • WebProcess/WebProcess.messages.in:

Add a DeleteWebsiteDataForOrigins message.

10:42 AM Changeset in webkit [180631] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

HTMLElement::collectStyleForPresentationAttribute duplicates a lot of code for contentEditableAttr
https://bugs.webkit.org/show_bug.cgi?id=142003

Reviewed by Sam Weinig.

Utilized contentEditableType to reduce the code duplication.

  • html/HTMLElement.cpp:

(WebCore::contentEditableType): Moved and added a version that takes AtomicString.
(WebCore::HTMLElement::collectStyleForPresentationAttribute):

9:43 AM Changeset in webkit [180630] by shiva.jm@samsung.com
  • 2 edits in trunk/Source/WebKit2

Fix build warning in WebKit2/UIProcess module.
https://bugs.webkit.org/show_bug.cgi?id=142014

Reviewed by Anders Carlsson.

Fix build warning by using UNUSED_PARAM macro.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::computeWebProcessAccessTypeForDataFetch):

9:35 AM Changeset in webkit [180629] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Skip new <attachment> test since it's not working on Windows.

  • platform/win/TestExpectations:
9:26 AM Changeset in webkit [180628] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Skip ARIA 1.1 tests for unsupported feature.

  • platform/win/TestExpectations:
8:22 AM Changeset in webkit [180627] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.20

New tag.

8:18 AM Changeset in webkit [180626] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

7:10 AM Changeset in webkit [180625] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Improve Regex/Error output in Object Tree and Previews
https://bugs.webkit.org/show_bug.cgi?id=142010

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-25
Reviewed by Timothy Hatcher.

  • UserInterface/Views/ObjectPreviewView.js:

(WebInspector.ObjectPreviewView):
(WebInspector.ObjectPreviewView.prototype._initTitleElement):
Since some object types may be formatted as simple values, ensure they get
the formatted style even in the title view.

(WebInspector.ObjectPreviewView.prototype._appendPreview):
Those object types that can be formatted as simple values should skip
to the value formatting phase.

(WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
Do not show property previews for error objects. Always assume lossy
so that it can be expanded.

  • UserInterface/Views/ObjectTreeView.js:

(WebInspector.ObjectTreeView):
Make a similiar improvement for ObjectTree titles when previews are
unavailable. This will make dir(value) show a stylized value in the
title of the Object Tree.

7:03 AM Changeset in webkit [180624] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Improve PropertyPath display strings for getters / values
https://bugs.webkit.org/show_bug.cgi?id=142008

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-25
Reviewed by Timothy Hatcher.

  • UserInterface/Base/Utilities.js:

(doubleQuotedString):
Helper to double quote a string and escape double quotes with-in it.

  • UserInterface/Models/PropertyPath.js:

(WebInspector.PropertyPath.prototype.get reducedPath):
Compute the path eliminating unnecessary protos. Note we don't
property handle the case where a .proto.x is override earlier
by a .x, but that case is rare.

(WebInspector.PropertyPath.prototype.displayPath):
Helper for choosing fullPath or reducedPath display strings.

(WebInspector.PropertyPath.prototype.appendPropertyName):
(WebInspector.PropertyPath.prototype.appendGetterPropertyName):
(WebInspector.PropertyPath.prototype.appendSetterPropertyName):
(WebInspector.PropertyPath.prototype.appendPropertyDescriptor):
When appending a descriptor, specify if it is for a getter/setter or value.
For getters / setters the actual function can be directly fetched via
lookupGetter/lookupSetter. Continue to use the property name for values.

  • UserInterface/Views/FormattedValue.js:

(WebInspector.FormattedValue.createElementForTypesAndValue):

  • UserInterface/Views/ObjectTreePropertyTreeElement.js:

(WebInspector.ObjectTreePropertyTreeElement.prototype._propertyPathType):
(WebInspector.ObjectTreePropertyTreeElement.prototype._resolvedValuePropertyPath):
(WebInspector.ObjectTreePropertyTreeElement.prototype._thisPropertyPath):
(WebInspector.ObjectTreePropertyTreeElement.prototype):

4:03 AM WebKitGTK/2.6.x edited by clopez@igalia.com
(diff)
4:02 AM WebKitGTK/2.6.x edited by clopez@igalia.com
(diff)
4:00 AM WebKitGTK/2.6.x edited by clopez@igalia.com
(diff)
2:53 AM Changeset in webkit [180623] by svillar@igalia.com
  • 6 edits in trunk

[CSS Grid Layout] Tracks growing beyond limits when they should not
https://bugs.webkit.org/show_bug.cgi?id=140883

Reviewed by Darin Adler.

Source/WebCore:

Our track sizing algorithm implementation incorrectly grew some
tracks beyond limits when handling min-content and max-content
base sizes. In those cases we should only grow "any affected track
that happens to also have an intrinsic max track sizing function"
or all of them if there are none.

The problem was that we're using a vector of indexes pointing to
the vector with the list of affected tracks. Those indexes become
easily incorrect because the first thing we do in
distributeSpaceToTracks() is to sort the vector with the affected
tracks by growth potential.

Instead of that we now pass a vector with pointers to the list of
tracks allowed to grow over the limits. The size changes are now
directly stored in the GridTracks (it's called plannedSize)
instead of in a separate vector, so we don't need to worry about
tracks being rearranged (and we also get rid of the ugly vector of
indexes pointing to another vector).

  • rendering/RenderGrid.cpp:

(WebCore::GridTrack::plannedSize): New member with getter/setter.
(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
Pass a setXXX() function instead of a growXXX() one to ForItems().
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
Renamed additionalBreadthSpace to extraSpace which is the term
used by specs.
(WebCore::RenderGrid::distributeSpaceToTracks): Use GridTrack's
plannedSize instead of the old distribution vector.
(WebCore::GridTrack::growBaseSize): Deleted.
(WebCore::GridTrack::growGrowthLimit): Deleted.

  • rendering/RenderGrid.h:

LayoutTests:

  • fast/css-grid-layout/grid-content-sized-columns-resolution-expected.txt:
  • fast/css-grid-layout/grid-content-sized-columns-resolution.html:
2:22 AM WebKitGTK/2.8.x edited by jdiggs@igalia.com
(diff)
2:18 AM Changeset in webkit [180622] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Need to pass RTLD_DEEPBIND to dlopen() to ensure that our LLVMOverrides take effect on Linux
https://bugs.webkit.org/show_bug.cgi?id=142006

Reviewed by Csaba Osztrogonác.

This fixes hard-to-reproduce concurrency-related crashes when running stress tests with FTL and
concurrent JIT enabled.

  • llvm/InitializeLLVMPOSIX.cpp:

(JSC::initializeLLVMPOSIX):

2:04 AM Changeset in webkit [180621] by jdiggs@igalia.com
  • 16 edits in trunk

AX: Implement support for ARIA 1.1 'searchbox' role
https://bugs.webkit.org/show_bug.cgi?id=142004

Reviewed by Chris Fleizach.

Source/WebCore:

Add a new accessible SearchFieldRole to handle both the ARIA role
and the "search" input type.

No new tests. Instead, added a new test case to roles-exposed.html
for the mapping, and updated roles-computedRoleString.html because
there is now a one-to-one mapping between the "search" input type
and an ARIA role.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::determineAccessibilityRole):
(WebCore::AccessibilityNodeObject::isSearchField):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::isARIATextControl):
(WebCore::AccessibilityObject::isARIAInput):
(WebCore::initializeRoleMap):

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineAccessibilityRole):

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(atkRole):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]):
(-[WebAccessibilityObjectWrapper accessibilityTraits]):
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(createAccessibilityRoleMap):

LayoutTests:

  • accessibility/roles-computedRoleString-expected.txt: Updated for new role.
  • accessibility/roles-computedRoleString.html: Updated for new role.
  • accessibility/roles-exposed.html: New test case added.
  • platform/efl/accessibility/roles-exposed-expected.txt: Updated for new test case.
  • platform/gtk/accessibility/roles-exposed-expected.txt: Updated for new test case.
  • platform/mac-mavericks/accessibility/roles-exposed-expected.txt: Updated for new test case.
  • platform/mac/accessibility/roles-exposed-expected.txt: Updated for new test case.
1:47 AM WebKitGTK/2.8.x edited by jdiggs@igalia.com
(diff)
1:08 AM Changeset in webkit [180620] by fpizlo@apple.com
  • 2 edits in trunk/Source/WTF

Enable concurrent JIT on GTK
https://bugs.webkit.org/show_bug.cgi?id=142007

Reviewed by Benjamin Poulain.

Seems weird that GTK keeps it off. No good reason for that as far as I can tell.

  • wtf/Platform.h:

Feb 24, 2015:

11:23 PM Changeset in webkit [180619] by commit-queue@webkit.org
  • 2 edits
    3 adds in trunk/Tools

Convert WebEditingTester to use xcconfig files
https://bugs.webkit.org/show_bug.cgi?id=141879

Patch by Sam Weinig <sam@webkit.org> on 2015-02-24
Reviewed by Darin Adler.

Add xcconfig files to WebEditingTester based on the ones used by MiniBrowser.

  • WebEditingTester/Configurations: Added.
  • WebEditingTester/Configurations/Base.xcconfig: Added.
  • WebEditingTester/Configurations/DebugRelease.xcconfig: Added.
  • WebEditingTester/WebEditingTester.xcodeproj/project.pbxproj:
10:59 PM Changeset in webkit [180618] by fpizlo@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

CMake build of libllvmForJSC.so should limit its export list like the Xcode build does
https://bugs.webkit.org/show_bug.cgi?id=141989

Reviewed by Gyuyoung Kim.

  • CMakeLists.txt:
  • llvm/library/libllvmForJSC.version: Added.
9:52 PM Changeset in webkit [180617] by ap@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

More iOS build fix after r180602.

  • heap/Heap.h: Export Heap::machineThreads().
9:37 PM Changeset in webkit [180616] by ap@apple.com
  • 3 edits in trunk/LayoutTests

Updating js/dom/global-constructors-attributes.html results for HTMLAttachmentElement.

  • platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
9:35 PM Changeset in webkit [180615] by Simon Fraser
  • 9 edits in trunk/Source

Clarify some resizing terminology in ScrollView/FrameView
https://bugs.webkit.org/show_bug.cgi?id=141996

Reviewed by Zalan Bujtas.

ScrollableArea/ScrollView/FrameView had some confusing terminology around
contentsResized/visibleContentsResized/fixedLayoutSizeChanged.

Clarify this by distinguishing between:

  1. Available size changes because of

i) non-overlay scrollbar presence

ii) ScrollableArea frame change

  1. Removing fixedLayoutSizeChanged() and just treating it like an available size change.

contentsResized() is relegated to simply being a hook that allows Mac to
flash overlay scrollbars.

The confusingly named visibleContentsResized() is now updateContentsSize(),
and is the way that a ScrollableArea tells its subclasss that it should recompute
the size of the contents (i.e. do a layout).

Source/WebCore:

  • page/FrameView.cpp:

(WebCore::FrameView::setContentsSize): No longer mysteriously skip the
FrameView implementation of contentsResized(), which used to do a setNeedsLayout()
which we didn't want to do from setContentsSize(), which itself happens as a result of layout.
(WebCore::FrameView::adjustViewSize): Whitespace.
(WebCore::FrameView::layout): Ditto.
(WebCore::FrameView::availableContentSizeChanged): Called on frame size change, or scrollbar
change.
(WebCore::FrameView::updateContentsSize): This actually does the layout.
(WebCore::FrameView::scrollbarStyleChanged): Always call the base class; ScrollView::scrollbarStyleChanged
will bail if not a forced update.
(WebCore::FrameView::setCustomFixedPositionLayoutRect): Forces a layout via updateContentsSize() now.
(WebCore::FrameView::contentsResized): Deleted.
(WebCore::FrameView::fixedLayoutSizeChanged): Deleted.
(WebCore::FrameView::visibleContentsResized): Deleted.

  • page/FrameView.h:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::setFixedLayoutSize): Calls availableContentSizeChanged() now.
(WebCore::ScrollView::setUseFixedLayout): Ditto.
(WebCore::ScrollView::availableContentSizeChanged): Update scrollbars if that's not
the reason we are being called.
(WebCore::ScrollView::updateScrollbars): contentsResized() was the thing that caused setNeedsLayout();
replace it with availableContentSizeChanged(). visibleContentsResized() did the layout, and
replace with updateContentsSize().
(WebCore::ScrollView::setFrameRect): Call availableContentSizeChanged() now. This takes care of
updating scrollbars, so no need to explicitly do that.
(WebCore::ScrollView::scrollbarStyleChanged): Call the base class.
(WebCore::ScrollView::fixedLayoutSizeChanged): Deleted.

  • platform/ScrollView.h:
  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::availableContentSizeChanged): Call scrollAnimator->contentsResized()
to flash the scrollbars.
(WebCore::ScrollableArea::scrolledToRight):
(WebCore::ScrollableArea::scrollbarStyleChanged): Call availableContentSizeChanged() since
scrollbar style affects available space.

  • platform/ScrollableArea.h:

(WebCore::ScrollableArea::updateContentsSize):
(WebCore::ScrollableArea::scrollbarStyleChanged): Deleted.

Source/WebKit2:

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::scrollbarStyleChanged): Call the base class method,
which takes care of

9:11 PM Changeset in webkit [180614] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed Mavericks build attempt fix after r180609.

  • platform/graphics/mac/GraphicsContext3DMac.mm:

(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::checkGPUStatusIfNecessary):

8:53 PM Changeset in webkit [180613] by Brent Fulgham
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed build fix after r180602.

  • heap/MachineStackMarker.h: Add missing 'no return'

declaration for Windows.

8:53 PM Changeset in webkit [180612] by aestes@apple.com
  • 4 edits in trunk/Tools

Teach MiniBrowser how to disable per-window web processes
https://bugs.webkit.org/show_bug.cgi?id=141988

Reviewed by Darin Adler.

  • MiniBrowser/mac/AppDelegate.m:

(defaultConfiguration): Created a _WKProcessPoolConfiguration with maximumProcessCount == 1 if per-window web processes are disabled.

  • MiniBrowser/mac/SettingsController.h:
  • MiniBrowser/mac/SettingsController.m:

(-[SettingsController _populateMenu]): Added a new Settings menu item.
(-[SettingsController validateMenuItem:]): Validated the new Settings menu item.
(-[SettingsController togglePerWindowWebProcessesDisabled:]): Displayed an alert informing the user that MiniBrowser must be restarted for the setting to take effect.
(-[SettingsController perWindowWebProcessesDisabled]): Returned the value from user defaults.

8:32 PM Changeset in webkit [180611] by ap@apple.com
  • 2 edits in trunk/Tools

Bot watcher's dashboard sometimes hits an assertion: data.num_missing === this.layoutTestResults.testsWithMissingResults.length
https://bugs.webkit.org/show_bug.cgi?id=141889

Reviewed by Darin Adler.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
8:28 PM Changeset in webkit [180610] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

Unreviewed Windows build fix after r180601.

Export some missing symbols.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
8:19 PM Changeset in webkit [180609] by roger_fong@apple.com
  • 9 edits
    1 add in trunk/Source/WebCore

WebGL: Destroy the GLContext if a GPU restart has been detected.
https://bugs.webkit.org/show_bug.cgi?id=141567.
<rdar://problem/18507496>
Reviewed by Dean Jackson.

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::WebGLRenderingContextBase):

  • platform/graphics/GraphicsContext3D.h:

(WebCore::GraphicsContext3D::setWebGLContext):
Keep track of which WebGLRenderingContext is associated with the current GraphicsContext3D.

  • platform/graphics/mac/GraphicsContext3DMac.mm:

(WebCore::GraphicsContext3D::checkGPUStatusIfNecessary): Helper method to check GPU status.
(WebCore::GraphicsContext3D::GraphicsContext3D):
Don’t immediately abort the GPU process when the restart status is kCGLCPGPURestartStatusBlacklisted.

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::forceContextLost):
Force the WebGLRenderingContext to be lost.
(WebCore::GraphicsContext3D::drawArrays): Check GPU status after calling drawArrays.
(WebCore::GraphicsContext3D::drawElements): Check GPU status after calling drawElements.

  • WebCore.xcodeproj/project.pbxproj: Add SPI header for iOS.
  • platform/spi/ios/OpenGLESSPI.h: Added.
8:10 PM Changeset in webkit [180608] by Stephanie Lewis
  • 2 edits in trunk/Source/WebCore

Unreviewed ios build fix after http://trac.webkit.org/changeset/180602.

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::commonVM):

8:07 PM Changeset in webkit [180607] by Simon Fraser
  • 18 edits in trunk/Source

Use an enum for scrollbar style
https://bugs.webkit.org/show_bug.cgi?id=141985

Reviewed by Beth Dakin.
Source/WebCore:

Switch to an enum class for the scrollbar style (normal or overlay).

  • page/ChromeClient.h:
  • page/FrameView.cpp:

(WebCore::FrameView::scrollbarStyleChanged):

  • page/FrameView.h:
  • platform/ScrollTypes.h:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::scrollbarStyleChanged):

  • platform/ScrollView.h:
  • platform/ScrollableArea.h:

(WebCore::ScrollableArea::scrollbarStyleChanged):

  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::updateScrollerStyle):

Source/WebKit2:

Switch to an enum class for the scrollbar style (normal or overlay).

Sadly it still has to be passed as an int across the process boundary.

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::recommendedScrollbarStyleDidChange):

  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):

  • WebProcess/Plugins/PDF/PDFPlugin.h:
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::scrollbarStyleChanged):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::recommendedScrollbarStyleDidChange):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
7:52 PM Changeset in webkit [180606] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

[Mac][WK2] ASSERTION FAILED: m_sendPort in IPC::Connection::open()
https://bugs.webkit.org/show_bug.cgi?id=141934

Reviewed by Darin Adler.

Speculative fix for "ASSERTION FAILED: m_sendPort" in
IPC::Connection::open(). This assertion seems to indicate we ended
up in IPC::Connection::open() with MACH_PORT_NULL as port.

I found that in XPCServiceInitializerDelegate::getConnectionIdentifier()
we return true unconditionally, even though
xpc_dictionary_copy_mach_send() can return MACH_PORT_NULL. This patch
updates this method to add a check for MACH_PORT_NULL and return false
in this case.

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:

(WebKit::XPCServiceInitializerDelegate::getConnectionIdentifier):

7:48 PM Changeset in webkit [180605] by commit-queue@webkit.org
  • 20 edits
    2 deletes in trunk

Unreviewed, rolling out r180599.
https://bugs.webkit.org/show_bug.cgi?id=141998

Lots of new test failures (Requested by smfr on #webkit).

Reverted changeset:

"Parsing support for -webkit-trailing-word"
https://bugs.webkit.org/show_bug.cgi?id=141939
http://trac.webkit.org/changeset/180599

7:02 PM Changeset in webkit [180604] by Stephanie Lewis
  • 5 edits in trunk/Source/bmalloc

Rolling out http://trac.webkit.org/changeset/180430 as it causes the PLT to crash.
<rdar://problem/19948015>

Unreviewed.

  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::grow):

  • bmalloc/VMHeap.h:
  • bmalloc/Zone.cpp:

(bmalloc::Zone::Zone):
(bmalloc::Zone::size): Deleted.

  • bmalloc/Zone.h:
6:31 PM Changeset in webkit [180603] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebKit2

Fix build break on EFL and GTK port since r180585.
https://bugs.webkit.org/show_bug.cgi?id=141994

Reviewed by Joseph Pecoraro.

  • UIProcess/WebsiteData/WebsiteDataRecord.cpp:

(WebKit::WebsiteDataRecord::displayNameForOrigin):

  • UIProcess/WebsiteData/WebsiteDataRecord.h:

(WebKit::WebsiteDataRecord::WebsiteDataRecord):

6:28 PM Changeset in webkit [180602] by mark.lam@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

MachineThreads::Thread clean up has a use after free race condition.
<https://webkit.org/b/141990>

Reviewed by Michael Saboff.

MachineThreads::Thread clean up relies on the clean up mechanism
implemented in _pthread_tsd_cleanup_key(), which looks like this:

void _pthread_tsd_cleanup_key(pthread_t self, pthread_key_t key)
{

void (*destructor)(void *);
if (_pthread_key_get_destructor(key, &destructor)) {

void ptr = &self->tsd[key];
void *value = *ptr;

At this point, this thread has cached "destructor" and "value"
(which is a MachineThreads*). If the VM gets destructed (along
with its MachineThreads registry) by another thread, then this
thread will have no way of knowing that the MachineThreads* is
now pointing to freed memory. Calling the destructor below will
therefore result in a use after free scenario when it tries to
access the MachineThreads' data members.

if (value) {

*ptr = NULL;
if (destructor) {

destructor(value);

}

}

}

}

The solution is simply to change MachineThreads from a per VM thread
registry to a process global singleton thread registry i.e. the
MachineThreads registry is now immortal and we cannot have a use after
free scenario since we never free it.

The cost of this change is that all VM instances will have to scan
stacks of all threads ever touched by a VM, and not just those that
touched a specific VM. However, stacks tend to be shallow. Hence,
those additional scans will tend to be cheap.

Secondly, it is not common for there to be multiple JSC VMs in use
concurrently on multiple threads. Hence, this cost should rarely
manifest in real world applications.

  • heap/Heap.cpp:

(JSC::Heap::Heap):
(JSC::Heap::machineThreads):
(JSC::Heap::gatherStackRoots):

  • heap/Heap.h:

(JSC::Heap::machineThreads): Deleted.

  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::MachineThreads):
(JSC::MachineThreads::~MachineThreads):
(JSC::MachineThreads::addCurrentThread):

  • heap/MachineStackMarker.h:
  • runtime/JSLock.cpp:

(JSC::JSLock::didAcquireLock):

5:49 PM Changeset in webkit [180601] by weinig@apple.com
  • 17 edits
    3 adds in trunk

[Attachment] Give <attachment> elements an underlying File
https://bugs.webkit.org/show_bug.cgi?id=141993

Reviewed by Tim Horton.

Source/WebCore:

  • Add a JS subclass for attachments so that <attachment>s are instances of HTMLAttachmentElement rather than HTMLElement.
  • Give HTMLAttachmentElements an underlying File that they are the representation of. Expose it via a new 'file' property.
  • Expose a new Internals function called window.internals.createFile(url) that allows creating File objects for testing.
  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • fileapi/File.h:
  • html/HTMLAttachmentElement.cpp:

(WebCore::HTMLAttachmentElement::~HTMLAttachmentElement):
(WebCore::HTMLAttachmentElement::file):
(WebCore::HTMLAttachmentElement::setFile):

  • html/HTMLAttachmentElement.h:
  • html/HTMLAttachmentElement.idl: Added.
  • html/HTMLTagNames.in:
  • testing/Internals.cpp:

(WebCore::Internals::createFile):

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

Update attachment-dom.html to test setting and getting the
underlying file.

  • fast/attachment/attachment-dom-expected.txt:
  • fast/attachment/attachment-dom.html:
  • fast/attachment/resources: Added.
  • fast/attachment/resources/test-file.txt: Added.
5:43 PM Changeset in webkit [180600] by jdiggs@igalia.com
  • 15 edits
    10 adds in trunk

AX: Implement support for ARIA 1.1 'switch' role
https://bugs.webkit.org/show_bug.cgi?id=141986

Reviewed by Chris Fleizach.

Source/WebCore:

Map the role to ATK_ROLE_TOGGLE_BUTTON for Gtk and Efl; on the Mac, to
AXCheckBox with a subrole of AXSwitch. Ensure it looks and acts like a
widget to accessibility APIs (supports and emits notifications when
toggled, doesn't have children, exposes a name and description when
provided).

Tests: accessibility/aria-switch-checked.html

accessibility/aria-switch-sends-notification.html
accessibility/aria-switch-text.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::canHaveChildren):
(WebCore::AccessibilityNodeObject::isChecked):
(WebCore::AccessibilityNodeObject::visibleText):
(WebCore::AccessibilityNodeObject::title):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::isARIAInput):
(WebCore::AccessibilityObject::actionVerb):
(WebCore::initializeRoleMap):
(WebCore::AccessibilityObject::supportsChecked):
(WebCore::AccessibilityObject::checkboxOrRadioValue):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::isSwitch):

  • accessibility/atk/AXObjectCacheAtk.cpp:

(WebCore::AXObjectCache::postPlatformNotification):

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(atkRole):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityCanFuzzyHitTest]):
(-[WebAccessibilityObjectWrapper accessibilityTraits]):
(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(createAccessibilityRoleMap):
(-[WebAccessibilityObjectWrapper subrole]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

LayoutTests:

  • accessibility/aria-switch-checked-expected.txt: Added.
  • accessibility/aria-switch-checked.html: Added.
  • accessibility/aria-switch-sends-notification-expected.txt: Added.
  • accessibility/aria-switch-sends-notification.html: Added.
  • accessibility/aria-switch-text.html: Added.
  • accessibility/roles-exposed.html: Added a test case for the new role.
  • platform/efl/accessibility/aria-fallback-roles-expected.txt: Added.
  • platform/efl/accessibility/aria-switch-text-expected.txt: Added.
  • platform/efl/accessibility/roles-exposed-expected.txt: Updated for the new role.
  • platform/gtk/accessibility/aria-fallback-roles-expected.txt: Added.
  • platform/gtk/accessibility/aria-switch-text-expected.txt: Added.
  • platform/gtk/accessibility/roles-exposed-expected.txt: Updated for the new role.
  • platform/mac-mavericks/accessibility/roles-exposed-expected.txt: Updated for the new role.
  • platform/mac/TestExpectations: Skip the 'checked' notifcation as the Mac doesn't have it.
  • platform/mac/accessibility/aria-switch-text-expected.txt: Added.
  • platform/mac/accessibility/roles-exposed-expected.txt: Updated for the new role.
5:17 PM Changeset in webkit [180599] by mmaxfield@apple.com
  • 20 edits
    2 adds in trunk

Source/JavaScriptCore:
[Mac] [iOS] Parsing support for -apple-trailing-word
https://bugs.webkit.org/show_bug.cgi?id=141939

Reviewed by Andreas Kling.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:
[Mac] [iOS] Parsing support for -apple-trailing-word
https://bugs.webkit.org/show_bug.cgi?id=141939

Reviewed by Andreas Kling.

This patch implements initial parsing support for the -apple-trailing-word CSS property.
This property has two possible (mutually exclusive) values: auto and
-apple-partially-balanced. This property is inherited.

The work for this property is behind the ENABLE(CSS_TRAILING_WORD) preprocessor define.

This is an internal property that will allow us to control line breaking behavior for
short paragraphs.

Note that, because of the implementation of cssValueKeywordID() in CSSParser.cpp,
the new value must be implemented as -webkit-partially-balanced. Using the -apple-
prefix will work, but if you getComputedStyle(), it will return the -webkit- prefixed
version.

Test: platform/mac/fast/text/trailing-word-parse.html

  • Configurations/FeatureDefines.xcconfig:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue): Turn internal representation into a
CSS value.

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue): Updated for new keyword property / value
pair.
(WebCore::isKeywordPropertyID): New property is a keyword property.
(WebCore::CSSParser::parseValue): Use the keyword property codepath.

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Convert to and from the internal
representation and CSS values.
(WebCore::CSSPrimitiveValue::operator TrailingWord):

  • css/CSSPropertyNames.in: New property.
  • css/CSSValueKeywords.in: New value.
  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseFor): Can't use SimpleLineLayout for this.

  • rendering/style/RenderStyle.h: Getter, setter and initial value.
  • rendering/style/RenderStyleConstants.h: Internal data type.
  • rendering/style/StyleRareInheritedData.h: One bit to control this style property.

Source/WebKit/mac:
[Mac] [iOS] Parsing support for -apple-trailing-word
https://bugs.webkit.org/show_bug.cgi?id=141939

Reviewed by Andreas Kling.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:
[Mac] [iOS] Parsing support for -apple-trailing-word
https://bugs.webkit.org/show_bug.cgi?id=141939

Reviewed by Andreas Kling.

  • Configurations/FeatureDefines.xcconfig:

LayoutTests:
Parsing support for -webkit-trailing-word
https://bugs.webkit.org/show_bug.cgi?id=141939

Reviewed by Andreas Kling.

Test parsing using getComputedStyle().

  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html: Updated.
  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip-expected.txt: Updated.
  • platform/mac/fast/text/trailing-word-parse-expected.txt: Added.
  • platform/mac/fast/text/trailing-word-parse.html: Added.
5:12 PM Changeset in webkit [180598] by gyuyoung.kim@samsung.com
  • 5 edits in trunk/Source/WebCore

Remove DecodingTask::create and DatabaseOpenTask::create
https://bugs.webkit.org/show_bug.cgi?id=141966

Reviewed by Anders Carlsson.

These create() factory functions are redundant. We can use std::make_unique<> directly.

No new tests, no behavior changes.

  • Modules/webaudio/AsyncAudioDecoder.cpp:

(WebCore::AsyncAudioDecoder::decodeAsync):
(WebCore::AsyncAudioDecoder::DecodingTask::create): Deleted.

  • Modules/webaudio/AsyncAudioDecoder.h:
  • Modules/webdatabase/Database.cpp:

(WebCore::Database::openAndVerifyVersion):

  • Modules/webdatabase/DatabaseTask.h:

(WebCore::DatabaseBackend::DatabaseOpenTask::create): Deleted.

4:44 PM Changeset in webkit [180597] by Joseph Pecoraro
  • 9 edits in trunk/Source/WebInspectorUI

Web Inspector: Eliminate console-formatted-* class names in favor of formatted-*
https://bugs.webkit.org/show_bug.cgi?id=141948

Reviewed by Timothy Hatcher.

  • UserInterface/Views/FormattedValue.js:

(WebInspector.FormattedValue.createElementForNode):
Helper for formatting a node as a DOMTreeOutline.

  • UserInterface/Views/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl.prototype._formatParameter):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsString):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
(WebInspector.ConsoleMessageImpl.prototype.appendUndefined):
(WebInspector.ConsoleMessageImpl.prototype._printArray):
(WebInspector.ConsoleMessageImpl.prototype.): Deleted.

  • UserInterface/Views/LogContentView.css:

(.console-user-command-result):
(.console-formatted-object): Deleted.
(.console-object-preview): Deleted.
(.expanded .console-object-preview): Deleted.
(.console-object-preview .name): Deleted.
(.expanded .console-object-preview > .console-object-preview-body): Deleted.
(.console-object-preview > .console-object-preview-name.console-object-preview-name-Object): Deleted.
(.console-object-preview-body .console-object-preview-name.console-object-preview-name-Object): Deleted.
(.expanded .console-object-preview > .console-object-preview-name.console-object-preview-name-Object): Deleted.
(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap): Deleted.
(:matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .section): Deleted.

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype._leftArrowWasPressed):
(WebInspector.LogContentView.prototype._rightArrowWasPressed):
Add FIXMEs since this will no longer work with ObjectTree.

  • UserInterface/Views/ObjectPreviewView.css:

(.object-preview):

  • UserInterface/Views/ObjectTreeView.css:

(.object-tree):
Copy over the font styles from console-formatted-object.

  • UserInterface/Views/ObjectPropertiesSection.js:

(WebInspector.ObjectPropertyTreeElement.prototype.update):

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction.didGetDetails):
(WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction):
(WebInspector.SourceCodeTextEditor.prototype._showPopoverForString):
(WebInspector.SourceCodeTextEditor.prototype._showPopoverForRegExp):
(WebInspector.SourceCodeTextEditor.prototype._showPopoverForNumber):
(WebInspector.SourceCodeTextEditor.prototype._showPopoverForBoolean):
(WebInspector.SourceCodeTextEditor.prototype._showPopoverForNull):
(WebInspector.SourceCodeTextEditor.prototype._showPopoverForUndefined):
Convert to formatted value class names.

4:44 PM Changeset in webkit [180596] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r180578.
https://bugs.webkit.org/show_bug.cgi?id=141992

Broke scrolling in Inspector Console. (Requested by JoePeck on
#webkit).

Reverted changeset:

"[Mac] WebKit abandons overlay scrollbar CALayers."
https://bugs.webkit.org/show_bug.cgi?id=141943
http://trac.webkit.org/changeset/180578

4:41 PM Changeset in webkit [180595] by rniwa@webkit.org
  • 13 edits in trunk/Source/JavaScriptCore

Use "this" instead of "callee" to get the constructor
https://bugs.webkit.org/show_bug.cgi?id=141019

Reviewed by Filip Pizlo.

This patch uses "this" register to pass the constructor (newTarget) to op_create_this from
op_construct or op_construct_varargs. This will allow future patches that implement ES6 class
to pass in the most derived class' constructor through "this" argument.

BytecodeGenerator's emitConstruct and emitConstructVarargs now passes thisRegister like
regular calls and emitCreateThis passes in this register to op_create_this as constructor.

The rest of the code change removes the code for special casing "this" register not being used
in call to construct.

  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitCreateThis):
(JSC::BytecodeGenerator::emitConstructVarargs):
(JSC::BytecodeGenerator::emitConstruct):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::NewExprNode::emitBytecode):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::addCallWithoutSettingResult):
(JSC::DFG::ByteCodeParser::handleVarargsCall):
(JSC::DFG::ByteCodeParser::emitArgumentPhantoms):
(JSC::DFG::ByteCodeParser::attemptToInlineCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGJITCode.cpp:

(JSC::DFG::JITCode::reconstruct):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):

  • ftl/FTLJSCallVarargs.cpp:

(JSC::FTL::JSCallVarargs::emit):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNativeCallOrConstruct):
(JSC::FTL::LowerDFGToLLVM::compileCallOrConstruct):
(JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::executeConstruct):

  • jit/JITOperations.cpp:
4:41 PM March 2015 Meeting edited by dino@apple.com
(diff)
4:40 PM March 2015 Meeting edited by Simon Fraser
(diff)
4:31 PM Changeset in webkit [180594] by Joseph Pecoraro
  • 19 edits in trunk

Web Inspector: Make Getter/Setter RemoteObject property and ObjectPreview handling consistent
https://bugs.webkit.org/show_bug.cgi?id=141587

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Convert getProperties(ownAndGetterProperties) to getDisplayableProperties().
Mark PropertyDescriptors that are presumed to be native getters / bindings
separately so that the frontend may display them differently.

  • inspector/InjectedScript.cpp:

(Inspector::InjectedScript::getProperties):
(Inspector::InjectedScript::getDisplayableProperties):

  • inspector/InjectedScript.h:
  • inspector/InjectedScriptSource.js:
  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::getProperties):
(Inspector::InspectorRuntimeAgent::getDisplayableProperties):

  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/protocol/Runtime.json:

Source/WebInspectorUI:

  • UserInterface/Models/CallFrame.js:

(WebInspector.CallFrame.prototype.collectScopeChainVariableNames):

  • UserInterface/Models/PropertyDescriptor.js:

(WebInspector.PropertyDescriptor.prototype.get nativeGetter):

  • UserInterface/Protocol/RemoteObject.js:

(WebInspector.RemoteObject.fromPayload):
(WebInspector.RemoteObject.prototype.getOwnPropertyDescriptors):
(WebInspector.RemoteObject.prototype.getAllPropertyDescriptors):
(WebInspector.RemoteObject.prototype.getDisplayablePropertyDescriptors):
(WebInspector.RemoteObject.prototype._getPropertyDescriptors):
(WebInspector.RemoteObject.prototype.if):
(WebInspector.RemoteObject.prototype.deprecatedGetOwnProperties):
(WebInspector.RemoteObject.prototype.deprecatedGetAllProperties):
(WebInspector.RemoteObject.prototype._deprecatedGetProperties):
(WebInspector.RemoteObject.prototype.getOwnAndGetterPropertyDescriptors): Deleted.
(WebInspector.RemoteObject.prototype.callback): Deleted.
(WebInspector.RemoteObject.prototype.getOwnProperties): Deleted.
(WebInspector.RemoteObject.prototype.getOwnAndGetterProperties): Deleted.
(WebInspector.RemoteObject.prototype.getAllProperties): Deleted.
(WebInspector.RemoteObject.prototype.set else): Deleted.

  • UserInterface/Views/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArray):

  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

(WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.nodePrototypesReady):

  • UserInterface/Views/ObjectPropertiesSection.js:

(WebInspector.ObjectPropertiesSection.prototype.update):
(WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):

  • UserInterface/Views/ObjectTreePropertyTreeElement.js:

(WebInspector.ObjectTreePropertyTreeElement.prototype.):
(WebInspector.ObjectTreePropertyTreeElement.prototype):

  • UserInterface/Views/ObjectTreeView.js:

(WebInspector.ObjectTreeView.prototype.update):

LayoutTests:

  • inspector/model/remote-object-get-properties-expected.txt:
  • inspector/model/remote-object-get-properties.html:
4:31 PM Changeset in webkit [180593] by Joseph Pecoraro
  • 12 edits
    12 adds in trunk/Source/WebInspectorUI

Web Inspector: New Object Tree View UI
https://bugs.webkit.org/show_bug.cgi?id=141932

Reviewed by Timothy Hatcher.

Part 1: Majority of the UI.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Images/Eye.svg: Added.
  • UserInterface/Images/TypeBoolean.svg: Added.
  • UserInterface/Images/TypeNull.svg: Added.
  • UserInterface/Images/TypeNumber.svg: Added.
  • UserInterface/Images/TypeObject.svg: Added.
  • UserInterface/Images/TypeRegex.svg: Added.
  • UserInterface/Images/TypeString.svg: Added.
  • UserInterface/Images/TypeSymbol.svg: Added.
  • UserInterface/Images/TypeUndefined.svg: Added.
  • UserInterface/Main.html:

Miscellaneous.

  • UserInterface/Views/FormattedValue.css:

(.formatted-boolean):
Give booleans a light purple color.

  • UserInterface/Views/FormattedValue.js:

(WebInspector.FormattedValue.createElementForTypesAndValue):
Previously we were truncating function value logging in the console. E.g.

js> multiLineFunction
<- function multiLineFunction() {

No longer truncate so we display the full string.

  • UserInterface/Models/PropertyPath.js: Added.

(WebInspector.PropertyPath):
(WebInspector.PropertyPath.prototype.get object):
(WebInspector.PropertyPath.prototype.get parent):
(WebInspector.PropertyPath.prototype.get isPrototype):
(WebInspector.PropertyPath.prototype.get rootObject):
(WebInspector.PropertyPath.prototype.get lastNonPrototypeObject):
(WebInspector.PropertyPath.prototype.get pathComponent):
(WebInspector.PropertyPath.prototype.get fullPath):
(WebInspector.PropertyPath.prototype.isRoot):
(WebInspector.PropertyPath.prototype.isPathComponentImpossible):
(WebInspector.PropertyPath.prototype.isFullPathImpossible):
(WebInspector.PropertyPath.prototype.appendPropertyName):
(WebInspector.PropertyPath.prototype.appendPropertySymbol):
(WebInspector.PropertyPath.prototype.appendInternalPropertyName):
(WebInspector.PropertyPath.prototype.appendArrayIndex):
(WebInspector.PropertyPath.prototype.appendCollectionIndex):
(WebInspector.PropertyPath.prototype.appendPropertyDescriptor):
(WebInspector.PropertyPath.prototype._canPropertyNameBeDotAccess):
PropertyPaths are a linked list of remote object / patch component pairs.
For a property like "fooproperty 1.proto.baz" we will have a PropertyPath
chain with the RemoteObject for each component. This allows us to accurately
select the RemoteObject on which we should invoke a getter. It also allows
us to display the property path string from the root object, if possible.

  • UserInterface/Protocol/RemoteObject.js:

(WebInspector.RemoteObject.prototype.callFunction):
(WebInspector.RemoteObject.prototype.backendInvokeGetter):
(WebInspector.RemoteObject.prototype.invokeGetter):
Provide a way to invoke a getter function on a remote object if we
have a reference to the getter function. At the same time, improve
the mostly unused callFunction API to automatically convert
RemoteObjects / values to their Runtime.CallArgument format.

  • UserInterface/Views/ObjectTreePropertyTreeElement.css: Added.

(.object-tree-property):
(.object-tree-property > .disclosure-button):
(.object-tree-property.parent > .disclosure-button):
(.object-tree-property.parent.expanded > .disclosure-button):
(.object-tree-property > .titles):
Focused styles for the ObjectTree property GeneralTreeElements.
Reuse navigation sidebar disclosure-triangles.

(.object-tree-property > .icon):
(.object-tree-property.boolean > .icon):
(.object-tree-property.function > .icon):
(.object-tree-property.number > .icon):
(.object-tree-property.object > .icon):
(.object-tree-property.object.null > .icon):
(.object-tree-property.object.node > .icon):
(.object-tree-property.regex > .icon):
(.object-tree-property.string > .icon):
(.object-tree-property.symbol > .icon):
(.object-tree-property.undefined > .icon):
Use different icons for different object types. Special case
"accessor" to be undefined.

(.object-tree-property .prototype-name):
(.object-tree-property .property-name.not-enumerable):
Style property names in sans-serif font.
Give non-enumerable properties a slightly transparent look.

(.object-tree-property.prototype-property):
(.object-tree-property.prototype-property > .icon):
(.object-tree-property.prototype-property + ol):
Special styles for prototype properties and their children.

(.object-tree-property .getter):
(.object-tree-property .getter:hover):
(.object-tree-property .read-only):
Styles for clickable getter button and non-interactive read-only indicator.

(.object-tree-property :matches(.formatted-string, .formatted-regexp)):
Do not allow wrapping for values that previously allowed wrapping.

(.object-tree-property .value.error):
If getting a value resulted in an error, display that error in red.

  • UserInterface/Views/ObjectTreePropertyTreeElement.js:

(WebInspector.ObjectTreePropertyTreeElement):
Extend from GeneralTreeElement and set up class names on the root <li> object.

(WebInspector.ObjectTreePropertyTreeElement.prototype.onattach): Deleted.
No longer needed by using GeneralTreeElement.

(WebInspector.ObjectTreePropertyTreeElement.prototype.onexpand):
(WebInspector.ObjectTreePropertyTreeElement.prototype.oncollapse):
Expand / collapse an associated ObjectPreview if we have one.

(WebInspector.ObjectTreePropertyTreeElement.prototype._resolvedValue):
(WebInspector.ObjectTreePropertyTreeElement.prototype._resolvedValuePropertyPath):
This PropertyTreeElement may be displaying for a value, or a getter that has
gotten a value. Refer to this as the "resolvedValue".

(WebInspector.ObjectTreePropertyTreeElement.prototype._thisPropertyPath):
A PropertyPath leaf used for tooltips.

(WebInspector.ObjectTreePropertyTreeElement.prototype._updateHasChildren):
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateTooltips):
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitleAndIcon):
Helpers for updating small parts of the UI. When a getter is invoked,
we need to update the entire UI of this TreeElement.

(WebInspector.ObjectTreePropertyTreeElement.prototype._titleFragment):
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitle): Deleted.
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitlePropertyStyle): Deleted.
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitleAPIStyle): Deleted.
(WebInspector.ObjectTreePropertyTreeElement.prototype._createTitlePrototype):
(WebInspector.ObjectTreePropertyTreeElement.prototype._createTitlePropertyStyle):
(WebInspector.ObjectTreePropertyTreeElement.prototype._createTitleAPIStyle):
Create the UI for the mainTitle of this PropertyTreeElement.

(WebInspector.ObjectTreePropertyTreeElement.prototype._createInteractiveGetterElement):
(WebInspector.ObjectTreePropertyTreeElement.prototype._createReadOnlyIconElement):
Helpers for creating the small components of the title UI.

(WebInspector.ObjectTreePropertyTreeElement.prototype._alwaysDisplayAsProperty):
Establish when a property should still be displayed as a "property" even when in API mode.
For example a value property on a prototype, should still display as an expandable property.

  • UserInterface/Views/ObjectTreeView.css:

(.object-tree > :matches(.title, .object-preview)::before):
(.object-tree:not(.lossless-preview) > :matches(.title, .object-preview)):
(.object-tree.expanded > :matches(.title, .object-preview)::before):
(.object-tree .object-tree-outline):
(.object-tree-outline ol):
(.object-tree-outline li .empty-message):
(:matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .object-tree-outline):
(.object-tree > .title): Deleted.
(.object-tree-outline): Deleted.
(.object-tree-outline li): Deleted.
(.object-tree-outline li.parent): Deleted.
(.object-tree-outline li.parent::before): Deleted.
(.object-tree-outline li.parent.expanded::before): Deleted.
(.object-tree-property .name): Deleted.
(.object-tree-property .name.not-enumerable): Deleted.
(.object-tree-property .value.error): Deleted.
(.console-group-messages .object-tree:not(.lossless-preview)): Deleted.
(.console-group-messages .object-tree:not(.lossless-preview) > :matches(.title, .object-preview)): Deleted.
(.console-group-messages .object-tree:not(.lossless-preview) > :matches(.title, .object-preview)::before): Deleted.
(.console-group-messages :matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .object-tree): Deleted.
(.console-group-messages :matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .object-tree-outline): Deleted.
Move most PropertyTreeElement specific styles into ObjectPropertyTreeElement.css.
Plenty of console specific files were eliminated.

  • UserInterface/Views/ObjectTreeView.js:

(WebInspector.ObjectTreeView.prototype.update):
(WebInspector.ObjectTreeView.prototype._updateProperties):

Part 2: Provide better parameter lists for native functions.

When expanding an object's prototype chain, with authored code
you will accurately see parameter lists for user authored functions
because we can get this by parsing Function.prototype.toString.
For native code, we don't get any parameter information. In such cases
we can detect we are a native function, and provide our own strings.

This fills in most of the JavaScript built-ins and some DOM
functions, however we should autogenerate the rest of the DOM.

  • UserInterface/Base/Utilities.js:

(isFunctionStringNativeCode):
Helper to check if a function is native or not based on its string.

  • UserInterface/Main.html:
  • UserInterface/Models/NativeFunctionParameters.js: Added.

Dictionary of parameter lists for native constructor functions
and prototype functions.

  • UserInterface/Views/ObjectTreePropertyTreeElement.js:

(WebInspector.ObjectTreePropertyTreeElement):
(WebInspector.ObjectTreePropertyTreeElement.prototype._functionPropertyString):
(WebInspector.ObjectTreePropertyTreeElement.prototype._functionParameterString):
(WebInspector.ObjectTreePropertyTreeElement.prototype):
When we have a native function, try to provide a better parameter string.

Part 3: Better handle errors when invoking getters.

  • UserInterface/Protocol/RemoteObject.js:

(WebInspector.RemoteObject.prototype.callFunction):
(WebInspector.RemoteObject.prototype.invokeGetter):
Pass the error, wasThrown, and result through to the caller so they can
act on all the information possible. Provide encapsulation though
and auto-convert the result to a RemoteObject for the callback.

  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

(WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.nodeResolved):
(WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.nodePrototypesReady):

  • UserInterface/Views/DOMTreeElement.js:

(WebInspector.DOMTreeElement.prototype._createTooltipForNode.setTooltip):
(WebInspector.DOMTreeElement.prototype._createTooltipForNode.resolvedNode):
(WebInspector.DOMTreeElement.prototype._createTooltipForNode):
Update current users of callFunctionOn for the new callback parameters.

  • UserInterface/Views/ObjectTreePropertyTreeElement.css:

(.object-tree-property.had-error > .icon):

  • UserInterface/Views/ObjectTreePropertyTreeElement.js:

(WebInspector.ObjectTreePropertyTreeElement):
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateHasChildren):
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitleAndIcon):
(WebInspector.ObjectTreePropertyTreeElement.prototype._createTitlePropertyStyle):
(WebInspector.ObjectTreePropertyTreeElement.prototype._createInteractiveGetterElement.):
Better style getters with errors.

4:31 PM Changeset in webkit [180592] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Do not show "{}" after Date description in Object Previews
https://bugs.webkit.org/show_bug.cgi?id=141898

Reviewed by Timothy Hatcher.

  • UserInterface/Views/ObjectPreviewView.js:

(WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
Only show "{...}" section for Date objects that have user
defined properties. Otherwise, Dates do not have properties.

4:03 PM Changeset in webkit [180591] by mark.lam@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Rolling out r179753. The fix was invalid.
<https://webkit.org/b/141990>

Not reviewed.

  • API/tests/testapi.mm:

(threadMain):
(useVMFromOtherThread): Deleted.
(useVMFromOtherThreadAndOutliveVM): Deleted.

  • heap/Heap.cpp:

(JSC::Heap::Heap):
(JSC::Heap::~Heap):
(JSC::Heap::gatherStackRoots):

  • heap/Heap.h:

(JSC::Heap::machineThreads):

  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::Thread::Thread):
(JSC::MachineThreads::MachineThreads):
(JSC::MachineThreads::~MachineThreads):
(JSC::MachineThreads::addCurrentThread):
(JSC::MachineThreads::removeThread):
(JSC::MachineThreads::removeCurrentThread):

  • heap/MachineStackMarker.h:
3:33 PM Changeset in webkit [180590] by dino@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r180588.

2015-02-24 Dean Jackson <dino@apple.com>

[ios Media] the inline controls are visible after pressing Done on iPhone
https://bugs.webkit.org/show_bug.cgi?id=141987
<rdar://problem/19944110>

Reviewed by Beth Dakin.

When exiting out of a playing video, we should show the
start playback button if we don't allow inline media
(such as on iPhone).

  • Modules/mediacontrols/mediaControlsiOS.js: (ControllerIOS.prototype.shouldHaveStartPlaybackButton): Test for allowsInline as well.
3:31 PM Changeset in webkit [180589] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

Buildfix after r180585.

  • CMakeLists.txt:
3:21 PM Changeset in webkit [180588] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[ios Media] the inline controls are visible after pressing Done on iPhone
https://bugs.webkit.org/show_bug.cgi?id=141987
<rdar://problem/19944110>

Reviewed by Beth Dakin.

When exiting out of a playing video, we should show the
start playback button if we don't allow inline media
(such as on iPhone).

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.shouldHaveStartPlaybackButton): Test for
allowsInline as well.

3:01 PM Changeset in webkit [180587] by Yusuke Suzuki
  • 40 edits
    5 adds in trunk

Constructor returning null should construct an object instead of null
https://bugs.webkit.org/show_bug.cgi?id=141640

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

When constructor code doesn't return object, constructor should return this object instead.
Since we used op_is_object for this check and op_is_object is intended to be used for typeof,
it allows null as an object.
This patch fixes it by introducing an new bytecode op_is_object_or_null for typeof use cases.
Instead, constructor uses simplified is_object.

As a result, op_is_object becomes fairly simple. So we introduce optimization for op_is_object.

  1. LLInt and baseline JIT support op_is_object as a fast path.
  2. DFG abstract interpreter support op_is_object. And recognize its speculated type and read-write effects.
  3. DFG introduces inlined asm for op_is_object rather than calling a C++ function.
  4. FTL lowers DFG's IsObject into LLVM IR.

And at the same time, this patch fixes isString / isObject predicate used for op_is_object and others
in LLInt, JIT, DFG and FTL.
Before introducing ES6 Symbol, JSCell is only used for object and string in user observable area.
So in many places, when the cell is not object, we recognize it as a string, and vice versa.
However, now ES6 Symbol is implemented as a JSCell, this assumption is broken.
So this patch stop using !isString as isObject.
To check whether a cell is an object, instead of seeing that structure ID of a cell is not stringStructure,
we examine typeInfo in JSCell.

  • JavaScriptCore.order:
  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFor):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitEqualityOp):
(JSC::BytecodeGenerator::emitReturn):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

IsObject operation only touches JSCell typeInfoType.
And this value would be changed through structure transition.
As a result, IsObject can report that it doesn't read any information.

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

Just like IsString, IsObject is also fixed up.

  • dfg/DFGHeapLocation.cpp:

(WTF::printInternal):

  • dfg/DFGHeapLocation.h:
  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
(JSC::DFG::SpeculativeJIT::compileStringToUntypedEquality):
(JSC::DFG::SpeculativeJIT::compileStringIdentToNotStringVarEquality):
(JSC::DFG::SpeculativeJIT::compileToStringOnCell):
(JSC::DFG::SpeculativeJIT::speculateObject):
(JSC::DFG::SpeculativeJIT::speculateObjectOrOther):
(JSC::DFG::SpeculativeJIT::speculateString):
(JSC::DFG::SpeculativeJIT::speculateNotStringVar):
(JSC::DFG::SpeculativeJIT::emitSwitchChar):
(JSC::DFG::SpeculativeJIT::emitSwitchString):
(JSC::DFG::SpeculativeJIT::branchIsObject):
(JSC::DFG::SpeculativeJIT::branchNotObject):
(JSC::DFG::SpeculativeJIT::branchIsString):
(JSC::DFG::SpeculativeJIT::branchNotString):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileToString):
(JSC::FTL::LowerDFGToLLVM::compileIsObject):
(JSC::FTL::LowerDFGToLLVM::compileIsObjectOrNull):
(JSC::FTL::LowerDFGToLLVM::speculateTruthyObject):
(JSC::FTL::LowerDFGToLLVM::equalNullOrUndefined):
(JSC::FTL::LowerDFGToLLVM::isObject):
(JSC::FTL::LowerDFGToLLVM::isNotObject):
(JSC::FTL::LowerDFGToLLVM::isNotString):
(JSC::FTL::LowerDFGToLLVM::speculateNonNullObject):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

  • jit/JIT.h:
  • jit/JITInlines.h:

(JSC::JIT::emitJumpIfCellObject):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_is_object):
(JSC::JIT::emit_op_to_primitive):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_is_object):
(JSC::JIT::emit_op_to_primitive):
(JSC::JIT::compileOpStrictEq):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:
  • runtime/Operations.cpp:

(JSC::jsIsObjectTypeOrNull):
(JSC::jsIsObjectType): Deleted.

  • runtime/Operations.h:
  • tests/stress/constructor-with-return.js: Added.

(Test):

When constructor doesn't return an object, this should be returned instead.
In this test, we check all primitives. And test object, array and wrappers.

  • tests/stress/dfg-to-primitive-pass-symbol.js: Added.

(toPrimitiveTarget):
(doToPrimitive):

op_to_primitive operation passes Symbol in fast path.

LayoutTests:

Follow the old ret_object_or_this semantics.
When constructor returns an object that masquerades as undefined, we see it as an object.

  • js/dom/constructor-with-return-masquerades-expected.txt: Added.
  • js/dom/constructor-with-return-masquerades.html: Added.
  • js/dom/script-tests/constructor-with-return-masquerades.js: Added.

(Constructor):

2:53 PM Changeset in webkit [180586] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

Pass FillLayer reference instead of pointer to RenderBoxModelObject::calculateBackgroundImageGeometry.
https://bugs.webkit.org/show_bug.cgi?id=141982

Reviewed by Simon Fraser.

There should always be a valid FillLayer.

No change in functionality.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::getBackgroundPaintedExtent):
(WebCore::RenderBox::maskClipRect):
(WebCore::RenderBox::repaintLayerRectsForImage):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::calculateFillTileSize):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
(WebCore::RenderBoxModelObject::getGeometryForBackgroundImage):

  • rendering/RenderBoxModelObject.h:
2:40 PM Changeset in webkit [180585] by andersca@apple.com
  • 10 edits
    1 copy in trunk/Source/WebKit2

Pass _WKWebsiteDataRecord objects to the fetchData completion handler
https://bugs.webkit.org/show_bug.cgi?id=141984

Reviewed by Andreas Kling.

  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):
Create _WKWebsiteDataRecord objects for WebsiteDataRecord API objects.

  • UIProcess/API/APIWebsiteDataRecord.h:

Add WebsiteDataRecord getter.

  • UIProcess/API/Cocoa/_WKWebsiteDataRecord.h:

Add displayName and dataTypes properties.

  • UIProcess/API/Cocoa/_WKWebsiteDataRecord.mm:

(dataTypesToString):
Helper function to convert dataTypes bit-fields to strings.

(-[_WKWebsiteDataRecord description]):
Include the display name and data types in the description.

(-[_WKWebsiteDataRecord displayName]):
Return the display name.

(-[_WKWebsiteDataRecord dataTypes]):
Return the data types.

  • UIProcess/API/Cocoa/_WKWebsiteDataRecordInternal.h:

(WebKit::toWebsiteDataTypes):
Move this here from _WKWebsiteDataStore.mm.

(WebKit::toWKWebsiteDataTypes):
Add new function to convert WebsiteDataTypes to WKWebsiteDataTypes.

  • UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:

(-[_WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]):
(-[_WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]):
Qualify toWebsiteDataTypes calls.

  • UIProcess/WebsiteData/WebsiteDataRecord.cpp: Added.

(WebKit::WebsiteDataRecord::displayNameForOrigin):
New helper that returns a display name given an origin.

(WebKit::WebsiteDataRecord::add):
Add the origin as well as the type.

  • UIProcess/WebsiteData/WebsiteDataRecord.h:

Add new members.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::fetchData):
Loop through the entries and add them to the m_websiteDataRecords hash map, which
is keyed off of the display name. Pass the m_websiteDataRecords values to the completion handler.

  • WebKit2.xcodeproj/project.pbxproj:
2:29 PM Changeset in webkit [180584] by dino@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merge r180583.

2015-02-24 Dean Jackson <dino@apple.com>

[iOS Media] Be specific about which document to use for the timeline background canvas
https://bugs.webkit.org/show_bug.cgi?id=141981

Reviewed by Eric Carlson.

In some cases, especially with nested iframes, the document
reference for the shadow DOM might not be the one used
to create a -webkit-canvas context for rendering via CSS.
Explicitly get the context from the video's owner
document.

There is still a bug here:
https://bugs.webkit.org/show_bug.cgi?id=141983

  • Modules/mediacontrols/mediaControlsiOS.js: (ControllerIOS.prototype.drawTimelineBackground):
2:24 PM Changeset in webkit [180583] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS Media] Be specific about which document to use for the timeline background canvas
https://bugs.webkit.org/show_bug.cgi?id=141981

Reviewed by Eric Carlson.

In some cases, especially with nested iframes, the document
reference for the shadow DOM might not be the one used
to create a -webkit-canvas context for rendering via CSS.
Explicitly get the context from the video's owner
document.

There is still a bug here:
https://bugs.webkit.org/show_bug.cgi?id=141983

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.drawTimelineBackground):

2:11 PM Changeset in webkit [180582] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

Remove unused BackgroundImageGeometry::m_destOrigin
https://bugs.webkit.org/show_bug.cgi?id=141980

Reviewed by Simon Fraser.

Remove BackgroundImageGeometry::m_destOrigin and its dependencies.
They are not used at all.

No change in functionality.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
(WebCore::BackgroundImageGeometry::relativePhase): Deleted.

  • rendering/RenderBoxModelObject.h:

(WebCore::BackgroundImageGeometry::destOrigin): Deleted.
(WebCore::BackgroundImageGeometry::setDestOrigin): Deleted.

  • rendering/svg/RenderSVGResourceMasker.cpp:

(WebCore::RenderSVGResourceMasker::drawMaskForRenderer):

1:33 PM Changeset in webkit [180581] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

RenderBoxModelObject::calculateBackgroundImageGeometry should return BackgroundImageGeometry.
https://bugs.webkit.org/show_bug.cgi?id=141979

Reviewed by Simon Fraser.

No change in functionality.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::getBackgroundPaintedExtent):
(WebCore::RenderBox::maskClipRect):
(WebCore::RenderBox::repaintLayerRectsForImage):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
(WebCore::RenderBoxModelObject::getGeometryForBackgroundImage):

  • rendering/RenderBoxModelObject.h:
12:42 PM Changeset in webkit [180580] by Alan Bujtas
  • 12 edits in trunk/Source/WebCore

Switch BackgroundImageGeometry's m_phase from LayoutPoint to LayoutSize.
https://bugs.webkit.org/show_bug.cgi?id=141972

Reviewed by Simon Fraser.

Image geometry's phase represents distance.

No change in functionality.

  • WebCore.order:
  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::setContentsTilePhase):
(WebCore::GraphicsLayer::contentsTilePhase):

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::computePatternTransformIfNeeded):
(WebCore::TextureMapperLayer::setContentsTilePhase):

  • platform/graphics/texmap/TextureMapperLayer.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::setContentsTilePhase):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::BackgroundImageGeometry::setNoRepeatX):
(WebCore::BackgroundImageGeometry::setNoRepeatY):
(WebCore::BackgroundImageGeometry::useFixedAttachment):
(WebCore::BackgroundImageGeometry::relativePhase):
(WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting):
(WebCore::RenderBoxModelObject::getGeometryForBackgroundImage):

  • rendering/RenderBoxModelObject.h:

(WebCore::BackgroundImageGeometry::phase):
(WebCore::BackgroundImageGeometry::setPhase):
(WebCore::BackgroundImageGeometry::setPhaseX):
(WebCore::BackgroundImageGeometry::setPhaseY):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::resetContentsRect):
(WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):

  • rendering/svg/RenderSVGResourceMasker.cpp:

(WebCore::RenderSVGResourceMasker::drawMaskForRenderer):

11:49 AM Changeset in webkit [180579] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

One more buildfix after r180575.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::connectionDidClose):

11:44 AM Changeset in webkit [180578] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] WebKit abandons overlay scrollbar CALayers.
<https://webkit.org/b/141943>
<rdar://problem/19932199>

Reviewed by Beth Dakin.

  • platform/mac/ScrollAnimatorMac.mm:

(-[WebScrollbarPartAnimation initWithScrollbar:featureToAnimate:animateFrom:animateTo:duration:]):
Use NSAnimationNonblockingThreaded to ensure that NSAnimations get cleaned up after they finish.
The animation was indirectly retaining the overlay scrollbar's CALayer, causing significant
amounts of abandoned memory to accumulate over time.

11:32 AM Changeset in webkit [180577] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

URTBF after 180575.

  • CMakeLists.txt:
11:12 AM Changeset in webkit [180576] by ggaren@apple.com
  • 13 edits
    1 add in trunk/Source/bmalloc

bmalloc: Added a little more abstraction for large objects
https://bugs.webkit.org/show_bug.cgi?id=141978

Reviewed by Sam Weinig.

Previously, each client needed to manage the boundary tags of
a large object using free functions. This patch introduces a LargeObject
class that does things a little more automatically.

  • bmalloc.xcodeproj/project.pbxproj:
  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::reallocate): Use the new LargeObject class.

  • bmalloc/BeginTag.h:

(bmalloc::BeginTag::isInFreeList): Deleted. Moved this logic into the
LargeObject class.

  • bmalloc/BoundaryTag.h:

(bmalloc::BoundaryTag::isSentinel):
(bmalloc::BoundaryTag::compactBegin):
(bmalloc::BoundaryTag::setRange):
(bmalloc::BoundaryTag::initSentinel): Added an explicit API for sentinels,
which we used to create and test for implicitly.

  • bmalloc/BoundaryTagInlines.h:

(bmalloc::BoundaryTag::init):
(bmalloc::validate): Deleted.
(bmalloc::validatePrev): Deleted.
(bmalloc::validateNext): Deleted.
(bmalloc::BoundaryTag::mergeLeft): Deleted.
(bmalloc::BoundaryTag::mergeRight): Deleted.
(bmalloc::BoundaryTag::merge): Deleted.
(bmalloc::BoundaryTag::deallocate): Deleted.
(bmalloc::BoundaryTag::split): Deleted.
(bmalloc::BoundaryTag::allocate): Deleted. Moved this logic into the
LargeObject class.

  • bmalloc/EndTag.h:

(bmalloc::EndTag::init):
(bmalloc::EndTag::operator=): Deleted. Re-reading this code, I found
special behavior in the assignment operator to be a surprising API.
So, I replaced the assignment operation with an explicit initializing
function.

  • bmalloc/Heap.cpp:

(bmalloc::Heap::scavengeLargeRanges):
(bmalloc::Heap::allocateXLarge):
(bmalloc::Heap::findXLarge):
(bmalloc::Heap::deallocateXLarge):
(bmalloc::Heap::allocateLarge):
(bmalloc::Heap::deallocateLarge):

  • bmalloc/Heap.h: No behavior changes here -- just adopting the

LargeObject interface.

  • bmalloc/LargeObject.h: Added.

(bmalloc::LargeObject::operator!):
(bmalloc::LargeObject::begin):
(bmalloc::LargeObject::size):
(bmalloc::LargeObject::range):
(bmalloc::LargeObject::LargeObject):
(bmalloc::LargeObject::setFree):
(bmalloc::LargeObject::isFree):
(bmalloc::LargeObject::hasPhysicalPages):
(bmalloc::LargeObject::setHasPhysicalPages):
(bmalloc::LargeObject::isValidAndFree):
(bmalloc::LargeObject::merge):
(bmalloc::LargeObject::split):
(bmalloc::LargeObject::validateSelf):
(bmalloc::LargeObject::validate): Moved this code into a class, out of
BoundaryTag free functions.

New to the class are these features:

(1) Every reference to an object is validated upon creation and use.

(2) There's an explicit API for "This is a reference to an object
that might be stale (the DoNotValidate API)".

(3) The begin and end tags are kept in sync automatically.

  • bmalloc/SegregatedFreeList.cpp:

(bmalloc::SegregatedFreeList::insert):
(bmalloc::SegregatedFreeList::takeGreedy):
(bmalloc::SegregatedFreeList::take):

  • bmalloc/SegregatedFreeList.h: Adopt the LargeObject interface.
  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::grow):

  • bmalloc/VMHeap.h:

(bmalloc::VMHeap::allocateLargeRange):
(bmalloc::VMHeap::deallocateLargeRange): Adopt the LargeObject interface.

10:55 AM Changeset in webkit [180575] by andersca@apple.com
  • 13 edits
    2 adds in trunk/Source

Implement more of the data fetching API
https://bugs.webkit.org/show_bug.cgi?id=141975

Reviewed by Andreas Kling.

Source/WebCore:

Add API for getting origins in a given session that has cached data.

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::originsWithCache):

Source/WebKit2:

  • Shared/WebsiteData/WebsiteData.cpp: Added.

(WebKit::WebsiteData::Entry::encode):
(WebKit::WebsiteData::Entry::decode):
(WebKit::WebsiteData::encode):
(WebKit::WebsiteData::decode):

  • Shared/WebsiteData/WebsiteData.h: Added.

Add a new WebsiteData class that will store website data. Currently it only stores
origin + website data type, but in the future it is going to store more things, like
host names that have cookies associated.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::~WebProcessProxy):
Assert that we don't have any pending fetch data callbacks.

(WebKit::WebProcessProxy::connectionDidClose):
Invoke any pending fetch website data callbacks.

(WebKit::WebProcessProxy::didFetchWebsiteData):
Grab the callback and invoke it.

(WebKit::WebProcessProxy::fetchWebsiteData):
Set up a pending callback and send a FetchWebsiteData message to the web process.

  • UIProcess/WebProcessProxy.h:

Add new member.

  • UIProcess/WebProcessProxy.messages.in:

Add a DidFetchWebsiteData message.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::computeWebProcessAccessTypeForDataFetch):
Return the web process access type for the given set of data types.

(WebKit::WebsiteDataStore::fetchData):
Set up a callback aggregator that will assemble the needed website data into a vector of website data records.

(WebKit::computeNetworkProcessAccessTypeForDataRemoval):
(WebKit::computeWebProcessAccessTypeForDataRemoval):
Rename these functions to indicate that they are about data removal.

(WebKit::WebsiteDataStore::removeData):
Append "ForDataRemoval" to function calls.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

  • WebProcess/Storage/StorageAreaMap.cpp:

(WebKit::StorageAreaMap::StorageAreaMap):
Tighten types.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::fetchWebsiteData):
For now, just fetch memory cache data.

  • WebProcess/WebProcess.h:

Add new members.

  • WebProcess/WebProcess.messages.in:

Add FetchWebsiteData message.

10:47 AM Changeset in webkit [180574] by Simon Fraser
  • 7 edits in trunk/Source/WebCore

Use nullptr in more places in FrameView, RenderView, RenderObject
https://bugs.webkit.org/show_bug.cgi?id=141974

Reviewed by Zalan Bujtas.

0 -> nullptr in FrameView.h/cpp, RenderView.h/cpp, RenderObject.h/cpp.

Rename FrameView::m_deferSetNeedsLayouts to FrameView::m_deferSetNeedsLayoutCount
to make it more clear that it's a count.

  • page/FrameView.cpp:

(WebCore::FrameView::FrameView):
(WebCore::FrameView::reset):
(WebCore::FrameView::setContentsSize):
(WebCore::FrameView::calculateScrollbarModesForLayout):
(WebCore::FrameView::layerForScrolling):
(WebCore::FrameView::layerForHorizontalScrollbar):
(WebCore::FrameView::layerForVerticalScrollbar):
(WebCore::FrameView::layerForScrollCorner):
(WebCore::FrameView::tiledBacking):
(WebCore::FrameView::scrollLayerID):
(WebCore::FrameView::layerForOverhangAreas):
(WebCore::FrameView::setWantsLayerForTopOverHangArea):
(WebCore::FrameView::setWantsLayerForBottomOverHangArea):
(WebCore::FrameView::hasCompositedContentIncludingDescendants):
(WebCore::FrameView::layoutRoot):
(WebCore::FrameView::forceLayoutParentViewIfNeeded):
(WebCore::FrameView::layout):
(WebCore::FrameView::hostWindow):
(WebCore::FrameView::scheduleRelayout):
(WebCore::FrameView::scheduleRelayoutOfSubtree):
(WebCore::FrameView::needsLayout):
(WebCore::FrameView::setNeedsLayout):
(WebCore::FrameView::enclosingScrollableArea):
(WebCore::FrameView::parentFrameView):
(WebCore::FrameView::paintControlTints):
(WebCore::FrameView::adjustPageHeightDeprecated):
(WebCore::FrameView::axObjectCache):

  • page/FrameView.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::RenderObject):
(WebCore::RenderObject::nextInPreOrderAfterChildren):
(WebCore::RenderObject::previousInPreOrder):
(WebCore::RenderObject::firstLeafChild):
(WebCore::RenderObject::lastLeafChild):
(WebCore::RenderObject::traverseNext):
(WebCore::RenderObject::firstLineBlock):
(WebCore::RenderObject::containerForRepaint):
(WebCore::RenderObject::showRenderSubTreeAndMark):
(WebCore::RenderObject::localToAbsolute):
(WebCore::RenderObject::container):

  • rendering/RenderObject.h:

(WebCore::RenderObject::virtualContinuation):
(WebCore::RenderObject::node):
(WebCore::RenderObject::nonPseudoNode):
(WebCore::RenderObject::localToAbsoluteQuad):
(WebCore::RenderObject::absoluteQuads):
(WebCore::RenderObject::absoluteClippedOverflowRect):
(WebCore::RenderObject::outlineBoundsForRepaint):
(WebCore::RenderObject::computeAbsoluteRepaintRect):
(WebCore::RenderObject::selectionRect):
(WebCore::RenderObject::imageChanged):
(WebCore::RenderObject::addFocusRingRects):
(WebCore::RenderObject::absoluteOutlineBounds):

  • rendering/RenderView.cpp:

(WebCore::SelectionIterator::next):
(WebCore::RenderView::RenderView):
(WebCore::RenderView::mapLocalToContainer):
(WebCore::RenderView::pushMappingToContainer):
(WebCore::RenderView::computeRectForRepaint):
(WebCore::rendererAfterPosition):
(WebCore::RenderView::splitSelectionBetweenSubtrees):
(WebCore::RenderView::rootBackgroundIsEntirelyFixed):

  • rendering/RenderView.h:
10:31 AM Changeset in webkit [180573] by dino@apple.com
  • 2 edits in trunk/LayoutTests

Temporarily skip this test on iOS 64-bit.

Rubber-stamped by Michael Saboff.

  • js/script-tests/array-from.js:
10:24 AM Changeset in webkit [180572] by bshafiei@apple.com
  • 5 edits in branches/safari-600.5-branch/Source

Versioning.

10:24 AM Changeset in webkit [180571] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source

Versioning.

10:20 AM Changeset in webkit [180570] by Yusuke Suzuki
  • 50 edits
    2 adds in trunk

REGRESSION(r179429): Can't type comments in Facebook
https://bugs.webkit.org/show_bug.cgi?id=141859

Reviewed by Brent Fulgham.

Source/JavaScriptCore:

When window.Symbol is exposed to user-space pages,
Facebook's JavaScript use it (maybe, for immutable-js and React.js's unique key).
However, to work with Symbols completely, it also requires
1) Object.getOwnPropertySymbols (for mixin including Symbols)
2) the latest ES6 Iterator interface that uses Iterator.next and it returns { done: boolean, value: value }.
Since they are not landed yet, comments in Facebook don't work.

This patch introduces RuntimeFlags for JavaScriptCore.
Specifying SymbolEnabled flag under test runner and inspector to continue to work with Symbol.
And drop JavaScriptExperimentsEnabled flag
because it is no longer used and use case of this is duplicated to runtime flags.

(GlobalObject::javaScriptRuntimeFlags):
(GlobalObject::javaScriptExperimentsEnabled): Deleted.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::JSGlobalObject):
(JSC::JSGlobalObject::init):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::finishCreation):
(JSC::JSGlobalObject::javaScriptRuntimeFlags):
(JSC::JSGlobalObject::javaScriptExperimentsEnabled): Deleted.

  • runtime/RuntimeFlags.h: Added.

(JSC::RuntimeFlags::RuntimeFlags):
(JSC::RuntimeFlags::createAllEnabled):

Source/WebCore:

Enable SymbolEnabled runtime flag in inspector context.

  • ForwardingHeaders/runtime/RuntimeFlags.h: Added.
  • WebCore.order:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::javaScriptRuntimeFlags):
(WebCore::JSDOMWindowBase::javaScriptExperimentsEnabled): Deleted.

  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSWorkerGlobalScopeBase.cpp:

(WebCore::JSWorkerGlobalScopeBase::javaScriptRuntimeFlags):
(WebCore::JSWorkerGlobalScopeBase::javaScriptExperimentsEnabled): Deleted.

  • bindings/js/JSWorkerGlobalScopeBase.h:
  • inspector/InspectorFrontendClientLocal.cpp:

(WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):

  • page/Settings.h:
  • page/Settings.in:

Source/WebKit/mac:

Introduce SymbolEnabled and drop javaScriptExperimentsEnabled.
Private API, javaScriptExperimentsEnabled is dropped.

  • Misc/WebNSDictionaryExtras.h:
  • Misc/WebNSDictionaryExtras.m:

(-[NSMutableDictionary _webkit_setUnsignedInt:forKey:]):

  • WebKit.order:
  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences _setUnsignedIntValue:forKey:]):
(-[WebPreferences javaScriptRuntimeFlags]):
(-[WebPreferences setJavaScriptRuntimeFlags:]):
(-[WebPreferences setJavaScriptExperimentsEnabled:]): Deleted.
(-[WebPreferences javaScriptExperimentsEnabled]): Deleted.

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit/win:

Added Windows support.

  • Interfaces/IWebPreferences.idl:
  • Interfaces/IWebPreferencesPrivate.idl:
  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings):
(WebPreferences::javaScriptRuntimeFlags):
(WebPreferences::setJavaScriptRuntimeFlags):
(WebPreferences::isWebSecurityEnabled):

  • WebPreferences.h:
  • WebView.cpp:

(WebView::notifyPreferencesChanged):

Source/WebKit2:

Enable SymbolEnabled in inspector context.

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetJavaScriptRuntimeFlags):
(WKPreferencesGetJavaScriptRuntimeFlags):
(WKPreferencesSetJavaScriptExperimentsEnabled): Deleted.
(WKPreferencesGetJavaScriptExperimentsEnabled): Deleted.

  • UIProcess/API/C/WKPreferencesRef.h:
  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _javaScriptRuntimeFlags]):
(-[WKPreferences _setJavaScriptRuntimeFlags:]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/efl/WebInspectorProxyEfl.cpp:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

  • mac/WebKit2.order:

Tools:

Drop javaScriptExperimentsEnabled and specify JavaScriptRuntimeFlagsAllEnabled as KJavaScriptRuntimeFlags.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebPreferencesToConsistentValues):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetWebPreferencesToConsistentValues):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):

9:59 AM Changeset in webkit [180569] by Manuel Rego Casasnovas
  • 1 edit
    1 delete in trunk/LayoutTests

Unreviewed GTK+ gardening.

This was introduced in r180555, but the test has been generalized in
r180562 and we don't need a particular expectation anymore.

  • platform/gtk/fast/css-grid-layout/grid-item-order-in-content-sized-columns-resolution-expected.txt: Removed.
9:55 AM Changeset in webkit [180568] by andersca@apple.com
  • 10 edits in trunk/Source/WebKit2

Tighten up some SecurityOrigin related code, use references where possible
https://bugs.webkit.org/show_bug.cgi?id=141971

Reviewed by Antti Koivisto.

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::getIndexedDatabaseOrigins):

  • Shared/SecurityOriginData.cpp:

(WebKit::SecurityOriginData::fromSecurityOrigin):
(WebKit::SecurityOriginData::securityOrigin):

  • Shared/SecurityOriginData.h:
  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::createTransientLocalStorageMap):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::WebIDBServerConnection::WebIDBServerConnection):

  • WebProcess/MediaCache/WebMediaKeyStorageManager.cpp:

(WebKit::WebMediaKeyStorageManager::getMediaKeyOrigins):

  • WebProcess/Storage/StorageAreaMap.cpp:

(WebKit::StorageAreaMap::create):
(WebKit::StorageAreaMap::StorageAreaMap):
(WebKit::StorageAreaMap::dispatchSessionStorageEvent):
(WebKit::StorageAreaMap::dispatchLocalStorageEvent):

  • WebProcess/Storage/StorageAreaMap.h:
  • WebProcess/Storage/StorageNamespaceImpl.cpp:

(WebKit::StorageNamespaceImpl::storageArea):

9:38 AM Changeset in webkit [180567] by Manuel Rego Casasnovas
  • 5 edits
    2 adds in trunk

[CSS Grid Layout] Support "sparse" in auto-placed items locked to a row/column
https://bugs.webkit.org/show_bug.cgi?id=141748

Reviewed by Sergio Villar Senin.

Source/WebCore:

The first step of grid item placement algorithm has been updated in
order to support both "sparse" and "dense" modes. Current code is always
doing a "dense" packing in this case.

See: http://dev.w3.org/csswg/css-grid/#auto-placement-algo

Test: fast/css-grid-layout/grid-item-auto-placement-fixed-row-column.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid): Add a cursor
for each row/column and use it to place items in the right position.

LayoutTests:

New test to check "sparse" and "dense" packing mode behavior in
auto-placed items locked to a given row (or column).

  • fast/css-grid-layout/grid-item-auto-placement-definite-span.html:

Extract some common styles to resources/grid.css.

  • fast/css-grid-layout/grid-item-auto-placement-fixed-row-column-expected.txt: Added.
  • fast/css-grid-layout/grid-item-auto-placement-fixed-row-column.html: Added.
  • fast/css-grid-layout/resources/grid.css: Modified generic CSS file to

add common styles.

9:30 AM WebKitGTK/2.8.x edited by Michael Catanzaro
fix typo (diff)
9:28 AM WebKitGTK/2.8.x edited by Michael Catanzaro
Propose some merges for 2.7.91 (diff)
9:20 AM Changeset in webkit [180566] by jdiggs@igalia.com
  • 5 edits in trunk

[GTK] Layout Test accessibility/roles-exposed.html is failing
https://bugs.webkit.org/show_bug.cgi?id=141960

Reviewed by Martin Robinson.

Source/WebCore:

The test was failing because Gtk now uses GtkColorChooserDialog for the
color input, making the input field a button which results in the color
chooser dialog appearing. As a side effect of this change, the input now
has an accessible role of ColorWell, which is currently mapped to
ATK_ROLE_COLOR_CHOOSER (which is by definition the dialog which results
upon activating the button input field). Changed the Gtk platform mapping
to ATK_ROLE_BUTTON, leaving the Efl mapping as-is.

No new tests. Instead, updated and unskipped failing test.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(atkRole):

LayoutTests:

  • platform/gtk/TestExpectations: Unskip the failing test.
  • platform/gtk/accessibility/roles-exposed-expected.txt: Update the expectations.
9:17 AM WebKitGTK/2.6.x edited by Michael Catanzaro
Propose some merges in case there is a 2.6.6 (diff)
9:11 AM Changeset in webkit [180565] by commit-queue@webkit.org
  • 5 edits in trunk

Crash loading local file with WebPageProxy::loadAlternateHTMLString
https://bugs.webkit.org/show_bug.cgi?id=141867

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-02-24
Reviewed by Anders Carlsson.

Source/WebKit2:

WebPageProxy::loadAlternateHTMLString needs to assume read access to unreachableURL as well
as baseURL, because unreachableURL will get added to the back/forward list, causing us to
crash later on when we notice the unexpected URL received in checkURLReceivedFromWebProcess.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadAlternateHTMLString):

Tools:

  • TestWebKitAPI/Tests/WebKit2/LoadAlternateHTMLStringWithNonDirectoryURL.cpp:

(TestWebKitAPI::loadAlternateHTMLString): Split most of this test into a function so it can
be shared with the new test.
(TestWebKitAPI::TEST): Add a cross-platform test for this crash.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp: Add a GTK+ test for this crash.

(testLoadAlternateHTMLForLocalPage):
(beforeAll):

9:08 AM Changeset in webkit [180564] by fpizlo@apple.com
  • 2 edits
    3 adds in trunk/Source/JavaScriptCore

Our bizarre behavior on Arguments::defineOwnProperty should be deliberate rather than a spaghetti incident
https://bugs.webkit.org/show_bug.cgi?id=141951

Reviewed by Benjamin Poulain.

This patch has no behavioral change, but it simplifies a bunch of wrong code. The code is
still wrong in exactly the same way, but at least it's obvious what's going on. The wrongness
is covered by this bug: https://bugs.webkit.org/show_bug.cgi?id=141952.

  • runtime/Arguments.cpp:

(JSC::Arguments::copyBackingStore): We should only see the arguments token; assert otherwise. This works because if the GC sees the butterfly token it calls the JSObject::copyBackingStore method directly.
(JSC::Arguments::defineOwnProperty): Make our bizarre behavior deliberate rather than an accident of a decade of patches.

  • tests/stress/arguments-bizarre-behavior.js: Added.

(foo):

  • tests/stress/arguments-bizarre-behaviour-disable-enumerability.js: Added. My choice of spellings of the word "behavio[u]r" is almost as consistent as our implementation of arguments.

(foo):

  • tests/stress/arguments-custom-properties-gc.js: Added. I added this test because at first I was unsure if we GCd arguments correctly.

(makeBaseArguments):
(makeArray):
(cons):

9:07 AM Changeset in webkit [180563] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[GTK] Fonts loaded via @font-face look bad
https://bugs.webkit.org/show_bug.cgi?id=140994

Patch by Michael Catanzaro <Michael Catanzaro> on 2015-02-24
Reviewed by Martin Robinson.

We've had several complaints that woff fonts look bad on some websites. This seems to be a
combination of multiple issues. For one, we don't look at Fontconfig settings at all when
creating a web font. This commit changes FontPlatformData::initializeWithFontFace to instead
use sane default settings from Fontconfig when loading a web font, rather than accepting the
default settings from GTK+, which are normally overridden by Fontconfig when loading system
fonts. However, we will hardcode the hinting setting for web fonts to always force use of
the light autohinter, so that we do not use a font's native hints. This avoids compatibility
issues when fonts with poor native hinting are only tested in browsers that do not use the
native hints. It also allows us to sidestep future security vulnerabilities in FreeType's
bytecode interpreter.

The net result of this is that there should be little noticable difference if you have GTK+
set to use slight hinting (which forces use of the autohinter) unless you have customized
Fontconfig configuration, but a dramatic improvement with particular fonts if you use medium
or full hinting. This should reduce complaints about our font rendering on "fancy sites."

No new tests, since the affected fonts we've found are not freely redistributable.

  • platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:

(WebCore::FontCustomPlatformData::FontCustomPlatformData): Force web fonts to be autohinted.

  • platform/graphics/freetype/FontPlatformDataFreeType.cpp:

(WebCore::getDefaultCairoFontOptions): Renamed to disambiguate.
(WebCore::getDefaultFontconfigOptions): Added.
(WebCore::FontPlatformData::initializeWithFontFace): Always call
FontPlatformData::setCairoOptionsFromFontConfigPattern. If the FontPlatformData was not
created with an FcPattern (e.g. because this is a web font), call
getDefaultFontconfigOptions to get a sane default FcPattern.
(WebCore::FontPlatformData::setOrientation): Renamed call to getDefaultCairoFontOptions.
(WebCore::getDefaultFontOptions): Deleted.

9:07 AM Changeset in webkit [180562] by Manuel Rego Casasnovas
  • 3 edits in trunk/LayoutTests

[CSS Grid Layout] Use Ahem in grid-item-order-in-content-sized-columns-resolution.html
https://bugs.webkit.org/show_bug.cgi?id=141970

Reviewed by Sergio Villar Senin.

Without using Ahem we were having different results depending on the
platform.

  • fast/css-grid-layout/grid-item-order-in-content-sized-columns-resolution-expected.txt: Update results to the new values.
  • fast/css-grid-layout/grid-item-order-in-content-sized-columns-resolution.html: Use Ahem.
8:46 AM Changeset in webkit [180561] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

[Cocoa] Break internal reference cycle in WebCore::Font.
<https://webkit.org/b/141941>
<rdar://problem/19650570>

Reviewed by Antti Koivisto.

The Cocoa implementation of Font::platformCreateScaledFont() tried to be smart and use the FontCache.
This didn't work out well when scaling a 0pt Font, since scaling 0pt by any factor will return 0pt.

We'd have a 0pt font, scale it by 0.7 to get a small-caps variant, and then cache that small-caps
variant (really "this") in Font::m_derivedData->smallCaps.

Fix this by having Cocoa Font scaling do exactly what other platforms do: create a new Font every time.
This stops us from accumulating tons of abandoned Font objects over time.

  • platform/graphics/Font.cpp:

(WebCore::Font::verticalRightOrientationFont):
(WebCore::Font::uprightOrientationFont):
(WebCore::Font::smallCapsFont):
(WebCore::Font::emphasisMarkFont):
(WebCore::Font::brokenIdeographFont):
(WebCore::Font::nonSyntheticItalicFont): Add assertions to guard against reference cycles inside a Font.

  • platform/graphics/cocoa/FontCocoa.mm:

(WebCore::Font::platformCreateScaledFont): Always create a new Font when scaling an existing Font to a different size.

7:32 AM Changeset in webkit [180560] by ddkilzer@apple.com
  • 2 edits in trunk/LayoutTests

[iOS] Gardening: Mark svg/canvas/canvas-global-alpha-svg.html as ImageOnlyFailure

  • platform/ios-simulator/TestExpectations:
6:48 AM Changeset in webkit [180559] by youenn.fablet@crf.canon.fr
  • 9 edits in trunk

[Streams API] Reading ReadableStream ready and closed attributes should not always create a new promise
https://bugs.webkit.org/show_bug.cgi?id=141650

Reviewed by Benjamin Poulain.

Source/WebCore:

The JSPromiseDeferred objects returned by JSReadableStream::ready and JSReadableStream::closed should be stored somewhere.
This patch stores them as private slots in JSReadableStream.
This is close to the description in https://streams.spec.whatwg.org/#rs-internal-slots.

An alternative would be to have these objects as JSReadableStream class members, thus modifying the binding generator.
That may be the cleanest solution, especially if other APIs express the same need.
Another alternative is to store DeferredWrapper in ReadableStream objects.
But it is currently preferred to keep DeferredWrapper in bindings/js code.

Added new constructor for DeferredWrapper to use these stored values.
Updated ready and closed methods to use that new constructor.
Changes are covered by new test in streams/readablestream-constructor.html.

  • bindings/js/JSDOMPromise.cpp:

(WebCore::DeferredWrapper::DeferredWrapper):

  • bindings/js/JSDOMPromise.h:
  • bindings/js/JSReadableStreamCustom.cpp:

(WebCore::closedPromiseSlotName):
(WebCore::getOrCreatePromiseDeferredFromObject):
(WebCore::readyPromiseSlotName):
(WebCore::JSReadableStream::ready):
(WebCore::JSReadableStream::closed):

  • bindings/js/ReadableStreamJSSource.cpp:

(WebCore::setInternalSlotToObject):
(WebCore::getInternalSlotFromObject):

  • bindings/js/ReadableStreamJSSource.h:

LayoutTests:

  • streams/readablestream-constructor-expected.txt:
  • streams/readablestream-constructor.html: Added test to ensure ready and closed always return the same promise object.
6:21 AM Changeset in webkit [180558] by diorahman@rockybars.com
  • 18 edits in trunk

Always serialize :lang()'s arguments to strings
https://bugs.webkit.org/show_bug.cgi?id=141944

Reviewed by Benjamin Poulain.

Source/WebCore:

As specified in [1] :lang()'s arguments are always serialized to strings.

[1] http://dev.w3.org/csswg/cssom/#serializing-selectors

Related tests are updated.

  • css/CSSGrammar.y.in:
  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::setLangArgumentList):

  • css/CSSParserValues.h:

(WebCore::CSSParserString::init):
(WebCore::CSSParserString::clear):
(WebCore::CSSParserString::tokenType): Deleted.
(WebCore::CSSParserString::setTokenType): Deleted.

  • css/CSSSelector.cpp:

(WebCore::appendLangArgumentList):
(WebCore::CSSSelector::setLangArgumentList):

  • css/CSSSelector.h:

(WebCore::CSSSelector::langArgumentList):

  • css/SelectorCheckerTestFunctions.h:

(WebCore::matchesLangPseudoClass):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsInLanguage):

LayoutTests:

Some tests results are updated to reflect the always serialize
:lang()'s arguments to strings.

  • fast/css/css-lang-selector-with-string-arguments-text-expected.txt:
  • fast/css/css-lang-selector-with-string-arguments-text.html:
  • fast/css/parsing-css-lang-expected.txt:
  • fast/css/parsing-css-lang.html:
  • fast/css/css-selector-text-expected.txt:
  • fast/css/css-selector-text.html:
  • fast/css/css-set-selector-text-expected.txt:
  • fast/css/css-set-selector-text.html:
  • fast/dom/css-selectorText-expected.txt:
5:02 AM Changeset in webkit [180557] by ddkilzer@apple.com
  • 24 edits
    1 move
    54 adds
    209 deletes in trunk

[iOS] Implement WTR::activateFonts() to fix missing fonts in WebKit2 test runs
<http://webkit.org/b/141900>

Tools:

Reviewed by Myles C. Maxfield.

  • WebKitTestRunner/Configurations/InjectedBundle.xcconfig:

(OTHER_LDFLAGS_BASE): Link to CoreText.framework.

  • WebKitTestRunner/InjectedBundle/cocoa/ActivateFontsCocoa.mm: Rename from Tools/WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm.
  • Rename to share code with iOS.
  • Add USE(APPKIT) around AppKit-specific headers and code.
  • Fix a check-webkit-style warning.
  • WebKitTestRunner/InjectedBundle/ios/ActivateFontsIOS.mm: Remove.
  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
  • Rename mac/ActivateFonts.mm to cocoa/ActivateFontsCocoa.mm.
  • Remove ios/ActivateFontsIOS.mm.
  • Fix InjectedBundle/cocoa group to represent the directory on disk. Includes a change to InjectedBundlePageCocoa.mm.

LayoutTests:

Rebaseline ios-simulator-wk2 results after fixing font
registration for WebKitTestRunner.app.

  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • Shuffle css2.1 test expectations to make tests pass.
  • platform/ios-simulator/TestExpectations:
  • Shuffle css2.1 test expectations to make tests pass.
  • Mark a few ref tests as image-only failures via platform/mac.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-height-002-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-height-007-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-height-009-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-max-height-002-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-max-height-007-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-max-height-009-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-001-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-002-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-003-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-004-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-005-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-006-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-007-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-008-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-009-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-010-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-011-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-012-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-013-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-014-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-016-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-017-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-018-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-019-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-020-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-021-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-022-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-023-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/absolute-non-replaced-width-024-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-001-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-004a-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-004b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-004c-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-004d-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-004e-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-004f-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-005a-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-005b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-005c-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-005d-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-007-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-009a-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-009b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-009e-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/20110323/abspos-containing-block-initial-009f-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/20110323/abspos-non-replaced-width-margin-000-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/20110323/abspos-replaced-width-margin-000-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/20110323/block-non-replaced-height-005-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/block-non-replaced-height-006-expected.txt: Updated.
  • platform/ios-simulator-wk2/css2.1/20110323/block-non-replaced-width-007-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/block-replaced-width-001-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/block-replaced-width-006-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/c543-txt-decor-000-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/20110323/empty-inline-002-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/float-non-replaced-width-006-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/float-non-replaced-width-007-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/float-non-replaced-width-008-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/float-non-replaced-width-009-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/float-non-replaced-width-010-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/float-non-replaced-width-011-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/float-non-replaced-width-012-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/inline-block-non-replaced-width-001-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/inline-block-non-replaced-width-002-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/inline-block-non-replaced-width-003-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/inline-block-non-replaced-width-004-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/inline-non-replaced-height-002-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/inline-non-replaced-height-003-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/inline-non-replaced-width-001-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/inline-non-replaced-width-002-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/20110323/replaced-intrinsic-002-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/20110323/replaced-intrinsic-ratio-001-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t040302-c61-ex-len-00-b-a-expected.txt: Updated.
  • platform/ios-simulator-wk2/css2.1/t040302-c61-rel-len-00-b-ag-expected.txt: Updated.
  • platform/ios-simulator-wk2/css2.1/t040303-c62-percent-00-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t040306-c63-color-00-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0801-c412-hz-box-00-b-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5501-imrgn-t-00-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5501-mrgn-t-00-b-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5502-imrgn-r-00-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5502-imrgn-r-01-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5502-imrgn-r-02-b-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5502-imrgn-r-03-b-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5502-imrgn-r-04-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5502-imrgn-r-05-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5502-imrgn-r-06-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5502-mrgn-r-00-c-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5502-mrgn-r-01-c-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5502-mrgn-r-03-c-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t0803-c5503-imrgn-b-00-b-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5503-mrgn-b-00-b-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5504-imrgn-l-00-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5504-imrgn-l-01-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5504-imrgn-l-02-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5504-imrgn-l-03-b-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5504-imrgn-l-04-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5504-imrgn-l-05-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5504-imrgn-l-06-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5504-mrgn-l-00-c-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5504-mrgn-l-01-c-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5504-mrgn-l-03-c-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t0803-c5505-imrgn-00-a-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5505-mrgn-00-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5505-mrgn-01-e-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0803-c5505-mrgn-03-c-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5506-ipadn-t-00-b-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5506-ipadn-t-01-b-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5506-ipadn-t-02-b-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5506-padn-t-00-b-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5507-ipadn-r-00-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5507-ipadn-r-01-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5507-ipadn-r-02-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5507-ipadn-r-03-b-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5507-ipadn-r-04-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5507-padn-r-00-c-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5507-padn-r-01-c-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5507-padn-r-03-f-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t0804-c5508-ipadn-b-00-b-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5508-ipadn-b-01-f-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5508-ipadn-b-02-b-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5508-ipadn-b-03-b-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5509-ipadn-l-00-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5509-ipadn-l-01-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5509-ipadn-l-02-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5509-ipadn-l-03-b-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5509-ipadn-l-04-f-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5509-padn-l-00-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5509-padn-l-01-b-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5509-padn-l-03-f-g-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t0804-c5510-ipadn-00-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5510-padn-00-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5510-padn-01-e-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0804-c5510-padn-02-f-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t09-c5526c-display-00-e-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t090204-display-change-01-b-ao-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t090402-c42-ibx-pad-00-d-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0905-c5525-fltblck-00-d-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0905-c5525-fltclr-00-c-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0905-c5525-fltcont-00-d-g-expected.txt: Updated.
  • platform/ios-simulator-wk2/css2.1/t0905-c5525-fltinln-00-c-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0905-c5525-fltmrgn-00-c-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt: Updated.
  • platform/ios-simulator-wk2/css2.1/t0905-c5525-fltwidth-03-c-g-expected.txt: Updated.
  • platform/ios-simulator-wk2/css2.1/t0905-c5525-fltwrap-00-b-expected.txt: Updated.
  • platform/ios-simulator-wk2/css2.1/t0905-c5526-fltclr-00-c-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t090501-c414-flt-01-b-expected.txt: Updated.
  • platform/ios-simulator-wk2/css2.1/t090501-c414-flt-03-b-g-expected.txt: Updated.
  • platform/ios-simulator-wk2/css2.1/t1001-abs-pos-cb-01-b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t1001-abs-pos-cb-02-b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t1001-abs-pos-cb-03-b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t1001-abs-pos-cb-04-b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t1001-abs-pos-cb-05-b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t1001-abs-pos-cb-06-b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t1001-abs-pos-cb-07-b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t1001-abs-pos-cb-08-b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t1001-abs-pos-cb-09-b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t100303-c412-blockw-00-d-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t1004-c43-rpl-bbx-00-d-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t1004-c43-rpl-ibx-00-d-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t1008-c44-ln-box-00-d-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t1008-c44-ln-box-01-d-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t1008-c44-ln-box-02-d-ag-expected.txt: Updated.
  • platform/ios-simulator-wk2/css2.1/t1008-c44-ln-box-03-d-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t100801-c42-ibx-ht-00-d-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t100801-c544-valgn-00-a-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t100801-c544-valgn-01-d-ag-expected.txt: Updated.
  • platform/ios-simulator-wk2/css2.1/t100801-c544-valgn-02-d-agi-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t100801-c544-valgn-03-d-agi-expected.txt: Updated.
  • platform/ios-simulator-wk2/css2.1/t100801-c544-valgn-04-d-agi-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t100801-c548-leadin-00-d-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t100801-c548-ln-ht-00-c-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t100801-c548-ln-ht-01-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t100801-c548-ln-ht-02-b-ag-expected.txt: Updated.
  • platform/ios-simulator-wk2/css2.1/t100801-c548-ln-ht-03-d-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t100801-c548-ln-ht-04-d-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t1202-counter-08-b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t1202-counter-13-b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t1202-counter-14-b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t1202-counters-08-b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t1202-counters-13-b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t1202-counters-14-b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t1205-c566-list-stl-00-e-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t1205-c566-list-stl-01-c-g-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t140201-c534-bgre-00-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t140201-c534-bgre-01-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t140201-c534-bgreps-00-c-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t140201-c534-bgreps-01-c-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t140201-c534-bgreps-02-c-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t140201-c534-bgreps-03-c-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t140201-c534-bgreps-04-c-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t140201-c534-bgreps-05-c-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t140201-c536-bgpos-00-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t140201-c536-bgpos-01-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t140201-c537-bgfxps-00-c-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t1507-c526-font-sz-01-b-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t1507-c526-font-sz-02-b-a-expected.txt: Updated.
  • platform/ios-simulator-wk2/css2.1/t1507-c526-font-sz-03-f-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t1508-c527-font-00-b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t1508-c527-font-01-b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t1508-c527-font-02-b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t1508-c527-font-03-b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t1508-c527-font-04-b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t1508-c527-font-05-b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t1508-c527-font-06-b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t1508-c527-font-07-b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t1508-c527-font-08-b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t1508-c527-font-09-b-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t1508-c527-font-10-c-expected.txt: Added.
  • platform/ios-simulator-wk2/css2.1/t1601-c547-indent-00-b-a-expected.txt: Updated.
  • platform/ios-simulator-wk2/css2.1/t1602-c43-center-00-d-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t1604-c542-letter-sp-00-b-a-expected.txt: Updated.
  • platform/ios-simulator-wk2/css2.1/t1604-c542-letter-sp-01-b-a-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t1605-c545-txttrans-00-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/css2.1/t1606-c562-white-sp-00-b-ag-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/basic/010-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/basic/min-pref-width-nowrap-floats-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/float/004-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/float/005-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/float/006-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/float/float-not-removed-from-next-sibling3-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/float/float-not-removed-from-next-sibling4-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/lineboxcontain/block-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/lineboxcontain/block-glyphs-replaced-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/lineboxcontain/block-replaced-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/lineboxcontain/font-replaced-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/lineboxcontain/glyphs-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/lineboxcontain/inline-box-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/lineboxcontain/inline-box-replaced-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/lineboxcontain/inline-box-vertical-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/lineboxcontain/inline-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/lineboxcontain/inline-replaced-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/lineboxcontain/none-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/lineboxcontain/parsing-invalid-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/margin-collapse/006-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/margin-collapse/030-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/margin-collapse/031-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/margin-collapse/037-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/margin-collapse/038-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/margin-collapse/055-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/margin-collapse/block-inside-inline/006-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/positioning/002-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/positioning/vertical-lr/002-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/block/positioning/vertical-rl/002-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/compact/002-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/css-generated-content/nested-tables-with-before-after-content-crash-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/css/font-face-unicode-range-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/css/font-weight-1-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/css/line-after-floating-div-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/dynamic/first-letter-display-change-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/inline-block/002-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/inline/continuation-outlines-with-layers-2-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/inline/justify-emphasis-inline-box-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/line-grid/line-align-left-edges-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/line-grid/line-align-right-edges-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/line-grid/line-grid-contains-value-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/line-grid/line-grid-into-columns-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/multicol/client-rects-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/multicol/client-rects-spanners-complex-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/multicol/client-rects-spanners-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/multicol/newmulticol/client-rects-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/multicol/span/clone-flexbox-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/multicol/span/clone-summary-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/multicol/span/span-as-immediate-columns-child-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/ruby/ruby-base-merge-block-children-crash-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/ruby/select-ruby-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/text/international/text-spliced-font-expected.txt: Updated.
  • platform/ios-simulator-wk2/fast/text/whitespace/002-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/text/whitespace/003-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/text/whitespace/004-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/text/whitespace/005-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/text/whitespace/006-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/text/whitespace/007-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/text/whitespace/008-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/text/whitespace/009-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/text/whitespace/010-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/text/whitespace/011-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/text/whitespace/012-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/text/whitespace/015-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/text/whitespace/016-expected.txt: Removed.
  • platform/ios-simulator-wk2/fast/text/whitespace/018-expected.txt: Removed.
  • Add, update or remove platform-specific results as needed.
5:01 AM Changeset in webkit [180556] by ddkilzer@apple.com
  • 3 edits
    3 adds in trunk/LayoutTests

[iOS] Gardening: Clean up some failing WK2 tests

  • platform/ios-simulator/TestExpectations:
  • svg/as-image/svg-image-with-data-uri-from-canvas.html: Mark as ImageOnlyFailure since it has the same difference of 0.02% on every run.
  • platform/ios-simulator/fast/attachment/attachment-disabled-rendering-expected.txt: Add.
  • platform/ios-simulator/fast/attachment/attachment-rendering-expected.txt: Add.
  • platform/ios-simulator/fast/multicol/span/span-as-immediate-columns-child-expected.txt: Update.
  • Add or update platform-specific results.
4:21 AM Changeset in webkit [180555] by commit-queue@webkit.org
  • 2 edits
    2 adds in trunk/LayoutTests

Unreviewed GTK+ Gardening 24th February
https://bugs.webkit.org/show_bug.cgi?id=141964

Patch by Marcos Chavarría Teijeiro <chavarria1991@gmail.com> on 2015-02-24

  • platform/gtk/TestExpectations:
  • platform/gtk/fast/css-grid-layout/grid-item-order-in-content-sized-columns-resolution-expected.txt: Added. Rebaselined after r180107. (This revision updates expectations on mac platform but it doesn't do it in any other platform).
3:38 AM Changeset in webkit [180554] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Give TemporaryChange for m_inLoadPendingImages assertion a name so it actually does something.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::loadPendingImages):

3:29 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
3:28 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
3:27 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
3:02 AM Changeset in webkit [180553] by ryuan.choi@navercorp.com
  • 15 edits in trunk/Source/WebKit2

[EFL] Add message APIs to communicate between ewk_context and extensions
https://bugs.webkit.org/show_bug.cgi?id=137660

Reviewed by Gyuyoung Kim.

  • PlatformEfl.cmake: Added dependencies for ewk2UnitTestExtensionSample
  • UIProcess/API/efl/ewk_context.cpp:

(EwkContext::EwkContext):
(EwkContext::didReceiveMessageFromInjectedBundle):
(EwkContext::setMessageFromExtensionCallback):
(EwkContext::processReceivedMessageFromInjectedBundle):
(ewk_context_message_post_to_extensions):
(ewk_context_message_from_extensions_callback_set):
(EwkContext::didReceiveSynchronousMessageFromInjectedBundle):
Deleted to split synchronouse message APIs from asynchronuous message APIs.
ewebkit will not support this until there are requirements.
(EwkContext::setMessageFromInjectedBundleCallback): Renamed to setMessageFromExtensionCallback.
(ewk_context_message_post_to_injected_bundle): Renamed to ewk_context_message_post_to_extensions.
(ewk_context_message_from_injected_bundle_callback_set): Renamed to ewk_context_message_from_injected_bundle_callback_set.

  • UIProcess/API/efl/ewk_context.h:
  • UIProcess/API/efl/ewk_context_private.h:
  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:

Improved test case for ewk_context_new_with_extensions_path using the message APIs.
(EWK2UnitTest::EWK2UnitTestBase::EWK2UnitTestBase):
(EWK2UnitTest::EWK2UnitTestBase::SetUp):

  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:

(EWK2UnitTest::EWK2UnitTestEnvironment::extensionSample): Deleted.

  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
  • UIProcess/API/efl/tests/extensions/extension_sample.cpp:

Improved test case for ewk_context_new_with_extensions_path using the message APIs.

  • UIProcess/API/efl/tests/test_ewk2_context.cpp: Ditto.

(EWK2ContextTestWithExtension::messageReceivedCallback):
(EWK2ContextTestWithExtension::EWK2ContextTestWithExtension):
(TEST_F):

  • WebProcess/InjectedBundle/API/efl/ewk_extension.cpp:

(toEwkExtendion):
(EwkExtension::EwkExtension):
(EwkExtension::didCreatePage):
(EwkExtension::willDestroyPage):
(EwkExtension::didReceiveMessage):
(EwkExtension::didReceiveMessageToPage):
(ewk_extension_message_post): Implemented to post message to ewk_context.

  • WebProcess/InjectedBundle/API/efl/ewk_extension.h:
  • WebProcess/InjectedBundle/API/efl/ewk_extension_private.h:

(EwkExtension::bundle):

  • WebProcess/efl/ExtensionManagerEfl.cpp:

(WebKit::ExtensionManagerEfl::initialize):
Fixed the bug when there are different shared objects in extension path.
This is spotted while improving test case.

12:57 AM Changeset in webkit [180552] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL daily gardening 24th Feb.

  • platform/efl/TestExpectations:
12:33 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)

Feb 23, 2015:

11:27 PM Changeset in webkit [180551] by commit-queue@webkit.org
  • 79 edits
    11 deletes in trunk

Unreviewed, rolling out r180547 and r180550.
https://bugs.webkit.org/show_bug.cgi?id=141957

Broke 10 Windows tests. (Requested by bfulgham_ on #webkit).

Reverted changesets:

"REGRESSION(r179429): Can't type comments in Facebook"
https://bugs.webkit.org/show_bug.cgi?id=141859
http://trac.webkit.org/changeset/180547

"Constructor returning null should construct an object instead
of null"
https://bugs.webkit.org/show_bug.cgi?id=141640
http://trac.webkit.org/changeset/180550

9:47 PM Changeset in webkit [180550] by Yusuke Suzuki
  • 39 edits
    9 adds in trunk

Constructor returning null should construct an object instead of null
https://bugs.webkit.org/show_bug.cgi?id=141640

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

When constructor code doesn't return object, constructor should return this object instead.
Since we used op_is_object for this check and op_is_object is intended to be used for typeof,
it allows null as an object.
This patch fixes it by introducing an new bytecode op_is_object_or_null for typeof use cases.
Instead, constructor uses simplified is_object.

As a result, op_is_object becomes fairly simple. So we introduce optimization for op_is_object.

  1. LLInt and baseline JIT support op_is_object as a fast path.
  2. DFG abstract interpreter support op_is_object. And recognize its speculated type and read-write effects.
  3. DFG introduces inlined asm for op_is_object rather than calling a C++ function.
  4. FTL lowers DFG's IsObject into LLVM IR.

And at the same time, this patch fixes isString / isObject predicate used for op_is_object and others
in LLInt, JIT, DFG and FTL.
Before introducing ES6 Symbol, JSCell is only used for object and string in user observable area.
So in many places, when the cell is not object, we recognize it as a string, and vice versa.
However, now ES6 Symbol is implemented as a JSCell, this assumption is broken.
So this patch stop using !isString as isObject.
To check whether a cell is an object, instead of seeing that structure ID of a cell is not stringStructure,
we examine typeInfo in JSCell.

  • JavaScriptCore.order:
  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFor):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitEqualityOp):
(JSC::BytecodeGenerator::emitReturn):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

IsObject operation only touches JSCell typeInfoType.
And this value would not be changed through structure transition.
As a result, IsObject can report that it doesn't read any information.

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

Just like IsString, IsObject is also fixed up.

  • dfg/DFGHeapLocation.cpp:

(WTF::printInternal):

  • dfg/DFGHeapLocation.h:
  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
(JSC::DFG::SpeculativeJIT::compileStringToUntypedEquality):
(JSC::DFG::SpeculativeJIT::compileStringIdentToNotStringVarEquality):
(JSC::DFG::SpeculativeJIT::compileToStringOnCell):
(JSC::DFG::SpeculativeJIT::speculateObject):
(JSC::DFG::SpeculativeJIT::speculateObjectOrOther):
(JSC::DFG::SpeculativeJIT::speculateString):
(JSC::DFG::SpeculativeJIT::speculateNotStringVar):
(JSC::DFG::SpeculativeJIT::emitSwitchChar):
(JSC::DFG::SpeculativeJIT::emitSwitchString):
(JSC::DFG::SpeculativeJIT::branchIsObject):
(JSC::DFG::SpeculativeJIT::branchNotObject):
(JSC::DFG::SpeculativeJIT::branchIsString):
(JSC::DFG::SpeculativeJIT::branchNotString):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileToString):
(JSC::FTL::LowerDFGToLLVM::compileIsObject):
(JSC::FTL::LowerDFGToLLVM::compileIsObjectOrNull):
(JSC::FTL::LowerDFGToLLVM::speculateTruthyObject):
(JSC::FTL::LowerDFGToLLVM::equalNullOrUndefined):
(JSC::FTL::LowerDFGToLLVM::isObject):
(JSC::FTL::LowerDFGToLLVM::isNotObject):
(JSC::FTL::LowerDFGToLLVM::isNotString):
(JSC::FTL::LowerDFGToLLVM::speculateNonNullObject):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

  • jit/JIT.h:
  • jit/JITInlines.h:

(JSC::JIT::emitJumpIfCellObject):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_is_object):
(JSC::JIT::emit_op_to_primitive):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_is_object):
(JSC::JIT::emit_op_to_primitive):
(JSC::JIT::compileOpStrictEq):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:
  • runtime/Operations.cpp:

(JSC::jsIsObjectTypeOrNull):
(JSC::jsIsObjectType): Deleted.

  • runtime/Operations.h:

LayoutTests:

  • js/dfg-to-primitive-pass-symbol-expected.txt: Added.
  • js/dfg-to-primitive-pass-symbol.html: Added.
  • js/dom/constructor-with-return-masquerades-expected.txt: Added.
  • js/dom/constructor-with-return-masquerades.html: Added.
  • js/dom/script-tests/constructor-with-return-masquerades.js: Added.

(Constructor):

Follow the old ret_object_or_this semantics.
When constructor returns an object that masquerades as undefined, we see it as an object.

  • js/regress/constructor-with-return-expected.txt: Added.
  • js/regress/constructor-with-return.html: Added.
  • js/regress/script-tests/constructor-with-return.js: Added.

(Test):

When constructor doesn't return an object, this should be returned instead.
In this test, we check all primitives. And test object, array and wrappers.

  • js/script-tests/dfg-to-primitive-pass-symbol.js: Added.

(toPrimitiveTarget):
(doToPrimitive):

op_to_primitive operation passes Symbol in fast path.

9:01 PM Changeset in webkit [180549] by rniwa@webkit.org
  • 11 edits in trunk

Disable font loading events until our implementation gets updated to match the latest spec
https://bugs.webkit.org/show_bug.cgi?id=141938

Reviewed by Andreas Kling.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Revert r173531 for now since our implementation is outdated.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

LayoutTests:

8:09 PM Changeset in webkit [180548] by Brent Fulgham
  • 5 edits in trunk/Source/WebCore

EventHandler references deleted Scrollbar
https://bugs.webkit.org/show_bug.cgi?id=141931
<rdar://problem/19915210>

Reviewed by Tim Horton.

Tested by scrollbars/overflow-custom-scrollbar-crash.html

Update the EventHandler class to use a WeakPtr to reference the
last used Scrollbar, rather than retaining the Scrollbar and
artificially extending its life. This keeps the EventHandler
state in proper sync with the state of the render tree, and
avoids cases where we have destroyed a ScrollableArea (and
Scrollbar) but are still sending messages to a fake zombie
version of the element.

  • page/EventHandler.cpp:

(WebCore::EventHandler::clear):
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::updateMouseEventTargetNode):
(WebCore::EventHandler::updateLastScrollbarUnderMouse):

  • page/EventHandler.h:
  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::Scrollbar): Initialize WeakPtrFactory.

  • platform/Scrollbar.h:

(WebCore::Scrollbar::createWeakPtr): Added,

7:47 PM Changeset in webkit [180547] by Yusuke Suzuki
  • 42 edits
    2 adds in trunk

REGRESSION(r179429): Can't type comments in Facebook
https://bugs.webkit.org/show_bug.cgi?id=141859

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

When window.Symbol is exposed to user-space pages,
Facebook's JavaScript use it (maybe, for immutable-js and React.js's unique key).
However, to work with Symbols completely, it also requires
1) Object.getOwnPropertySymbols (for mixin including Symbols)
2) the latest ES6 Iterator interface that uses Iterator.next and it returns { done: boolean, value: value }.
Since they are not landed yet, comments in Facebook don't work.

This patch introduces RuntimeFlags for JavaScriptCore.
Specifying SymbolEnabled flag under test runner and inspector to continue to work with Symbol.
And drop JavaScriptExperimentsEnabled flag
because it is no longer used and use case of this is duplicated to runtime flags.

(GlobalObject::javaScriptRuntimeFlags):
(GlobalObject::javaScriptExperimentsEnabled): Deleted.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::JSGlobalObject):
(JSC::JSGlobalObject::init):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::finishCreation):
(JSC::JSGlobalObject::javaScriptRuntimeFlags):
(JSC::JSGlobalObject::javaScriptExperimentsEnabled): Deleted.

  • runtime/RuntimeFlags.h: Added.

(JSC::RuntimeFlags::RuntimeFlags):
(JSC::RuntimeFlags::createAllEnabled):

Source/WebCore:

Enable SymbolEnabled runtime flag in inspector context.

  • ForwardingHeaders/runtime/RuntimeFlags.h: Added.
  • WebCore.order:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::javaScriptRuntimeFlags):
(WebCore::JSDOMWindowBase::javaScriptExperimentsEnabled): Deleted.

  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSWorkerGlobalScopeBase.cpp:

(WebCore::JSWorkerGlobalScopeBase::javaScriptRuntimeFlags):
(WebCore::JSWorkerGlobalScopeBase::javaScriptExperimentsEnabled): Deleted.

  • bindings/js/JSWorkerGlobalScopeBase.h:
  • inspector/InspectorFrontendClientLocal.cpp:

(WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):

  • page/Settings.h:
  • page/Settings.in:

Source/WebKit/mac:

Introduce SymbolEnabled and drop javaScriptExperimentsEnabled.
Private API, javaScriptExperimentsEnabled is dropped.

  • Misc/WebNSDictionaryExtras.h:
  • Misc/WebNSDictionaryExtras.m:

(-[NSMutableDictionary _webkit_setUnsignedInt:forKey:]):

  • WebKit.order:
  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences _setUnsignedIntValue:forKey:]):
(-[WebPreferences javaScriptRuntimeFlags]):
(-[WebPreferences setJavaScriptRuntimeFlags:]):
(-[WebPreferences setJavaScriptExperimentsEnabled:]): Deleted.
(-[WebPreferences javaScriptExperimentsEnabled]): Deleted.

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:

Enable SymbolEnabled in inspector context.

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetJavaScriptRuntimeFlags):
(WKPreferencesGetJavaScriptRuntimeFlags):
(WKPreferencesSetJavaScriptExperimentsEnabled): Deleted.
(WKPreferencesGetJavaScriptExperimentsEnabled): Deleted.

  • UIProcess/API/C/WKPreferencesRef.h:
  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _javaScriptRuntimeFlags]):
(-[WKPreferences _setJavaScriptRuntimeFlags:]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/efl/WebInspectorProxyEfl.cpp:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

  • mac/WebKit2.order:

Tools:

Drop javaScriptExperimentsEnabled and specify JavaScriptRuntimeFlagsAllEnabled as KJavaScriptRuntimeFlags.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebPreferencesToConsistentValues):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):

7:33 PM Changeset in webkit [180546] by benjamin@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Set the semantic origin of delayed SetLocal to the Bytecode that originated it
https://bugs.webkit.org/show_bug.cgi?id=141727

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-23
Reviewed by Filip Pizlo.

Previously, delayed SetLocals would have the NodeOrigin of the next
bytecode. This was because delayed SetLocal are...delayed... and
currentCodeOrigin() is the one where the node is emitted.

This made debugging a little awkward since the OSR exits on SetLocal
were reported for the next bytecode. This patch changes the semantic
origin to keep the original bytecode.

From benchmarks, this looks like it could be a tiny bit faster
but it likely just noise.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::setDirect):
(JSC::DFG::ByteCodeParser::setLocal):
(JSC::DFG::ByteCodeParser::setArgument):
(JSC::DFG::ByteCodeParser::currentNodeOrigin):
(JSC::DFG::ByteCodeParser::addToGraph):
(JSC::DFG::ByteCodeParser::DelayedSetLocal::DelayedSetLocal):
(JSC::DFG::ByteCodeParser::DelayedSetLocal::execute):

7:32 PM Changeset in webkit [180545] by benjamin@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Remove DFGNode::predictHeap()
https://bugs.webkit.org/show_bug.cgi?id=141864

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-23
Reviewed by Geoffrey Garen.

  • dfg/DFGNode.h:

(JSC::DFG::Node::predictHeap): Deleted.
Unused code.

7:31 PM Changeset in webkit [180544] by benjamin@webkit.org
  • 5 edits
    8 adds in trunk

CSS JIT: add support for case-insensitive attribute matching
https://bugs.webkit.org/show_bug.cgi?id=141880

Reviewed by Andreas Kling.

Source/WebCore:

The value matching now has 3 cases:
1) Case-sensitive.
2) Case-insensitive.
3) Legacy HTML Case-insensitive.

The information to determine the case is split over 2 source:
-To know if explicit case-insensitive is needed, we need to ask the selector

for attributeValueMatchingIsCaseInsensitive().

-To know if the legacy HTML behavior is needed, we need to test the attribute

name filter with HTMLDocument::isCaseSensitiveAttribute().

I decided to perform all those checks at the fragment creation step.
This makes the register requirements and code generation more explicit.

From there, everything is easy: switch() on the type of matching needed,
and generate the code. The new case-insensitive case is a simplified version
of the legacy HTML behavior without runtime check for the element type.

Tests: fast/css/implicitly-case-insensitive-attribute-with-svg.html

fast/selectors/case-insensitive-attribute-register-requirement-1.html
fast/selectors/case-insensitive-attribute-register-requirement-2.html
fast/selectors/querySelector-explicit-case-insensitive-attribute-match-with-svg.html

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::attributeSelectorCaseSensitivity):
(WebCore::SelectorCompiler::AttributeMatchingInfo::AttributeMatchingInfo):
(WebCore::SelectorCompiler::AttributeMatchingInfo::attributeCaseSensitivity):
(WebCore::SelectorCompiler::AttributeMatchingInfo::canDefaultToCaseSensitiveValueMatch): Deleted.
(WebCore::SelectorCompiler::constructFragmentsInternal):
Compute the type of value matching and store it on the AttributeMatchingInfo
when creating the fragment.

(WebCore::SelectorCompiler::minimumRegisterRequirements):
(WebCore::SelectorCompiler::attributeValueTestingRequiresExtraRegister):
(WebCore::SelectorCompiler::attributeValueTestingRequiresCaseFoldingRegister): Deleted.
In general, AttributeCaseSensitivity::CaseInsensitive does not require an extra
register. I have made an exception for generateElementAttributeValueExactMatching()
for simplicity. I use that register to load the StringImpl of the attribute
being tested, that way I can use WTF::equalIgnoringCaseNonNull() directly.

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueExactMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeFunctionCallValueMatching):
Matching itself is just function calls. Unlike AttributeCaseSensitivity::HTMLLegacyCaseInsensitive,
the behavior is consistent between XML and HTML.

LayoutTests:

  • fast/css/case-insensitive-attribute-with-svg-expected.html:
  • fast/css/case-insensitive-attribute-with-svg.html:
  • fast/css/implicitly-case-insensitive-attribute-with-svg-expected.html: Copied from LayoutTests/fast/css/case-insensitive-attribute-with-svg-expected.html.
  • fast/css/implicitly-case-insensitive-attribute-with-svg.html: Copied from LayoutTests/fast/css/case-insensitive-attribute-with-svg.html.

I renamed the HTML legacy case-insensitive behavior to separate
it from the new selector.

  • fast/selectors/querySelector-explicit-case-insensitive-attribute-match-with-svg-expected.txt: Added.
  • fast/selectors/querySelector-explicit-case-insensitive-attribute-match-with-svg.html: Added.

Mixing explicit case-insensitive with implicit.

  • fast/selectors/case-insensitive-attribute-register-requirement-1-expected.txt: Added.
  • fast/selectors/case-insensitive-attribute-register-requirement-1.html: Added.
  • fast/selectors/case-insensitive-attribute-register-requirement-2-expected.txt: Added.
  • fast/selectors/case-insensitive-attribute-register-requirement-2.html: Added.

The usual register allocation stress tests.

7:25 PM Changeset in webkit [180543] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Remove unused console-object-preview styles - replaced by ObjectPreviewView
https://bugs.webkit.org/show_bug.cgi?id=141945

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-23
Reviewed by Timothy Hatcher.

  • UserInterface/Views/LogContentView.css:

(.console-object-preview): Deleted.
(.expanded .console-object-preview): Deleted.
(.console-object-preview .name): Deleted.
(.expanded .console-object-preview > .console-object-preview-body): Deleted.
(.console-object-preview > .console-object-preview-name.console-object-preview-name-Object): Deleted.
(.console-object-preview-body .console-object-preview-name.console-object-preview-name-Object): Deleted.
(.expanded .console-object-preview > .console-object-preview-name.console-object-preview-name-Object): Deleted.

7:11 PM Changeset in webkit [180542] by hyuki.kim@samsung.com
  • 2 edits in trunk/Tools

[EFL] fix eo errors
https://bugs.webkit.org/show_bug.cgi?id=141909

Reviewed by Gyuyoung Kim.

Fix eo errors that occur whenever minibrowser is launched.

  • elm_obj_entry_text_style_user_push can only be applied for elm_entry
  • elm_obj_win_resize_object_add's first parameter should be elm_win
  • MiniBrowser/efl/main.c:

(window_create):

6:53 PM Changeset in webkit [180541] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

[WinCairo] Unreviewed build fix after r180532

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::buffered):
Fixed typo.

6:34 PM Changeset in webkit [180540] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Unreviewed build fix after r180535. Removed the test case that wasn't compiling.

  • TestWebKitAPI/Tests/WTF/WeakPtr.cpp:

(TestWebKitAPI::TEST):

6:07 PM Changeset in webkit [180539] by benjamin@webkit.org
  • 5 edits in trunk/Source/WebKit2

[iOS WK2] The WebProcess keep scrolling pages based on the last velocity after scrolling has been interrupted
https://bugs.webkit.org/show_bug.cgi?id=141933
rdar://problem/18746673
rdar://problem/19711490

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-23
Reviewed by Simon Fraser.

The bug happened like this:
1) The user scroll the page. WKContentView tracks the velocity and send

the update rect + velocity to the WebProcess.

2) The user interupts the scrolling but does not commit to either scrolling

again or cancelling the scrolling.
Since we were not notified of this state, the WebProcess still believed
the velocity is stable.

3) With any paint update, the WebProcess would account for the last velocity

and try to guess the best repaint area. This would drift endlessly out
of the view since the view is not really moving.

This patch fixes the issue by adding special handling for interrupted scrolling.

Kudos to Kurt Revis for providing us the required APIs.

  • Shared/VisibleContentRectUpdateInfo.h:

(WebKit::operator==):
We can no longer filter VisibleContentRectUpdateInfo ignoring the velocity.

Typically, UIScrollView would call -scrollViewDidScroll: before being interrupted.
If we filter based on the VisibleContentRectUpdateInfo, we have two identical
states differing only by the velocity. If we filter the second update, the WebProcess
would never know the velocity should be zero.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _scrollViewDidInterruptDecelerating:]):
We get this callback when scrolling is interrupted. We just need to clear
the velocity and re-send a new update for the current state.

(-[WKWebView _updateVisibleContentRects]):
Do not consider an interrupted scroll as a stable state. We don't know if scrolling
will resume or will stop.

  • UIProcess/ios/WKContentView.h:
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView didInterruptScrolling]):

5:43 PM Changeset in webkit [180538] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Mark webgl tests to crash.
Skip khmer-lao-font.html because EFL port doesn't support it.

  • platform/efl/TestExpectations:
5:34 PM Changeset in webkit [180537] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.5.7

New tag.

5:32 PM Changeset in webkit [180536] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.15.7

New tag.

5:03 PM Changeset in webkit [180535] by Brent Fulgham
  • 4 edits in trunk

WTF::WeakPtr should rename 'forgot' to 'clear' and support nullptr assignment
https://bugs.webkit.org/show_bug.cgi?id=141935

Reviewed by Myles C. Maxfield.

Source/WTF:

  • wtf/WeakPtr.h:

(WTF::WeakPtr::operator=): Added 'nullptr_t' overload.
(WTF::WeakPtr::clear): Renamed from 'forget'
(WTF::WeakPtr::forget): Deleted.

Tools:

  • TestWebKitAPI/Tests/WTF/WeakPtr.cpp:

(TestWebKitAPI::TEST): Updated for 'clear' method rename, and added a few
tests for assigning from nullptr.

4:55 PM Changeset in webkit [180534] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Log using diagnostic logging which ActiveDOMObjects prevent using the PageCache
https://bugs.webkit.org/show_bug.cgi?id=141922
<rdar://problem/19923085>

Reviewed by Andreas Kling.

Log using diagnostic logging which ActiveDOMObjects prevent using the
PageCache.

  • history/PageCache.cpp:

(WebCore::logCanCacheFrameDecision):

  • page/DiagnosticLoggingKeys.cpp:

(WebCore::DiagnosticLoggingKeys::unsuspendableDOMObjectKey):

  • page/DiagnosticLoggingKeys.h:
4:49 PM Changeset in webkit [180533] by Chris Dumez
  • 7 edits
    2 adds in trunk/Source/WebCore

Move GeoNotifier class to its own file
https://bugs.webkit.org/show_bug.cgi?id=141918

Reviewed by Andreas Kling.

Move GeoNotifier class to its own file to make Geolocation class less
crowded.

4:24 PM Changeset in webkit [180532] by gyuyoung.kim@samsung.com
  • 15 edits in trunk/Source/WebCore

Remove unnecessary PlatformTimeRanges::create()
https://bugs.webkit.org/show_bug.cgi?id=141901

Reviewed by Filip Pizlo.

PlatformTimeRanges::create() functions have just created an instance of PlatformTimeRanges.
This functionality can be replaced with std::make_unique<> use directly.

No new tests, no behavior changes.

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::buffered):

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::bufferedAccountingForEndOfStream):

  • platform/graphics/MediaPlayer.cpp:

(WebCore::NullMediaPlayerPrivate::buffered):

  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::seekable):

  • platform/graphics/PlatformTimeRanges.cpp:

(WebCore::PlatformTimeRanges::create): Deleted.

  • platform/graphics/PlatformTimeRanges.h:
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::buffered):

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::MediaPlayerPrivateAVFoundationCF::platformBufferedTimeRanges):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::platformBufferedTimeRanges):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekable):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::buffered):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::buffered):

  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::MediaPlayerPrivateQTKit::buffered):

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::buffered):

  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::buffered):

4:22 PM Changeset in webkit [180531] by gyuyoung.kim@samsung.com
  • 10 edits in trunk/Source/WebCore

Partial clean up OwnPtr and PassOwnPtr in WebCore/platform
https://bugs.webkit.org/show_bug.cgi?id=141888

Reviewed by Filip Pizlo.

Use std::unique_ptr<> and std::make_unique<>. Besides this patch removes
unnecessary OwnPtr.h|PasSOwnPtr.h includes.

No new tests, no behavior changes.

  • platform/SharedBuffer.h:
  • platform/Supplementable.h:
  • platform/audio/gstreamer/AudioSourceProviderGStreamer.h:

(WebCore::AudioSourceProviderGStreamer::create): Deleted.

  • platform/graphics/ImageBuffer.h:
  • platform/graphics/TiledBackingStoreBackend.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
  • platform/gtk/GamepadsGtk.cpp:
4:17 PM Changeset in webkit [180530] by shiva.jm@samsung.com
  • 3 edits
    2 adds in trunk

Default value of HTMLSelectElement size IDL attribute should be 0.
https://bugs.webkit.org/show_bug.cgi?id=141795

Reviewed by Andreas Kling.

Source/WebCore:

Default value of HTMLSelectElement size IDL attribute should be 0.
As in spec: http://www.w3.org/html/wg/drafts/html/master/forms.html#the-select-element, also this matches the behavior of Chrome, IE and
Gecko.

Test: fast/dom/select-size.html

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::parseAttribute):

LayoutTests:

  • fast/dom/select-size-expected.txt: Added.
  • fast/dom/select-size.html: Added.
3:50 PM Changeset in webkit [180529] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Get rid of JSLexicalEnvironment::argumentsGetter
https://bugs.webkit.org/show_bug.cgi?id=141930

Reviewed by Mark Lam.

This function is unused, and the way it's written is bizarre - it's a return statement that
dominates a bunch of dead code.

  • runtime/JSLexicalEnvironment.cpp:

(JSC::JSLexicalEnvironment::argumentsGetter): Deleted.

  • runtime/JSLexicalEnvironment.h:
3:44 PM Changeset in webkit [180528] by Brent Fulgham
  • 4 edits in trunk

Source/WTF:
WTF::WeakPtr should have a 'forget' method
https://bugs.webkit.org/show_bug.cgi?id=141923

Reviewed by Myles C. Maxfield.

  • wtf/WeakPtr.h:

(WTF::WeakPtr::forget): Added.

Tools:
WTF::WeakPtr should have a 'forget' method.
https://bugs.webkit.org/show_bug.cgi?id=141923

Reviewed by Myles C. Maxfield.

  • TestWebKitAPI/Tests/WTF/WeakPtr.cpp:

(TestWebKitAPI::TEST): Added 'Forget' tests case.

3:26 PM Changeset in webkit [180527] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Remove unused activationCount and allTheThingsCount variable declarations.

Rubber stamped by Mark Lam and Michael Saboff.

  • runtime/JSLexicalEnvironment.h:
3:18 PM Changeset in webkit [180526] by saambarati1@gmail.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: BasicBlockAnnotator ranges should be inclusive of both the start and end offset
https://bugs.webkit.org/show_bug.cgi?id=141334

Reviewed by Timothy Hatcher.

  • UserInterface/Views/TextEditor.js:

(WebInspector.TextEditor.prototype.addStyleToTextRange):

3:09 PM Changeset in webkit [180525] by ap@apple.com
  • 2 edits in trunk/Tools

build.webkit.org/dashboard CrashOnly queues should not show two green bubbles
https://bugs.webkit.org/show_bug.cgi?id=141920

Reviewed by Tim Horton.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:

(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus):
Do the same thing as we do for regular green bubbles.

3:06 PM Changeset in webkit [180524] by ap@apple.com
  • 2 edits in trunk/Tools

Bot watcher's dashboard doesn't show a popover for commit history when all commits were to another branch
https://bugs.webkit.org/show_bug.cgi?id=141925

Reviewed by Tim Horton.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:

(BuildbotQueueView.prototype._presentPopoverForRevisionRange):

3:04 PM Changeset in webkit [180523] by Said Abou-Hallawa
  • 2 edits in trunk/Source/WebCore

Drawing an SVG image into a canvas using drawImage() ignores globalAlpha.
https://bugs.webkit.org/show_bug.cgi?id=141729.

Reviewed by Daniel Bates.

Fix a build break which is caused by http://trac.webkit.org/changeset/180511/trunk.
Two functions of GraphicsContext were made inline but they were kept WEBCORE_EXPORT.

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContext::paintingDisabled):
(WebCore::GraphicsContext::updatingControlTints):

3:04 PM Changeset in webkit [180522] by bshafiei@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Follow-up merge for r179877. rdar://problem/19871003

2:46 PM Changeset in webkit [180521] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Follow-up merge for r179877. rdar://problem/19871003

2:42 PM Changeset in webkit [180520] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Max canvas size is lower than expected
https://bugs.webkit.org/show_bug.cgi?id=141886
<rdar://problem/19729246>

Reviewed by Tim Horton.

Use the same maximum canvas area for all ports,
which bumps the iOS limit up from 4580 * 1145
to 16k * 16k.

  • html/HTMLCanvasElement.cpp: Update MaxCanvasArea.
2:29 PM Changeset in webkit [180519] by andersca@apple.com
  • 11 edits
    1 copy in trunk

Add API for fetching website data records to _WKWebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=141926

Reviewed by Beth Dakin.

Source/WebKit2:

  • UIProcess/API/APIWebsiteDataRecord.cpp:

(API::WebsiteDataRecord::create):
(API::WebsiteDataRecord::WebsiteDataRecord):

  • UIProcess/API/APIWebsiteDataRecord.h:

Update to take a WebsiteDataRecord parameter.

  • UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:

(-[_WKWebsiteDataStore fetchDataRecordsOfTypes:completionHandler:]):
Call down to the WebsiteDataStore.

  • UIProcess/WebsiteData/WebsiteDataRecord.h: Added.

This will be the data-container part of WebsiteDataRecord, but it's currently empty.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::fetchData):
Just dispatch the completion handler for now.

  • UIProcess/WebsiteData/WebsiteDataStore.h:

Add new member.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

Tools:

  • MiniBrowser/mac/MainMenu.xib:
  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController fetchWebsiteData:]):
Add menu item to fetch and dump website data.

2:10 PM Changeset in webkit [180518] by saambarati1@gmail.com
  • 11 edits
    2 adds in trunk/Source/JavaScriptCore

Adjust the ranges of basic block statements in JSC's control flow profiler to be mutually exclusive
https://bugs.webkit.org/show_bug.cgi?id=141095

Reviewed by Mark Lam.

Suppose the control flow of a program forms basic block A with successor block

  1. A's end offset will be the *same* as B's start offset in the current architecture

of the control flow profiler. This makes reasoning about the text offsets of
the control flow profiler unsound. To make reasoning about offsets sound, all
basic block ranges should be mutually exclusive. All calls to emitProfileControlFlow
now pass in the *start* of a basic block as the text offset argument. This simplifies
all calls to emitProfileControlFlow because the previous implementation had a
lot of edge cases for getting the desired basic block text boundaries.

This patch also ensures that the basic block boundary of a block statement
is the exactly the block's open and close brace offsets (inclusive). For example,
in if/for/while statements. This also has the consequence that for statements
like "if (cond) foo();", the whitespace preceding "foo()" is not part of
the "foo()" basic block, but instead is part of the "if (cond) " basic block.
This is okay because these text offsets aren't meant to be human readable.
Instead, they reflect the text offsets of JSC's AST nodes. The Web Inspector
is the only client of this API and user of these text offsets and it is
not negatively effected by this new behavior.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::insertBasicBlockBoundariesForControlFlowProfiler):
When computing basic block boundaries in CodeBlock, we ensure that every
block's end offset is one less than its successor's start offset to
maintain that boundaries' ranges should be mutually exclusive.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
Because the control flow profiler needs to know which functions
have executed, we can't lazily create functions. This was a bug
from before that was hidden because the Type Profiler was always
enabled when the control flow profiler was enabled when profiling
was turned on from the Web Inspector. But, JSC allows for Control
Flow profiling to be turned on without Type Profiling, so we need
to ensure the Control Flow profiler has all the data it needs.

  • bytecompiler/NodesCodegen.cpp:

(JSC::ConditionalNode::emitBytecode):
(JSC::IfElseNode::emitBytecode):
(JSC::WhileNode::emitBytecode):
(JSC::ForNode::emitBytecode):
(JSC::ForInNode::emitMultiLoopBytecode):
(JSC::ForOfNode::emitBytecode):
(JSC::TryNode::emitBytecode):

  • jsc.cpp:

(functionHasBasicBlockExecuted):
We now assert that the substring argument is indeed a substring
of the function argument's text because subtle bugs could be
introduced otherwise.

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::setStartOffset):

  • parser/Nodes.h:

(JSC::Node::setStartOffset):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseBlockStatement):
(JSC::Parser<LexerType>::parseStatement):
(JSC::Parser<LexerType>::parseMemberExpression):
For the various function call AST nodes, their m_position member
variable is now the start of the entire function call expression
and not at the start of the open paren of the arguments list.

  • runtime/BasicBlockLocation.cpp:

(JSC::BasicBlockLocation::getExecutedRanges):

  • runtime/ControlFlowProfiler.cpp:

(JSC::ControlFlowProfiler::getBasicBlocksForSourceID):
Function ranges inserted as gaps should follow the same criteria
that the bytecode generator uses to ensure that basic blocks
start and end offsets are mutually exclusive.

  • tests/controlFlowProfiler/brace-location.js: Added.

(foo):
(bar):
(baz):
(testIf):
(testForRegular):
(testForIn):
(testForOf):
(testWhile):
(testIfNoBraces):
(testForRegularNoBraces):
(testForInNoBraces):
(testForOfNoBraces):
(testWhileNoBraces):

  • tests/controlFlowProfiler/conditional-expression.js: Added.

(foo):
(bar):
(baz):
(testConditionalBasic):
(testConditionalFunctionCall):

  • tests/controlFlowProfiler/driver/driver.js:

(checkBasicBlock):

2:08 PM Changeset in webkit [180517] by Chris Dumez
  • 24 edits in trunk/Source

Add support for diagnostic logging messages sampling
https://bugs.webkit.org/show_bug.cgi?id=141823
<rdar://problem/19899030>

Reviewed by Andreas Kling.

Add support for diagnostic logging messages sampling to decrease the
impact of diagnostic logging on CPU usage, while still getting useful
overall results. This patch adds a ShouldSample argument to
logDiagnosticMessage*() functions and logs 5% of the messages when
sampling. Sampling is turned on for keys that are known to be verbose
(e.g. per resource load logging).

On the page load test I am tracking, CPU usage caused by diagnostic
logging went down to 0.3% of UIProcess from 2.8% with this change.

Source/WebCore:

  • history/PageCache.cpp:

(WebCore::logPageCacheFailureDiagnosticMessage):
(WebCore::logCanCachePageDecision):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • loader/EmptyClients.h:
  • loader/FrameLoader.cpp:

(WebCore::logNavigation):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):

  • loader/ResourceLoader.cpp:

(WebCore::logResourceResponseSource):

  • loader/SubframeLoader.cpp:

(WebCore::logPluginRequest):

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::willSendRequest):
(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::logResourceLoaded):

  • loader/cache/CachedResource.cpp:

(WebCore::logResourceRevalidationReason):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::logMemoryCacheResourceRequest):

  • page/DiagnosticLoggingClient.h:

Source/WebKit2:

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::logDiagnosticMessage):
(WebKit::NetworkProcess::logDiagnosticMessageWithResult):
(WebKit::NetworkProcess::logDiagnosticMessageWithValue):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/cache/NetworkCacheStatisticsCocoa.mm:

(WebKit::NetworkCacheStatistics::recordNotUsingCacheForRequest):
(WebKit::NetworkCacheStatistics::recordRetrievalFailure):
(WebKit::NetworkCacheStatistics::recordRetrievedCachedEntry):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::logDiagnosticMessage):
(WebKit::NetworkProcessProxy::logDiagnosticMessageWithResult):
(WebKit::NetworkProcessProxy::logDiagnosticMessageWithValue):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Network/NetworkProcessProxy.messages.in:
  • UIProcess/WebPageProxy.cpp:

(WebKit::shouldLogDiagnosticMessage):
(WebKit::WebPageProxy::logDiagnosticMessage):
(WebKit::WebPageProxy::logDiagnosticMessageWithResult):
(WebKit::WebPageProxy::logDiagnosticMessageWithValue):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp:

(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessage):
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithResult):
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithValue):

  • WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::willStartUserTriggeredZooming):

2:08 PM Changeset in webkit [180516] by mmirman@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

r9 is volatile on ARMv7 for iOS 3 and up.
https://bugs.webkit.org/show_bug.cgi?id=141489
rdar://problem/19432916

Reviewed by Michael Saboff.

  • jit/RegisterSet.cpp:

(JSC::RegisterSet::calleeSaveRegisters): removed r9 from the list of ARMv7 callee save registers.

  • tests/stress/regress-141489.js: Added.

(foo):

1:56 PM Changeset in webkit [180515] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

[ARM] Add the necessary setupArgumentsWithExecState after bug141915
https://bugs.webkit.org/show_bug.cgi?id=141921

Reviewed by Michael Saboff.

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

1:54 PM Changeset in webkit [180514] by fpizlo@apple.com
  • 21 edits in trunk/Source/JavaScriptCore

Scopes should always be created with a previously-created symbol table rather than creating one on the fly
https://bugs.webkit.org/show_bug.cgi?id=141915

Reviewed by Mark Lam.

The main effect of this change is that pushing name scopes no longer requires creating symbol
tables on the fly.

This also makes it so that JSEnvironmentRecords must always have an a priori symbol table.

JSSegmentedVariableObject still does a hack where it creates a blank symbol table on-demand.
This is needed because that's what JSGlobalObject and all of its many subclasses want. That's
harmless; I mainly needed a prior symbol tables for JSEnvironmentRecords anyway.

  • bytecode/BytecodeList.json:
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitPushFunctionNameScope):
(JSC::BytecodeGenerator::emitPushCatchScope):

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

  • jit/JIT.h:
  • jit/JITInlines.h:

(JSC::JIT::callOperation):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_push_name_scope):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_push_name_scope):

  • jit/JITOperations.cpp:

(JSC::pushNameScope):

  • jit/JITOperations.h:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LowLevelInterpreter.asm:
  • runtime/Executable.cpp:

(JSC::ScriptExecutable::newCodeBlockFor):

  • runtime/JSCatchScope.h:

(JSC::JSCatchScope::JSCatchScope):
(JSC::JSCatchScope::create):

  • runtime/JSEnvironmentRecord.h:

(JSC::JSEnvironmentRecord::JSEnvironmentRecord):

  • runtime/JSFunctionNameScope.h:

(JSC::JSFunctionNameScope::JSFunctionNameScope):
(JSC::JSFunctionNameScope::create):

  • runtime/JSNameScope.cpp:

(JSC::JSNameScope::create):

  • runtime/JSNameScope.h:

(JSC::JSNameScope::create):
(JSC::JSNameScope::finishCreation):
(JSC::JSNameScope::JSNameScope):

  • runtime/JSSegmentedVariableObject.h:

(JSC::JSSegmentedVariableObject::finishCreation):

  • runtime/JSSymbolTableObject.h:

(JSC::JSSymbolTableObject::JSSymbolTableObject):
(JSC::JSSymbolTableObject::finishCreation): Deleted.

  • runtime/SymbolTable.h:

(JSC::SymbolTable::createNameScopeTable):

1:26 PM Changeset in webkit [180513] by andersca@apple.com
  • 4 edits
    5 copies in trunk/Source/WebKit2

Add a stubbed out _WKWebsiteDataRecord class
https://bugs.webkit.org/show_bug.cgi?id=141919

Reviewed by Beth Dakin.

Also add the corresponding API::WebsiteDataRecord C++ class. A website data record is going to represent
a set of associated websites and the types of website data that exist for said websites.

  • Shared/API/APIObject.h:
  • UIProcess/API/APIWebsiteDataRecord.cpp: Added.
  • UIProcess/API/APIWebsiteDataRecord.h: Added.
  • UIProcess/API/Cocoa/_WKWebsiteDataRecord.h: Added.
  • UIProcess/API/Cocoa/_WKWebsiteDataRecord.mm: Added.
  • UIProcess/API/Cocoa/_WKWebsiteDataRecordInternal.h: Added.
  • UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
  • WebKit2.xcodeproj/project.pbxproj:
1:05 PM Changeset in webkit [180512] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Reproducible crash in ViewGestureController::removeSwipeSnapshot()
https://bugs.webkit.org/show_bug.cgi?id=141917
<rdar://problem/19918590>

Reviewed by Brian Weinstein.

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::removeSwipeSnapshot):
If the snapshot was purged and we're showing a white snapshot, we won't
be able to mark the (null) snapshot surface as volatile. Add a null check.

12:31 PM Changeset in webkit [180511] by commit-queue@webkit.org
  • 7 edits
    2 adds in trunk

Drawing an SVG image into a canvas using drawImage() ignores globalAlpha.
https://bugs.webkit.org/show_bug.cgi?id=141729.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-02-23
Reviewed by Simon Fraser.

Source/WebCore:

When drawing an SVG image and the drawing context is set to be transparent,
make sure this transparency is applied to the compositing layer.

Test: svg/canvas/canvas-global-alpha-svg.html

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::setAlpha): Make setAlpha() calls the platform
function and sets 'm_state.alpha' to the input value.

(WebCore::GraphicsContext::alpha): Add a new function 'alpha()' which
returns the value of the global alpha.

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContextState::GraphicsContextState): Add a new member
'alpha' to the context state since the getter function CGContextGetAlpha
is defined only in a private header file. Also move single line functions
from the source file to the header file.

  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::setPlatformAlpha):
(WebCore::GraphicsContext::setAlpha): Deleted.

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::setPlatformAlpha):
(WebCore::GraphicsContext::setAlpha): Deleted.
Rename setAlpha() to setPlatformAlpha() in the platform files. Add setAlpha()
to the core file. setAlpha() will set the value of 'm_state.alpha' and call
setPlatformAlpha().

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::draw): If the drawing context is transparent, apply its
global alpha value to the compositing layer.

LayoutTests:

Add a new test which draws an SVG image on a canvas after setting its
globalAlpha to a value less than 1.

  • svg/canvas/canvas-global-alpha-svg-expected.html: Added.
  • svg/canvas/canvas-global-alpha-svg.html: Added.
11:27 AM Changeset in webkit [180510] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

Occasional crash in MediaPlayer::setPrivateBrowsingMode
https://bugs.webkit.org/show_bug.cgi?id=141910

Reviewed by Jer Noble.

No new tests, I was unable to reproduce the crash.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::stopPeriodicTimers): Use EveryDelayedAction instead of -1.
(WebCore::HTMLMediaElement::stop): Call clearMediaPlayer instead of just setting m_player

to NULL.

  • html/HTMLMediaElement.h: Define EveryDelayedAction.
10:53 AM Changeset in webkit [180509] by ddkilzer@apple.com
  • 3 edits in trunk/Tools

[iOS] run-webkit-tests --leaks is broken because IOSSimulatorPort has no is_snowleopard attribute
<http://webkit.org/b/141884>

Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/port/leakdetector.py:

(LeakDetector._callstacks_to_exclude_from_leaks): Remove
snowleopard, lion and older leaks. Add known leak for
mavericks, but check Port.operating_system before calling
Port.is_mavericks.

  • Scripts/webkitpy/port/mac.py:

(MacPort.is_snowleopard): Delete.
(MacPort.is_lion): Delete.
(MacPort.is_mavericks): Add.

10:45 AM Changeset in webkit [180508] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Replace another straight-up cast with a toImpl call
https://bugs.webkit.org/show_bug.cgi?id=141914
rdar://problem/19913016

Reviewed by Andreas Kling.

This fixes a problem where Mail would not display message bodies.

  • UIProcess/API/Cocoa/WKConnection.mm:

(didReceiveMessage):

10:17 AM Changeset in webkit [180507] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Add a comment to clarify that the test was taken from the bug report, in response to
feedback from Michael Saboff and Benjamin Poulain.

  • tests/stress/regress-141883.js:
10:13 AM Changeset in webkit [180506] by fpizlo@apple.com
  • 10 edits
    1 add in trunk/Source/JavaScriptCore

Function name scope is only created on the function instance that triggered parsing rather than on every function instance that needs it
https://bugs.webkit.org/show_bug.cgi?id=141881

Reviewed by Michael Saboff.

Previously we only created the function name scope in a way that made it visible to the
function that triggered parsing/linking of the executable/codeBlock, and to the linker for
that code block. This was sort of the bare minimum for the feature to appear to work right to
synthetic tests.

There are two valid "times" to create the function name scope. Either it's created for each
JSFunction instance that needs a name scope, or it's created for each execution of such a
JSFunction. This change chooses the latter, because it happens to be the easiest to implement
with what we have right now. I opened a bug for optimizing this if we ever need to:
https://bugs.webkit.org/show_bug.cgi?id=141887.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):

  • jit/JITOperations.cpp:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::setUpCall):

  • runtime/ArrayPrototype.cpp:

(JSC::isNumericCompareFunction):

  • runtime/Executable.cpp:

(JSC::ScriptExecutable::newCodeBlockFor):
(JSC::ScriptExecutable::prepareForExecutionImpl):
(JSC::FunctionExecutable::FunctionExecutable):

  • runtime/Executable.h:

(JSC::ScriptExecutable::prepareForExecution):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::addNameScopeIfNeeded): Deleted.

  • runtime/JSFunction.h:
  • tests/stress/function-name-scope.js: Added.

(check.verify):
(check):

10:03 AM Changeset in webkit [180505] by fpizlo@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

Crash in DFGFrozenValue
https://bugs.webkit.org/show_bug.cgi?id=141883

Reviewed by Benjamin Poulain.

If a value might be a cell, then we have to have Graph freeze it rather than trying to
create the FrozenValue directly. Creating it directly is just an optimization for when you
know for sure that it cannot be a cell.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • tests/stress/regress-141883.js: Added. Hacked the original test to be faster while still crashing before this fix.
9:42 AM Changeset in webkit [180504] by ap@apple.com
  • 4 edits in trunk/Tools

build.webkit.org/dashboard should filter out commits to other branches
https://bugs.webkit.org/show_bug.cgi?id=140362

Reviewed by Tim Horton.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:

(BuildbotQueue):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:

(BuildbotQueueView.prototype._presentPopoverForPendingCommits):
(BuildbotQueueView.prototype._presentPopoverForRevisionRange):
(BuildbotQueueView.prototype._revisionContentWithPopoverForIteration):
(BuildbotQueueView.prototype.revisionContentForIteration):
(BuildbotQueueView.prototype._appendPendingRevisionCount): Deleted.
(BuildbotQueueView.prototype._popoverLinesForCommitRange): Deleted.
(BuildbotQueueView.prototype._revisionPopoverContentForIteration): Deleted.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:

(Trac.prototype.get oldestRecordedRevisionNumber):
(Trac.prototype.commitsOnBranch):
(Trac.prototype._xmlTimelineURL):
(Trac.prototype._convertCommitInfoElementToObject):
(Trac.prototype._update):
(Trac.prototype.startPeriodicUpdates):
(Trac.prototype.loadMoreHistoricalData):
(Trac.prototype.update): Deleted.

8:43 AM Changeset in webkit [180503] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

[GStreamer] Redundant track language notifications
https://bugs.webkit.org/show_bug.cgi?id=141908

Reviewed by Žan Doberšek.

Invoke languageChanged only if the language code actually
changed.

  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:

(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged):

8:06 AM Changeset in webkit [180502] by commit-queue@webkit.org
  • 2 edits in trunk

[GTK] Fails to compile with cmake 3.2.x
https://bugs.webkit.org/show_bug.cgi?id=141796

With cmake 3.2.x we have to explicitly ask for X11 otherwise the
X11_X11_LIB variable won't be set thus the X11 linker flags won't be
added and the build will fail.

Patch by Tomas Popela <tpopela@redhat.com> on 2015-02-23
Reviewed by Martin Robinson.

  • Source/cmake/OptionsGTK.cmake:
7:21 AM Changeset in webkit [180501] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[WinCairo] Crash when media player is destroyed.
https://bugs.webkit.org/show_bug.cgi?id=141248

Patch by peavo@outlook.com <peavo@outlook.com> on 2015-02-23
Reviewed by Darin Adler.

A COM smart pointer is both released, and set to null.
This means that the COM Release method is called twice, causing a crash.

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::endSession):

2:28 AM Changeset in webkit [180500] by Manuel Rego Casasnovas
  • 2 edits in trunk/Source/WebCore

[CSS Grid Layout] Remove old FIXME in RenderGrid::placeItemsOnGrid()
https://bugs.webkit.org/show_bug.cgi?id=141899

Reviewed by Sergio Villar Senin.

There was a FIXME about not re-resolving positions if the grid is grown during
auto-placement. But as the spec has changed [1] and you can only refer to the
explicit grid (even if you use for example grid-column: 1 / -1). It seems that
we can get rid of this FIXME as it's not a causing a problem anymore.

[1] http://dev.w3.org/csswg/css-grid/#grid-placement-int

No new tests (no change in behavior).

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::placeItemsOnGrid): Remove FIXME.

1:44 AM WebKitGTK/2.6.x edited by sergio@webkit.org
(diff)
12:42 AM Changeset in webkit [180499] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening. Mark tests of css3 overflow, border to ImageOnlyFailure.

  • platform/efl/TestExpectations:
12:21 AM Changeset in webkit [180498] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening. Add new failure tests related to attachment, editing, and compositing.

  • platform/efl/TestExpectations:

Feb 22, 2015:

11:45 PM Changeset in webkit [180497] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Mark sub-pixel and disk cache tests to failure.

  • platform/efl/TestExpectations:
10:59 PM Changeset in webkit [180496] by bshafiei@apple.com
  • 5 edits in branches/safari-600.4.10-branch/Source

Versioning.

10:42 PM Changeset in webkit [180495] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.4.10.4

New tag.

9:23 PM Changeset in webkit [180494] by bshafiei@apple.com
  • 4 edits
    2 adds in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r180183, r180187. rdar://problem/19871089

6:38 PM Changeset in webkit [180493] by gyuyoung.kim@samsung.com
  • 13 edits in trunk/Source/WebCore

Move std::unique_ptr<>|make_unique<> to WebCore/page/scrolling
https://bugs.webkit.org/show_bug.cgi?id=137877

Reviewed by Sam Weinig.

Clean up unnecessary OwnPtr.h|PassOwnPtr.h includes as well as
change OwnPtr with std::unique_ptr<>|make_unique<>.

No new tests, no behavior changes.

  • page/scrolling/AsyncScrollingCoordinator.h:
  • page/scrolling/ScrollingStateFixedNode.cpp:
  • page/scrolling/ScrollingStateFrameScrollingNode.cpp:
  • page/scrolling/ScrollingStateNode.cpp:

(WebCore::ScrollingStateNode::appendChild):

  • page/scrolling/ScrollingStateNode.h:
  • page/scrolling/ScrollingStateOverflowScrollingNode.cpp:
  • page/scrolling/ScrollingStateScrollingNode.cpp:
  • page/scrolling/ScrollingStateStickyNode.cpp:
  • page/scrolling/ScrollingTree.h:
  • page/scrolling/ScrollingTreeNode.cpp:

(WebCore::ScrollingTreeNode::appendChild):

  • page/scrolling/ScrollingTreeNode.h:
  • page/scrolling/ScrollingTreeScrollingNode.h:
5:55 PM Changeset in webkit [180492] by dino@apple.com
  • 5 edits in trunk

Print a console warning when HTMLCanvasElement exceeds the maximum size
https://bugs.webkit.org/show_bug.cgi?id=141861
<rdar://problem/19729145>

Reviewed by Simon Fraser.

Source/WebCore:

Add a warning if we ever try to create a canvas that is
too big.

No test because:

  1. We can't ref-test against console messages.
  2. The output is platform specific.
  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::createImageBuffer):

LayoutTests:

Add error message to expected results.

  • fast/canvas/canvas-toDataURL-crash-expected.txt:
  • fast/canvas/pattern-too-large-to-create-expected.txt:
5:34 PM Changeset in webkit [180491] by weinig@apple.com
  • 2 edits in trunk/LayoutTests

Update results for Mac Yosemite.

  • platform/mac/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt:
3:33 PM Changeset in webkit [180490] by weinig@apple.com
  • 35 edits in trunk

Convert the caps lock indicator to be implemented using the shadow DOM
https://bugs.webkit.org/show_bug.cgi?id=141868

Reviewed by Dan Bernstein.

Source/WebCore:

  • Re-adds 'caps-lock-indicator' as a valid -webkit-appearance value. It was removed in r74099 to work around a site bug, that should not be a problem anymore.
  • Converts the caps lock indicator to be implemented as part of the shadow DOM rather than a paint time effect. This gives the proper overflow behavior (it now clips) and behaves correctly in RTL.
  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):
Make 'caps-lock-indicator' a valid -webkit-appearance value.

  • css/CSSValueKeywords.in:

Remove comment that indicated that caps-lock-indicator was not a valid
-webkit-appearance value.

  • css/html.css:

(input::-webkit-caps-lock-indicator):
Add new default style for the new -webkit-caps-lock-indicator pseudo-element. The
trick employed here is to use a content: image to both implement the painting of
the caps lock indicator, and to get the sizing right (shrink-to-fit, height: 100%).

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::capsLockIndicatorElement):
(WebCore::HTMLInputElement::capsLockStateMayHaveChanged):

  • html/HTMLInputElement.h:
  • html/InputType.cpp:

(WebCore::InputType::capsLockStateMayHaveChanged):

  • html/InputType.h:

(WebCore::InputType::capsLockIndicatorElement):
Pipe notification of changes in the caps locks state to the <input> element
rather than the RenderTextControlSingleLine. Also add an accessor for the caps
lock indicator element in the shadow DOM.

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::forwardEvent):
(WebCore::TextFieldInputType::shouldHaveCapsLockIndicator):
(WebCore::TextFieldInputType::createShadowSubtree):
(WebCore::TextFieldInputType::capsLockIndicatorElement):
(WebCore::TextFieldInputType::destroyShadowSubtree):
(WebCore::TextFieldInputType::shouldDrawCapsLockIndicator):
(WebCore::TextFieldInputType::capsLockStateMayHaveChanged):

  • html/TextFieldInputType.h:

Add a new element to the text field shadow DOM to act as the caps lock indicator.
Give it a pseudo-element ID of -webkit-caps-lock-indicator so it can be referenced
from CSS. The element is always in the DOM for a password field. It toggles between
display: none and display: block depending on the state of the caps lock key.

  • page/EventHandler.cpp:

(WebCore::EventHandler::capsLockStateMayHaveChanged):
Pipe notification of changes in the caps locks state to the <input> element
rather than the RenderTextControlSingleLine.

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
(WebCore::RenderTextControlSingleLine::paint): Deleted.
(WebCore::RenderTextControlSingleLine::capsLockStateMayHaveChanged): Deleted.

  • rendering/RenderTextControlSingleLine.h:

Remove logic for drawing the caps lock indicator.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintMeter):
(WebCore::RenderTheme::adjustCapsLockIndicatorStyle):
(WebCore::RenderTheme::paintCapsLockIndicator):
(WebCore::RenderTheme::shouldHaveCapsLockIndicator):

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::paintCapsLockIndicator): Deleted.

  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::shouldHaveCapsLockIndicator):

  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::shouldHaveCapsLockIndicator):
(WebCore::RenderThemeMac::paintCapsLockIndicator): Deleted.
Now that the caps lock indicator is implemented like other aspects of form controls,
the theme code can be converted to be similar as well.

LayoutTests:

  • fast/css/appearance-caps-lock-indicator-expected.txt:
  • fast/css/appearance-caps-lock-indicator.html:
  • platform/mac/fast/css/text-overflow-input-expected.txt:
  • platform/mac/fast/forms/basic-inputs-expected.txt:
  • platform/mac/fast/forms/input-appearance-height-expected.txt:
  • platform/mac/fast/forms/input-value-expected.txt:
  • platform/mac/fast/forms/placeholder-pseudo-style-expected.txt:
  • platform/mac/fast/forms/validation-message-appearance-expected.txt:
12:22 PM Changeset in webkit [180489] by ddkilzer@apple.com
  • 5 edits
    1 delete in trunk/LayoutTests

[iOS] Gardening: Clean up timeout test for ios-simulator-{wk1,wk2}

Changes for WK1 results:

  • inspector/css/stylesheet-with-mutations.html
  • Skip for both WK1 and WK2. Already marked as Skip on mac.
  • fast/events/dispatch-message-string-data.html
  • Marked as Slow for both WK1 and WK2. Previously marked as Skip via override on WK2 and marked as Failure on both.

Changes for WK2:

  • inspector/css/selector-dynamic-specificity.html
  • Skip on WK1 and WK2. Already marked as Skip on mac and win. Updated bug number for win TestExpectations.
  • inspector/css/stylesheet-with-mutations.html
  • See above.
  • fast/dynamic/window-resize-scrollbars-test.html
  • Skip on WK1 and WK2 since iOS does not support window resizing and test always times out. Remove old test results.
  • fast/images/animated-gif-window-resizing.html
  • Skip on WK1 and WK2 since iOS does not support window resizing and test always times out. Previously skipped on WK1 only.
  • fast/events/autoscroll-should-not-stop-on-keypress.html
  • Skip on WK1 and WK2 due to always timing out. Previously skipped on WK1 only.
  • http/tests/cache/history-navigation-no-resource-revalidation.html
  • Skip on WK2 due to always timing out. Does not timeout on WK1.
  • http/tests/navigation/target-blank-opener-post.html
  • Ditto.
  • svg/animations/use-animate-width-and-height.html
  • Ditto.
  • platform/ios-sim-deprecated/fast/dynamic/window-resize-scrollbars-test-expected.txt: Removed.
  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
  • platform/win/TestExpectations:
10:01 AM Changeset in webkit [180488] by ddkilzer@apple.com
  • 1 edit
    5 moves
    1 add in trunk/LayoutTests

[iOS] Gardening: Add missing results for WK2 tests

In all cases, WK1 and WK2 results were the same.

  • platform/ios-simulator/fast/block/positioning/vertical-rl/001-expected.txt: Rename from LayoutTests/platform/ios-sim-deprecated/fast/block/positioning/vertical-rl/001-expected.txt.
  • platform/ios-simulator/fast/body-propagation/background-color/001-xhtml-expected.txt: Rename from LayoutTests/platform/ios-sim-deprecated/fast/body-propagation/background-color/001-xhtml-expected.txt.
  • platform/ios-simulator/fast/body-propagation/background-image/001-xhtml-expected.txt: Rename from LayoutTests/platform/ios-sim-deprecated/fast/body-propagation/background-image/001-xhtml-expected.txt.
  • platform/ios-simulator/fast/body-propagation/overflow/001-xhtml-expected.txt: Rename from LayoutTests/platform/ios-sim-deprecated/fast/body-propagation/overflow/001-xhtml-expected.txt.
  • platform/ios-simulator/fast/repaint/body-background-image-expected.txt: Rename from LayoutTests/platform/ios-sim-deprecated/fast/repaint/body-background-image-expected.txt.
9:26 AM Changeset in webkit [180487] by ddkilzer@apple.com
  • 1 edit
    1 move
    1 add in trunk/LayoutTests

[iOS] Gardening: Add missing results for WK1 tests

  • platform/ios-simulator/fast/css/css2-system-fonts-expected.txt: Rename from LayoutTests/platform/ios-simulator-wk2/fast/css/css2-system-fonts-expected.txt.
  • Platform-specific results are the same for WK1 and WK2. Regressed in r179196: shared ios-simulator results should not have been removed.
  • platform/ios-simulator/fast/css/focus-ring-exists-for-search-field-expected.txt: Add.
  • Platform-specific results were missing for both WK1 and WK2. Regressed in r179796: no ios-simulator results landed.
8:49 AM Changeset in webkit [180486] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Lazily Create GeneralTreeElement Status Elements
https://bugs.webkit.org/show_bug.cgi?id=141873

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-22
Reviewed by Timothy Hatcher.

  • UserInterface/Views/GeneralTreeElement.js:

(WebInspector.GeneralTreeElement.prototype.set status):
(WebInspector.GeneralTreeElement.prototype.onattach):
(WebInspector.GeneralTreeElement.prototype._createElementsIfNeeded):
(WebInspector.GeneralTreeElement.prototype._updateStatusElement):
Lazily create and attach the status element container if
"this.status" is actually used by a GeneralTreeElement subclass.

  • UserInterface/Views/ResourceTreeElement.js:

(WebInspector.ResourceTreeElement.prototype._updateStatus):
Set to the empty string instead of null to avoid inadvertently
creating status elements for no reason.

8:47 AM Changeset in webkit [180485] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Give ObjectPreviewView a showTitle/showPreview toggle
https://bugs.webkit.org/show_bug.cgi?id=141874

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-22
Reviewed by Timothy Hatcher.

Refactor ObjectTree/ObjectPreview a bit to make it easier
to use expanding/collapsing previews in other places.

  • UserInterface/Views/ObjectPreviewView.js:

(WebInspector.ObjectPreviewView):
(WebInspector.ObjectPreviewView.prototype.showTitle):
(WebInspector.ObjectPreviewView.prototype.showPreview):
Maintain both a titleElement and previewElement. Show only
one at a time based on showTitle/showPreview APIs.

  • UserInterface/Views/ObjectTreeView.css:

(.object-tree.expanded .object-preview):

  • UserInterface/Views/ObjectTreeView.js:

(WebInspector.ObjectTreeView):
(WebInspector.ObjectTreeView.prototype.expand):
(WebInspector.ObjectTreeView.prototype.collapse):
If we have a preview, let PreviewView handle toggling
between a title and preview display.

8:43 AM Changeset in webkit [180484] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Make Console UI icons / lines slightly larger
https://bugs.webkit.org/show_bug.cgi?id=141876

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-22
Reviewed by Timothy Hatcher.

In preparation for a new ObjectTree design with larger icons,
increase the size of existing output in the Console / Log
so they don't look so small in comparison. This:

  • bumps minimum height of lines from 16px to 21px
  • 10x10 icons to be 12x12
  • recenters icons to match console prompt
  • realigns icons with console log / object output
  • UserInterface/Views/LogContentView.css:

(.console-user-command-result.console-log-level::before):
(.console-message, .console-user-command):
(.console-item::before):
(.console-user-command::before):
(:matches(.console-warning-level, .console-error-level, .console-log-level).console-message):
(:matches(.console-warning-level, .console-error-level, .console-log-level)::before):
(.outline-disclosure li):
(.outline-disclosure .expanded li):
Fix a case breaking single-line message height.
Only add padding to expanded trees, not collapsed trees.

  • UserInterface/Views/QuickConsole.css:

(.quick-console > .console-prompt::before):

Feb 21, 2015:

7:50 PM Changeset in webkit [180483] by commit-queue@webkit.org
  • 10 edits in trunk/Source

Web Inspector: Generate Previews more often for RemoteObject interaction
https://bugs.webkit.org/show_bug.cgi?id=141875

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-21
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/protocol/Runtime.json:

Add generatePreview to getProperties.

  • inspector/InjectedScript.cpp:

(Inspector::InjectedScript::getProperties):
(Inspector::InjectedScript::getInternalProperties):

  • inspector/InjectedScript.h:
  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::getProperties):

  • inspector/agents/InspectorRuntimeAgent.h:

Plumb the generatePreview boolean through to the injected script.

  • inspector/InjectedScriptSource.js:

Add generatePreview for getProperties.
Fix callFunctionOn to generatePreviews if asked.

Source/WebInspectorUI:

  • UserInterface/Models/PropertyDescriptor.js:

(WebInspector.PropertyDescriptor.fromPayload):
Fix InternalPropertyDescriptor ingestion. There was no ".internal"
property on these objects, so take a flag.

  • UserInterface/Protocol/RemoteObject.js:

(WebInspector.RemoteObject.prototype._getPropertyDescriptors):
Fix InternalPropertyDescriptor ingestion by specifying during
importing the internal properties. Also, get previews.

(WebInspector.RemoteObject.prototype.callFunction):
Always get previews when using callFunctionOn.

5:56 PM Changeset in webkit [180482] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Fix build failure after including CoreMediaSoftLink.h in WebVideoFullscreenInterfaceAVKit.mm
<http://webkit.org/b/141816>

Attempt to fix the following build failure:

WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:68:1: error: call to 'CoreMediaLibrary' is ambiguous
SOFT_LINK(CoreMedia, CMTimeRangeContainsTime, Boolean, (CMTimeRange range, CMTime time), (range, time))

In file included from WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:34:
In file included from WebCore/platform/cf/CoreMediaSoftLink.h:32:
WebCore/platform/mac/SoftLinking.h:107:79: note: expanded from macro 'SOFT_LINK'
<scratch space>:58:1: note: expanded from here
CoreMediaLibrary
~
In file included from WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:34:
WebCore/platform/cf/CoreMediaSoftLink.h:35:1: note: candidate function
SOFT_LINK_FRAMEWORK_HEADER(WebCore, CoreMedia)

In file included from WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:34:
In file included from WebCore/platform/cf/CoreMediaSoftLink.h:32:
WebCore/platform/mac/SoftLinking.h:298:18: note: expanded from macro 'SOFT_LINK_FRAMEWORK_HEADER'
<scratch space>:42:1: note: expanded from here
CoreMediaLibrary

WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:67:1: note: candidate function
SOFT_LINK_FRAMEWORK(CoreMedia)

In file included from WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:34:
In file included from WebCore/platform/cf/CoreMediaSoftLink.h:32:
WebCore/platform/mac/SoftLinking.h:46:18: note: expanded from macro 'SOFT_LINK_FRAMEWORK'
<scratch space>:51:1: note: expanded from here
CoreMediaLibrary

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm: Remove the

SOFT_LINK_FRAMEWORK(CoreMedia) macro since the remaining
SOFT_LINK() and SOFT_LINK_CONSTANT() macros can use the
CoreMediaLibrary() method exposed by CoreMediaSoftLink.h.

1:49 PM Changeset in webkit [180481] by ddkilzer@apple.com
  • 9 edits
    1 delete in trunk/Source/WebCore

Add SOFT_LINK_CONSTANT_SOURCE() cross-platform macro and start using it
<http://webkit.org/b/141816>

Reviewed by Alexey Proskuryakov.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • Remove CoreMediaSoftLinking.h.
  • platform/cf/CoreMediaSoftLink.cpp:
  • Add kCMTimeZero constant.
  • platform/cf/CoreMediaSoftLink.h:
  • Add SOFT_LINK_FRAMEWORK_HEADER() macro for CoreMedia.
  • Add kCMTimeZero constant.
  • platform/graphics/avfoundation/cf/CoreMediaSoftLinking.h: Remove.
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
  • Remove reference to CoreMediaSoftLinking.h and update comment.

(WebCore::MediaPlayerPrivateAVFoundationCF::isAvailable):

  • Switch to using new method to check if a framework is available.
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
  • Remove all local soft-linking macros for CoreMedia. CoreMediaSoftLink.h handles everything now.

(WebCore::MediaPlayerPrivateAVFoundationObjC::isAvailable):

  • Switch to using new method to check if a framework is available.
  • platform/mac/SoftLinking.h:

(SOFT_LINK_FRAMEWORK_HEADER): Add. Defines
is_Name_FrameworkAvailable() macro.
(SOFT_LINK_FRAMEWORK_SOURCE): Update to make it work with
optional framework checks without a separate macro.
(SOFT_LINK_CONSTANT_HEADER): Add.
(SOFT_LINK_CONSTANT_SOURCE): Add.

  • Support soft-links to constants.
  • platform/win/SoftLinking.h:

(SOFT_LINK_FRAMEWORK_HELPER): Add. Copied from
SOFT_LINK_LIBRARY_HELPER, with addition of namespace and
non-static function.
(SOFT_LINK_FRAMEWORK): Add. Copied from SOFT_LINK_LIBRARY.
(SOFT_LINK_DEBUG_FRAMEWORK): Add. Copied from
SOFT_LINK_DEBUG_LIBRARY.
(SOFT_LINK_FRAMEWORK_HEADER): Add. Defines
is_Name_FrameworkAvailable() macro.
(SOFT_LINK_FRAMEWORK_SOURCE): Redefine in terms of
SOFT_LINK_FRAMEWORK/SOFT_LINK_DEBUG_FRAMEWORK.
(SOFT_LINK_CONSTANT_HEADER): Add.
(SOFT_LINK_CONSTANT_SOURCE): Add.

  • Support soft-links to constants.
12:22 PM Changeset in webkit [180480] by youenn.fablet@crf.canon.fr
  • 6 edits in trunk

Tests don't work on some bots: Failed to stop wptwk
https://bugs.webkit.org/show_bug.cgi?id=141235

Reviewed by Ryosuke Niwa.

Tools:

Logging of server subprocesses in launcher script.
Killing of server subprocesses when stopping/before starting.
Removed empty init.py file creation as importer now ensures these files cannot be empty anymore.

  • Scripts/webkitpy/layout_tests/servers/web_platform_test_launcher.py:

(main): Removed empty init.py file creation as importer now ensures these files cannot be empty anymore. Added logging in a file of server subprocesses to clean them in case of abnormal shutdown.

  • Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:

(WebPlatformTestServer.init):
(WebPlatformTestServer._stop_running_subservers): Kill server subprocesses based on file created by wpt launcher.
(WebPlatformTestServer):
(WebPlatformTestServer.stop): Overriden to ensure killing subprocesses in case of orphaned process.
(WebPlatformTestServer._stop_running_server): Killing of wpt launcher process after regular shutdown.

  • Scripts/webkitpy/layout_tests/servers/web_platform_test_server_unittest.py:

(TestWebPlatformTestServer.test_server_closes_previously_spawned_instance): Reworked the test to call start/stop with an existing pid file.
(TestWebPlatformTestServer.test_import_web_platform_test_modules): No change.
(TestWebPlatformTestServer):
(TestWebPlatformTestServer.test_corrupted_subserver_files): Checked that server subprocess cleaning does not throw in case of bad server pid file.

LayoutTests:

  • TestExpectations: Marking web-platform-tests as failed or passed until wpt server proves to be stable.
11:26 AM Changeset in webkit [180479] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.19.1/Source

Versioning.

11:23 AM Changeset in webkit [180478] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.19.1

New tag.

10:18 AM WebKitGTK/Gardening/Calendar edited by clopez@igalia.com
fix format (diff)
12:01 AM Changeset in webkit [180477] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Flaky media tests due to various CoreMedia issues.
https://bugs.webkit.org/show_bug.cgi?id=141534

  • platform/mac/TestExpectations: Added media/video-load-networkState.html.

Feb 20, 2015:

8:09 PM Changeset in webkit [180476] by ddkilzer@apple.com
  • 5 edits in trunk/Source/WebCore

Make namespace configurable for SOFT_LINK_*_{HEADER,SOURCE}() macros
<http://webkit.org/b/141849>

Reviewed by Brent Fulgham.

This patch does the following:

  • Add namespace argument to the SOFT_LINK_*_{HEADER,SOURCE}() macros for reuse in other projects.
  • Adds SOFT_LINK_FRAMEWORK_SOURCE() macro in preparation for Bug 141816.
  • Adds back framework argument to SOFT_LINK_FUNCTION_HEADER() and includes framework name in generated function names. This adds more entropy to the names in case there are two functions with the same name in different frameworks.
  • platform/cf/CoreMediaSoftLink.cpp:
  • Add FIXME about USE(COREMEDIA).
  • Switch from SOFT_LINK_FRAMEWORK() to SOFT_LINK_FRAMEWORK_SOURCE().
  • platform/cf/CoreMediaSoftLink.h:
  • Add FIXME about USE(COREMEDIA).
  • Add back framework argument to SOFT_LINK_FUNCTION_HEADER() macros.
  • platform/mac/SoftLinking.h:
  • Add missing header guards.
  • Add pragmas for different macro groups.

(SOFT_LINK_FRAMEWORK_SOURCE): Add.
(SOFT_LINK_FUNCTION_HEADER): Move. Add back framework argument.
(SOFT_LINK_FUNCTION_SOURCE): Move.

  • Add framework name to generated function names.
  • Incorporates namespace so that it doesn't have to be listed in the *SoftLink.{cpp,h} file.
  • platform/win/SoftLinking.h:
  • Add pragmas for different macro groups.

(SOFT_LINK_FRAMEWORK_SOURCE): Add.
(SOFT_LINK_FUNCTION_HEADER): Move. Add back framework argument.
(SOFT_LINK_FUNCTION_SOURCE): Move.

  • Add framework name to generated function names.
  • Incorporates namespace so that it doesn't have to be listed in the *SoftLink.{cpp,h} file.
7:44 PM Changeset in webkit [180475] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Gtk] Unreviewed build fix.

  • platform/ScrollAnimatorNone.cpp:

(WebCore::ScrollAnimatorNone::ScrollAnimatorNone): Forget to update two
uses of ScrollableArea.

7:34 PM Changeset in webkit [180474] by Brent Fulgham
  • 32 edits in trunk/Source

Scrollbars and ScrollAnimators must always have a ScrollableArea
https://bugs.webkit.org/show_bug.cgi?id=141855

Reviewed by Simon Fraser.
Source/WebCore:

No change in functionality.

Change users of the scrollAnimator() method to expect a reference instead of a pointer. Also get rid of
a number of unnecessary nullptr checks.

  • accessibility/AccessibilityScrollbar.cpp:

(WebCore::AccessibilityScrollbar::setValue):

  • css/SelectorCheckerTestFunctions.h:

(WebCore::scrollbarMatchesCornerPresentPseudoClass):

  • page/FrameView.cpp:

(WebCore::FrameView::createScrollbar):
(WebCore::FrameView::setFixedVisibleContentRect):

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::handleWheelEventPhase):

  • platform/PopupMenuClient.h:
  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::ScrollAnimator):
(WebCore::ScrollAnimator::scroll):
(WebCore::ScrollAnimator::handleWheelEvent):
(WebCore::ScrollAnimator::notifyPositionChanged):
(WebCore::ScrollAnimator::updateScrollAnimatorsAndTimers):

  • platform/ScrollAnimator.h:

(WebCore::ScrollAnimator::ScrollAnimator::scrollableArea):

  • platform/ScrollAnimatorNone.cpp:
  • platform/ScrollAnimatorNone.h:
  • platform/ScrollView.cpp:

(WebCore::ScrollView::createScrollbar):

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::scrollAnimator):
(WebCore::ScrollableArea::scroll):
(WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
(WebCore::ScrollableArea::notifyScrollPositionChanged):
(WebCore::ScrollableArea::scrollPositionChanged):
(WebCore::ScrollableArea::handleWheelEvent):
(WebCore::ScrollableArea::handleTouchEvent):
(WebCore::ScrollableArea::mouseEnteredScrollbar):
(WebCore::ScrollableArea::mouseExitedScrollbar):
(WebCore::ScrollableArea::didAddScrollbar):
(WebCore::ScrollableArea::willRemoveScrollbar):
(WebCore::ScrollableArea::verticalScrollbarLayerDidChange):
(WebCore::ScrollableArea::horizontalScrollbarLayerDidChange):

  • platform/ScrollableArea.h:
  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::createNativeScrollbar):
(WebCore::Scrollbar::Scrollbar):
(WebCore::Scrollbar::scrollbarOverlayStyle):
(WebCore::Scrollbar::isScrollableAreaActive):
(WebCore::Scrollbar::offsetDidChange):
(WebCore::Scrollbar::autoscrollPressedPart):
(WebCore::Scrollbar::moveThumb):
(WebCore::Scrollbar::mouseMoved):
(WebCore::Scrollbar::mouseEntered):
(WebCore::Scrollbar::mouseExited):
(WebCore::Scrollbar::mouseUp):
(WebCore::Scrollbar::shouldParticipateInHitTesting):
(WebCore::Scrollbar::isWindowActive):
(WebCore::Scrollbar::invalidateRect):
(WebCore::Scrollbar::convertToContainingView):
(WebCore::Scrollbar::convertFromContainingView):
(WebCore::Scrollbar::supportsUpdateOnSecondaryThread):

  • platform/Scrollbar.h:

(WebCore::Scrollbar::scrollableArea):
(WebCore::Scrollbar::disconnectFromScrollableArea): Deleted.

  • platform/ios/ScrollAnimatorIOS.mm:

(WebCore::ScrollAnimatorIOS::handleTouchEvent):
(WebCore::ScrollAnimatorIOS::determineScrollableAreaForTouchSequence):

  • platform/mac/ScrollAnimatorMac.h:
  • platform/mac/ScrollAnimatorMac.mm:

(-[WebScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
(-[WebScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
(-[WebScrollbarPainterDelegate scrollAnimator]):
(-[WebScrollbarPainterDelegate layer]):
(-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
(-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:animateAlphaTo:duration:]):
(WebCore::ScrollAnimator::create):
(WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
(WebCore::ScrollAnimatorMac::scroll):
(WebCore::ScrollAnimatorMac::adjustScrollPositionIfNecessary):
(WebCore::ScrollAnimatorMac::adjustScrollPositionToBoundsIfNecessary):
(WebCore::ScrollAnimatorMac::immediateScrollTo):
(WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
(WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
(WebCore::ScrollAnimatorMac::verticalScrollbarLayerDidChange):
(WebCore::ScrollAnimatorMac::horizontalScrollbarLayerDidChange):
(WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
(WebCore::ScrollAnimatorMac::pinnedInDirection):
(WebCore::ScrollAnimatorMac::isAlreadyPinnedInDirectionOfGesture):
(WebCore::ScrollAnimatorMac::allowsVerticalStretching):
(WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
(WebCore::ScrollAnimatorMac::stretchAmount):
(WebCore::ScrollAnimatorMac::canScrollHorizontally):
(WebCore::ScrollAnimatorMac::canScrollVertically):
(WebCore::ScrollAnimatorMac::absoluteScrollPosition):
(WebCore::ScrollAnimatorMac::immediateScrollByWithoutContentEdgeConstraints):
(WebCore::ScrollAnimatorMac::updateScrollerStyle):
(WebCore::ScrollAnimatorMac::setVisibleScrollerThumbRect):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::createScrollbar):
(WebCore::RenderLayer::destroyScrollbar):
(WebCore::RenderLayer::updateScrollInfoAfterLayout):

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::createScrollbar):
(WebCore::RenderListBox::destroyScrollbar):

  • rendering/RenderMenuList.cpp:

(RenderMenuList::createScrollbar):

  • rendering/RenderMenuList.h:
  • rendering/RenderScrollbar.cpp:

(WebCore::RenderScrollbar::createCustomScrollbar):
(WebCore::RenderScrollbar::RenderScrollbar):

  • rendering/RenderScrollbar.h:
  • rendering/RenderSearchField.cpp:

(WebCore::RenderSearchField::createScrollbar):

  • rendering/RenderSearchField.h:

Source/WebKit2:


Change users of the scrollAnimator() method to expect a reference instead of a pointer.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::createScrollbar):
(WebKit::PDFPlugin::destroyScrollbar):

6:55 PM Changeset in webkit [180473] by jberlin@webkit.org
  • 2 edits in trunk/Source/WebKit2

Build fix after r180465.

  • UIProcess/mac/PageClientImpl.h:
6:43 PM Changeset in webkit [180472] by Lucas Forschler
  • 4 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r180278. rdar://problem/19878986

6:18 PM Changeset in webkit [180471] by Lucas Forschler
  • 12 edits
    8 copies in branches/safari-600.1.4.15-branch

Merged r180150. rdar://problem/19891984

5:48 PM Changeset in webkit [180470] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Commit the erroneously reverted change.

  • public/api/runs.php:

(RunsGenerator::results):

5:44 PM Changeset in webkit [180469] by clopez@igalia.com
  • 2 edits in trunk/Source/WebKit2

[GTK] Unreviewed build fix after r180449.

  • UIProcess/API/gtk/WebKitFileChooserRequest.cpp:

(webkit_file_chooser_request_get_selected_files):

5:28 PM Changeset in webkit [180468] by rniwa@webkit.org
  • 13 edits in trunk/Websites/perf.webkit.org

Loading the perf dashboard takes multiple seconds
https://bugs.webkit.org/show_bug.cgi?id=141860

Reviewed by Andreas Kling.

This patch introduces the caches of JSON files returned by /api/ in /data/ directory. It also records
the last time test_runs rows associated with the requested platforms and metrics are inserted, updated,
or removed in the caches as well as the manifest JSON files ("last modified time"). Because the manifest
is regenerated each time a new test result is reported, the front end can compare last modified time in
the manifest file with that in a /api/runs JSON cache to detect the stale-ness.

More concretely, the front end first optimistically fetches the JSON in /data/. If the cache doesn't exit
or the last modified time in the cache doesn't match with that in the manifest file, it would fetch it
again via /api/runs. In the case the cache did exist, we render the charts based on the cache meanwhile.
This dramatically reduces the perceived latency for the page load since charts are drawn immediately using
the cache and we would only re-render the charts as new up-to-date JSON comes in.

This patch also changes the format of runs JSONs by pushing the exiting properties into 'configurations'
and adding 'lastModified' and 'elapsedTime' at the top level.

  • init-database.sql: Added config_runs_last_modified to test_configurations table as well as a trigger to

auto-update this column upon changes to test_runs table.

  • public/admin/test-configurations.php:

(add_run): Regenerate the manifest file to invalidate the /api/runs JSON cache.
(delete_run): Ditto.

  • public/api/runs.php:

(main): Fetch all columns of test_configurations table including config_runs_last_modified. Also generate
the cache in /data/ directory.
(RunsGenerator::construct): Compute the last modified time for this (platform, metric) pair.
(RunsGenerator::results): Put the old content in 'configurations' property and include 'lastModified' and
'elapsedTime' properties. 'elapsedTime' is added for debugging purposes.
(RunsGenerator::add_runs):
(RunsGenerator::parse_revisions_array):

  • public/include/db.php:

(CONFIG_DIR): Added.
(generate_data_file): Added based on ManifestGenerator::store.
(Database::to_js_time): Extracted from RunsGenerator::add_runs to share code.

  • public/include/json-header.php:

(echo_success): Renamed from success_json. Return the serialized JSON instead of echo'ing it so that we can
generate caches in /api/runs/.
(exit_with_success):

  • public/include/manifest.php:

(ManifestGenerator::generate): Added 'elapsedTime' property for the time taken to generate the manifest.
It seems like we're generating it in 200-300ms for now so that's good.
(ManifestGenerator::store): Uses generate_data_file.
(ManifestGenerator::platforms): Added 'lastModified' array to each platform entry. This array contains the
last modified time for each (platform, metric) pair.

  • public/index.html:

(fetchTest): Updated per the format change in runs JSON.

  • public/v2/app.js:

(App.Pane._fetch): Fetch the cached JSON first. Refetch the uncached version if instructed as such.
(App.Pane._updateChartData): Extracted from App.Pane._fetch.
(App.Pane._handleFetchErrors): Ditto.

  • public/v2/data.js:

(RunsData.fetchRuns): Takes the fourth argument indicating whether we should fetch the cached version or not.
The cached JSON is located in /data/ with the same filename. When fetching a cached JSON results in 404,
fulfill the promise with null as the result instead of rejecting it. The only client of this function which
sets useCache to true is App.Manifest.fetchRunsWithPlatformAndMetric, and it handles this special case.

  • public/v2/manifest.js:

(App.DateArrayTransform): Added. Handles the array of last modified dates in platform objects.
(App.Platform.lastModifiedTimeForMetric): Added. Returns the last modified date in the manifest JSON.
(App.Manifest.fetchRunsWithPlatformAndMetric): Takes "useCache" like RunsData.fetchRuns. Set shouldRefetch
to true if response is null (the cache didn't exit) or the cache is out-of-date.
(App.Manifest._formatFetchedData): Extracted from App.Manifest.fetchRunsWithPlatformAndMetric.

  • run-tests.js:

(initializeDatabase): Avoid splitting function definitions in the middle.

  • tests/api-report.js: Added tests to verify that reporting new test results updates the last modified time

in test_configurations.

4:36 PM Changeset in webkit [180467] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Refactor JSWrapperMap.mm to defer creation of the ObjC JSValue until the latest possible moment.
<https://webkit.org/b/141856>

Reviewed by Geoffrey Garen.

  1. Make JSObjCClassInfo's -constructor and -wrapperForObject return a JSC::JSObject* just like -prototype.
  2. Defer the creation of the ObjC JSValue from JSC::JSObject* until the latest moment when it is needed. This allows us to not have to keep converting back to a JSC::JSObject* in intermediate code.
  • API/JSWrapperMap.mm:

(makeWrapper):
(objectWithCustomBrand):
(constructorWithCustomBrand):
(allocateConstructorForCustomClass):
(-[JSObjCClassInfo allocateConstructorAndPrototype]):
(-[JSObjCClassInfo wrapperForObject:]):
(-[JSObjCClassInfo constructor]):
(-[JSWrapperMap jsWrapperForObject:]):

4:35 PM Changeset in webkit [180466] by rniwa@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

REGRESSION(r180333): Analysis tasks can't be associated with bugs
https://bugs.webkit.org/show_bug.cgi?id=141858

Reviewed by Andreas Kling.

Added back the erroneously removed table to associate bugs. Also moved "details-table-container" div outside
of the chart-details partial template as it needs to wrap associate bugs in analysis task pages.

  • public/v2/chart-pane.css:
  • public/v2/index.html:
4:09 PM Changeset in webkit [180465] by enrica@apple.com
  • 24 edits in trunk/Source

[WK2] Add support for font panel on OS X.
https://bugs.webkit.org/show_bug.cgi?id=141777

Reviewed by Tim Horton.

Source/WebCore:

This patch adds the necessary hooks to the Editor class to support
the font panel.

  • editing/Editor.h:
  • editing/mac/EditorMac.mm:

(WebCore::Editor::applyFontStyles):

Source/WebKit2:

This patch adds the necessary hooks to WKView to support
the font panel. It also includes refactoring of WebPage::editorState
and WebPageProxy::editorStateChanged to separate the different platform
specific tasks.

  • Shared/EditorState.cpp:

(WebKit::EditorState::encode):
(WebKit::EditorState::decode):

  • Shared/EditorState.h:

(WebKit::EditorState::EditorState):

  • UIProcess/API/mac/WKView.mm:

(-[WKView _selectionChanged]):
(-[WKView changeFont:]):

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::editorStateChanged): Deleted.

  • UIProcess/WebPageProxy.h:
  • UIProcess/efl/WebPageProxyEfl.cpp:

(WebKit::WebPageProxy::editorStateChanged):

  • UIProcess/gtk/WebPageProxyGtk.cpp:

(WebKit::WebPageProxy::editorStateChanged):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::editorStateChanged):

  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::selectionDidChange):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::setFont):
(WebKit::WebPageProxy::editorStateChanged):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::editorState):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/efl/WebPageEfl.cpp:

(WebKit::WebPage::platformEditorState):

  • WebProcess/WebPage/gtk/WebPageGtk.cpp:

(WebKit::WebPage::platformEditorState):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::platformEditorState):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::platformEditorState):
(WebKit::WebPage::setFont):

3:27 PM Changeset in webkit [180464] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Invalid assert in CompositeEditCommand::insertNodeAfter/insertNodeBefore
https://bugs.webkit.org/show_bug.cgi?id=141854

Reviewed by Ryosuke Niwa.

Inserting content before/after the body as the result of editing is a valid operation.
This assert was originally introduced to cover cases where edited content would get moved
out of body. However, asserting such operation properly is not possible atm.

Source/WebCore:

Test: editing/inserting/insert-as-body-sibling.html

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::insertNodeBefore):
(WebCore::CompositeEditCommand::insertNodeAfter):

LayoutTests:

  • editing/inserting/insert-as-body-sibling-expected.txt: Added.
  • editing/inserting/insert-as-body-sibling.html: Added.
3:13 PM Changeset in webkit [180463] by dburkart@apple.com
  • 4 edits in branches/safari-600.5-branch/Source/JavaScriptCore

Merged r180325. <rdar://problem/19828591>

3:09 PM Changeset in webkit [180462] by ap@apple.com
  • 2 edits in trunk/LayoutTests

svg/animations/animateMotion-additive-2a.svg and svg/animations/animateMotion-additive-2b.svg
sometimes fail with a very small difference
https://bugs.webkit.org/show_bug.cgi?id=139828

  • platform/mac-wk2/TestExpectations: Adding a test expectation.
2:57 PM Changeset in webkit [180461] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Build fix for gcc.

  • runtime/JSNameScope.cpp:

(JSC::JSNameScope::create):

2:54 PM Changeset in webkit [180460] by fpizlo@apple.com
  • 15 edits
    4 adds in trunk/Source/JavaScriptCore

Get rid of JSNameScope::m_type
https://bugs.webkit.org/show_bug.cgi?id=141851

Reviewed by Geoffrey Garen.

This is a big step towards getting rid of JSEnvironmentRecord::m_registers. To do it we need
to ensure that subclasses of JSEnvironmentRecord never have additional C++ fields, so that
JSEnvironmentRecord can always place "registers" right after the end of itself.

(JSC::DebuggerScope::isCatchScope):
(JSC::DebuggerScope::isFunctionNameScope):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):

  • jit/JITOperations.cpp:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/JSCatchScope.cpp: Added.
  • runtime/JSCatchScope.h: Added.

(JSC::JSCatchScope::JSCatchScope):
(JSC::JSCatchScope::create):
(JSC::JSCatchScope::createStructure):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::addNameScopeIfNeeded):

  • runtime/JSFunctionNameScope.cpp: Added.
  • runtime/JSFunctionNameScope.h: Added.

(JSC::JSFunctionNameScope::JSFunctionNameScope):
(JSC::JSFunctionNameScope::create):
(JSC::JSFunctionNameScope::createStructure):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::catchScopeStructure):
(JSC::JSGlobalObject::functionNameScopeStructure):
(JSC::JSGlobalObject::nameScopeStructure): Deleted.

  • runtime/JSNameScope.cpp:

(JSC::JSNameScope::create):

  • runtime/JSNameScope.h:

(JSC::JSNameScope::create):
(JSC::JSNameScope::JSNameScope):
(JSC::JSNameScope::createStructure): Deleted.
(JSC::JSNameScope::isFunctionNameScope): Deleted.
(JSC::JSNameScope::isCatchScope): Deleted.

  • runtime/JSObject.cpp:

(JSC::JSObject::isCatchScopeObject):
(JSC::JSObject::isFunctionNameScopeObject):

  • runtime/JSObject.h:
2:46 PM Changeset in webkit [180459] by dburkart@apple.com
  • 5 edits in branches/safari-600.5-branch

Merged r180087. <rdar://19850762>

2:40 PM Changeset in webkit [180458] by dburkart@apple.com
  • 3 edits in branches/safari-600.5-branch

Merged r179567. rdar://problem/19850762

2:28 PM Changeset in webkit [180457] by ggaren@apple.com
  • 6 edits
    4 deletes in trunk/Source/WTF

Remove TCMalloc
https://bugs.webkit.org/show_bug.cgi?id=141844

Reviewed by Andreas Kling.

It's unused.

  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/FastMalloc.cpp:

(WTF::EntropySource<4>::value): Deleted.
(WTF::EntropySource<8>::value): Deleted.
(WTF::internalEntropyValue): Deleted.
(WTF::freedObjectStartPoison): Deleted.
(WTF::freedObjectEndPoison): Deleted.
(WTF::ClassIndex): Deleted.
(WTF::HardenedSLL::create): Deleted.
(WTF::HardenedSLL::null): Deleted.
(WTF::HardenedSLL::setValue): Deleted.
(WTF::HardenedSLL::value): Deleted.
(WTF::HardenedSLL::operator!): Deleted.
(WTF::HardenedSLL::operator UnspecifiedBoolType): Deleted.
(WTF::HardenedSLL::operator!=): Deleted.
(WTF::HardenedSLL::operator==): Deleted.
(WTF::LgFloor): Deleted.
(WTF::SLL_Next): Deleted.
(WTF::SLL_SetNext): Deleted.
(WTF::SLL_Push): Deleted.
(WTF::SLL_Pop): Deleted.
(WTF::SLL_PopRange): Deleted.
(WTF::SLL_PushRange): Deleted.
(WTF::SizeClass): Deleted.
(WTF::ByteSizeForClass): Deleted.
(WTF::NumMoveSize): Deleted.
(WTF::InitSizeClasses): Deleted.
(WTF::MetaDataAlloc): Deleted.
(WTF::PageHeapAllocator::Init): Deleted.
(WTF::PageHeapAllocator::New): Deleted.
(WTF::PageHeapAllocator::Delete): Deleted.
(WTF::PageHeapAllocator::inuse): Deleted.
(WTF::pages): Deleted.
(WTF::AllocationSize): Deleted.
(WTF::spanInitializerCookie): Deleted.
(WTF::Span::next): Deleted.
(WTF::Span::remoteNext): Deleted.
(WTF::Span::prev): Deleted.
(WTF::Span::setNext): Deleted.
(WTF::Span::setPrev): Deleted.
(WTF::Span::initCookie): Deleted.
(WTF::Span::clearCookie): Deleted.
(WTF::Span::isValid): Deleted.
(WTF::Event): Deleted.
(WTF::NewSpan): Deleted.
(WTF::DeleteSpan): Deleted.
(WTF::DLL_Init): Deleted.
(WTF::DLL_Remove): Deleted.
(WTF::DLL_IsEmpty): Deleted.
(WTF::DLL_Length): Deleted.
(WTF::DLL_Print): Deleted.
(WTF::DLL_Prepend): Deleted.
(WTF::TCMalloc_Central_FreeList::length): Deleted.
(WTF::TCMalloc_Central_FreeList::tc_length): Deleted.
(WTF::TCMalloc_Central_FreeList::enumerateFreeObjects): Deleted.
(WTF::TCMalloc_Central_FreeList::entropy): Deleted.
(WTF::FastMallocZone::goodSize): Deleted.
(WTF::FastMallocZone::check): Deleted.
(WTF::FastMallocZone::print): Deleted.
(WTF::FastMallocZone::log): Deleted.
(WTF::FastMallocZone::forceLock): Deleted.
(WTF::FastMallocZone::forceUnlock): Deleted.
(WTF::FastMallocZone::statistics): Deleted.
(WTF::FastMallocZone::zoneValloc): Deleted.
(WTF::FastMallocZone::zoneDestroy): Deleted.
(WTF::MallocHook::record): Deleted.
(WTF::MallocHook::recordAllocation): Deleted.
(WTF::MallocHook::recordDeallocation): Deleted.
(WTF::MallocHook::init): Deleted.
(WTF::MallocHook::InvokeNewHook): Deleted.
(WTF::MallocHook::InvokeDeleteHook): Deleted.
(WTF::KernelSupportsTLS): Deleted.
(WTF::CheckIfKernelSupportsTLS): Deleted.
(WTF::TCMalloc_PageHeap::GetDescriptor): Deleted.
(WTF::TCMalloc_PageHeap::GetDescriptorEnsureSafe): Deleted.
(WTF::TCMalloc_PageHeap::SystemBytes): Deleted.
(WTF::TCMalloc_PageHeap::FreeBytes): Deleted.
(WTF::TCMalloc_PageHeap::GetSizeClassIfCached): Deleted.
(WTF::TCMalloc_PageHeap::CacheSizeClass): Deleted.
(WTF::TCMalloc_PageHeap::RecordSpan): Deleted.
(WTF::TCMalloc_PageHeap::init): Deleted.
(WTF::TCMalloc_PageHeap::initializeScavenger): Deleted.
(WTF::TCMalloc_PageHeap::isScavengerSuspended): Deleted.
(WTF::TCMalloc_PageHeap::scheduleScavenger): Deleted.
(WTF::TCMalloc_PageHeap::rescheduleScavenger): Deleted.
(WTF::TCMalloc_PageHeap::suspendScavenger): Deleted.
(WTF::TCMalloc_PageHeap::scavengerTimerFired): Deleted.
(WTF::TCMalloc_PageHeap::runScavengerThread): Deleted.
(WTF::TCMalloc_PageHeap::signalScavenger): Deleted.
(WTF::TCMalloc_PageHeap::scavenge): Deleted.
(WTF::TCMalloc_PageHeap::shouldScavenge): Deleted.
(WTF::TCMalloc_PageHeap::New): Deleted.
(WTF::TCMalloc_PageHeap::AllocLarge): Deleted.
(WTF::TCMalloc_PageHeap::Split): Deleted.
(WTF::TCMalloc_PageHeap::Carve): Deleted.
(WTF::mergeDecommittedStates): Deleted.
(WTF::TCMalloc_PageHeap::Delete): Deleted.
(WTF::TCMalloc_PageHeap::IncrementalScavenge): Deleted.
(WTF::TCMalloc_PageHeap::RegisterSizeClass): Deleted.
(WTF::TCMalloc_PageHeap::ReturnedBytes): Deleted.
(WTF::PagesToMB): Deleted.
(WTF::TCMalloc_PageHeap::Dump): Deleted.
(WTF::TCMalloc_PageHeap::GrowHeap): Deleted.
(WTF::TCMalloc_PageHeap::Check): Deleted.
(WTF::TCMalloc_PageHeap::CheckList): Deleted.
(WTF::TCMalloc_PageHeap::ReleaseFreeList): Deleted.
(WTF::TCMalloc_PageHeap::ReleaseFreePages): Deleted.
(WTF::TCMalloc_ThreadCache_FreeList::Init): Deleted.
(WTF::TCMalloc_ThreadCache_FreeList::length): Deleted.
(WTF::TCMalloc_ThreadCache_FreeList::empty): Deleted.
(WTF::TCMalloc_ThreadCache_FreeList::lowwatermark): Deleted.
(WTF::TCMalloc_ThreadCache_FreeList::clear_lowwatermark): Deleted.
(WTF::TCMalloc_ThreadCache_FreeList::Push): Deleted.
(WTF::TCMalloc_ThreadCache_FreeList::PushRange): Deleted.
(WTF::TCMalloc_ThreadCache_FreeList::PopRange): Deleted.
(WTF::TCMalloc_ThreadCache_FreeList::Pop): Deleted.
(WTF::TCMalloc_ThreadCache_FreeList::Validate): Deleted.
(WTF::TCMalloc_ThreadCache_FreeList::enumerateFreeObjects): Deleted.
(WTF::TCMalloc_ThreadCache::freelist_length): Deleted.
(WTF::TCMalloc_ThreadCache::Size): Deleted.
(WTF::TCMalloc_ThreadCache::enumerateFreeObjects): Deleted.
(WTF::getPageHeap): Deleted.
(WTF::fastMallocGoodSize): Deleted.
(WTF::TCMalloc_PageHeap::periodicScavenge): Deleted.
(WTF::TCMalloc_PageHeap::scavengerThread): Deleted.
(WTF::setThreadHeap): Deleted.
(WTF::TCMalloc_Central_FreeList::Init): Deleted.
(WTF::TCMalloc_Central_FreeList::ReleaseListToSpans): Deleted.
(WTF::TCMalloc_Central_FreeList::ReleaseToSpans): Deleted.
(WTF::TCMalloc_Central_FreeList::EvictRandomSizeClass): Deleted.
(WTF::TCMalloc_Central_FreeList::MakeCacheSpace): Deleted.
(WTF::TCMalloc_Central_FreeList::ShrinkCache): Deleted.
(WTF::TCMalloc_Central_FreeList::InsertRange): Deleted.
(WTF::TCMalloc_Central_FreeList::RemoveRange): Deleted.
(WTF::TCMalloc_Central_FreeList::FetchFromSpansSafe): Deleted.
(WTF::TCMalloc_Central_FreeList::FetchFromSpans): Deleted.
(WTF::TCMalloc_Central_FreeList::Populate): Deleted.
(WTF::TCMalloc_ThreadCache::SampleAllocation): Deleted.
(WTF::TCMalloc_ThreadCache::Init): Deleted.
(WTF::TCMalloc_ThreadCache::Cleanup): Deleted.
(WTF::TCMalloc_ThreadCache::Allocate): Deleted.
(WTF::TCMalloc_ThreadCache::Deallocate): Deleted.
(WTF::TCMalloc_ThreadCache::FetchFromCentralCache): Deleted.
(WTF::TCMalloc_ThreadCache::ReleaseToCentralCache): Deleted.
(WTF::TCMalloc_ThreadCache::Scavenge): Deleted.
(WTF::TCMalloc_ThreadCache::PickNextSample): Deleted.
(WTF::TCMalloc_ThreadCache::InitModule): Deleted.
(WTF::TCMalloc_ThreadCache::NewHeap): Deleted.
(WTF::TCMalloc_ThreadCache::GetThreadHeap): Deleted.
(WTF::TCMalloc_ThreadCache::GetCache): Deleted.
(WTF::TCMalloc_ThreadCache::GetCacheIfPresent): Deleted.
(WTF::TCMalloc_ThreadCache::InitTSD): Deleted.
(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary): Deleted.

  • wtf/TCPackedCache.h: Removed.
  • wtf/TCPageMap.h: Removed.
  • wtf/TCSystemAlloc.cpp: Removed.
  • wtf/TCSystemAlloc.h: Removed.
2:25 PM Changeset in webkit [180456] by Chris Dumez
  • 8 edits in trunk/Source

[WK2] Add more detailed diagnostic logging for measuring network cache efficacy
https://bugs.webkit.org/show_bug.cgi?id=141803
<rdar://problem/19632080>

Reviewed by Antti Koivisto.

Source/WebCore:

Add more diagnostic logging keys for the network cache.

  • page/DiagnosticLoggingKeys.cpp:

(WebCore::DiagnosticLoggingKeys::missingValidatorFieldsKey):
(WebCore::DiagnosticLoggingKeys::noLongerInCacheKey):
(WebCore::DiagnosticLoggingKeys::isReloadIgnoringCacheDataKey):
(WebCore::DiagnosticLoggingKeys::isAttachmentKey):
(WebCore::DiagnosticLoggingKeys::isConditionalRequestKey):
(WebCore::DiagnosticLoggingKeys::cacheControlNoStoreKey):
(WebCore::DiagnosticLoggingKeys::uncacheableStatusCodeKey):
(WebCore::DiagnosticLoggingKeys::unsupportedHTTPMethodKey):
(WebCore::DiagnosticLoggingKeys::unusableCachedEntryKey):
(WebCore::DiagnosticLoggingKeys::varyingHeaderMismatchKey):
(WebCore::WebCore::DiagnosticLoggingKeys::notHTTPFamilyKey):
(WebCore::DiagnosticLoggingKeys::notInCacheKey):
(WebCore::DiagnosticLoggingKeys::noLongerInCacheFailureKey): Deleted.
(WebCore::DiagnosticLoggingKeys::unhandledRequestFailureKey): Deleted.
(WebCore::DiagnosticLoggingKeys::unusableCachedEntryFailureKey): Deleted.

  • page/DiagnosticLoggingKeys.h:

Source/WebKit2:

Add more detailed diagnostic logging for measuring network cache
efficacy.

We want to know the reason the network cache is being by-passed, why
the network cache decided not to cache a response and why it cannot
reuse a cache entry.

This patch adds a new "UncachedReason" table to the SQLite database
to store the reason the network cache is deciding not to cache a
given response. This information is used later, when the resource is
requested again to log the reason why the request cannot be satistied
by the cache.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::decodeStorageEntry):
(WebKit::canRetrieve):
(WebKit::NetworkCache::retrieve):
(WebKit::canStore):
(WebKit::NetworkCache::store):

  • NetworkProcess/cache/NetworkCache.h:
  • NetworkProcess/cache/NetworkCacheStatistics.h:
  • NetworkProcess/cache/NetworkCacheStatisticsCocoa.mm:

(WebKit::NetworkCacheStatistics::initialize):
(WebKit::NetworkCacheStatistics::recordNotCachingResponse):
(WebKit::retrieveDecisionToDiagnosticKey):
(WebKit::NetworkCacheStatistics::recordNotUsingCacheForRequest):
(WebKit::storeDecisionToDiagnosticKey):
(WebKit::NetworkCacheStatistics::recordRetrievalFailure):
(WebKit::cachedEntryReuseFailureToDiagnosticKey):
(WebKit::NetworkCacheStatistics::recordRetrievedCachedEntry):
(WebKit::NetworkCacheStatistics::queryWasEverRequested):
(WebKit::NetworkCacheStatistics::clear):

2:24 PM Changeset in webkit [180455] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebCore

<attachment> turns the wrong blue when you highlight it
https://bugs.webkit.org/show_bug.cgi?id=141853

Reviewed by Simon Fraser.

  • rendering/RenderAttachment.h:
  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::shouldDrawSelectionTint):
(WebCore::RenderReplaced::paint):

  • rendering/RenderReplaced.h:

Don't draw the selection tint for RenderAttachment.

2:23 PM Changeset in webkit [180454] by timothy_horton@apple.com
  • 6 edits in trunk/Source/WebCore

Allow <attachment> elements to be focused
https://bugs.webkit.org/show_bug.cgi?id=141847

Reviewed by Enrica Casucci.

  • css/html.css:

(attachment:focus):
Disable focus rings for <attachment>.

  • html/HTMLAttachmentElement.cpp:

(WebCore::HTMLAttachmentElement::setFocus):

  • html/HTMLAttachmentElement.h:

Allow HTMLAttachmentElement to get editing focus.
Let RenderAttachment know when focus changes.

  • rendering/RenderAttachment.cpp:

(WebCore::RenderAttachment::paintReplaced):
Paint the background in cyan when we are inside the selection or have focus.
Otherwise, it will be gray.

(WebCore::RenderAttachment::focusChanged):
When focus changes, repaint.

  • rendering/RenderAttachment.h:
2:21 PM Changeset in webkit [180453] by msaboff@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test js/regress-141098.html is failing on 32-bit Machines
https://bugs.webkit.org/show_bug.cgi?id=141848

Reviewed by Geoffrey Garen.

It appears that different control flow paths in probeAndRecurse() allowed the second time
through the test to recurse deeper before getting to the point of overflowing the stack.
Restructured the test so that the exact same control flow in probeAndRecurse() is used
both times we call it, including probing the depth of the stack. Now we pass a flag that
indicates whether or not we should try ever expanding eval strings or reuse the most
recent eval string.

  • js/script-tests/regress-141098.js:

(testEval):
(probeAndRecurse):

1:51 PM Changeset in webkit [180452] by mark.lam@apple.com
  • 4 edits
    2 adds in trunk/Source/JavaScriptCore

[JSObjCClassInfo reallocateConstructorAndOrPrototype] should also reallocate super class prototype chain.
<https://webkit.org/b/141809>

Reviewed by Geoffrey Garen.

A ObjC class that implement the JSExport protocol will have a JS prototype
chain and constructor automatically synthesized for its JS wrapper object.
However, if there are no more instances of that ObjC class reachable by a
JS GC root scan, then its synthesized prototype chain and constructors may
be released by the GC. If a new instance of that ObjC class is subsequently
instantiated, then [JSObjCClassInfo reallocateConstructorAndOrPrototype]
should re-construct the prototype chain and constructor (if they were
previously released). However, the current implementation only
re-constructs the immediate prototype, but not every other prototype
object upstream in the prototype chain.

To fix this, we do the following:

  1. We no longer allocate the JSObjCClassInfo's prototype and constructor eagerly. Hence, -initWithContext:forClass: will no longer call -allocateConstructorAndPrototypeWithSuperClassInfo:.
  2. Instead, we'll always access the prototype and constructor thru accessor methods. The accessor methods will call -allocateConstructorAndPrototype: if needed.
  3. -allocateConstructorAndPrototype: will fetch the needed superClassInfo from the JSWrapperMap itself. This makes it so that we no longer need to pass the superClassInfo all over.
  4. -allocateConstructorAndPrototype: will get the super class prototype by invoking -prototype: on the superClassInfo, thereby allowing the super class to allocate its prototype and constructor if needed and fixing the issue in this bug.
  1. Also removed the GC warning comments, and ensured that needed JS objects are kept alive by having a local var pointing to it from the stack (which makes a GC root).
  • API/JSWrapperMap.mm:

(-[JSObjCClassInfo initWithContext:forClass:]):
(-[JSObjCClassInfo allocateConstructorAndPrototype]):
(-[JSObjCClassInfo wrapperForObject:]):
(-[JSObjCClassInfo constructor]):
(-[JSObjCClassInfo prototype]):
(-[JSWrapperMap classInfoForClass:]):
(-[JSObjCClassInfo initWithContext:forClass:superClassInfo:]): Deleted.
(-[JSObjCClassInfo allocateConstructorAndPrototypeWithSuperClassInfo:]): Deleted.
(-[JSObjCClassInfo reallocateConstructorAndOrPrototype]): Deleted.

  • API/tests/Regress141809.h: Added.
  • API/tests/Regress141809.mm: Added.

(-[TestClassB name]):
(-[TestClassC name]):
(runRegress141809):

1:39 PM Changeset in webkit [180451] by rniwa@webkit.org
  • 5 edits in trunk/Websites/perf.webkit.org

Selecting revisions for A/B testing is hard
https://bugs.webkit.org/show_bug.cgi?id=141824

Reviewed by Andreas Kling.

Update the revisions used in A/B testing based on the selection in the overview chart. This allows users to
intuitively select revisions based on points shown in the chart. Removed the old select elements used to
select A/B testing points manually.

Also renamed 'testSets' to 'configurations', 'roots' to 'rootConfigurations', and 'revisions' in each root's
sets to 'options' for clarity.

  • public/v2/app.css: Reorganized style rules.
  • public/v2/app.js:

(App.AnalysisTaskController):
(App.AnalysisTaskController._taskUpdated): Merged updateTestGroupPanes.
(App.AnalysisTaskController._chartDataChanged): Renamed from paneDomain. It's now an observer instead of
a property, which sets 'overviewDomain' property as well as other properties.
(App.AnalysisTaskController.updateRootConfigurations): Renamed from updateRoots.
(App.AnalysisTaskController._updateRootsBySelectedPoints): Added. Select roots based on the selected points
in the overview chart.

  • public/v2/chart-pane.css: Added arrows next to the configuration names (e.g. 'A') to indicate whether

individual build requests / test results are shown or not.

  • public/v2/index.html: Removed the select element per configuration column. Also moved the select element

for the number of runs as it doesn't belong in the same table as the one that lists repositories and roots.

1:25 PM Changeset in webkit [180450] by dino@apple.com
  • 4 edits in branches/safari-600.1.4.15-branch/Source/WebCore

<rdar://problem/19450275> Media player updates.

Merge r179808, r180013, r180024, r180231, r180347.

1:09 PM Changeset in webkit [180449] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

API::String should just be a simple wrapper for WTF strings
https://bugs.webkit.org/show_bug.cgi?id=141852

Reviewed by Beth Dakin.

Expose a StringView member function on API::String. Move all the WKString API implementations to WKString.cpp.

  • Shared/API/APIString.h:
  • Shared/API/c/WKString.cpp:

(WKStringIsEmpty):
(WKStringGetLength):
(WKStringGetCharacters):
(WKStringGetMaximumUTF8CStringSize):
(WKStringGetUTF8CString):
(WKStringIsEqual):
(WKStringIsEqualToUTF8CString):
(WKStringIsEqualToUTF8CStringIgnoringCase):

12:54 PM Changeset in webkit [180448] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

Skip failing JSC stress test to get bots green.
https://bugs.webkit.org/show_bug.cgi?id=141848

  • js/script-tests/regress-141098.js:
12:50 PM Changeset in webkit [180447] by Brent Fulgham
  • 8 edits
    2 moves in trunk/Source/WebCore

Rename ScrollElasticityController to ScrollController
https://bugs.webkit.org/show_bug.cgi?id=141842

Reviewed by Simon Fraser.

No change in functionality.

  • PlatformMac.cmake:
  • WebCore.order:
  • WebCore.xcodeproj/project.pbxproj:
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::ScrollingTreeFrameScrollingNodeMac):
(WebCore::ScrollingTreeFrameScrollingNodeMac::handleWheelEvent):
(WebCore::ScrollingTreeFrameScrollingNodeMac::startSnapRubberbandTimer):

  • platform/mac/ScrollAnimatorMac.h:
  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
(WebCore::ScrollAnimatorMac::isRubberBandInProgress):
(WebCore::ScrollAnimatorMac::handleWheelEvent):
(WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):

  • platform/mac/ScrollController.h: Copied from WebCore/platform/mac/ScrollElasticityController.h.

(WebCore::ScrollControllerClient::~ScrollControllerClient):
(WebCore::ScrollElasticityControllerClient::~ScrollElasticityControllerClient): Deleted.

  • platform/mac/ScrollController.mm: Copied from WebCore/platform/mac/ScrollElasticityController.mm.

(WebCore::ScrollController::ScrollController):
(WebCore::ScrollController::handleWheelEvent):
(WebCore::ScrollController::snapRubberBandTimerFired):
(WebCore::ScrollController::isRubberBandInProgress):
(WebCore::ScrollController::stopSnapRubberbandTimer):
(WebCore::ScrollController::snapRubberBand):
(WebCore::ScrollController::shouldRubberBandInHorizontalDirection):
(WebCore::ScrollElasticityController::ScrollElasticityController): Deleted.
(WebCore::ScrollElasticityController::handleWheelEvent): Deleted.
(WebCore::ScrollElasticityController::snapRubberBandTimerFired): Deleted.
(WebCore::ScrollElasticityController::isRubberBandInProgress): Deleted.
(WebCore::ScrollElasticityController::stopSnapRubberbandTimer): Deleted.
(WebCore::ScrollElasticityController::snapRubberBand): Deleted.
(WebCore::ScrollElasticityController::shouldRubberBandInHorizontalDirection): Deleted.

  • platform/mac/ScrollElasticityController.h: Removed.
  • platform/mac/ScrollElasticityController.mm: Removed.
12:41 PM Changeset in webkit [180446] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Document some failures due to a JSC regression.
https://bugs.webkit.org/show_bug.cgi?id=141848

  • platform/win/TestExpectations:
12:33 PM Changeset in webkit [180445] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

API::String::string() needs to return an isolated string copy
https://bugs.webkit.org/show_bug.cgi?id=141846

Reviewed by Tim Horton.

Since we can expose API::String objects as NSStrings now, we need to make sure that
we return copied strings so we won't mess up the StringImpl refcounts.

  • Shared/API/APIString.h:
12:13 PM Changeset in webkit [180444] by dburkart@apple.com
  • 12 edits in branches/safari-600.5-branch

Merge r176473. rdar://problem/19451285

12:10 PM Changeset in webkit [180443] by timothy_horton@apple.com
  • 4 edits in trunk/Tools

[WebEditingTester] Allow dropping HTML files on the app
https://bugs.webkit.org/show_bug.cgi?id=141834

Reviewed by Simon Fraser.

  • WebEditingTester/AppDelegate.m:

(-[WebEditingAppDelegate openDocument:]):
(-[WebEditingAppDelegate application:openFile:]):
Implement application:openFile:, factoring file loading code out of openDocument.

  • WebEditingTester/Info.plist:

Register as an editor for HTML files.

  • WebEditingTester/WebEditingTester.xcodeproj/project.pbxproj:

Enrica is not an organization.

12:09 PM Changeset in webkit [180442] by rniwa@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

Unreviewed test fixes after r179037, r179591, and r179763.

  • tests/admin-regenerate-manifest.js:
  • tests/admin-reprocess-report.js:
12:05 PM Changeset in webkit [180441] by ap@apple.com
  • 2266 edits in trunk

Remove svn:keywords property.

As far as I can tell, the property had no effect on any of these files, but also,
when it has effect it's likely harmful.

.:

  • ManualTests/animation-with-transition.html: Removed property svn:keywords.
  • ManualTests/blur-filter-timing.html: Removed property svn:keywords.
  • ManualTests/compositing/caret-in-compositing-frame.html: Removed property svn:keywords.
  • ManualTests/compositing/font-smoothing.html: Removed property svn:keywords.
  • ManualTests/compositing/missing-iframe-contents.html: Removed property svn:keywords.
  • ManualTests/compositing/requires-backing-change.html: Removed property svn:keywords.
  • ManualTests/compositing/resources/composited-subframe.html: Removed property svn:keywords.
  • ManualTests/compositing/resources/editable-compositing-subframe.html: Removed property svn:keywords.
  • ManualTests/frames/nested-iframe-blit-on-scroll.html: Removed property svn:keywords.
  • ManualTests/frames/resources/blit-on-scroll-subframe.html: Removed property svn:keywords.
  • ManualTests/frames/resources/blit-on-scroll-subsubframe.html: Removed property svn:keywords.
  • ManualTests/plugins/plugin-paint-causes-layout.html: Removed property svn:keywords.
  • ManualTests/screen-availLeft.html: Removed property svn:keywords.
  • ManualTests/transition-accelerated.html: Removed property svn:keywords.

LayoutTests/imported/w3c:

  • css/multicol/multicol-basic-001-expected.html: Removed property svn:keywords.
  • css/multicol/multicol-basic-001.html: Removed property svn:keywords.
  • css/multicol/multicol-basic-002-expected.html: Removed property svn:keywords.
  • css/multicol/multicol-basic-002.html: Removed property svn:keywords.
  • css/multicol/multicol-basic-003-expected.html: Removed property svn:keywords.
  • css/multicol/multicol-basic-003.html: Removed property svn:keywords.
  • css/multicol/multicol-basic-004-expected.html: Removed property svn:keywords.
  • css/multicol/multicol-basic-004.html: Removed property svn:keywords.

Source/JavaScriptCore:

  • builtins/ArrayConstructor.js: Removed property svn:keywords.

Source/ThirdParty/ANGLE:

  • ANGLE.txt: Removed property svn:keywords.
  • src/common/RefCountObject.cpp: Removed property svn:keywords.
  • src/common/RefCountObject.h: Removed property svn:keywords.
  • src/compiler/translator/BaseTypes.h: Removed property svn:keywords.
  • src/compiler/translator/BuiltInFunctionEmulator.cpp: Removed property svn:keywords.
  • src/compiler/translator/BuiltInFunctionEmulator.h: Removed property svn:keywords.
  • src/compiler/translator/CodeGen.cpp: Removed property svn:keywords.
  • src/compiler/translator/Common.h: Removed property svn:keywords.
  • src/compiler/translator/Compiler.cpp: Removed property svn:keywords.
  • src/compiler/translator/ConstantUnion.h: Removed property svn:keywords.
  • src/compiler/translator/DetectCallDepth.cpp: Removed property svn:keywords.
  • src/compiler/translator/DetectCallDepth.h: Removed property svn:keywords.
  • src/compiler/translator/DetectDiscontinuity.cpp: Removed property svn:keywords.
  • src/compiler/translator/DetectDiscontinuity.h: Removed property svn:keywords.
  • src/compiler/translator/Diagnostics.cpp: Removed property svn:keywords.
  • src/compiler/translator/Diagnostics.h: Removed property svn:keywords.
  • src/compiler/translator/DirectiveHandler.cpp: Removed property svn:keywords.
  • src/compiler/translator/DirectiveHandler.h: Removed property svn:keywords.
  • src/compiler/translator/ExtensionBehavior.h: Removed property svn:keywords.
  • src/compiler/translator/ForLoopUnroll.cpp: Removed property svn:keywords.
  • src/compiler/translator/ForLoopUnroll.h: Removed property svn:keywords.
  • src/compiler/translator/HashNames.h: Removed property svn:keywords.
  • src/compiler/translator/InfoSink.cpp: Removed property svn:keywords.
  • src/compiler/translator/InfoSink.h: Removed property svn:keywords.
  • src/compiler/translator/Initialize.cpp: Removed property svn:keywords.
  • src/compiler/translator/Initialize.h: Removed property svn:keywords.
  • src/compiler/translator/InitializeDll.cpp: Removed property svn:keywords.
  • src/compiler/translator/InitializeDll.h: Removed property svn:keywords.
  • src/compiler/translator/InitializeGlobals.h: Removed property svn:keywords.
  • src/compiler/translator/InitializeParseContext.cpp: Removed property svn:keywords.
  • src/compiler/translator/InitializeParseContext.h: Removed property svn:keywords.
  • src/compiler/translator/InitializeVariables.cpp: Removed property svn:keywords.
  • src/compiler/translator/InitializeVariables.h: Removed property svn:keywords.
  • src/compiler/translator/IntermTraverse.cpp: Removed property svn:keywords.
  • src/compiler/translator/Intermediate.cpp: Removed property svn:keywords.
  • src/compiler/translator/MMap.h: Removed property svn:keywords.
  • src/compiler/translator/NodeSearch.h: Removed property svn:keywords.
  • src/compiler/translator/OutputESSL.cpp: Removed property svn:keywords.
  • src/compiler/translator/OutputESSL.h: Removed property svn:keywords.
  • src/compiler/translator/OutputGLSL.cpp: Removed property svn:keywords.
  • src/compiler/translator/OutputGLSL.h: Removed property svn:keywords.
  • src/compiler/translator/OutputGLSLBase.cpp: Removed property svn:keywords.
  • src/compiler/translator/OutputGLSLBase.h: Removed property svn:keywords.
  • src/compiler/translator/OutputHLSL.cpp: Removed property svn:keywords.
  • src/compiler/translator/OutputHLSL.h: Removed property svn:keywords.
  • src/compiler/translator/ParseContext.cpp: Removed property svn:keywords.
  • src/compiler/translator/ParseContext.h: Removed property svn:keywords.
  • src/compiler/translator/PoolAlloc.cpp: Removed property svn:keywords.
  • src/compiler/translator/PoolAlloc.h: Removed property svn:keywords.
  • src/compiler/translator/Pragma.h: Removed property svn:keywords.
  • src/compiler/translator/QualifierAlive.cpp: Removed property svn:keywords.
  • src/compiler/translator/QualifierAlive.h: Removed property svn:keywords.
  • src/compiler/translator/RemoveTree.cpp: Removed property svn:keywords.
  • src/compiler/translator/RemoveTree.h: Removed property svn:keywords.
  • src/compiler/translator/RenameFunction.h: Removed property svn:keywords.
  • src/compiler/translator/RewriteElseBlocks.cpp: Removed property svn:keywords.
  • src/compiler/translator/RewriteElseBlocks.h: Removed property svn:keywords.
  • src/compiler/translator/SearchSymbol.cpp: Removed property svn:keywords.
  • src/compiler/translator/SearchSymbol.h: Removed property svn:keywords.
  • src/compiler/translator/ShHandle.h: Removed property svn:keywords.
  • src/compiler/translator/ShaderLang.cpp: Removed property svn:keywords.
  • src/compiler/translator/SymbolTable.cpp: Removed property svn:keywords.
  • src/compiler/translator/SymbolTable.h: Removed property svn:keywords.
  • src/compiler/translator/TranslatorESSL.cpp: Removed property svn:keywords.
  • src/compiler/translator/TranslatorESSL.h: Removed property svn:keywords.
  • src/compiler/translator/TranslatorGLSL.cpp: Removed property svn:keywords.
  • src/compiler/translator/TranslatorGLSL.h: Removed property svn:keywords.
  • src/compiler/translator/TranslatorHLSL.cpp: Removed property svn:keywords.
  • src/compiler/translator/TranslatorHLSL.h: Removed property svn:keywords.
  • src/compiler/translator/Types.h: Removed property svn:keywords.
  • src/compiler/translator/UnfoldShortCircuit.cpp: Removed property svn:keywords.
  • src/compiler/translator/UnfoldShortCircuit.h: Removed property svn:keywords.
  • src/compiler/translator/UnfoldShortCircuitAST.cpp: Removed property svn:keywords.
  • src/compiler/translator/UnfoldShortCircuitAST.h: Removed property svn:keywords.
  • src/compiler/translator/ValidateLimitations.cpp: Removed property svn:keywords.
  • src/compiler/translator/ValidateLimitations.h: Removed property svn:keywords.
  • src/compiler/translator/VariableInfo.cpp: Removed property svn:keywords.
  • src/compiler/translator/VariableInfo.h: Removed property svn:keywords.
  • src/compiler/translator/VariablePacker.cpp: Removed property svn:keywords.
  • src/compiler/translator/VariablePacker.h: Removed property svn:keywords.
  • src/compiler/translator/VersionGLSL.cpp: Removed property svn:keywords.
  • src/compiler/translator/VersionGLSL.h: Removed property svn:keywords.
  • src/compiler/translator/compilerdebug.cpp: Removed property svn:keywords.
  • src/compiler/translator/compilerdebug.h: Removed property svn:keywords.
  • src/compiler/translator/depgraph/DependencyGraph.cpp: Removed property svn:keywords.
  • src/compiler/translator/depgraph/DependencyGraph.h: Removed property svn:keywords.
  • src/compiler/translator/depgraph/DependencyGraphBuilder.cpp: Removed property svn:keywords.
  • src/compiler/translator/depgraph/DependencyGraphBuilder.h: Removed property svn:keywords.
  • src/compiler/translator/depgraph/DependencyGraphOutput.cpp: Removed property svn:keywords.
  • src/compiler/translator/depgraph/DependencyGraphOutput.h: Removed property svn:keywords.
  • src/compiler/translator/depgraph/DependencyGraphTraverse.cpp: Removed property svn:keywords.
  • src/compiler/translator/generate_parser.sh: Removed property svn:keywords.
  • src/compiler/translator/glslang.h: Removed property svn:keywords.
  • src/compiler/translator/glslang_lex.cpp: Removed property svn:keywords.
  • src/compiler/translator/glslang_tab.cpp: Removed property svn:keywords.
  • src/compiler/translator/glslang_tab.h: Removed property svn:keywords.
  • src/compiler/translator/intermOut.cpp: Removed property svn:keywords.
  • src/compiler/translator/intermediate.h: Removed property svn:keywords.
  • src/compiler/translator/localintermediate.h: Removed property svn:keywords.
  • src/compiler/translator/osinclude.h: Removed property svn:keywords.
  • src/compiler/translator/ossource_posix.cpp: Removed property svn:keywords.
  • src/compiler/translator/ossource_win.cpp: Removed property svn:keywords.
  • src/compiler/translator/parseConst.cpp: Removed property svn:keywords.
  • src/compiler/translator/timing/RestrictFragmentShaderTiming.cpp: Removed property svn:keywords.
  • src/compiler/translator/timing/RestrictFragmentShaderTiming.h: Removed property svn:keywords.
  • src/compiler/translator/timing/RestrictVertexShaderTiming.cpp: Removed property svn:keywords.
  • src/compiler/translator/timing/RestrictVertexShaderTiming.h: Removed property svn:keywords.
  • src/compiler/translator/util.cpp: Removed property svn:keywords.
  • src/compiler/translator/util.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/BufferStorage11.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/BufferStorage11.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/Fence11.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/Fence11.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/Image11.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/Image11.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/IndexBuffer11.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/IndexBuffer11.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/InputLayoutCache.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/InputLayoutCache.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/Query11.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/Query11.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/RenderStateCache.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/RenderStateCache.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/RenderTarget11.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/RenderTarget11.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/Renderer11.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/Renderer11.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/ShaderExecutable11.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/ShaderExecutable11.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/SwapChain11.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/SwapChain11.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/TextureStorage11.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/TextureStorage11.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/VertexBuffer11.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/VertexBuffer11.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/renderer11_utils.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d11/renderer11_utils.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/BufferStorage9.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/BufferStorage9.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/Fence9.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/Fence9.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/Image9.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/Image9.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/IndexBuffer9.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/IndexBuffer9.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/Query9.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/Query9.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/RenderTarget9.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/RenderTarget9.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/Renderer9.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/Renderer9.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/ShaderExecutable9.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/ShaderExecutable9.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/SwapChain9.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/SwapChain9.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/TextureStorage9.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/TextureStorage9.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/VertexBuffer9.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/VertexBuffer9.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/VertexDeclarationCache.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/VertexDeclarationCache.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/renderer9_utils.cpp: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/renderer9_utils.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/shaders/compiled/componentmaskps.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/shaders/compiled/flipyvs.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/shaders/compiled/luminanceps.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/shaders/compiled/passthroughps.h: Removed property svn:keywords.
  • src/libGLESv2/renderer/d3d9/shaders/compiled/standardvs.h: Removed property svn:keywords.

Source/WebCore:

  • Modules/mediacontrols/assets-apple-iOS.svg: Removed property svn:keywords.
  • Modules/mediacontrols/mediaControlsBase.css: Removed property svn:keywords.
  • Modules/mediacontrols/mediaControlsBase.js: Removed property svn:keywords.
  • bindings/js/JSDeviceMotionEventCustom.cpp: Removed property svn:keywords.
  • css/CSSKeyframeRule.cpp: Removed property svn:keywords.
  • css/CSSKeyframeRule.h: Removed property svn:keywords.
  • css/CSSKeyframesRule.cpp: Removed property svn:keywords.
  • css/CSSKeyframesRule.h: Removed property svn:keywords.
  • css/WebKitCSSFilterValue.cpp: Removed property svn:keywords.
  • css/WebKitCSSFilterValue.h: Removed property svn:keywords.
  • css/plugIns.css: Removed property svn:keywords.
  • dom/AnimationEvent.cpp: Removed property svn:keywords.
  • dom/AnimationEvent.h: Removed property svn:keywords.
  • dom/DeviceMotionClient.h: Removed property svn:keywords.
  • dom/DeviceMotionController.cpp: Removed property svn:keywords.
  • dom/DeviceMotionController.h: Removed property svn:keywords.
  • dom/DeviceMotionData.cpp: Removed property svn:keywords.
  • dom/DeviceMotionData.h: Removed property svn:keywords.
  • dom/DeviceMotionEvent.cpp: Removed property svn:keywords.
  • dom/DeviceMotionEvent.h: Removed property svn:keywords.
  • html/canvas/ANGLEInstancedArrays.cpp: Removed property svn:keywords.
  • html/canvas/ANGLEInstancedArrays.h: Removed property svn:keywords.
  • html/canvas/OESTextureFloatLinear.cpp: Removed property svn:keywords.
  • html/canvas/OESTextureFloatLinear.h: Removed property svn:keywords.
  • html/canvas/OESTextureHalfFloatLinear.cpp: Removed property svn:keywords.
  • html/canvas/OESTextureHalfFloatLinear.h: Removed property svn:keywords.
  • html/shadow/MediaControlsApple.cpp: Removed property svn:keywords.
  • html/shadow/MediaControlsApple.h: Removed property svn:keywords.
  • page/Frame.h: Removed property svn:keywords.
  • page/scrolling/ScrollingConstraints.cpp: Removed property svn:keywords.
  • page/scrolling/ScrollingConstraints.h: Removed property svn:keywords.
  • page/scrolling/ScrollingStateStickyNode.cpp: Removed property svn:keywords.
  • page/scrolling/ios/ScrollingTreeIOS.cpp: Removed property svn:keywords.
  • page/scrolling/mac/ScrollingTreeStickyNode.h: Removed property svn:keywords.
  • platform/ControlStates.h: Removed property svn:keywords.
  • platform/ScrollbarTheme.cpp: Removed property svn:keywords.
  • platform/graphics/GraphicsLayerUpdater.cpp: Removed property svn:keywords.
  • platform/graphics/GraphicsLayerUpdater.h: Removed property svn:keywords.
  • platform/graphics/ca/TileController.h: Removed property svn:keywords.
  • platform/graphics/ca/mac/WebTiledBackingLayer.h: Removed property svn:keywords.
  • platform/graphics/filters/FilterOperation.cpp: Removed property svn:keywords.
  • platform/graphics/filters/FilterOperation.h: Removed property svn:keywords.
  • platform/graphics/filters/FilterOperations.h: Removed property svn:keywords.
  • platform/ios/SystemMemory.h: Removed property svn:keywords.
  • platform/mock/ScrollbarThemeMock.cpp: Removed property svn:keywords.
  • platform/mock/ScrollbarThemeMock.h: Removed property svn:keywords.
  • platform/spi/cocoa/ServersSPI.h: Removed property svn:keywords.
  • platform/text/mac/ios-encodings.txt: Removed property svn:keywords.
  • rendering/FilterEffectRenderer.cpp: Removed property svn:keywords.
  • rendering/FilterEffectRenderer.h: Removed property svn:keywords.
  • rendering/RenderGeometryMap.cpp: Removed property svn:keywords.
  • rendering/RenderGeometryMap.h: Removed property svn:keywords.
  • rendering/RenderMediaControlElements.h: Removed property svn:keywords.
  • rendering/TextAutoSizing.cpp: Removed property svn:keywords.
  • rendering/TextAutoSizing.h: Removed property svn:keywords.
  • rendering/style/StylePendingImage.h: Removed property svn:keywords.

Source/WebKit2:

  • Platform/spi/ios/DataDetectorsUISPI.h: Removed property svn:keywords.
  • Platform/spi/ios/ManagedConfigurationSPI.h: Removed property svn:keywords.
  • Platform/spi/ios/TextInputSPI.h: Removed property svn:keywords.
  • Scripts/webkit/LegacyMessageReceiver-expected.cpp: Removed property svn:keywords.
  • Scripts/webkit/LegacyMessages-expected.h: Removed property svn:keywords.
  • Scripts/webkit/MessageReceiver-expected.cpp: Removed property svn:keywords.
  • Scripts/webkit/MessageReceiverSuperclass-expected.cpp: Removed property svn:keywords.
  • Scripts/webkit/Messages-expected.h: Removed property svn:keywords.
  • Scripts/webkit/MessagesSuperclass-expected.h: Removed property svn:keywords.
  • UIProcess/ios/PageClientImplIOS.h: Removed property svn:keywords.
  • UIProcess/ios/WKActionSheet.h: Removed property svn:keywords.
  • UIProcess/ios/WKActionSheetAssistant.h: Removed property svn:keywords.
  • UIProcess/ios/WKContentView.h: Removed property svn:keywords.
  • UIProcess/ios/WKContentViewInteraction.h: Removed property svn:keywords.
  • UIProcess/ios/WKGeolocationProviderIOS.h: Removed property svn:keywords.
  • UIProcess/ios/WKScrollView.h: Removed property svn:keywords.
  • UIProcess/mac/PageClientImpl.h: Removed property svn:keywords.
  • UIProcess/mac/WKPrintingView.h: Removed property svn:keywords.
  • UIProcess/mac/WKTextInputWindowController.h: Removed property svn:keywords.
  • WebProcess/WebCoreSupport/WebSQLiteDatabaseTracker.h: Removed property svn:keywords.

Source/WTF:

  • wtf/DecimalNumber.cpp: Removed property svn:keywords.
  • wtf/spi/darwin/XPCSPI.h: Removed property svn:keywords.

Websites/webkit.org:

  • demos/srcset/index.html: Removed property svn:keywords.
  • specs/index.html: Removed property svn:keywords.

Websites/webkit.org/specs/CSSVisualEffects:

  • index.html: Removed property svn:keywords.

LayoutTests:

  • accessibility/svg-remote-element-expected.txt: Removed property svn:keywords.
  • animations/3d/replace-filling-transform-expected.txt: Removed property svn:keywords.
  • animations/3d/replace-filling-transform.html: Removed property svn:keywords.
  • animations/added-while-suspended-expected.txt: Removed property svn:keywords.
  • animations/added-while-suspended.html: Removed property svn:keywords.
  • animations/additive-transform-animations.html: Removed property svn:keywords.
  • animations/animation-direction-expected.txt: Removed property svn:keywords.
  • animations/animation-direction-reverse-fill-mode-expected.txt: Removed property svn:keywords.
  • animations/animation-direction-reverse-fill-mode-hardware-expected.txt: Removed property svn:keywords.
  • animations/animation-direction-reverse-fill-mode-hardware.html: Removed property svn:keywords.
  • animations/animation-direction-reverse-fill-mode.html: Removed property svn:keywords.
  • animations/animation-direction-reverse-hardware-expected.txt: Removed property svn:keywords.
  • animations/animation-direction-reverse-hardware-opacity-expected.txt: Removed property svn:keywords.
  • animations/animation-direction-reverse-hardware-opacity.html: Removed property svn:keywords.
  • animations/animation-direction-reverse-hardware.html: Removed property svn:keywords.
  • animations/animation-direction-reverse-non-hardware-expected.txt: Removed property svn:keywords.
  • animations/animation-direction-reverse-non-hardware.html: Removed property svn:keywords.
  • animations/animation-direction-reverse-timing-functions-expected.txt: Removed property svn:keywords.
  • animations/animation-direction-reverse-timing-functions-hardware-expected.txt: Removed property svn:keywords.
  • animations/animation-direction-reverse-timing-functions-hardware.html: Removed property svn:keywords.
  • animations/animation-direction-reverse-timing-functions.html: Removed property svn:keywords.
  • animations/animation-direction.html: Removed property svn:keywords.
  • animations/animation-on-inline-crash-expected.txt: Removed property svn:keywords.
  • animations/animation-on-inline-crash.html: Removed property svn:keywords.
  • animations/animation-shorthand-expected.txt: Removed property svn:keywords.
  • animations/animation-shorthand-name-order-expected.txt: Removed property svn:keywords.
  • animations/animation-shorthand-name-order.html: Removed property svn:keywords.
  • animations/animation-shorthand-removed-expected.txt: Removed property svn:keywords.
  • animations/animation-shorthand-removed.html: Removed property svn:keywords.
  • animations/animation-shorthand.html: Removed property svn:keywords.
  • animations/body-removal-crash-expected.txt: Removed property svn:keywords.
  • animations/body-removal-crash.html: Removed property svn:keywords.
  • animations/fill-mode-expected.txt: Removed property svn:keywords.
  • animations/fill-mode-missing-from-to-keyframes-expected.txt: Removed property svn:keywords.
  • animations/fill-mode-missing-from-to-keyframes.html: Removed property svn:keywords.
  • animations/fill-mode-multiple-keyframes-expected.txt: Removed property svn:keywords.
  • animations/fill-mode-multiple-keyframes.html: Removed property svn:keywords.
  • animations/fill-mode-removed-expected.txt: Removed property svn:keywords.
  • animations/fill-mode-removed.html: Removed property svn:keywords.
  • animations/fill-mode-transform-expected.txt: Removed property svn:keywords.
  • animations/fill-mode-transform.html: Removed property svn:keywords.
  • animations/fill-mode.html: Removed property svn:keywords.
  • animations/missing-from-to-expected.txt: Removed property svn:keywords.
  • animations/missing-from-to-transforms-expected.txt: Removed property svn:keywords.
  • animations/missing-from-to-transforms.html: Removed property svn:keywords.
  • animations/missing-from-to.html: Removed property svn:keywords.
  • animations/opacity-transform-animation-expected.txt: Removed property svn:keywords.
  • animations/opacity-transform-animation.html: Removed property svn:keywords.
  • animations/resources/page-cache-helper.html: Removed property svn:keywords.
  • animations/resume-after-page-cache-expected.txt: Removed property svn:keywords.
  • animations/resume-after-page-cache.html: Removed property svn:keywords.
  • animations/suspend-transform-animation-expected.txt: Removed property svn:keywords.
  • animations/suspend-transform-animation.html: Removed property svn:keywords.
  • animations/timing-functions-expected.txt: Removed property svn:keywords.
  • animations/timing-functions.html: Removed property svn:keywords.
  • animations/transform-non-accelerated-expected.txt: Removed property svn:keywords.
  • animations/transform-non-accelerated.html: Removed property svn:keywords.
  • animations/unprefixed-events-expected.txt: Removed property svn:keywords.
  • animations/unprefixed-events-mixed-with-prefixed-expected.txt: Removed property svn:keywords.
  • animations/unprefixed-events-mixed-with-prefixed.html: Removed property svn:keywords.
  • animations/unprefixed-events.html: Removed property svn:keywords.
  • animations/unprefixed-keyframes-expected.txt: Removed property svn:keywords.
  • animations/unprefixed-keyframes-rule-expected.txt: Removed property svn:keywords.
  • animations/unprefixed-keyframes-rule.html: Removed property svn:keywords.
  • animations/unprefixed-keyframes.html: Removed property svn:keywords.
  • animations/unprefixed-properties-expected.txt: Removed property svn:keywords.
  • animations/unprefixed-properties.html: Removed property svn:keywords.
  • animations/unprefixed-shorthand-expected.txt: Removed property svn:keywords.
  • animations/unprefixed-shorthand.html: Removed property svn:keywords.
  • compositing/animation/animation-compositing-expected.txt: Removed property svn:keywords.
  • compositing/animation/animation-compositing.html: Removed property svn:keywords.
  • compositing/animation/filling-animation-overlap-at-end-expected.txt: Removed property svn:keywords.
  • compositing/animation/filling-animation-overlap-at-end.html: Removed property svn:keywords.
  • compositing/animation/filling-animation-overlap-expected.txt: Removed property svn:keywords.
  • compositing/animation/filling-animation-overlap.html: Removed property svn:keywords.
  • compositing/animation/layer-for-filling-animation-expected.txt: Removed property svn:keywords.
  • compositing/animation/layer-for-filling-animation.html: Removed property svn:keywords.
  • compositing/animation/matrix-animation-expected.html: Removed property svn:keywords.
  • compositing/animation/matrix-animation.html: Removed property svn:keywords.
  • compositing/background-color/no-composited-background-color-when-perspective-expected.html: Removed property svn:keywords.
  • compositing/background-color/no-composited-background-color-when-perspective.html: Removed property svn:keywords.
  • compositing/backing/no-backing-for-clip-expected.txt: Removed property svn:keywords.
  • compositing/backing/no-backing-for-clip-overlap-expected.txt: Removed property svn:keywords.
  • compositing/backing/no-backing-for-clip-overlap.html: Removed property svn:keywords.
  • compositing/backing/no-backing-for-clip.html: Removed property svn:keywords.
  • compositing/backing/no-backing-for-perspective-expected.txt: Removed property svn:keywords.
  • compositing/backing/no-backing-for-perspective.html: Removed property svn:keywords.
  • compositing/columns/ancestor-clipped-in-paginated-expected.txt: Removed property svn:keywords.
  • compositing/columns/ancestor-clipped-in-paginated.html: Removed property svn:keywords.
  • compositing/columns/clipped-in-paginated-expected.txt: Removed property svn:keywords.
  • compositing/columns/clipped-in-paginated.html: Removed property svn:keywords.
  • compositing/columns/composited-columns-expected.txt: Removed property svn:keywords.
  • compositing/columns/composited-columns-vertical-rl-expected.txt: Removed property svn:keywords.
  • compositing/columns/composited-columns-vertical-rl.html: Removed property svn:keywords.
  • compositing/columns/composited-columns.html: Removed property svn:keywords.
  • compositing/columns/composited-in-paginated-expected.txt: Removed property svn:keywords.
  • compositing/columns/composited-in-paginated-rl-expected.txt: Removed property svn:keywords.
  • compositing/columns/composited-in-paginated-rl.html: Removed property svn:keywords.
  • compositing/columns/composited-in-paginated-writing-mode-rl-expected.txt: Removed property svn:keywords.
  • compositing/columns/composited-in-paginated-writing-mode-rl.html: Removed property svn:keywords.
  • compositing/columns/composited-in-paginated.html: Removed property svn:keywords.
  • compositing/columns/composited-lr-paginated-repaint-expected.txt: Removed property svn:keywords.
  • compositing/columns/composited-lr-paginated-repaint.html: Removed property svn:keywords.
  • compositing/columns/composited-nested-columns-expected.txt: Removed property svn:keywords.
  • compositing/columns/composited-nested-columns.html: Removed property svn:keywords.
  • compositing/columns/composited-rl-paginated-repaint-expected.txt: Removed property svn:keywords.
  • compositing/columns/composited-rl-paginated-repaint.html: Removed property svn:keywords.
  • compositing/columns/geometry-map-paginated-assert-expected.txt: Removed property svn:keywords.
  • compositing/columns/geometry-map-paginated-assert.html: Removed property svn:keywords.
  • compositing/columns/hittest-composited-in-paginated-expected.txt: Removed property svn:keywords.
  • compositing/columns/hittest-composited-in-paginated.html: Removed property svn:keywords.
  • compositing/columns/rotated-in-paginated-expected.txt: Removed property svn:keywords.
  • compositing/columns/rotated-in-paginated.html: Removed property svn:keywords.
  • compositing/columns/untransformed-composited-in-paginated-expected.txt: Removed property svn:keywords.
  • compositing/columns/untransformed-composited-in-paginated.html: Removed property svn:keywords.
  • compositing/contents-opaque/background-clip-expected.txt: Removed property svn:keywords.
  • compositing/contents-opaque/background-color-expected.txt: Removed property svn:keywords.
  • compositing/contents-opaque/fixed-to-nonfixed-expected.txt: Removed property svn:keywords.
  • compositing/contents-opaque/fixed-to-nonfixed.html: Removed property svn:keywords.
  • compositing/contents-opaque/hidden-with-visible-child-expected.txt: Removed property svn:keywords.
  • compositing/contents-opaque/hidden-with-visible-child.html: Removed property svn:keywords.
  • compositing/contents-opaque/hidden-with-visible-text-expected.txt: Removed property svn:keywords.
  • compositing/contents-opaque/hidden-with-visible-text.html: Removed property svn:keywords.
  • compositing/contents-opaque/overflow-hidden-child-layers-expected.txt: Removed property svn:keywords.
  • compositing/contents-opaque/overflow-hidden-child-layers.html: Removed property svn:keywords.
  • compositing/contents-opaque/visibility-hidden-expected.txt: Removed property svn:keywords.
  • compositing/contents-opaque/visibility-hidden.html: Removed property svn:keywords.
  • compositing/contents-scale/animating-expected.txt: Removed property svn:keywords.
  • compositing/contents-scale/animating.html: Removed property svn:keywords.
  • compositing/contents-scale/scaled-ancestor-expected.txt: Removed property svn:keywords.
  • compositing/contents-scale/scaled-ancestor.html: Removed property svn:keywords.
  • compositing/contents-scale/simple-scale-expected.txt: Removed property svn:keywords.
  • compositing/contents-scale/simple-scale.html: Removed property svn:keywords.
  • compositing/contents-scale/z-translate-expected.txt: Removed property svn:keywords.
  • compositing/contents-scale/z-translate.html: Removed property svn:keywords.
  • compositing/document-background-color-expected.html: Removed property svn:keywords.
  • compositing/document-background-color.html: Removed property svn:keywords.
  • compositing/geometry/clip-expected.txt: Removed property svn:keywords.
  • compositing/geometry/clip-inside-expected.txt: Removed property svn:keywords.
  • compositing/geometry/clip.html: Removed property svn:keywords.
  • compositing/geometry/composited-html-size.html: Removed property svn:keywords.
  • compositing/geometry/composited-in-columns-expected.txt: Removed property svn:keywords.
  • compositing/geometry/composited-in-columns.html: Removed property svn:keywords.
  • compositing/geometry/flipped-writing-mode-expected.txt: Removed property svn:keywords.
  • compositing/geometry/flipped-writing-mode.html: Removed property svn:keywords.
  • compositing/geometry/foreground-layer-expected.txt: Removed property svn:keywords.
  • compositing/geometry/foreground-layer.html: Removed property svn:keywords.
  • compositing/geometry/geometry-map-scroll-during-layout-assertion-expected.txt: Removed property svn:keywords.
  • compositing/geometry/geometry-map-scroll-during-layout-assertion.html: Removed property svn:keywords.
  • compositing/geometry/huge-layer-expected.txt: Removed property svn:keywords.
  • compositing/geometry/huge-layer.html: Removed property svn:keywords.
  • compositing/geometry/limit-layer-bounds-clipping-ancestor-expected.txt: Removed property svn:keywords.
  • compositing/geometry/limit-layer-bounds-clipping-ancestor.html: Removed property svn:keywords.
  • compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt: Removed property svn:keywords.
  • compositing/geometry/limit-layer-bounds-fixed-positioned.html: Removed property svn:keywords.
  • compositing/geometry/limit-layer-bounds-opacity-transition-expected.txt: Removed property svn:keywords.
  • compositing/geometry/limit-layer-bounds-opacity-transition.html: Removed property svn:keywords.
  • compositing/geometry/limit-layer-bounds-overflow-repaint.html: Removed property svn:keywords.
  • compositing/geometry/limit-layer-bounds-overflow-root-expected.txt: Removed property svn:keywords.
  • compositing/geometry/limit-layer-bounds-overflow-root.html: Removed property svn:keywords.
  • compositing/geometry/limit-layer-bounds-positioned-expected.txt: Removed property svn:keywords.
  • compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt: Removed property svn:keywords.
  • compositing/geometry/limit-layer-bounds-positioned-transition.html: Removed property svn:keywords.
  • compositing/geometry/limit-layer-bounds-positioned.html: Removed property svn:keywords.
  • compositing/geometry/limit-layer-bounds-transformed-expected.txt: Removed property svn:keywords.
  • compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt: Removed property svn:keywords.
  • compositing/geometry/limit-layer-bounds-transformed-overflow.html: Removed property svn:keywords.
  • compositing/geometry/limit-layer-bounds-transformed.html: Removed property svn:keywords.
  • compositing/geometry/negative-text-indent-with-overflow-hidden-layer-expected.txt: Removed property svn:keywords.
  • compositing/geometry/negative-text-indent-with-overflow-hidden-layer.html: Removed property svn:keywords.
  • compositing/geometry/repaint-foreground-layer-expected.txt: Removed property svn:keywords.
  • compositing/geometry/repaint-foreground-layer.html: Removed property svn:keywords.
  • compositing/geometry/tall-page-composited-expected.txt: Removed property svn:keywords.
  • compositing/geometry/tall-page-composited.html: Removed property svn:keywords.
  • compositing/iframes/become-composited-nested-iframes-expected.txt: Removed property svn:keywords.
  • compositing/iframes/become-composited-nested-iframes.html: Removed property svn:keywords.
  • compositing/iframes/become-overlapped-iframe-expected.txt: Removed property svn:keywords.
  • compositing/iframes/become-overlapped-iframe.html: Removed property svn:keywords.
  • compositing/iframes/composited-iframe-scroll-expected.txt: Removed property svn:keywords.
  • compositing/iframes/composited-iframe-scroll.html: Removed property svn:keywords.
  • compositing/iframes/composited-parent-iframe-expected.txt: Removed property svn:keywords.
  • compositing/iframes/connect-compositing-iframe-expected.txt: Removed property svn:keywords.
  • compositing/iframes/connect-compositing-iframe.html: Removed property svn:keywords.
  • compositing/iframes/connect-compositing-iframe2-expected.txt: Removed property svn:keywords.
  • compositing/iframes/connect-compositing-iframe2.html: Removed property svn:keywords.
  • compositing/iframes/connect-compositing-iframe3-expected.txt: Removed property svn:keywords.
  • compositing/iframes/enter-compositing-iframe-expected.txt: Removed property svn:keywords.
  • compositing/iframes/enter-compositing-iframe.html: Removed property svn:keywords.
  • compositing/iframes/iframe-content-flipping-expected.txt: Removed property svn:keywords.
  • compositing/iframes/iframe-content-flipping.html: Removed property svn:keywords.
  • compositing/iframes/iframe-copy-on-scroll.html: Removed property svn:keywords.
  • compositing/iframes/iframe-resize-expected.txt: Removed property svn:keywords.
  • compositing/iframes/iframe-size-from-zero-expected.txt: Removed property svn:keywords.
  • compositing/iframes/iframe-size-from-zero.html: Removed property svn:keywords.
  • compositing/iframes/iframe-size-to-zero-expected.txt: Removed property svn:keywords.
  • compositing/iframes/iframe-size-to-zero.html: Removed property svn:keywords.
  • compositing/iframes/layout-on-compositing-change-expected.txt: Removed property svn:keywords.
  • compositing/iframes/layout-on-compositing-change.html: Removed property svn:keywords.
  • compositing/iframes/leave-compositing-iframe-expected.txt: Removed property svn:keywords.
  • compositing/iframes/leave-compositing-iframe.html: Removed property svn:keywords.
  • compositing/iframes/nested-iframe-scrolling-expected.txt: Removed property svn:keywords.
  • compositing/iframes/nested-iframe-scrolling.html: Removed property svn:keywords.
  • compositing/iframes/overlapped-iframe-expected.txt: Removed property svn:keywords.
  • compositing/iframes/overlapped-iframe.html: Removed property svn:keywords.
  • compositing/iframes/overlapped-nested-iframes-expected.txt: Removed property svn:keywords.
  • compositing/iframes/overlapped-nested-iframes.html: Removed property svn:keywords.
  • compositing/iframes/remove-iframe-crash-expected.txt: Removed property svn:keywords.
  • compositing/iframes/remove-iframe-crash.html: Removed property svn:keywords.
  • compositing/iframes/resources/enter-compositing-subframe.html: Removed property svn:keywords.
  • compositing/iframes/resources/green-red-subframe.html: Removed property svn:keywords.
  • compositing/iframes/resources/intermediate-frame.html: Removed property svn:keywords.
  • compositing/iframes/resources/large-composited-subframe.html: Removed property svn:keywords.
  • compositing/iframes/resources/leave-compositing-subframe-click.html: Removed property svn:keywords.
  • compositing/iframes/resources/leave-compositing-subframe.html: Removed property svn:keywords.
  • compositing/iframes/resources/nested-subframe.html: Removed property svn:keywords.
  • compositing/iframes/resources/red-green-subframe.html: Removed property svn:keywords.
  • compositing/iframes/resources/subframe.html: Removed property svn:keywords.
  • compositing/iframes/resources/subsubframe.html: Removed property svn:keywords.
  • compositing/iframes/scrolling-iframe-expected.txt: Removed property svn:keywords.
  • compositing/iframes/scrolling-iframe.html: Removed property svn:keywords.
  • compositing/images/content-image-expected.txt: Removed property svn:keywords.
  • compositing/images/content-image.html: Removed property svn:keywords.
  • compositing/images/direct-pdf-image-expected.txt: Removed property svn:keywords.
  • compositing/images/direct-pdf-image.html: Removed property svn:keywords.
  • compositing/images/direct-svg-image.html: Removed property svn:keywords.
  • compositing/layer-creation/animation-overlap-with-children-expected.txt: Removed property svn:keywords.
  • compositing/layer-creation/animation-overlap-with-children.html: Removed property svn:keywords.
  • compositing/layer-creation/deep-tree-expected.html: Removed property svn:keywords.
  • compositing/layer-creation/deep-tree.html: Removed property svn:keywords.
  • compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt: Removed property svn:keywords.
  • compositing/layer-creation/no-compositing-for-preserve-3d.html: Removed property svn:keywords.
  • compositing/layer-creation/overlap-animation-expected.txt: Removed property svn:keywords.
  • compositing/layer-creation/overlap-animation.html: Removed property svn:keywords.
  • compositing/layer-creation/overlap-transforms-expected.txt: Removed property svn:keywords.
  • compositing/layer-creation/overlap-transforms.html: Removed property svn:keywords.
  • compositing/layer-creation/rotate3d-overlap-expected.txt: Removed property svn:keywords.
  • compositing/layer-creation/rotate3d-overlap.html: Removed property svn:keywords.
  • compositing/layer-creation/scroll-partial-update-expected.txt: Removed property svn:keywords.
  • compositing/layer-creation/scroll-partial-update.html: Removed property svn:keywords.
  • compositing/layer-creation/translatez-overlap-expected.txt: Removed property svn:keywords.
  • compositing/layer-creation/translatez-overlap.html: Removed property svn:keywords.
  • compositing/masks/mask-layer-size-expected.txt: Removed property svn:keywords.
  • compositing/masks/mask-layer-size.html: Removed property svn:keywords.
  • compositing/overflow-trumps-transform-style-expected.txt: Removed property svn:keywords.
  • compositing/overflow-trumps-transform-style.html: Removed property svn:keywords.
  • compositing/overflow/clip-descendents-expected.txt: Removed property svn:keywords.
  • compositing/overflow/clip-descendents.html: Removed property svn:keywords.
  • compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents-expected.txt: Removed property svn:keywords.
  • compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer-expected.txt: Removed property svn:keywords.
  • compositing/plugins/1x1-composited-plugin-expected.txt: Removed property svn:keywords.
  • compositing/plugins/1x1-composited-plugin.html: Removed property svn:keywords.
  • compositing/plugins/composited-plugin.html: Removed property svn:keywords.
  • compositing/plugins/large-to-small-composited-plugin-expected.txt: Removed property svn:keywords.
  • compositing/plugins/large-to-small-composited-plugin.html: Removed property svn:keywords.
  • compositing/plugins/no-backing-store-expected.txt: Removed property svn:keywords.
  • compositing/plugins/no-backing-store.html: Removed property svn:keywords.
  • compositing/plugins/small-to-large-composited-plugin-expected.txt: Removed property svn:keywords.
  • compositing/plugins/small-to-large-composited-plugin.html: Removed property svn:keywords.
  • compositing/reflections/backface-hidden-reflection-expected.txt: Removed property svn:keywords.
  • compositing/reflections/backface-hidden-reflection.html: Removed property svn:keywords.
  • compositing/reflections/become-simple-composited-reflection-expected.txt: Removed property svn:keywords.
  • compositing/reflections/become-simple-composited-reflection.html: Removed property svn:keywords.
  • compositing/reflections/remove-add-reflection-expected.txt: Removed property svn:keywords.
  • compositing/reflections/remove-add-reflection.html: Removed property svn:keywords.
  • compositing/repaint/foreground-layer-change-expected.html: Removed property svn:keywords.
  • compositing/repaint/foreground-layer-change.html: Removed property svn:keywords.
  • compositing/repaint/repaint-on-layer-grouping-change-expected.txt: Removed property svn:keywords.
  • compositing/repaint/repaint-on-layer-grouping-change.html: Removed property svn:keywords.
  • compositing/repaint/requires-backing-repaint-expected.txt: Removed property svn:keywords.
  • compositing/repaint/requires-backing-repaint.html: Removed property svn:keywords.
  • compositing/repaint/resize-repaint-expected.txt: Removed property svn:keywords.
  • compositing/repaint/resize-repaint.html: Removed property svn:keywords.
  • compositing/scaling/tiled-layer-recursion-expected.txt: Removed property svn:keywords.
  • compositing/scaling/tiled-layer-recursion.html: Removed property svn:keywords.
  • compositing/tile-cache-must-flatten-expected.html: Removed property svn:keywords.
  • compositing/tile-cache-must-flatten.html: Removed property svn:keywords.
  • compositing/tiled-layers-hidpi-expected.txt: Removed property svn:keywords.
  • compositing/tiled-layers-hidpi.html: Removed property svn:keywords.
  • compositing/tiling/backface-preserve-3d-tiled-expected.txt: Removed property svn:keywords.
  • compositing/tiling/backface-preserve-3d-tiled.html: Removed property svn:keywords.
  • compositing/tiling/empty-to-tiled-expected.html: Removed property svn:keywords.
  • compositing/tiling/empty-to-tiled.html: Removed property svn:keywords.
  • compositing/tiling/huge-layer-add-remove-child.html: Removed property svn:keywords.
  • compositing/tiling/huge-layer-img.html: Removed property svn:keywords.
  • compositing/tiling/huge-layer-with-layer-children-resize.html: Removed property svn:keywords.
  • compositing/tiling/huge-layer-with-layer-children.html: Removed property svn:keywords.
  • compositing/tiling/preserve3d-tiled-expected.txt: Removed property svn:keywords.
  • compositing/tiling/preserve3d-tiled.html: Removed property svn:keywords.
  • compositing/tiling/reflected-tiled-expected.txt: Removed property svn:keywords.
  • compositing/tiling/reflected-tiled.html: Removed property svn:keywords.
  • compositing/tiling/resources/tiled-layer-tall.html: Removed property svn:keywords.
  • compositing/tiling/rotated-tiled-clamped.html: Removed property svn:keywords.
  • compositing/tiling/rotated-tiled-preserve3d-clamped.html: Removed property svn:keywords.
  • compositing/tiling/tile-cache-zoomed-expected.txt: Removed property svn:keywords.
  • compositing/tiling/tile-cache-zoomed.html: Removed property svn:keywords.
  • compositing/tiling/tiled-in-iframe-expected.txt: Removed property svn:keywords.
  • compositing/tiling/tiled-in-iframe.html: Removed property svn:keywords.
  • compositing/tiling/tiled-layer-resize-expected.txt: Removed property svn:keywords.
  • compositing/tiling/tiled-layer-resize.html: Removed property svn:keywords.
  • compositing/toggle-compositing-expected.txt: Removed property svn:keywords.
  • compositing/toggle-compositing.html: Removed property svn:keywords.
  • compositing/visibility/layer-visible-content-expected.txt: Removed property svn:keywords.
  • compositing/visibility/layer-visible-content.html: Removed property svn:keywords.
  • compositing/visibility/visibility-composited-transforms.html: Removed property svn:keywords.
  • compositing/visibility/visibility-composited.html: Removed property svn:keywords.
  • compositing/visibility/visibility-image-layers-dynamic-expected.txt: Removed property svn:keywords.
  • compositing/visibility/visibility-image-layers-dynamic.html: Removed property svn:keywords.
  • compositing/visibility/visibility-image-layers-expected.txt: Removed property svn:keywords.
  • compositing/visibility/visibility-image-layers.html: Removed property svn:keywords.
  • compositing/visible-rect/2d-transformed-expected.txt: Removed property svn:keywords.
  • compositing/visible-rect/2d-transformed.html: Removed property svn:keywords.
  • compositing/visible-rect/3d-transform-style-expected.txt: Removed property svn:keywords.
  • compositing/visible-rect/3d-transform-style.html: Removed property svn:keywords.
  • compositing/visible-rect/3d-transformed-expected.txt: Removed property svn:keywords.
  • compositing/visible-rect/3d-transformed.html: Removed property svn:keywords.
  • compositing/visible-rect/animated-expected.txt: Removed property svn:keywords.
  • compositing/visible-rect/animated-from-none-expected.txt: Removed property svn:keywords.
  • compositing/visible-rect/animated-from-none.html: Removed property svn:keywords.
  • compositing/visible-rect/animated.html: Removed property svn:keywords.
  • compositing/visible-rect/clipped-by-viewport-expected.txt: Removed property svn:keywords.
  • compositing/visible-rect/clipped-by-viewport.html: Removed property svn:keywords.
  • compositing/visible-rect/clipped-visible-rect-expected.txt: Removed property svn:keywords.
  • compositing/visible-rect/clipped-visible-rect.html: Removed property svn:keywords.
  • compositing/visible-rect/iframe-and-layers-expected.txt: Removed property svn:keywords.
  • compositing/visible-rect/iframe-and-layers.html: Removed property svn:keywords.
  • compositing/visible-rect/iframe-no-layers-expected.txt: Removed property svn:keywords.
  • compositing/visible-rect/iframe-no-layers.html: Removed property svn:keywords.
  • compositing/visible-rect/nested-transform-expected.txt: Removed property svn:keywords.
  • compositing/visible-rect/nested-transform.html: Removed property svn:keywords.
  • compositing/visible-rect/resources/subframe-with-layers.html: Removed property svn:keywords.
  • compositing/visible-rect/scrolled-expected.txt: Removed property svn:keywords.
  • compositing/visible-rect/scrolled.html: Removed property svn:keywords.
  • compositing/z-order/negative-z-index-expected.txt: Removed property svn:keywords.
  • compositing/z-order/negative-z-index.html: Removed property svn:keywords.
  • css3/blending/svg-blend-plus-darker.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-001-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-001.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-002-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-002.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-003-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-003.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-004-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-004.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-005-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-005.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-006-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-006.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-007-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-007.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-008-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-008.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-009-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-009.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-010-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-010.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-011-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-011.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-012-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-012.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-013-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-013.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-014-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-014.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-015-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-015.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-016-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-016.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-017-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-017.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-018-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-018.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-019-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-019.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-020-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-020.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-021-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-021.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-022-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-022.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-023-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-023.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-024-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-024.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-025-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-025.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-026-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-026.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-027-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-027.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-028-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-028.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-029-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-029.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-030-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-030.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-031-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-031.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-032-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-032.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-033-expected.html: Removed property svn:keywords.
  • css3/conditional/w3c/at-supports-033.html: Removed property svn:keywords.
  • css3/filters/add-filter-rendering-expected.txt: Removed property svn:keywords.
  • css3/filters/add-filter-rendering.html: Removed property svn:keywords.
  • css3/filters/animation-from-initial-values-with-color-matrix-expected.html: Removed property svn:keywords.
  • css3/filters/animation-from-initial-values-with-color-matrix.html: Removed property svn:keywords.
  • css3/filters/backdrop/backdropfilter-property-computed-style-expected.txt: Removed property svn:keywords.
  • css3/filters/backdrop/backdropfilter-property-computed-style.html: Removed property svn:keywords.
  • css3/filters/backdrop/backdropfilter-property-expected.txt: Removed property svn:keywords.
  • css3/filters/backdrop/backdropfilter-property-parsing-expected.txt: Removed property svn:keywords.
  • css3/filters/backdrop/backdropfilter-property-parsing-invalid-expected.txt: Removed property svn:keywords.
  • css3/filters/backdrop/backdropfilter-property-parsing-invalid.html: Removed property svn:keywords.
  • css3/filters/backdrop/backdropfilter-property-parsing.html: Removed property svn:keywords.
  • css3/filters/backdrop/backdropfilter-property.html: Removed property svn:keywords.
  • css3/filters/backdrop/effect-hw-expected.html: Removed property svn:keywords.
  • css3/filters/backdrop/effect-hw.html: Removed property svn:keywords.
  • css3/filters/backdrop/script-tests/backdropfilter-property-computed-style.js: Removed property svn:keywords.
  • css3/filters/backdrop/script-tests/backdropfilter-property-parsing-invalid.js: Removed property svn:keywords.
  • css3/filters/backdrop/script-tests/backdropfilter-property-parsing.js: Removed property svn:keywords.
  • css3/filters/backdrop/script-tests/backdropfilter-property.js: Removed property svn:keywords.
  • css3/filters/composited-during-animation-layertree.html: Removed property svn:keywords.
  • css3/filters/composited-during-animation.html: Removed property svn:keywords.
  • css3/filters/composited-during-transition-layertree.html: Removed property svn:keywords.
  • css3/filters/effect-blur-expected.txt: Removed property svn:keywords.
  • css3/filters/effect-blur.html: Removed property svn:keywords.
  • css3/filters/effect-brightness-expected.txt: Removed property svn:keywords.
  • css3/filters/effect-brightness.html: Removed property svn:keywords.
  • css3/filters/effect-combined-expected.txt: Removed property svn:keywords.
  • css3/filters/effect-combined.html: Removed property svn:keywords.
  • css3/filters/effect-contrast-expected.txt: Removed property svn:keywords.
  • css3/filters/effect-contrast.html: Removed property svn:keywords.
  • css3/filters/effect-drop-shadow-expected.txt: Removed property svn:keywords.
  • css3/filters/effect-drop-shadow.html: Removed property svn:keywords.
  • css3/filters/effect-grayscale-expected.txt: Removed property svn:keywords.
  • css3/filters/effect-grayscale.html: Removed property svn:keywords.
  • css3/filters/effect-hue-rotate-expected.txt: Removed property svn:keywords.
  • css3/filters/effect-hue-rotate.html: Removed property svn:keywords.
  • css3/filters/effect-invert-expected.txt: Removed property svn:keywords.
  • css3/filters/effect-invert.html: Removed property svn:keywords.
  • css3/filters/effect-opacity-expected.txt: Removed property svn:keywords.
  • css3/filters/effect-opacity.html: Removed property svn:keywords.
  • css3/filters/effect-saturate-expected.txt: Removed property svn:keywords.
  • css3/filters/effect-saturate.html: Removed property svn:keywords.
  • css3/filters/effect-sepia-expected.txt: Removed property svn:keywords.
  • css3/filters/effect-sepia.html: Removed property svn:keywords.
  • css3/filters/filter-animation-expected.txt: Removed property svn:keywords.
  • css3/filters/filter-animation-from-none-expected.txt: Removed property svn:keywords.
  • css3/filters/filter-animation-from-none.html: Removed property svn:keywords.
  • css3/filters/filter-animation.html: Removed property svn:keywords.
  • css3/filters/filter-property-computed-style-expected.txt: Removed property svn:keywords.
  • css3/filters/filter-property-computed-style.html: Removed property svn:keywords.
  • css3/filters/filter-property-expected.txt: Removed property svn:keywords.
  • css3/filters/filter-property-parsing-expected.txt: Removed property svn:keywords.
  • css3/filters/filter-property-parsing-invalid-expected.txt: Removed property svn:keywords.
  • css3/filters/filter-property-parsing-invalid.html: Removed property svn:keywords.
  • css3/filters/filter-property-parsing.html: Removed property svn:keywords.
  • css3/filters/filter-property.html: Removed property svn:keywords.
  • css3/filters/filter-region-expected.txt: Removed property svn:keywords.
  • css3/filters/filter-region.html: Removed property svn:keywords.
  • css3/filters/filter-with-opacity-and-children-expected.txt: Removed property svn:keywords.
  • css3/filters/filter-with-opacity-and-children.html: Removed property svn:keywords.
  • css3/filters/filtered-compositing-descendant-expected.txt: Removed property svn:keywords.
  • css3/filters/filtered-compositing-descendant.html: Removed property svn:keywords.
  • css3/filters/huge-blur-value.html: Removed property svn:keywords.
  • css3/filters/huge-region-composited-expected.txt: Removed property svn:keywords.
  • css3/filters/huge-region-composited.html: Removed property svn:keywords.
  • css3/filters/huge-region-expected.txt: Removed property svn:keywords.
  • css3/filters/huge-region.html: Removed property svn:keywords.
  • css3/filters/nested-filters-expected.txt: Removed property svn:keywords.
  • css3/filters/nested-filters.html: Removed property svn:keywords.
  • css3/filters/regions-expanding-expected.txt: Removed property svn:keywords.
  • css3/filters/regions-expanding.html: Removed property svn:keywords.
  • css3/filters/remove-filter-rendering-expected.txt: Removed property svn:keywords.
  • css3/filters/remove-filter-rendering.html: Removed property svn:keywords.
  • css3/filters/remove-filter-repaint-expected.html: Removed property svn:keywords.
  • css3/filters/remove-filter-repaint.html: Removed property svn:keywords.
  • css3/filters/script-tests/TEMPLATE.html: Removed property svn:keywords.
  • css3/filters/script-tests/filter-property-computed-style.js: Removed property svn:keywords.
  • css3/filters/script-tests/filter-property-parsing-invalid.js: Removed property svn:keywords.
  • css3/filters/script-tests/filter-property-parsing.js: Removed property svn:keywords.
  • css3/filters/script-tests/filter-property.js: Removed property svn:keywords.
  • css3/filters/simple-filter-rendering-expected.txt: Removed property svn:keywords.
  • css3/filters/simple-filter-rendering.html: Removed property svn:keywords.
  • css3/flexbox/csswg/Flexible-order-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/Flexible-order.html: Removed property svn:keywords.
  • css3/flexbox/csswg/align-content-001-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/align-content-001.html: Removed property svn:keywords.
  • css3/flexbox/csswg/css-box-justify-content-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/css-box-justify-content.html: Removed property svn:keywords.
  • css3/flexbox/csswg/css-flexbox-column-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/css-flexbox-column.html: Removed property svn:keywords.
  • css3/flexbox/csswg/css-flexbox-height-animation-stretch-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/css-flexbox-height-animation-stretch.html: Removed property svn:keywords.
  • css3/flexbox/csswg/css-flexbox-img-expand-evenly-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/css-flexbox-img-expand-evenly.html: Removed property svn:keywords.
  • css3/flexbox/csswg/css-flexbox-row-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/css-flexbox-row.html: Removed property svn:keywords.
  • css3/flexbox/csswg/css-flexbox-test1-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/css-flexbox-test1.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-align-items-center-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-align-items-center.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-box-wrap-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-box-wrap.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-container-margin-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-container-margin.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-direction-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-direction-modify-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-direction-modify.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-direction-with-element-insert-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-direction-with-element-insert.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-direction-with-element-insert.html-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-direction.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-direction.html-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-flexitem-childmargin-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-flexitem-childmargin.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-flexitem-percentage-prescation-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-flexitem-percentage-prescation.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-flow-001-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-flow-001.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-flow-002-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-flow-002.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-flow-007-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-flow-007.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-items-flexibility-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-items-flexibility.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-items-flexibility.html-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-lines/multi-line-wrap-reverse-column-reverse-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-lines/multi-line-wrap-reverse-column-reverse.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-lines/multi-line-wrap-reverse-row-reverse-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-lines/multi-line-wrap-reverse-row-reverse.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-lines/multi-line-wrap-with-column-reverse-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-lines/multi-line-wrap-with-column-reverse.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-lines/multi-line-wrap-with-row-reverse-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-lines/multi-line-wrap-with-row-reverse.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-margin-no-collapse-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-margin-no-collapse.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-order-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-order.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-vertical-align-effect-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-vertical-align-effect.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flex-vertical-align-effect.html-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox-flex-wrap-flexing-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox-flex-wrap-flexing.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox-flex-wrap-nowrap-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox-flex-wrap-nowrap.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_absolute-atomic-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_absolute-atomic.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-content-center-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-content-center.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-content-flexend-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-content-flexend.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-content-flexstart-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-content-flexstart.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-content-spacearound-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-content-spacearound.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-content-spacebetween-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-content-spacebetween.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-content-stretch-2-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-content-stretch-2.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-content-stretch-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-content-stretch.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-items-baseline-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-items-baseline.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-items-center-2-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-items-center-2.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-items-center-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-items-center.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-items-flexend-2-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-items-flexend-2.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-items-flexend-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-items-flexend.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-items-flexstart-2-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-items-flexstart-2.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-items-flexstart-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-items-flexstart.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-items-stretch-2-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-items-stretch-2.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-items-stretch-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-items-stretch.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-self-auto-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-self-auto.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-self-baseline-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-self-baseline.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-self-center-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-self-center.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-self-flexend-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-self-flexend.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-self-flexstart-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-self-flexstart.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-self-stretch-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_align-self-stretch.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_box-clear-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_box-clear.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_columns-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_columns-flexitems-2-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_columns-flexitems-2.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_columns-flexitems-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_columns-flexitems.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_columns.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_direction-column-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_direction-column-reverse-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_direction-column-reverse.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_direction-column.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_direction-row-reverse-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_direction-row-reverse.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_display-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_display.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_empty-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_fbfc-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_fbfc.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_fbfc2-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_fbfc2.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_first-line-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_first-line.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-0-0-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-0-0.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-0-N-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-0-N-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-0-N-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-0-N.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-0-Npercent-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-0-Npercent-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-0-Npercent-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-0-Npercent.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-0-auto-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-0-auto-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-0-auto-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-0-auto.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-1-0-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-1-0.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-1-N-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-1-N-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-1-N-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-1-N.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-1-Npercent-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-1-Npercent-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-1-Npercent-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-1-Npercent.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-1-auto-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-1-auto-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-1-auto-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-1-auto.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-N-0-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-N-0.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-N-N-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-N-N-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-N-N-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-N-N.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-N-Npercent-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-N-Npercent-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-N-Npercent-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-N-Npercent.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-N-auto-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-N-auto-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-N-auto-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-0-N-auto.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-0-0-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-0-0.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-0-N-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-0-N-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-0-N-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-0-N.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-0-Npercent-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-0-Npercent-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-0-Npercent-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-0-Npercent.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-0-auto-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-0-auto-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-0-auto-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-0-auto.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-1-0-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-1-0.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-1-N-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-1-N-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-1-N-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-1-N.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-1-Npercent-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-1-Npercent-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-1-Npercent-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-1-Npercent.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-1-auto-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-1-auto-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-1-auto-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-1-auto.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-N-0-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-N-0.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-N-N-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-N-N-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-N-N-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-N-N.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-N-Npercent-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-N-Npercent-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-N-Npercent-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-N-Npercent.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-N-auto-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-N-auto-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-N-auto-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-1-N-auto.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-0-0-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-0-0.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-0-N-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-0-N-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-0-N-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-0-N.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-0-Npercent-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-0-Npercent-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-0-Npercent-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-0-Npercent.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-0-auto-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-0-auto-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-0-auto-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-0-auto.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-1-0-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-1-0.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-1-N-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-1-N-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-1-N-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-1-N.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-1-Npercent-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-1-Npercent-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-1-Npercent-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-1-Npercent.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-1-auto-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-1-auto-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-1-auto-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-1-auto.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-N-0-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-N-0.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-N-N-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-N-N-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-N-N-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-N-N.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-N-Npercent-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-N-Npercent-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-N-Npercent-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-N-Npercent.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-N-auto-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-N-auto-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-N-auto-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-N-N-auto.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-auto-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-auto.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-basis-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-basis-shrink-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-basis-shrink.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-basis.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-formatting-interop-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-formatting-interop.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-initial-2-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-initial-2.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-initial-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-initial.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-natural-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-natural-mixed-basis-auto-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-natural-mixed-basis-auto.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-natural-mixed-basis-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-natural-mixed-basis.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-natural-variable-auto-basis-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-natural-variable-auto-basis.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-natural-variable-zero-basis-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-natural-variable-zero-basis.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-natural.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-none-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-none.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flex-unitless-basis-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flow-column-reverse-wrap-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flow-column-reverse-wrap-reverse-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flow-column-reverse-wrap-reverse.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flow-column-reverse-wrap.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flow-column-wrap-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flow-column-wrap-reverse-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flow-column-wrap-reverse.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flow-column-wrap.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flow-row-wrap-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flow-row-wrap-reverse-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flow-row-wrap-reverse.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_flow-row-wrap.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_generated-container-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_generated-container.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_generated-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_generated-flex-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_generated-flex.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_generated.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_inline-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_inline.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_item-bottom-float-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_item-bottom-float.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_item-clear-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_item-clear.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_item-float-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_item-float.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_item-top-float-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_item-top-float.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_item-vertical-align-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_item-vertical-align.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_justifycontent-center-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_justifycontent-center-overflow-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_justifycontent-center-overflow.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_justifycontent-center.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_justifycontent-flex-end-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_justifycontent-flex-end.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_justifycontent-flex-start-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_justifycontent-flex-start.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_justifycontent-spacearound-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_justifycontent-spacearound-negative-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_justifycontent-spacearound-negative.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_justifycontent-spacearound-only-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_justifycontent-spacearound-only.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_justifycontent-spacearound.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_justifycontent-spacebetween-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_justifycontent-spacebetween-negative-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_justifycontent-spacebetween-negative.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_justifycontent-spacebetween-only-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_justifycontent-spacebetween-only.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_justifycontent-spacebetween.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_margin-auto-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_margin-auto-overflow-2-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_margin-auto-overflow-2.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_margin-auto-overflow-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_margin-auto-overflow.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_margin-auto.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_margin-collapse-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_margin-collapse.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_margin-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_margin-left-ex-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_margin-left-ex.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_margin.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_min-height-auto-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_min-height-auto.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_min-width-auto-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_min-width-auto.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_object-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_object.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_order-abspos-space-around-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_order-abspos-space-around.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_order-box-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_order-box.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_order-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_order.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_rowspan-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_rowspan.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_rtl-direction-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_rtl-direction.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_rtl-flow-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_rtl-flow-reverse-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_rtl-flow-reverse.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_rtl-flow.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_rtl-order-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_rtl-order.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_stf-table-singleline-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_stf-table-singleline.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_visibility-collapse-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_visibility-collapse-line-wrapping-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_visibility-collapse-line-wrapping.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_visibility-collapse.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_wrap-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_wrap-long-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_wrap-long.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_wrap-reverse-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_wrap-reverse.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_wrap.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_writing_mode_vertical_lays_out_contents_from_top_to_bottom-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/flexbox_writing_mode_vertical_lays_out_contents_from_top_to_bottom.html: Removed property svn:keywords.
  • css3/flexbox/csswg/justify-content-001-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/justify-content-001.html: Removed property svn:keywords.
  • css3/flexbox/csswg/order/order-with-column-reverse-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/order/order-with-column-reverse.html: Removed property svn:keywords.
  • css3/flexbox/csswg/order/order-with-row-reverse-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/order/order-with-row-reverse.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ref-filled-green-100px-square-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ref-filled-green-100px-square.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ttwf-reftest-flex-align-content-center-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ttwf-reftest-flex-align-content-center.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ttwf-reftest-flex-align-content-end-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ttwf-reftest-flex-align-content-end.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ttwf-reftest-flex-align-content-space-between-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ttwf-reftest-flex-align-content-space-between.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ttwf-reftest-flex-align-content-start-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ttwf-reftest-flex-align-content-start.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ttwf-reftest-flex-base-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ttwf-reftest-flex-base.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ttwf-reftest-flex-direction-column-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ttwf-reftest-flex-direction-column-reverse-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ttwf-reftest-flex-direction-column-reverse.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ttwf-reftest-flex-direction-column.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ttwf-reftest-flex-direction-row-reverse-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ttwf-reftest-flex-direction-row-reverse.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ttwf-reftest-flex-inline-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ttwf-reftest-flex-inline.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ttwf-reftest-flex-order-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ttwf-reftest-flex-order.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ttwf-reftest-flex-wrap-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ttwf-reftest-flex-wrap-reverse-expected.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ttwf-reftest-flex-wrap-reverse.html: Removed property svn:keywords.
  • css3/flexbox/csswg/ttwf-reftest-flex-wrap.html: Removed property svn:keywords.
  • css3/masking/clip-path-root-relative-bounds-expected.html: Removed property svn:keywords.
  • css3/masking/clip-path-root-relative-bounds.html: Removed property svn:keywords.
  • fast/animation/request-animation-frame-callback-id-expected.txt: Removed property svn:keywords.
  • fast/animation/request-animation-frame-callback-id.html: Removed property svn:keywords.
  • fast/animation/request-animation-frame-detach-element2-expected.txt: Removed property svn:keywords.
  • fast/animation/request-animation-frame-detach-element2.html: Removed property svn:keywords.
  • fast/animation/request-animation-frame-disabled-expected.txt: Removed property svn:keywords.
  • fast/animation/request-animation-frame-disabled.html: Removed property svn:keywords.
  • fast/animation/request-animation-frame-remove-client-expected.txt: Removed property svn:keywords.
  • fast/animation/request-animation-frame-remove-client.html: Removed property svn:keywords.
  • fast/animation/script-tests/request-animation-frame-disabled.js: Removed property svn:keywords.
  • fast/backgrounds/background-clip-text-on-body-expected.txt: Removed property svn:keywords.
  • fast/backgrounds/background-clip-text-on-body.html: Removed property svn:keywords.
  • fast/backgrounds/background-leakage.html: Removed property svn:keywords.
  • fast/backgrounds/border-radius-split-background-image.html: Removed property svn:keywords.
  • fast/backgrounds/border-radius-split-background.html: Removed property svn:keywords.
  • fast/backgrounds/gradient-background-leakage.html: Removed property svn:keywords.
  • fast/backgrounds/mask-box-image.html: Removed property svn:keywords.
  • fast/backgrounds/multiple-backgrounds-computed-style-expected.txt: Removed property svn:keywords.
  • fast/backgrounds/multiple-backgrounds-computed-style.html: Removed property svn:keywords.
  • fast/backgrounds/root-background-propagation-expected.txt: Removed property svn:keywords.
  • fast/backgrounds/root-background-propagation.html: Removed property svn:keywords.
  • fast/backgrounds/root-background-propagation2-expected.txt: Removed property svn:keywords.
  • fast/backgrounds/root-background-propagation2.html: Removed property svn:keywords.
  • fast/backgrounds/script-tests/TEMPLATE.html: Removed property svn:keywords.
  • fast/backgrounds/script-tests/multiple-backgrounds-computed-style.js: Removed property svn:keywords.
  • fast/backgrounds/transformed-body-background-expected.txt: Removed property svn:keywords.
  • fast/backgrounds/transformed-body-background.html: Removed property svn:keywords.
  • fast/backgrounds/transformed-body-html-background-expected.txt: Removed property svn:keywords.
  • fast/backgrounds/transformed-body-html-background.html: Removed property svn:keywords.
  • fast/backgrounds/transformed-html-body-background-expected.txt: Removed property svn:keywords.
  • fast/backgrounds/transformed-html-body-background.html: Removed property svn:keywords.
  • fast/borders/border-image-slice-constrained.html: Removed property svn:keywords.
  • fast/borders/border-radius-different-width-001.html: Removed property svn:keywords.
  • fast/borders/border-radius-inset-outset.html: Removed property svn:keywords.
  • fast/borders/border-styles-split.html: Removed property svn:keywords.
  • fast/borders/mixed-border-styles-radius.html: Removed property svn:keywords.
  • fast/borders/mixed-border-styles-radius2.html: Removed property svn:keywords.
  • fast/borders/mixed-border-styles.html: Removed property svn:keywords.
  • fast/borders/table-borders.html: Removed property svn:keywords.
  • fast/box-shadow/box-shadow-obscured-backgrounds-expected.html: Removed property svn:keywords.
  • fast/box-shadow/box-shadow-obscured-backgrounds.html: Removed property svn:keywords.
  • fast/box-shadow/shadow-repaint-expected.txt: Removed property svn:keywords.
  • fast/box-shadow/shadow-repaint.html: Removed property svn:keywords.
  • fast/canvas/image-potential-subsample-expected.txt: Removed property svn:keywords.
  • fast/canvas/image-potential-subsample.html: Removed property svn:keywords.
  • fast/canvas/invalid-set-font-crash-expected.txt: Removed property svn:keywords.
  • fast/canvas/invalid-set-font-crash.html: Removed property svn:keywords.
  • fast/canvas/pattern-too-large-to-create-expected.txt: Removed property svn:keywords.
  • fast/canvas/pattern-too-large-to-create.html: Removed property svn:keywords.
  • fast/canvas/toDataURL-not-empty-expected.txt: Removed property svn:keywords.
  • fast/canvas/toDataURL-not-empty.html: Removed property svn:keywords.
  • fast/canvas/webgl/angle-instanced-arrays-expected.txt: Removed property svn:keywords.
  • fast/canvas/webgl/angle-instanced-arrays-out-of-bounds-expected.txt: Removed property svn:keywords.
  • fast/canvas/webgl/angle-instanced-arrays-out-of-bounds.html: Removed property svn:keywords.
  • fast/canvas/webgl/angle-instanced-arrays.html: Removed property svn:keywords.
  • fast/canvas/webgl/array-bounds-clamping-expected.txt: Removed property svn:keywords.
  • fast/canvas/webgl/array-bounds-clamping.html: Removed property svn:keywords.
  • fast/canvas/webgl/gl-bind-attrib-mapped-names-expected.txt: Removed property svn:keywords.
  • fast/canvas/webgl/gl-bind-attrib-mapped-names.html: Removed property svn:keywords.
  • fast/canvas/webgl/oes-texture-float-linear-expected.txt: Removed property svn:keywords.
  • fast/canvas/webgl/oes-texture-float-linear.html: Removed property svn:keywords.
  • fast/canvas/webgl/oes-texture-half-float-linear-expected.txt: Removed property svn:keywords.
  • fast/canvas/webgl/oes-texture-half-float-linear.html: Removed property svn:keywords.
  • fast/canvas/webgl/oes-texture-half-float-with-canvas-expected.txt: Removed property svn:keywords.
  • fast/canvas/webgl/oes-texture-half-float-with-canvas.html: Removed property svn:keywords.
  • fast/canvas/webgl/oes-texture-half-float-with-image-expected.txt: Removed property svn:keywords.
  • fast/canvas/webgl/oes-texture-half-float-with-image.html: Removed property svn:keywords.
  • fast/canvas/webgl/oes-texture-half-float-with-video-expected.txt: Removed property svn:keywords.
  • fast/canvas/webgl/oes-texture-half-float-with-video.html: Removed property svn:keywords.
  • fast/canvas/webgl/resources/oes-texture-float-and-half-float-linear.js: Removed property svn:keywords.
  • fast/canvas/webgl/resources/out-of-bounds-test.js: Removed property svn:keywords.
  • fast/canvas/webgl/resources/red-green.svg: Removed property svn:keywords.
  • fast/canvas/webgl/resources/tex-image-and-sub-image-2d-with-potentially-subsampled-image.js: Removed property svn:keywords.
  • fast/canvas/webgl/resources/tex-image-and-sub-image-2d-with-svg-image.js: Removed property svn:keywords.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-potentially-subsampled-image-expected.txt: Removed property svn:keywords.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-potentially-subsampled-image.html: Removed property svn:keywords.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-svg-image-expected.txt: Removed property svn:keywords.
  • fast/canvas/webgl/tex-image-and-sub-image-2d-with-svg-image.html: Removed property svn:keywords.
  • fast/canvas/webgl/tex-image-with-greyscale-image-expected.txt: Removed property svn:keywords.
  • fast/canvas/webgl/tex-image-with-greyscale-image.html: Removed property svn:keywords.
  • fast/canvas/webgl/unprefixed-context-expected.txt: Removed property svn:keywords.
  • fast/canvas/webgl/unprefixed-context.html: Removed property svn:keywords.
  • fast/css/aspect-ratio/columns-expected.html: Removed property svn:keywords.
  • fast/css/aspect-ratio/columns.html: Removed property svn:keywords.
  • fast/css/aspect-ratio/containers-expected.html: Removed property svn:keywords.
  • fast/css/aspect-ratio/containers.html: Removed property svn:keywords.
  • fast/css/aspect-ratio/simple-expected.html: Removed property svn:keywords.
  • fast/css/aspect-ratio/simple.html: Removed property svn:keywords.
  • fast/css/computed-clip-with-auto-rect-expected.txt: Removed property svn:keywords.
  • fast/css/computed-clip-with-auto-rect.html: Removed property svn:keywords.
  • fast/css/first-letter-punctuation.html: Removed property svn:keywords.
  • fast/css/getComputedStyle/computed-style-border-image-expected.txt: Removed property svn:keywords.
  • fast/css/getComputedStyle/computed-style-border-image.html: Removed property svn:keywords.
  • fast/css/large-value-csstext-expected.txt: Removed property svn:keywords.
  • fast/css/large-value-csstext.html: Removed property svn:keywords.
  • fast/css/object-fit/object-fit-canvas-expected.html: Removed property svn:keywords.
  • fast/css/object-fit/object-fit-canvas.html: Removed property svn:keywords.
  • fast/css/object-fit/object-fit-embed-expected.html: Removed property svn:keywords.
  • fast/css/object-fit/object-fit-embed.html: Removed property svn:keywords.
  • fast/css/object-fit/object-fit-grow-landscape-expected.html: Removed property svn:keywords.
  • fast/css/object-fit/object-fit-grow-landscape.html: Removed property svn:keywords.
  • fast/css/object-fit/object-fit-grow-portrait-expected.html: Removed property svn:keywords.
  • fast/css/object-fit/object-fit-grow-portrait.html: Removed property svn:keywords.
  • fast/css/object-fit/object-fit-img-expected.html: Removed property svn:keywords.
  • fast/css/object-fit/object-fit-img-svg-expected.html: Removed property svn:keywords.
  • fast/css/object-fit/object-fit-img-svg.html: Removed property svn:keywords.
  • fast/css/object-fit/object-fit-img-svg2-expected.html: Removed property svn:keywords.
  • fast/css/object-fit/object-fit-img-svg2.html: Removed property svn:keywords.
  • fast/css/object-fit/object-fit-img.html: Removed property svn:keywords.
  • fast/css/object-fit/object-fit-input-image-expected.html: Removed property svn:keywords.
  • fast/css/object-fit/object-fit-input-image.html: Removed property svn:keywords.
  • fast/css/object-fit/object-fit-object-expected.html: Removed property svn:keywords.
  • fast/css/object-fit/object-fit-object.html: Removed property svn:keywords.
  • fast/css/object-fit/object-fit-shrink-expected.html: Removed property svn:keywords.
  • fast/css/object-fit/object-fit-shrink.html: Removed property svn:keywords.
  • fast/css/object-fit/object-fit-video-poster-expected.html: Removed property svn:keywords.
  • fast/css/object-fit/object-fit-video-poster.html: Removed property svn:keywords.
  • fast/css/parsing-object-fit-expected.txt: Removed property svn:keywords.
  • fast/css/parsing-object-fit.html: Removed property svn:keywords.
  • fast/css/pending-images-crash-expected.txt: Removed property svn:keywords.
  • fast/css/pending-images-crash.html: Removed property svn:keywords.
  • fast/css/remove-fixed-resizer-crash-expected.txt: Removed property svn:keywords.
  • fast/css/remove-fixed-resizer-crash.html: Removed property svn:keywords.
  • fast/css/resources/circle.svg: Removed property svn:keywords.
  • fast/css/resources/circle2.svg: Removed property svn:keywords.
  • fast/css/sticky/inflow-sticky-expected.html: Removed property svn:keywords.
  • fast/css/sticky/inflow-sticky.html: Removed property svn:keywords.
  • fast/css/sticky/inline-sticky-abspos-child-expected.html: Removed property svn:keywords.
  • fast/css/sticky/inline-sticky-abspos-child.html: Removed property svn:keywords.
  • fast/css/sticky/inline-sticky-expected.html: Removed property svn:keywords.
  • fast/css/sticky/inline-sticky.html: Removed property svn:keywords.
  • fast/css/sticky/parsing-position-sticky-expected.txt: Removed property svn:keywords.
  • fast/css/sticky/parsing-position-sticky.html: Removed property svn:keywords.
  • fast/css/sticky/remove-sticky-crash-expected.txt: Removed property svn:keywords.
  • fast/css/sticky/remove-sticky-crash.html: Removed property svn:keywords.
  • fast/css/sticky/replaced-sticky-expected.html: Removed property svn:keywords.
  • fast/css/sticky/replaced-sticky.html: Removed property svn:keywords.
  • fast/css/sticky/resources/parsing-position-sticky.js: Removed property svn:keywords.
  • fast/css/sticky/sticky-as-positioning-container-expected.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-as-positioning-container.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-both-sides-expected.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-both-sides.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-left-expected.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-left-percentage-expected.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-left-percentage.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-left.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-margins-expected.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-margins.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-overflowing-expected.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-overflowing.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-side-margins-expected.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-side-margins.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-stacking-context-expected.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-stacking-context.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-top-expected.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-top-margins-expected.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-top-margins.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-top-overflow-expected.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-top-overflow.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-top.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-writing-mode-horizontal-bt-expected.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-writing-mode-horizontal-bt.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-writing-mode-vertical-lr-expected.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-writing-mode-vertical-lr.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-writing-mode-vertical-rl-expected.html: Removed property svn:keywords.
  • fast/css/sticky/sticky-writing-mode-vertical-rl.html: Removed property svn:keywords.
  • fast/css/transformed-mask.html: Removed property svn:keywords.
  • fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-shorthand-expected.txt: Removed property svn:keywords.
  • fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-shorthand-ordering-expected.txt: Removed property svn:keywords.
  • fast/dom/DeviceMotion/create-event-expected.txt: Removed property svn:keywords.
  • fast/dom/DeviceMotion/create-event.html: Removed property svn:keywords.
  • fast/dom/DeviceMotion/optional-event-properties-expected.txt: Removed property svn:keywords.
  • fast/dom/DeviceMotion/optional-event-properties.html: Removed property svn:keywords.
  • fast/dom/DeviceMotion/script-tests/TEMPLATE.html: Removed property svn:keywords.
  • fast/dom/DeviceMotion/script-tests/create-event.js: Removed property svn:keywords.
  • fast/dom/DeviceMotion/script-tests/optional-event-properties.js: Removed property svn:keywords.
  • fast/dom/DeviceMotion/script-tests/window-property.js: Removed property svn:keywords.
  • fast/dom/DeviceMotion/window-property-expected.txt: Removed property svn:keywords.
  • fast/dom/DeviceMotion/window-property.html: Removed property svn:keywords.
  • fast/dom/TreeWalker/acceptNode-filter-expected.txt: Removed property svn:keywords.
  • fast/dom/TreeWalker/acceptNode-filter.html: Removed property svn:keywords.
  • fast/dom/TreeWalker/filter-throw-expected.txt: Removed property svn:keywords.
  • fast/dom/TreeWalker/filter-throw.html: Removed property svn:keywords.
  • fast/dom/TreeWalker/script-tests/acceptNode-filter.js: Removed property svn:keywords.
  • fast/dom/TreeWalker/script-tests/filter-throw.js: Removed property svn:keywords.
  • fast/dom/TreeWalker/script-tests/traversal-reject.js: Removed property svn:keywords.
  • fast/dom/TreeWalker/script-tests/traversal-skip-most.js: Removed property svn:keywords.
  • fast/dom/TreeWalker/script-tests/traversal-skip.js: Removed property svn:keywords.
  • fast/dom/TreeWalker/traversal-reject-expected.txt: Removed property svn:keywords.
  • fast/dom/TreeWalker/traversal-reject.html: Removed property svn:keywords.
  • fast/dom/TreeWalker/traversal-skip-expected.txt: Removed property svn:keywords.
  • fast/dom/TreeWalker/traversal-skip-most-expected.txt: Removed property svn:keywords.
  • fast/dom/TreeWalker/traversal-skip-most.html: Removed property svn:keywords.
  • fast/dom/TreeWalker/traversal-skip.html: Removed property svn:keywords.
  • fast/frames/layout-after-destruction-expected.txt: Removed property svn:keywords.
  • fast/frames/layout-after-destruction.html: Removed property svn:keywords.
  • fast/frames/resources/layout-after-destruction-subframe.html: Removed property svn:keywords.
  • fast/gradients/css3-color-stop-units-expected.txt: Removed property svn:keywords.
  • fast/gradients/css3-color-stop-units.html: Removed property svn:keywords.
  • fast/gradients/css3-color-stops-expected.txt: Removed property svn:keywords.
  • fast/gradients/css3-color-stops.html: Removed property svn:keywords.
  • fast/gradients/css3-gradient-parsing-expected.txt: Removed property svn:keywords.
  • fast/gradients/css3-gradient-parsing.html: Removed property svn:keywords.
  • fast/gradients/css3-linear-angle-gradients-expected.txt: Removed property svn:keywords.
  • fast/gradients/css3-linear-angle-gradients.html: Removed property svn:keywords.
  • fast/gradients/css3-radial-gradient-crash-expected.txt: Removed property svn:keywords.
  • fast/gradients/css3-radial-gradient-crash.html: Removed property svn:keywords.
  • fast/gradients/css3-radial-gradients-expected.txt: Removed property svn:keywords.
  • fast/gradients/css3-radial-gradients.html: Removed property svn:keywords.
  • fast/gradients/css3-radial-gradients2-expected.txt: Removed property svn:keywords.
  • fast/gradients/css3-radial-gradients2.html: Removed property svn:keywords.
  • fast/gradients/css3-repeating-linear-gradients-expected.txt: Removed property svn:keywords.
  • fast/gradients/css3-repeating-linear-gradients.html: Removed property svn:keywords.
  • fast/gradients/css3-repeating-radial-gradients-expected.txt: Removed property svn:keywords.
  • fast/gradients/css3-repeating-radial-gradients.html: Removed property svn:keywords.
  • fast/gradients/zero-range-repeating-gradient-hang-expected.txt: Removed property svn:keywords.
  • fast/gradients/zero-range-repeating-gradient-hang.html: Removed property svn:keywords.
  • fast/hidpi/filters-blur-expected.html: Removed property svn:keywords.
  • fast/hidpi/filters-blur.html: Removed property svn:keywords.
  • fast/hidpi/filters-hue-rotate-expected.html: Removed property svn:keywords.
  • fast/hidpi/filters-hue-rotate.html: Removed property svn:keywords.
  • fast/hidpi/filters-invert-expected.html: Removed property svn:keywords.
  • fast/hidpi/filters-invert.html: Removed property svn:keywords.
  • fast/hidpi/filters-multiple-expected.html: Removed property svn:keywords.
  • fast/hidpi/filters-multiple.html: Removed property svn:keywords.
  • fast/hidpi/filters-reference-expected.html: Removed property svn:keywords.
  • fast/hidpi/filters-reference.html: Removed property svn:keywords.
  • fast/hidpi/filters-shadow-expected.html: Removed property svn:keywords.
  • fast/hidpi/filters-shadow.html: Removed property svn:keywords.
  • fast/hidpi/image-srcset-data-src.html: Removed property svn:keywords.
  • fast/hidpi/image-srcset-data-srcset.html: Removed property svn:keywords.
  • fast/hidpi/image-srcset-invalid-inputs-except-one.html: Removed property svn:keywords.
  • fast/hidpi/image-srcset-invalid-inputs.html: Removed property svn:keywords.
  • fast/hidpi/image-srcset-nomodifier.html: Removed property svn:keywords.
  • fast/hidpi/image-srcset-only-src-attribute.html: Removed property svn:keywords.
  • fast/hidpi/image-srcset-remove-dynamically-from-js.html: Removed property svn:keywords.
  • fast/hidpi/image-srcset-same-alternative-for-both-attributes.html: Removed property svn:keywords.
  • fast/hidpi/image-srcset-space-left-nomodifier.html: Removed property svn:keywords.
  • fast/hidpi/image-srcset-viewport-modifiers.html: Removed property svn:keywords.
  • fast/hidpi/resources/ensure-hidpi.js: Removed property svn:keywords.
  • fast/images/color-jpeg-with-color-profile-expected.txt: Removed property svn:keywords.
  • fast/images/exif-orientation-image-document-expected.txt: Removed property svn:keywords.
  • fast/layers/negative-scroll-positions-expected.txt: Removed property svn:keywords.
  • fast/layers/negative-scroll-positions.html: Removed property svn:keywords.
  • fast/layers/script-tests/TEMPLATE.html: Removed property svn:keywords.
  • fast/layers/script-tests/negative-scroll-positions.js: Removed property svn:keywords.
  • fast/media/mq-inverted-colors-expected.html: Removed property svn:keywords.
  • fast/media/mq-inverted-colors.html: Removed property svn:keywords.
  • fast/media/mq-monochrome-expected.html: Removed property svn:keywords.
  • fast/media/mq-monochrome.html: Removed property svn:keywords.
  • fast/multicol/clip-in-columns-expected.html: Removed property svn:keywords.
  • fast/multicol/clip-in-columns.html: Removed property svn:keywords.
  • fast/multicol/column-box-alignment-rtl-expected.html: Removed property svn:keywords.
  • fast/multicol/column-box-alignment-rtl.html: Removed property svn:keywords.
  • fast/multicol/filter-in-columns-expected.html: Removed property svn:keywords.
  • fast/multicol/filter-in-columns.html: Removed property svn:keywords.
  • fast/multicol/huge-column-count.html: Removed property svn:keywords.
  • fast/multicol/multicol-aliases-expected.html: Removed property svn:keywords.
  • fast/multicol/multicol-aliases.html: Removed property svn:keywords.
  • fast/multicol/nested-filter-in-columns-expected.html: Removed property svn:keywords.
  • fast/multicol/nested-filter-in-columns.html: Removed property svn:keywords.
  • fast/multicol/widows-and-orphans-expected.txt: Removed property svn:keywords.
  • fast/multicol/widows-and-orphans.html: Removed property svn:keywords.
  • fast/overflow/overflow-update-transform.html: Removed property svn:keywords.
  • fast/preloader/image-srcset-expected.txt: Removed property svn:keywords.
  • fast/preloader/image-srcset.html: Removed property svn:keywords.
  • fast/reflections/pending-reflection-mask-crash-expected.txt: Removed property svn:keywords.
  • fast/reflections/pending-reflection-mask-crash.html: Removed property svn:keywords.
  • fast/repaint/multicol-repaint.html: Removed property svn:keywords.
  • fast/repaint/negative-text-indent-with-overflow-hidden-expected.txt: Removed property svn:keywords.
  • fast/repaint/negative-text-indent-with-overflow-hidden.html: Removed property svn:keywords.
  • fast/replaced/table-percent-height-text-controls-expected.txt: Removed property svn:keywords.
  • fast/text/international/synthesized-italic-vertical-expected.html: Removed property svn:keywords.
  • fast/text/international/synthesized-italic-vertical-latin.html: Removed property svn:keywords.
  • fast/text/international/synthesized-italic-vertical.html: Removed property svn:keywords.
  • fast/text/word-space-with-kerning-3-expected.html: Removed property svn:keywords.
  • fast/text/word-space-with-kerning-3.html: Removed property svn:keywords.
  • fast/text/word-space-with-kerning-4-expected.html: Removed property svn:keywords.
  • fast/text/word-space-with-kerning-4.html: Removed property svn:keywords.
  • fast/transforms/scrollIntoView-transformed-expected.txt: Removed property svn:keywords.
  • fast/transforms/scrollIntoView-transformed.html: Removed property svn:keywords.
  • fast/writing-mode/border-styles-vertical-lr.html: Removed property svn:keywords.
  • fast/writing-mode/border-styles-vertical-rl.html: Removed property svn:keywords.
  • http/tests/css/border-image-loading-expected.txt: Removed property svn:keywords.
  • http/tests/css/border-image-loading.html: Removed property svn:keywords.
  • http/tests/css/css-image-loading-expected.txt: Removed property svn:keywords.
  • http/tests/css/css-image-loading.html: Removed property svn:keywords.
  • http/tests/css/mask-image-loading-expected.txt: Removed property svn:keywords.
  • http/tests/css/mask-image-loading.html: Removed property svn:keywords.
  • http/tests/css/object-fit-delayed-img-svg-expected.html: Removed property svn:keywords.
  • http/tests/css/object-fit-delayed-img-svg.html: Removed property svn:keywords.
  • http/tests/css/reflection-mask-image-loading-expected.txt: Removed property svn:keywords.
  • http/tests/css/reflection-mask-image-loading.html: Removed property svn:keywords.
  • http/tests/css/resources/request-logging.js: Removed property svn:keywords.
  • js/array-from-expected.txt: Removed property svn:keywords.
  • js/array-from.html: Removed property svn:keywords.
  • js/array-of-expected.txt: Removed property svn:keywords.
  • js/array-of.html: Removed property svn:keywords.
  • js/script-tests/array-from.js: Removed property svn:keywords.
  • js/script-tests/array-of.js: Removed property svn:keywords.
  • mathml/opentype/munderover-layout-resize.html: Removed property svn:keywords.
  • media/audio-as-video-fullscreen-expected.txt: Removed property svn:keywords.
  • media/audio-as-video-fullscreen.html: Removed property svn:keywords.
  • media/media-controls-timeline-updates-expected.txt: Removed property svn:keywords.
  • media/media-controls-timeline-updates.html: Removed property svn:keywords.
  • media/track/opera/idl/media-idl-tests.html: Removed property svn:keywords.
  • media/track/opera/interfaces/HTMLElement/HTMLMediaElement/crossOrigin.html: Removed property svn:keywords.
  • media/track/opera/interfaces/HTMLElement/HTMLTrackElement/kind.html: Removed property svn:keywords.
  • media/track/opera/interfaces/HTMLElement/HTMLTrackElement/src.html: Removed property svn:keywords.
  • media/track/opera/interfaces/TextTrack/activeCues.html: Removed property svn:keywords.
  • media/track/opera/interfaces/TextTrackCue/getCueAsHTML.html: Removed property svn:keywords.
  • media/track/opera/interfaces/TextTrackCue/line.html: Removed property svn:keywords.
  • media/track/opera/interfaces/TextTrackCue/onenter.html: Removed property svn:keywords.
  • media/track/opera/interfaces/TextTrackCue/onexit.html: Removed property svn:keywords.
  • media/track/opera/interfaces/TextTrackCue/snapToLines.html: Removed property svn:keywords.
  • media/track/opera/interfaces/TextTrackCue/text.html: Removed property svn:keywords.
  • media/track/opera/interfaces/TextTrackCue/vertical.html: Removed property svn:keywords.
  • media/track/opera/interfaces/TextTrackCueList/getter.html: Removed property svn:keywords.
  • media/track/opera/interfaces/TextTrackList/getter.html: Removed property svn:keywords.
  • media/track/opera/interfaces/TrackEvent/constructor.html: Removed property svn:keywords.
  • media/track/opera/interfaces/TrackEvent/createEvent.html: Removed property svn:keywords.
  • media/track/opera/resources/WebIDLParser.js: Removed property svn:keywords.
  • media/track/opera/resources/idlharness.js: Removed property svn:keywords.
  • media/track/opera/track/track-element/cloneNode.html: Removed property svn:keywords.
  • media/track/opera/track/track-element/src-clear-cues.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/parsing-cue-data/common.js: Removed property svn:keywords.
  • media/track/opera/track/webvtt/parsing-cue-data/tests/entities.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/parsing-cue-data/tests/tags.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/parsing-cue-data/tests/timestamps.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/parsing-cue-data/tests/tree-building.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/parsing/001.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/adhoc/12345_timestamps.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/adhoc/cue_font_size_transition.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/adhoc/voice_with_evil_timestamp.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/2_cues_overlapping_completely_move_up-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/2_cues_overlapping_completely_move_up.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/2_cues_overlapping_partially_move_down-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/2_cues_overlapping_partially_move_down.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/2_cues_overlapping_partially_move_up-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/2_cues_overlapping_partially_move_up.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/3_tracks-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/3_tracks.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/align_end_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/align_end_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/align_middle_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/align_middle_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/align_start_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/align_start_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/bidi/bidi_ruby-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/bidi/bidi_ruby.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/bidi/u002E_LF_u05D0-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/bidi/u002E_LF_u05D0.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/bidi/u002E_u2028_u05D0-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/bidi/u002E_u2028_u05D0.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/bidi/u002E_u2029_u05D0-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/bidi/u002E_u2029_u05D0.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/bidi/u0041_first-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/bidi/u0041_first.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/bidi/u05D0_first-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/bidi/u05D0_first.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/bidi/u0628_first-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/bidi/u0628_first.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/bidi/u06E9_no_strong_dir-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/bidi/u06E9_no_strong_dir.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/cue_too_long-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/cue_too_long.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/disable_controls_reposition-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/disable_controls_reposition.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/dom_override_cue_line-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/dom_override_cue_line.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/enable_controls_reposition-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/enable_controls_reposition.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/evil/9_cues_overlapping_completely-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/evil/9_cues_overlapping_completely.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/evil/9_cues_overlapping_completely_all_cues_have_same_timestamp-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/evil/9_cues_overlapping_completely_all_cues_have_same_timestamp.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/evil/media_404_omit_subtitles-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/evil/media_404_omit_subtitles.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/evil/media_height_19-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/evil/media_height_19.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/evil/single_quote-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/evil/single_quote.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/evil/size_90-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/evil/size_90.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/evil/size_99-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/evil/size_99.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/line_-2_wrapped_cue_grow_upwards-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/line_-2_wrapped_cue_grow_upwards.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/line_0_is_top-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/line_0_is_top.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/line_1_wrapped_cue_grow_downwards-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/line_1_wrapped_cue_grow_downwards.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/line_50_percent-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/line_50_percent.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/line_integer_and_percent_mixed_overlap-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/line_integer_and_percent_mixed_overlap.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/line_integer_and_percent_mixed_overlap_move_up-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/line_integer_and_percent_mixed_overlap_move_up.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/line_percent_and_integer_mixed_overlap-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/line_percent_and_integer_mixed_overlap.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/line_percent_and_integer_mixed_overlap_move_up-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/line_percent_and_integer_mixed_overlap_move_up.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/media_height400_with_controls-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/media_height400_with_controls.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/media_with_controls-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/media_with_controls.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/navigate_cue_position-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/navigate_cue_position.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/repaint-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/repaint.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/background_properties-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/background_properties.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/background_shorthand-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/background_shorthand.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/background_shorthand_css_relative_url-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/background_shorthand_css_relative_url.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/color_hex-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/color_hex.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/color_hsla-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/color_hsla.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/color_rgba-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/color_rgba.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/cue_selector_single_colon-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/cue_selector_single_colon.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/font_properties-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/font_properties.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/font_shorthand-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/font_shorthand.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/inherit_values_from_media_element-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/inherit_values_from_media_element.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/outline_properties-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/outline_properties.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/outline_shorthand-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/outline_shorthand.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/text-decoration_line-through-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/text-decoration_line-through.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/text-decoration_overline-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/text-decoration_overline.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/text-decoration_overline_underline_line-through-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/text-decoration_overline_underline_line-through.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/text-decoration_underline-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/text-decoration_underline.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/text-shadow-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/text-shadow.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/white-space_normal_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/white-space_normal_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/white-space_nowrap_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/white-space_nowrap_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/white-space_pre-line_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/white-space_pre-line_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/white-space_pre-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/white-space_pre-wrap_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/white-space_pre-wrap_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/white-space_pre.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/white-space_pre_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue/white-space_pre_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/background_box-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/background_box.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/background_properties-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/background_properties.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/background_shorthand-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/background_shorthand.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/background_shorthand_css_relative_url-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/background_shorthand_css_relative_url.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_animation_with_timestamp-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_animation_with_timestamp.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_background_properties-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_background_properties.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_background_shorthand-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_background_shorthand.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_color-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_color.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_font_properties-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_font_properties.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_font_shorthand-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_font_shorthand.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_namespace-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_namespace.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_outline_properties-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_outline_properties.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_outline_shorthand-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_outline_shorthand.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_text-decoration_line-through-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_text-decoration_line-through.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_text-shadow-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_text-shadow.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_timestamp_future-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_timestamp_future.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_timestamp_past-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_timestamp_past.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_transition_with_timestamp-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_transition_with_timestamp.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_white-space_normal_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_white-space_normal_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_white-space_nowrap-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_white-space_nowrap.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_white-space_pre-line_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_white-space_pre-line_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_white-space_pre-wrap_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_white-space_pre-wrap_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_white-space_pre_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_white-space_pre_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_with_class-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_with_class.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_with_class_object_specific_selector-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/bold_object/bold_with_class_object_specific_selector.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_animation_with_timestamp-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_animation_with_timestamp.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_background_properties-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_background_properties.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_background_shorthand-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_background_shorthand.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_color-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_color.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_font_properties-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_font_properties.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_font_shorthand-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_font_shorthand.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_namespace-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_namespace.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_outline_properties-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_outline_properties.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_outline_shorthand-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_outline_shorthand.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_text-decoration_line-through-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_text-decoration_line-through.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_text-shadow-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_text-shadow.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_timestamp_future-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_timestamp_future.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_timestamp_past-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_timestamp_past.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_transition_with_timestamp-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_transition_with_timestamp.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_white-space_normal_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_white-space_normal_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_white-space_nowrap-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_white-space_nowrap.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_white-space_pre-line_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_white-space_pre-line_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_white-space_pre-wrap_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_white-space_pre-wrap_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_white-space_pre_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_white-space_pre_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_with_class-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_with_class.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_with_class_object_specific_selector-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/class_object/class_with_class_object_specific_selector.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/color_hex-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/color_hex.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/color_hsla-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/color_hsla.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/color_rgba-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/color_rgba.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/cue_func_selector_single_colon-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/cue_func_selector_single_colon.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/font_properties-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/font_properties.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/font_shorthand-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/font_shorthand.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/id_color-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/id_color.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/inherit_values_from_media_element-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/inherit_values_from_media_element.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_animation_with_timestamp-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_animation_with_timestamp.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_background_properties-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_background_properties.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_background_shorthand-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_background_shorthand.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_color-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_color.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_font_properties-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_font_properties.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_font_shorthand-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_font_shorthand.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_namespace-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_namespace.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_outline_properties-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_outline_properties.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_outline_shorthand-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_outline_shorthand.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_text-decoration_line-through-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_text-decoration_line-through.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_text-shadow-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_text-shadow.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_timestamp_future-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_timestamp_future.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_timestamp_past-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_timestamp_past.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_transition_with_timestamp-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_transition_with_timestamp.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_white-space_normal_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_white-space_normal_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_white-space_nowrap-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_white-space_nowrap.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_white-space_pre-line_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_white-space_pre-line_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_white-space_pre-wrap_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_white-space_pre-wrap_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_white-space_pre_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_white-space_pre_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_with_class-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_with_class.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_with_class_object_specific_selector-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/italic_object/italic_with_class_object_specific_selector.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/not_allowed_properties-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/not_allowed_properties.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/not_root_selector-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/not_root_selector.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/outline_properties-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/outline_properties.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/outline_shorthand-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/outline_shorthand.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/root_namespace-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/root_namespace.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/root_selector-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/root_selector.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/text-decoration_line-through-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/text-decoration_line-through.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/text-decoration_overline-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/text-decoration_overline.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/text-decoration_overline_underline_line-through-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/text-decoration_overline_underline_line-through.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/text-decoration_underline-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/text-decoration_underline.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/text-shadow-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/text-shadow.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/type_selector_root-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/type_selector_root.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_animation_with_timestamp-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_animation_with_timestamp.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_background_properties-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_background_properties.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_background_shorthand-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_background_shorthand.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_color-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_color.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_font_properties-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_font_properties.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_font_shorthand-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_font_shorthand.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_namespace-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_namespace.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_outline_properties-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_outline_properties.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_outline_shorthand-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_outline_shorthand.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_text-decoration_line-through-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_text-decoration_line-through.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_text-shadow-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_text-shadow.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_timestamp_future-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_timestamp_future.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_timestamp_past-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_timestamp_past.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_transition_with_timestamp-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_transition_with_timestamp.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_white-space_normal_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_white-space_normal_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_white-space_nowrap-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_white-space_nowrap.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_white-space_pre-line_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_white-space_pre-line_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_white-space_pre-wrap_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_white-space_pre-wrap_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_white-space_pre_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_white-space_pre_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_with_class-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_with_class.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_with_class_object_specific_selector-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/underline_object/underline_with_class_object_specific_selector.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_animation_with_timestamp-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_animation_with_timestamp.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_background_properties-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_background_properties.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_background_shorthand-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_background_shorthand.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_color-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_color.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_font_properties-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_font_properties.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_font_shorthand-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_font_shorthand.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_namespace-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_namespace.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_outline_properties-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_outline_properties.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_outline_shorthand-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_outline_shorthand.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_text-decoration_line-through-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_text-decoration_line-through.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_text-shadow-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_text-shadow.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_timestamp_future-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_timestamp_future.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_timestamp_past-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_timestamp_past.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_transition_with_timestamp-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_transition_with_timestamp.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_voice_attribute-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_voice_attribute.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_white-space_normal_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_white-space_normal_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_white-space_nowrap-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_white-space_nowrap.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_white-space_pre-line_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_white-space_pre-line_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_white-space_pre-wrap_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_white-space_pre-wrap_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_white-space_pre_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_white-space_pre_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_with_class-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_with_class.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_with_class_object_specific_selector-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/voice_object/voice_with_class_object_specific_selector.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/white-space_normal_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/white-space_normal_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/white-space_nowrap_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/white-space_nowrap_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/white-space_pre-line_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/white-space_pre-line_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/white-space_pre-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/white-space_pre-wrap_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/white-space_pre-wrap_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/white-space_pre.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/white-space_pre_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/cue_function/white-space_pre_wrapped.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/default_styles/bold_object_default_font-style-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/default_styles/bold_object_default_font-style.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/default_styles/inherit_as_default_value_inherits_values_from_media_element-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/default_styles/inherit_as_default_value_inherits_values_from_media_element.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/default_styles/italic_object_default_font-style-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/default_styles/italic_object_default_font-style.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/default_styles/underline_object_default_font-style-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/selectors/default_styles/underline_object_default_font-style.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/too_many_cues-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/too_many_cues.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/too_many_cues_wrapped-ref.html: Removed property svn:keywords.
  • media/track/opera/track/webvtt/rendering/reftest/too_many_cues_wrapped.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/HTMLMediaElement/addTextTrack.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/HTMLMediaElement/textTracks-expected.txt: Removed property svn:keywords.
  • media/track/w3c/interfaces/HTMLMediaElement/textTracks.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/HTMLTrackElement/default-expected.txt: Removed property svn:keywords.
  • media/track/w3c/interfaces/HTMLTrackElement/default.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/HTMLTrackElement/label-expected.txt: Removed property svn:keywords.
  • media/track/w3c/interfaces/HTMLTrackElement/label.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/HTMLTrackElement/readyState-expected.txt: Removed property svn:keywords.
  • media/track/w3c/interfaces/HTMLTrackElement/readyState.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/HTMLTrackElement/srclang-expected.txt: Removed property svn:keywords.
  • media/track/w3c/interfaces/HTMLTrackElement/srclang.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/HTMLTrackElement/track-expected.txt: Removed property svn:keywords.
  • media/track/w3c/interfaces/HTMLTrackElement/track.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrack/addCue.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrack/constants-expected.txt: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrack/constants.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrack/cues.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrack/kind.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrack/label-expected.txt: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrack/label.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrack/language-expected.txt: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrack/language.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrack/mode-expected.txt: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrack/mode.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrack/oncuechange-expected.txt: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrack/oncuechange.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrack/removeCue.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrackCue/align.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrackCue/endTime.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrackCue/id.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrackCue/pauseOnExit.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrackCue/startTime.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrackCue/track.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrackCueList/getCueById-expected.txt: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrackCueList/getCueById.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrackCueList/length-expected.txt: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrackCueList/length.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrackList/length-expected.txt: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrackList/length.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrackList/onaddtrack-expected.txt: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrackList/onaddtrack.html: Removed property svn:keywords.
  • media/track/w3c/interfaces/TextTrackList/onremovetrack.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/2_tracks-expected.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/2_tracks.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/align_end-expected.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/align_end.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/align_middle-expected.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/align_middle.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/align_middle_position_50-expected.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/align_middle_position_50.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/align_middle_position_gt_50-expected.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/align_middle_position_gt_50.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/align_middle_position_lt_50-expected.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/align_middle_position_lt_50.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/align_middle_position_lt_50_size_gt_maximum_size-expected.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/align_middle_position_lt_50_size_gt_maximum_size.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/align_start-expected.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/align_start.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/audio_has_no_subtitles-expected.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/audio_has_no_subtitles.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/basic-expected.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/basic.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/decode_escaped_entities-expected.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/decode_escaped_entities.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/dom_override_cue_align_position_line_size-expected.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/dom_override_cue_align_position_line_size.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/dom_override_cue_align_position_line_size_while_paused-expected.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/dom_override_cue_align_position_line_size_while_paused.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/dom_override_cue_text-expected.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/dom_override_cue_text.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/dom_override_cue_text_while_paused-expected.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/dom_override_cue_text_while_paused.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/dom_override_remove_cue_while_paused-expected.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/dom_override_remove_cue_while_paused.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/one_line_cue_plus_wrapped_cue-expected.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/one_line_cue_plus_wrapped_cue.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/size_50-expected.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/size_50.html: Removed property svn:keywords.
  • media/track/w3c/track/webvtt/support/refTestWait.js: Removed property svn:keywords.
  • media/trackmenu-test.js: Removed property svn:keywords.
  • media/video-canvas-drawing-expected.txt: Removed property svn:keywords.
  • media/video-canvas-drawing-output-expected.txt: Removed property svn:keywords.
  • media/video-canvas-drawing-output.html: Removed property svn:keywords.
  • media/video-canvas-drawing.html: Removed property svn:keywords.
  • media/video-controls-captions-trackmenu-hide-on-click.html: Removed property svn:keywords.
  • media/video-controls-captions-trackmenu-localized.html: Removed property svn:keywords.
  • media/video-controls-captions-trackmenu-sorted.html: Removed property svn:keywords.
  • media/video-controls-captions-trackmenu.html: Removed property svn:keywords.
  • media/video-object-fit-change-expected.html: Removed property svn:keywords.
  • media/video-object-fit-change.html: Removed property svn:keywords.
  • media/video-object-fit-expected.html: Removed property svn:keywords.
  • media/video-object-fit.html: Removed property svn:keywords.
  • platform/ios-sim-deprecated/media/media-document-controls-size-expected.txt: Removed property svn:keywords.
  • platform/ios-sim-deprecated/media/media-document-controls-size.html: Removed property svn:keywords.
  • platform/mac-mavericks/accessibility/aria-readonly-expected.txt: Removed property svn:keywords.
  • platform/mac-mavericks/fast/forms/input-baseline-expected.txt: Removed property svn:keywords.
  • platform/mac-mavericks/fast/forms/placeholder-position-expected.txt: Removed property svn:keywords.
  • platform/mac-mavericks/fast/forms/search/search-size-with-decorations-expected.txt: Removed property svn:keywords.
  • platform/mac-mavericks/fast/repaint/search-field-cancel-expected.txt: Removed property svn:keywords.
  • platform/mac-mavericks/fast/text/international/synthesized-italic-vertical-latin-expected.txt: Removed property svn:keywords.
  • platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt: Removed property svn:keywords.
  • platform/mac-mavericks/platform/mac/editing/spelling/autocorrection-at-beginning-of-word-1-expected.txt: Removed property svn:keywords.
  • platform/mac-mavericks/platform/mac/editing/spelling/autocorrection-at-beginning-of-word-2-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/fast/frames/flattening/frameset-flattening-simple-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/plugins/snapshotting/autoplay-similar-to-dominant-after-delay-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/plugins/snapshotting/autoplay-similar-to-dominant-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/plugins/snapshotting/restart-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/plugins/snapshotting/simple-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-removal-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-background-removal.html: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-body-layer.html: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-opacity.html: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-positioned.html: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-transformed-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-transformed.html: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-zoomed-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background-zoomed.html: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-body-background.html: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-html-background-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-html-background.html: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed-background/fixed-non-propagated-body-background.html: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars-zoomed-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/fixed/four-bars-zoomed.html: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/null-parent-back-crash-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/slow-scrolling-background-toggle-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/slow-scrolling-background-toggle.html: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/slow-scrolling-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/slow-scrolling-hidden-background-toggle-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/slow-scrolling-hidden-background-toggle.html: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/slow-scrolling.html: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-horizontal-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-horizontal.html: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-vertical-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/scrolling/sticky/sticky-vertical.html: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll-speculative-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/tile-coverage-after-scroll.html: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/tile-coverage-scroll-to-bottom.html: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/tile-coverage-speculative-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed.html: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled.html: Removed property svn:keywords.
  • platform/mac-wk2/tiled-drawing/tiled-drawing-zoom.html: Removed property svn:keywords.
  • platform/mac/accessibility/aria-readonly-expected.txt: Removed property svn:keywords.
  • platform/mac/animations/additive-transform-animations-expected.txt: Removed property svn:keywords.
  • platform/mac/compositing/backing/paint-into-ancestor-clip-rects-expected.txt: Removed property svn:keywords.
  • platform/mac/compositing/geometry/composited-html-size-expected.txt: Removed property svn:keywords.
  • platform/mac/compositing/iframes/iframe-copy-on-scroll-expected.txt: Removed property svn:keywords.
  • platform/mac/compositing/plugins/composited-plugin-expected.txt: Removed property svn:keywords.
  • platform/mac/compositing/tiling/backface-preserve-3d-tiled-expected.txt: Removed property svn:keywords.
  • platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt: Removed property svn:keywords.
  • platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: Removed property svn:keywords.
  • platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt: Removed property svn:keywords.
  • platform/mac/compositing/tiling/tiled-layer-resize-expected.txt: Removed property svn:keywords.
  • platform/mac/compositing/visibility/visibility-composited-expected.txt: Removed property svn:keywords.
  • platform/mac/compositing/visibility/visibility-composited-transforms-expected.txt: Removed property svn:keywords.
  • platform/mac/compositing/visible-rect/2d-transformed-expected.txt: Removed property svn:keywords.
  • platform/mac/compositing/visible-rect/3d-transform-style-expected.txt: Removed property svn:keywords.
  • platform/mac/compositing/visible-rect/3d-transformed-expected.txt: Removed property svn:keywords.
  • platform/mac/compositing/visible-rect/animated-expected.txt: Removed property svn:keywords.
  • platform/mac/compositing/visible-rect/animated-from-none-expected.txt: Removed property svn:keywords.
  • platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt: Removed property svn:keywords.
  • platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt: Removed property svn:keywords.
  • platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt: Removed property svn:keywords.
  • platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt: Removed property svn:keywords.
  • platform/mac/compositing/visible-rect/nested-transform-expected.txt: Removed property svn:keywords.
  • platform/mac/compositing/visible-rect/scrolled-expected.txt: Removed property svn:keywords.
  • platform/mac/css3/blending/svg-blend-plus-darker-expected.txt: Removed property svn:keywords.
  • platform/mac/css3/filters/composited-during-animation-layertree-expected.txt: Removed property svn:keywords.
  • platform/mac/css3/filters/composited-during-transition-layertree-expected.txt: Removed property svn:keywords.
  • platform/mac/editing/selection/mixed-editability-10-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/backgrounds/background-leakage-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/backgrounds/border-radius-split-background-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/backgrounds/border-radius-split-background-image-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/backgrounds/mask-box-image-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/borders/border-image-slice-constrained-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/borders/border-radius-inset-outset-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/borders/border-styles-split-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/borders/mixed-border-styles-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/borders/mixed-border-styles-radius-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/borders/mixed-border-styles-radius2-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/borders/table-borders-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/canvas/webgl/oes-element-index-uint-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/css/first-letter-punctuation-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/css/sticky/nested-sticky-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/css/sticky/sticky-in-transform-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/css/transformed-mask-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/events/clientXY-in-zoom-and-scroll-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/forms/input-baseline-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/forms/placeholder-position-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/forms/range/slider-mouse-events-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/forms/search/search-size-with-decorations-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/gradients/radial-centered-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/html/details-marker-style-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/inline/left-right-center-inline-alignment-in-ltr-and-rtl-blocks-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/loader/javascript-url-in-embed-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/multicol/span/clone-flexbox-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/multicol/span/clone-summary-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/repaint/multicol-repaint-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/repaint/search-field-cancel-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/replaced/table-percent-height-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/text/international/cjk-segmentation-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/text/international/synthesized-italic-vertical-latin-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/transforms/transforms-with-zoom-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/writing-mode/border-styles-vertical-lr-expected.txt: Removed property svn:keywords.
  • platform/mac/fast/writing-mode/border-styles-vertical-rl-expected.txt: Removed property svn:keywords.
  • platform/mac/http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt: Removed property svn:keywords.
  • platform/mac/http/tests/webarchive/cross-origin-stylesheet-crash-expected.txt: Removed property svn:keywords.
  • platform/mac/http/tests/webarchive/test-preload-resources-expected.txt: Removed property svn:keywords.
  • platform/mac/inspector/device-orientation-success-expected.txt: Removed property svn:keywords.
  • platform/mac/js/dom/global-constructors-attributes-expected.txt: Removed property svn:keywords.
  • platform/mac/media/video-controls-captions-trackmenu-expected.txt: Removed property svn:keywords.
  • platform/mac/media/video-controls-captions-trackmenu-hide-on-click-expected.txt: Removed property svn:keywords.
  • platform/mac/media/video-controls-captions-trackmenu-localized-expected.txt: Removed property svn:keywords.
  • platform/mac/media/video-controls-captions-trackmenu-sorted-expected.txt: Removed property svn:keywords.
  • platform/mac/platform/mac/accessibility/press-action-is-first-expected.txt: Removed property svn:keywords.
  • platform/mac/platform/mac/accessibility/role-subrole-roledescription-expected.txt: Removed property svn:keywords.
  • platform/mac/plugins/testplugin-onnew-onpaint-expected.txt: Removed property svn:keywords.
  • platform/mac/plugins/testplugin-onnew-onpaint.html: Removed property svn:keywords.
  • platform/mac/svg/custom/image-with-prefix-in-webarchive-expected.txt: Removed property svn:keywords.
  • platform/mac/svg/webarchive/svg-cursor-subresources-expected.txt: Removed property svn:keywords.
  • platform/mac/svg/webarchive/svg-feimage-subresources-expected.txt: Removed property svn:keywords.
  • platform/mac/svg/webarchive/svg-script-subresouces-expected.txt: Removed property svn:keywords.
  • platform/mac/svg/zoom/page/zoom-mask-with-percentages-expected.txt: Removed property svn:keywords.
  • platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.txt: Removed property svn:keywords.
  • platform/mac/svg/zoom/page/zoom-svg-through-object-with-huge-size-expected.txt: Removed property svn:keywords.
  • platform/mac/svg/zoom/text/zoom-svg-float-border-padding-expected.txt: Removed property svn:keywords.
  • platform/mac/transforms/3d/point-mapping/3d-point-mapping-opacity-expected.txt: Removed property svn:keywords.
  • platform/mac/webarchive/adopt-attribute-styled-body-webarchive-expected.txt: Removed property svn:keywords.
  • platform/mac/webarchive/adopt-attribute-styled-node-webarchive-expected.txt: Removed property svn:keywords.
  • platform/mac/webarchive/adopt-inline-styled-node-webarchive-expected.txt: Removed property svn:keywords.
  • platform/mac/webarchive/archive-empty-frame-dom-expected.txt: Removed property svn:keywords.
  • platform/mac/webarchive/archive-empty-frame-source-expected.txt: Removed property svn:keywords.
  • platform/mac/webarchive/archive-with-unencoded-url-expected.txt: Removed property svn:keywords.
  • platform/mac/webarchive/css-page-rule-crash-expected.txt: Removed property svn:keywords.
  • platform/mac/webarchive/doctype-expected.txt: Removed property svn:keywords.
  • platform/mac/webarchive/ignore-noscript-if-scripting-enabled-expected.txt: Removed property svn:keywords.
  • platform/mac/webarchive/test-body-background-expected.txt: Removed property svn:keywords.
  • platform/mac/webarchive/test-css-import-expected.txt: Removed property svn:keywords.
  • platform/mac/webarchive/test-duplicate-resources-expected.txt: Removed property svn:keywords.
  • platform/mac/webarchive/test-frameset-expected.txt: Removed property svn:keywords.
  • platform/mac/webarchive/test-img-src-expected.txt: Removed property svn:keywords.
  • platform/mac/webarchive/test-input-src-expected.txt: Removed property svn:keywords.
  • platform/mac/webarchive/test-link-href-expected.txt: Removed property svn:keywords.
  • platform/mac/webarchive/test-link-rel-icon-beforeload-expected.txt: Removed property svn:keywords.
  • platform/mac/webarchive/test-object-data-expected.txt: Removed property svn:keywords.
  • platform/mac/webarchive/test-script-src-expected.txt: Removed property svn:keywords.
  • platform/mac/webarchive/test-table-background-expected.txt: Removed property svn:keywords.
  • platform/mac/webarchive/test-td-background-expected.txt: Removed property svn:keywords.
  • platform/mac/webarchive/test-xml-stylesheet-expected.txt: Removed property svn:keywords.
  • platform/win-future/accessibility/svg-remote-element-expected.txt: Removed property svn:keywords.
  • platform/win/animations/additive-transform-animations-expected.txt: Removed property svn:keywords.
  • platform/win/compositing/geometry/composited-html-size-expected.txt: Removed property svn:keywords.
  • platform/win/compositing/iframes/iframe-copy-on-scroll-expected.txt: Removed property svn:keywords.
  • platform/win/fast/canvas/webgl/angle-instanced-arrays-expected.txt: Removed property svn:keywords.
  • platform/win/fast/canvas/webgl/angle-instanced-arrays-out-of-bounds-expected.txt: Removed property svn:keywords.
  • platform/win/fast/css/first-letter-punctuation-expected.txt: Removed property svn:keywords.
  • platform/win/fast/css/transformed-mask-expected.txt: Removed property svn:keywords.
  • platform/win/fast/forms/input-set-composition-scroll-expected.txt: Removed property svn:keywords.
  • platform/win/fast/forms/select/popup-closes-on-blur-expected.txt: Removed property svn:keywords.
  • platform/win/fast/gradients/radial-centered-expected.txt: Removed property svn:keywords.
  • platform/win/fast/html/details-marker-style-expected.txt: Removed property svn:keywords.
  • platform/win/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt: Removed property svn:keywords.
  • platform/win/fast/inline/left-right-center-inline-alignment-in-ltr-and-rtl-blocks-expected.txt: Removed property svn:keywords.
  • platform/win/fast/repaint/multicol-repaint-expected.txt: Removed property svn:keywords.
  • platform/win/fast/repaint/search-field-cancel-expected.txt: Removed property svn:keywords.
  • platform/win/fast/text/international/cjk-segmentation-expected.txt: Removed property svn:keywords.
  • platform/win/fast/transforms/transforms-with-zoom-expected.txt: Removed property svn:keywords.
  • platform/win/http/tests/navigation/javascriptlink-frame-expected.txt: Removed property svn:keywords.
  • platform/win/platform/mac/accessibility/form-control-value-settable-expected.txt: Removed property svn:keywords.
  • platform/win/platform/mac/accessibility/press-action-is-first-expected.txt: Removed property svn:keywords.
  • platform/win/platform/mac/editing/spelling/autocorrection-at-beginning-of-word-1-expected.txt: Removed property svn:keywords.
  • platform/win/platform/mac/editing/spelling/autocorrection-at-beginning-of-word-2-expected.txt: Removed property svn:keywords.
  • platform/win/platform/mac/fast/forms/attributed-strings-expected.txt: Removed property svn:keywords.
  • platform/win/platform/mac/fast/forms/indeterminate-progress-inline-height-expected.txt: Removed property svn:keywords.
  • platform/win/platform/mac/fast/forms/input-appearance-spinbutton-expected.txt: Removed property svn:keywords.
  • platform/win/platform/mac/fast/forms/input-appearance-spinbutton-size-expected.txt: Removed property svn:keywords.
  • platform/win/platform/mac/fast/forms/input-number-click-expected.txt: Removed property svn:keywords.
  • platform/win/platform/mac/fast/loader/file-url-mimetypes-expected.txt: Removed property svn:keywords.
  • platform/win/svg/zoom/page/zoom-mask-with-percentages-expected.txt: Removed property svn:keywords.
  • platform/win/svg/zoom/page/zoom-svg-float-border-padding-expected.txt: Removed property svn:keywords.
  • platform/win/svg/zoom/page/zoom-svg-through-object-with-huge-size-expected.txt: Removed property svn:keywords.
  • platform/win/svg/zoom/text/zoom-svg-float-border-padding-expected.txt: Removed property svn:keywords.
  • plugins/frameset-with-plugin-frame-expected.txt: Removed property svn:keywords.
  • plugins/frameset-with-plugin-frame.html: Removed property svn:keywords.
  • plugins/resources/frame-with-plugin-subframe.html: Removed property svn:keywords.
  • plugins/resources/plugin-frame.html: Removed property svn:keywords.
  • plugins/resources/plugin-page.html: Removed property svn:keywords.
  • plugins/resources/target-frameset-frame.html: Removed property svn:keywords.
  • plugins/resources/target-frameset.html: Removed property svn:keywords.
  • plugins/snapshot-appearance-expected.html: Removed property svn:keywords.
  • plugins/snapshot-appearance.html: Removed property svn:keywords.
  • plugins/snapshotting/autoplay-similar-to-dominant-after-delay.html: Removed property svn:keywords.
  • plugins/snapshotting/autoplay-similar-to-dominant.html: Removed property svn:keywords.
  • plugins/snapshotting/restart.html: Removed property svn:keywords.
  • plugins/snapshotting/simple.html: Removed property svn:keywords.
  • scrollbars/scrollbar-parts-opacity-expected.html: Removed property svn:keywords.
  • scrollbars/scrollbar-parts-opacity.html: Removed property svn:keywords.
  • svg/animations/unsupported-animate-element-attributes-expected.svg: Removed property svn:keywords.
  • svg/animations/unsupported-animate-element-attributes.svg: Removed property svn:keywords.
  • svg/text/text-style-invalid-expected.txt: Removed property svn:keywords.
  • svg/text/text-style-invalid.svg: Removed property svn:keywords.
  • transforms/3d/general/3dtransform-values-expected.txt: Removed property svn:keywords.
  • transforms/3d/general/3dtransform-values.html: Removed property svn:keywords.
  • transforms/3d/general/background-visibility-layers.html: Removed property svn:keywords.
  • transforms/3d/hit-testing/composited-hit-test-expected.txt: Removed property svn:keywords.
  • transforms/3d/hit-testing/composited-hit-test.html: Removed property svn:keywords.
  • transforms/3d/hit-testing/resources/hit-test-utils.js: Removed property svn:keywords.
  • transforms/3d/hit-testing/rotated-hit-test-expected.txt: Removed property svn:keywords.
  • transforms/3d/hit-testing/rotated-hit-test-with-child-expected.txt: Removed property svn:keywords.
  • transforms/3d/hit-testing/rotated-hit-test-with-child.html: Removed property svn:keywords.
  • transforms/3d/hit-testing/rotated-hit-test2-expected.txt: Removed property svn:keywords.
  • transforms/3d/hit-testing/rotated-hit-test2.html: Removed property svn:keywords.
  • transitions/3d/interrupted-transition-expected.txt: Removed property svn:keywords.
  • transitions/3d/interrupted-transition.html: Removed property svn:keywords.
  • transitions/border-radius-transition-expected.txt: Removed property svn:keywords.
  • transitions/border-radius-transition.html: Removed property svn:keywords.
  • transitions/clip-transition-expected.txt: Removed property svn:keywords.
  • transitions/clip-transition.html: Removed property svn:keywords.
  • transitions/created-while-suspended-expected.txt: Removed property svn:keywords.
  • transitions/created-while-suspended.html: Removed property svn:keywords.
  • transitions/longhand-vs-shorthand-initial-expected.txt: Removed property svn:keywords.
  • transitions/longhand-vs-shorthand-initial.html: Removed property svn:keywords.
  • transitions/mismatched-shadow-transitions-expected.txt: Removed property svn:keywords.
  • transitions/mismatched-shadow-transitions.html: Removed property svn:keywords.
  • transitions/multiple-text-shadow-transition-expected.txt: Removed property svn:keywords.
  • transitions/multiple-text-shadow-transition.html: Removed property svn:keywords.
  • transitions/started-while-suspended-expected.txt: Removed property svn:keywords.
  • transitions/started-while-suspended.html: Removed property svn:keywords.
  • transitions/steps-timing-function-expected.txt: Removed property svn:keywords.
  • transitions/steps-timing-function.html: Removed property svn:keywords.
  • transitions/suspend-transform-transition-expected.txt: Removed property svn:keywords.
  • transitions/suspend-transform-transition.html: Removed property svn:keywords.
  • transitions/svg-transitions-expected.txt: Removed property svn:keywords.
  • transitions/svg-transitions.html: Removed property svn:keywords.
  • transitions/transition-on-element-with-content-expected.txt: Removed property svn:keywords.
  • transitions/transition-on-element-with-content.html: Removed property svn:keywords.
  • webaudio/realtimeanalyser-fft-scaling-expected.txt: Removed property svn:keywords.
  • webaudio/realtimeanalyser-fft-scaling.html: Removed property svn:keywords.
12:04 PM Changeset in webkit [180440] by timothy_horton@apple.com
  • 4 edits in trunk/Tools

[WebEditingTester] Expand "WK" to "WebKit" in a few places
https://bugs.webkit.org/show_bug.cgi?id=141833

Reviewed by Anders Carlsson.

  • WebEditingTester/AppDelegate.h:
  • WebEditingTester/AppDelegate.m:

(-[WebEditingAppDelegate newEditor:]):
(-[WebEditingAppDelegate toggleUseWebKit2ByDefault:]):
(-[WebEditingAppDelegate validateMenuItem:]):
(-[WebEditingAppDelegate _updateNewWindowKeyEquivalents]):
(-[WebEditingAppDelegate applicationDidFinishLaunching:]): Deleted.
(-[WebEditingAppDelegate applicationWillTerminate:]): Deleted.
(-[WebEditingAppDelegate showOperations:]): Deleted.

  • WebEditingTester/MainMenu.xib:

The WK abbreviation is unnaturally grating in menu items for some reason.

12:02 PM Changeset in webkit [180439] by timothy_horton@apple.com
  • 3 edits
    4 adds in trunk/Tools

[WebEditingTester] Add a custom protocol for loading canned content
https://bugs.webkit.org/show_bug.cgi?id=141830

Reviewed by Enrica Casucci.

Add a canned:// protocol handler, which can be used to emulate behaviors
in WebKit client apps (like Mail) that use custom protocol handlers,
which can have important effects on editing (mostly, the URLs are only
valid inside of the client application, but not when copied/dragged out).

For now, we only support two canned files:

canned://dice is a PNG of dice (stolen from LayoutTests/)
canned://text is the string "canned text" served as text/html

In the future we could support things like very large (generated) files,
progressive loading, etc. to further simulate conditions in other apps.

  • WebEditingTester/AppDelegate.m:

(-[WebEditingAppDelegate applicationDidFinishLaunching:]):
Register the protocol with CFNetwork, and the scheme with WebKit2.

  • WebEditingTester/Canned Content/dice.png: Added.
  • WebEditingTester/CannedContent.h: Added.
  • WebEditingTester/CannedContent.m: Added.

(-[CannedContent initWithRequest:cachedResponse:client:]):
(+[CannedContent canonicalRequestForRequest:]):
(+[CannedContent canInitWithRequest:]):
We only want to handle canned:// URLs.

(-[CannedContent startLoading]):
For now, immediately load the two files we know about.
Otherwise, immediately fail the load.

(-[CannedContent stopLoading]):

  • WebEditingTester/WebEditingTester.xcodeproj/project.pbxproj:
11:59 AM Changeset in webkit [180438] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

[WebEditingTester] Implement an open panel
https://bugs.webkit.org/show_bug.cgi?id=141829

Reviewed by Simon Fraser.

  • WebEditingTester/AppDelegate.m:

(-[WebEditingAppDelegate _useWebKit1ForOpeningDocument:]):
(-[WebEditingAppDelegate _useWebKit2ForOpeningDocument:]):
(-[WebEditingAppDelegate openDocument:]):
Add an open panel (with radio buttons to pick which WebKit to open with).
Loads the file as an HTML string.

11:51 AM Changeset in webkit [180437] by Csaba Osztrogonác
  • 4 edits in trunk/Source

EFL URTBF

Source/WebKit2:

  • Platform/efl/DispatchQueueEfl.cpp:

Source/WTF:

  • wtf/PlatformEfl.cmake:
11:45 AM Changeset in webkit [180436] by Simon Fraser
  • 4 edits in trunk/Tools

[WebEditingTester] @properties, dot syntax, and remember the window position
https://bugs.webkit.org/show_bug.cgi?id=141843

Reviewed by Tim Horton.

Modernize a bit with more dot syntax, use @property for the web views,
and give the main window an Autosave name so it remembers the widow position.

  • WebEditingTester/WK1WebDocumentController.m:

(-[WK1WebDocumentController awakeFromNib]):
(-[WK1WebDocumentController loadHTMLString:]):

  • WebEditingTester/WK2WebDocumentController.m:

(-[WK2WebDocumentController awakeFromNib]):

  • WebEditingTester/WebDocument.xib:
11:43 AM Changeset in webkit [180435] by dburkart@apple.com
  • 3 edits in branches/safari-600.5-branch/Source/WebKit2

Merged r180293. <rdar://19890148>

11:35 AM Changeset in webkit [180434] by Simon Fraser
  • 2 edits in trunk/Source/WTF

RunLoop::dispatch() should drop the mutex before calling wakeUp().
https://bugs.webkit.org/show_bug.cgi?id=141820

Reviewed by Alexey Proskuryakov.

RunLoop::wakeUp() calls into CoreFoundation which could take time,
so scope the mutex just to protect m_functionQueue.

  • wtf/RunLoop.cpp:

(WTF::RunLoop::dispatch):

11:35 AM Changeset in webkit [180433] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

URTBF after r180410, WorkQueue.h is in WTF now.

  • Platform/efl/DispatchQueueWorkItemEfl.h:
11:35 AM Changeset in webkit [180432] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Add a setting for clearing the console on page reload
https://bugs.webkit.org/show_bug.cgi?id=134414

Patch by Ronald Jett <rjett@apple.com> on 2015-02-20
Reviewed by Timothy Hatcher.

Created a new setting "clear-log-on-reload", which defaults to true.
Users can toggle this setting with an item added to the console's context menu.
When enabled, the console will clear on page reload. When disabled, the console
content will remain during page reloads.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView):
(WebInspector.LogContentView.prototype._sessionStarted):
(WebInspector.LogContentView.prototype._handleContextMenuEvent):
(WebInspector.LogContentView.prototype._toggleClearLogOnReloadSetting):

11:32 AM Changeset in webkit [180431] by Lucas Forschler
  • 3 edits in branches/safari-600.1.4.15-branch/Source/JavaScriptCore

Merged r180237. rdar://problem/19871091

11:28 AM Changeset in webkit [180430] by ggaren@apple.com
  • 5 edits in trunk/Source/bmalloc

bmalloc should implement malloc introspection (to stop false-positive leaks when MallocStackLogging is off)
https://bugs.webkit.org/show_bug.cgi?id=141802

Reviewed by Andreas Kling.

Rolling back in with a fix for a crash seen while using GuardMalloc.

  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::grow):

  • bmalloc/VMHeap.h:
  • bmalloc/Zone.cpp: Re-land the old patch.

(bmalloc::Zone::size): Be sure to implement the size() function since
it's accessible indirectly via the malloc_zone_from_ptr public API --
and GuardMalloc calls it all the time.

(bmalloc::Zone::Zone):

  • bmalloc/Zone.h: Re-land the old patch.
11:17 AM Changeset in webkit [180429] by timothy_horton@apple.com
  • 9 edits in trunk/Tools

[WebEditingTester] Hook up key equivalents for new window action
https://bugs.webkit.org/show_bug.cgi?id=141828

Reviewed by Enrica Casucci.

  • WebEditingTester/AppDelegate.h:
  • WebEditingTester/AppDelegate.m:

(-[WebEditingAppDelegate applicationDidFinishLaunching:]):
(-[WebEditingAppDelegate newEditor:]):
(-[WebEditingAppDelegate _defaultWebDocumentControllerClass]):
(-[WebEditingAppDelegate toggleUseWK2ByDefault:]):
(-[WebEditingAppDelegate _updateNewWindowKeyEquivalents]):
(defaultConfiguration): Deleted.
(-[WebEditingAppDelegate applicationWillTerminate:]): Deleted.
Move WKWebViewConfiguration setup into WK2WebDocumentController.
Remove unused application termination code.
Update new-window menu item key equivalents when launching and when
changing the use-WebKit2-by-default setting.
Make WebDocumentController subclasses all initialized the same way,
and use that to factor out alloc/init.
Rename loadContent to loadHTMLString for future use.

  • WebEditingTester/MainMenu.xib:

Add default key equivalents.
Cmd-N will always make the default kind of window (controlled by the pref).
Cmd-Opt-N will always make the other kind.
The menu items are configured as alternates so they only show up if you
press alt (just like in MiniBrowser).

  • WebEditingTester/WK1WebDocumentController.m:

(-[WK1WebDocumentController loadHTMLString:]):
(-[WK1WebDocumentController loadContent]): Deleted.

  • WebEditingTester/WK2WebDocumentController.h:
  • WebEditingTester/WK2WebDocumentController.m:

(defaultConfiguration):
(-[WK2WebDocumentController awakeFromNib]):
(-[WK2WebDocumentController loadHTMLString:]):
(-[WK2WebDocumentController initWithConfiguration:]): Deleted.
(-[WK2WebDocumentController dealloc]): Deleted.

  • WebEditingTester/WebDocumentController.h:
  • WebEditingTester/WebDocumentController.m:

(-[WebDocumentController init]):
(-[WebDocumentController initWithWindow:]):
(+[WebDocumentController defaultEditingSource]):
(-[WebDocumentController loadHTMLString:]):
(-[WebDocumentController windowDidLoad]): Deleted.
(-[WebDocumentController defaultEditingSource]): Deleted.
(-[WebDocumentController applicationTerminating]): Deleted.
(-[WebDocumentController loadContent]): Deleted.

11:16 AM Changeset in webkit [180428] by dburkart@apple.com
  • 4 edits
    2 copies in branches/safari-600.5-branch

Merged r180278. <rdar://19878813>

11:15 AM Changeset in webkit [180427] by timothy_horton@apple.com
  • 5 edits in trunk/Tools

[WebEditingTester] ARC-ify WebEditingTester
https://bugs.webkit.org/show_bug.cgi?id=141827

Reviewed by Sam Weinig.

  • WebEditingTester/AppDelegate.m:

(-[WebEditingAppDelegate showOperations:]):

  • WebEditingTester/EditingOperations.m:

(editingOperations):

  • WebEditingTester/WK1WebDocumentController.m:

(-[WK1WebDocumentController dealloc]): Deleted.

  • WebEditingTester/WK2WebDocumentController.m:

(-[WK2WebDocumentController dealloc]): Deleted.

  • WebEditingTester/WebEditingTester.xcodeproj/project.pbxproj:

Turn on ARC and remove a few retain/release/autorelease calls.
We don't need to implement dealloc in either document controller
because WebView and WKWebView's UIDelegate property does not hold a
strong reference.

11:15 AM Changeset in webkit [180426] by Brent Fulgham
  • 6 edits in trunk/Source/WebCore

[Mac] REGRESSION: Scroll snap points broken after r180018
https://bugs.webkit.org/show_bug.cgi?id=141821
<rdar://problem/19898333>

Reviewed by Simon Fraser.

  • page/EventHandler.cpp:

(WebCore::EventHandler::platformNotifySnapIfNecessary): Added stub.
(WebCore::EventHandler::handleWheelEvent): Call new 'platformNotifySnapIfNecessary' method
to catch the 'ended wheel' gesture.

  • page/EventHandler.h:
  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::platformNotifySnapIfNecessary): Added. If the wheel event signifies
the end of a wheel/swipe gesture, let the snap logic decide if it should do anything
(i.e., trigger an animation)

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::processWheelEventForScrollSnap): Added.

  • platform/ScrollAnimator.h:
11:13 AM Changeset in webkit [180425] by timothy_horton@apple.com
  • 3 edits
    2 adds in trunk/Tools

[WebEditingTester] Factor out list of editing operations
https://bugs.webkit.org/show_bug.cgi?id=141826

Reviewed by Sam Weinig.

  • WebEditingTester/AppDelegate.m:

(-[WebEditingAppDelegate showOperations:]):

  • WebEditingTester/EditingOperations.h: Added.
  • WebEditingTester/EditingOperations.m: Added.

(editingOperations):

  • WebEditingTester/WebEditingTester.xcodeproj/project.pbxproj:

Move EditingOperations array to its own file, and make it an NSArray
instead of a C array. Adjust accordingly in showOperations:.

10:52 AM March 2015 Meeting edited by Simon Fraser
(diff)
10:49 AM Changeset in webkit [180424] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Use toAPI when returning the object graph as a WKTypeRef
https://bugs.webkit.org/show_bug.cgi?id=141841

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKProcessGroup.mm:

(getInjectedBundleInitializationUserData):

10:38 AM Changeset in webkit [180423] by msaboff@apple.com
  • 9 edits in trunk

DFG JIT needs to check for stack overflow at the start of Program and Eval execution
https://bugs.webkit.org/show_bug.cgi?id=141676

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Added stack check to the beginning of the code the DFG copmiler emits for Program and Eval nodes.
To aid in testing the code, I replaced the EvalCodeCache::maxCacheableSourceLength const
a options in runtime/Options.h. The test script, run-jsc-stress-tests, sets that option
to a huge value when running with the "Eager" options. This allows the updated test to
reliably exercise the code in questions.

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compile):
Added stack check.

  • bytecode/EvalCodeCache.h:

(JSC::EvalCodeCache::tryGet):
(JSC::EvalCodeCache::getSlow):

  • runtime/Options.h:

Replaced EvalCodeCache::imaxCacheableSourceLength with Options::maximumEvalCacheableSourceLength
so that it can be configured when running the related test.

Tools:

Set the newly added --maximumEvalCacheableSourceLength option for eager test runs. This is needed
to allow the eval out of stack tests to tier up. Without this option, we don't cache the likely
large string expression that we want to eval.

  • Scripts/run-jsc-stress-tests:

LayoutTests:

Updated the check for out of stack at eval entry test from using a fixed number of frame to
back track to now adjust the amount of back tracking up the stack based on where we can run a
simple eval(). At that point in the stack we try to cause an out of stack exception.

Also added a second pass of the test that takes the originally failing eval and tiers that
eval expression up to the DFG when used with the agreessive options of run-jsc-stress-tests.
This was done to reduce the amount of time the test takes to run in debug builds.

  • js/regress-141098-expected.txt:
  • js/script-tests/regress-141098.js:

(testEval):
(probeAndRecurse):

10:29 AM Changeset in webkit [180422] by dburkart@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebKit2

Merged r180242. <rdar://19870992>

10:22 AM Changeset in webkit [180421] by dburkart@apple.com
  • 3 edits in branches/safari-600.5-branch/Source/JavaScriptCore

Merged r180237. <rdar://19870991>

10:08 AM Changeset in webkit [180420] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Media tests are still failing. Turning back off.

  • platform/win/TestExpectations:
10:03 AM Changeset in webkit [180419] by dburkart@apple.com
  • 12 edits
    8 copies in branches/safari-600.5-branch

Merged r180150. <rdar://19894685>

9:38 AM Changeset in webkit [180418] by dburkart@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r180147. <rdar://19850657>

9:15 AM Changeset in webkit [180417] by Brent Fulgham
  • 6 edits
    1 add in trunk/LayoutTests

[Win] Test results gardening.

  • platform/win/TestExpectations:
  • platform/win/fast/frames/frame-scrolling-attribute-expected.txt:
  • platform/win/fast/multicol/span/span-as-immediate-columns-child-expected.png: Added.
  • platform/win/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
  • platform/win/http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients-expected.txt:
  • platform/win/svg/W3C-SVG-1.1/masking-path-04-b-expected.txt:
9:05 AM Changeset in webkit [180416] by eric.carlson@apple.com
  • 34 edits in trunk/Source

[iOS] cleanup AirPlay code
https://bugs.webkit.org/show_bug.cgi?id=141811

Reviewed by Jer Noble.

  • Configurations/FeatureDefines.xcconfig: IOS_AIRPLAY -> WIRELESS_PLAYBACK_TARGET.

Source/WebCore:

  • Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp: Ditto.
  • Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.h:
  • Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.idl:
  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::externalDeviceDisplayName): Ditto.
(WebCore::MediaControlsHost::externalDeviceType):

  • dom/EventNames.h: Ditto.
  • dom/EventNames.in:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement): Ditto.
(WebCore::HTMLMediaElement::~HTMLMediaElement): Ditto.
(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h:
  • html/HTMLMediaElement.idl:
  • html/HTMLMediaSession.cpp:

(WebCore::restrictionName): Ditto.
(WebCore::HTMLMediaSession::applyMediaPlayerRestrictions): Ditto.

  • html/HTMLMediaSession.h:
  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::parseAttribute): Ditto.

  • html/HTMLVideoElement.h:
  • html/HTMLVideoElement.idl:
  • page/Settings.in: Ditto.
  • platform/audio/MediaSessionManager.h:
  • platform/audio/ios/MediaSessionManagerIOS.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm: Ditto.
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::showPlaybackTargetPicker): Deleted.
(WebCore::MediaPlayer::hasWirelessPlaybackTargets): Deleted.

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::showPlaybackTargetPicker): Deleted.
(WebCore::MediaPlayerPrivateInterface::hasWirelessPlaybackTargets): Deleted.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::rateChanged):
(WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification):

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): IOS_AIRPLAY -> WIRELESS_PLAYBACK_TARGET.
(WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenLayer): Ditto.
(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]): Ditto.

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences): Ditto.

8:54 AM Changeset in webkit [180415] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk/LayoutTests

Unreviewed GTK+ Gardening 20th February
https://bugs.webkit.org/show_bug.cgi?id=141840

Patch by Marcos Chavarría Teijeiro <chavarria1991@gmail.com> on 2015-02-20

  • platform/gtk/TestExpectations:
  • platform/gtk/http/tests/w3c/webperf/approved/navigation-timing/html/test_timing_xserver_redirect-expected.txt: Rebaselined after r177770 (This revision adds a new comment line and so it modifies the test stack trace lines number).
  • platform/gtk/tables/mozilla/bugs/bug157890-expected.txt: Added. Rebaselined after r177773.
8:52 AM Changeset in webkit [180414] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Reactivate media tests to see if updates fixed the problem.

  • platform/win/TestExpectations:
8:18 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
8:13 AM Changeset in webkit [180413] by diorahman@rockybars.com
  • 12 edits in trunk

Language ranges containing asterisks must be quoted as strings
https://bugs.webkit.org/show_bug.cgi?id=141659

Reviewed by Benjamin Poulain.

Source/WebCore:

As specified in [1], the language ranges containing asterisks must be quoted as strings.

[1] http://dev.w3.org/csswg/selectors-4/#the-lang-pseudo.

  • css/CSSGrammar.y.in:
  • css/CSSParser.cpp:

(WebCore::CSSParser::realLex):

LayoutTests:

Ensure language ranges containing asterisks are quoted as strings.

  • fast/css/css-selector-text-expected.txt:
  • fast/css/css-selector-text.html:
  • fast/css/parsing-css-lang-expected.txt:
  • fast/css/parsing-css-lang.html:
  • fast/selectors/lang-extended-filtering-expected.txt:
  • fast/selectors/lang-extended-filtering.html:
  • fast/selectors/lang-valid-extended-filtering-expected.txt:
  • fast/selectors/lang-valid-extended-filtering.html:
7:30 AM Changeset in webkit [180412] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WTF

Unreviewed, EFL build fix since r180410.

  • wtf/PlatformEfl.cmake: Add WEBKIT2/Platform/efl path in order to include DispatchQueueEfl.h.
6:28 AM Changeset in webkit [180411] by gyuyoung.kim@samsung.com
  • 9 edits in trunk/Source/WebKit2

[WK2][EFL] Fix the build after r180362
https://bugs.webkit.org/show_bug.cgi?id=141836

Reviewed by Carlos Garcia Campos.

As r180409, EFL port needs to add missing includes for several features,
and needs to have a specific implementation of toAPI/toImple for EFL port.

  • UIProcess/API/C/WKBatteryManager.cpp:
  • UIProcess/API/C/WKPage.cpp:
  • UIProcess/API/C/efl/WKAPICastEfl.h:

(WebKit::toAPI):
(WebKit::toImpl):

  • UIProcess/API/efl/ewk_url_scheme_request.cpp:
  • UIProcess/CoordinatedGraphics/WebViewClient.cpp:
  • UIProcess/efl/WebUIPopupMenuClient.cpp:
  • UIProcess/efl/WebViewEfl.cpp:
  • WebProcess/efl/ExtensionManagerEfl.cpp:
6:18 AM Changeset in webkit [180410] by Antti Koivisto
  • 19 edits
    5 moves
    1 add in trunk/Source

Move WorkQueue from WK2 to WTF
https://bugs.webkit.org/show_bug.cgi?id=141797

Reviewed by Anders Carlsson.

Source/WebKit2:

  • CMakeLists.txt:
  • DatabaseProcess/DatabaseProcess.h:
  • Platform/IPC/Connection.h:
  • Platform/WorkQueue.cpp: Removed.
  • Platform/WorkQueue.h: Removed.
  • Platform/efl/WorkQueueEfl.cpp: Removed.
  • Platform/gtk/WorkQueueGtk.cpp: Removed.
  • Platform/mac/WorkQueueMac.cpp: Removed.
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • Shared/Network/CustomProtocols/CustomProtocolManager.h:
  • UIProcess/Launcher/ProcessLauncher.cpp:
  • UIProcess/Storage/LocalStorageDatabase.cpp:
  • UIProcess/Storage/LocalStorageDatabase.h:
  • UIProcess/Storage/LocalStorageDatabaseTracker.cpp:
  • UIProcess/Storage/LocalStorageDatabaseTracker.h:
  • UIProcess/Storage/StorageManager.cpp:
  • UIProcess/Storage/StorageManager.h:
  • WebKit2.xcodeproj/project.pbxproj:

Source/WTF:

It may be useful in WebCore.

Windows implementation is still missing.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/PlatformGTK.cmake:
  • wtf/WorkQueue.cpp: Copied from Source/WebKit2/Platform/WorkQueue.cpp.
  • wtf/WorkQueue.h: Copied from Source/WebKit2/Platform/WorkQueue.h.
  • wtf/cocoa: Added.
  • wtf/cocoa/WorkQueueCocoa.cpp: Copied from Source/WebKit2/Platform/mac/WorkQueueMac.cpp.
  • wtf/efl/WorkQueueEfl.cpp: Copied from Source/WebKit2/Platform/efl/WorkQueueEfl.cpp.
  • wtf/gtk/WorkQueueGtk.cpp: Copied from Source/WebKit2/Platform/gtk/WorkQueueGtk.cpp.
3:16 AM Changeset in webkit [180409] by Carlos Garcia Campos
  • 6 edits in trunk/Source/WebKit2

[WK2][GTK] Fix the build after r180362
https://bugs.webkit.org/show_bug.cgi?id=141813

Reviewed by Žan Doberšek.

Add several missing includes and a specific implementation of
toAPI/toImpl for GTK+ WebView.

  • UIProcess/API/C/gtk/WKAPICastGtk.h:

(WebKit::toAPI):
(WebKit::toImpl):

  • UIProcess/API/C/gtk/WKView.cpp:
  • UIProcess/API/gtk/WebKitFormClient.cpp:
  • UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManagerClient.cpp:
  • UIProcess/gtk/WebInspectorClientGtk.cpp:
3:00 AM Changeset in webkit [180408] by bshafiei@apple.com
  • 8 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r180364. rdar://problem/19432897

2:57 AM Changeset in webkit [180407] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r180147. rdar://problem/19871065

2:10 AM Changeset in webkit [180406] by gyuyoung.kim@samsung.com
  • 21 edits in trunk/Source/WebCore

Use std::unique_ptr instead of PassOwnPtr|OwnPtr in MediaPlayerFoo classes
https://bugs.webkit.org/show_bug.cgi?id=137765

Reviewed by Ryosuke Niwa.

As a step to use std::unique_ptr|std::make_unique<>, this patch changes use of OwnPtr|PassOwnPtr
with std::unique_ptr<>|std::make_unique<>. To remove all create() factory function, lambdas is
used in registerMediaEngine().

No new tests, no behavior changes.

  • WebCore.exp.in:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::NullMediaPlayerPrivate::NullMediaPlayerPrivate):
(WebCore::MediaPlayer::MediaPlayer):
(WebCore::MediaPlayer::loadWithNextMediaEngine):
(WebCore::createNullMediaPlayer): Deleted.

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayer::create): Deleted.

  • platform/graphics/MediaPlayerPrivate.h:
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::MediaPlayerPrivateAVFoundationCF::registerMediaEngine):
(WebCore::MediaPlayerPrivateAVFoundationCF::create): Deleted.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::registerMediaEngine):
(WebCore::MediaPlayerPrivateAVFoundationObjC::create): Deleted.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::create): Deleted.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine):
(WebCore::MediaPlayerPrivateGStreamer::create): Deleted.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::MediaPlayerPrivateQTKit::registerMediaEngine):
(WebCore::MediaPlayerPrivateQTKit::create): Deleted.

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:

(WebCore::MediaPlayerPrivateMediaFoundation::registerMediaEngine):
(WebCore::MediaPlayerPrivateMediaFoundation::create): Deleted.

  • platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::registerMediaEngine):
(WebCore::MockMediaPlayerMediaSource::create): Deleted.

  • platform/mock/mediasource/MockMediaPlayerMediaSource.h:
2:01 AM Changeset in webkit [180405] by bshafiei@apple.com
  • 7 edits
    3 copies in branches/safari-600.1.4.15-branch

Merged r180191. rdar://problem/19871066

1:58 AM Changeset in webkit [180404] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r180155. rdar://problem/19831573

1:57 AM Changeset in webkit [180403] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch

Merged r180128. rdar://problem/19871000

1:55 AM Changeset in webkit [180402] by bshafiei@apple.com
  • 4 edits in branches/safari-600.1.4.15-branch/Source/WebCore

Merged r180063. rdar://problem/19711532

1:53 AM Changeset in webkit [180401] by bshafiei@apple.com
  • 7 edits in branches/safari-600.1.4.15-branch/Source

Merged r180062. rdar://problem/19711532

1:51 AM Changeset in webkit [180400] by bshafiei@apple.com
  • 4 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r179955. rdar://problem/19711496

1:45 AM Changeset in webkit [180399] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r179877. rdar://problem/19871003

1:43 AM Changeset in webkit [180398] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-600.1.4.15-branch

Merged r179776. rdar://problem/19871004

1:40 AM Changeset in webkit [180397] by bshafiei@apple.com
  • 3 edits
    3 copies in branches/safari-600.1.4.15-branch

Merged r178224. rdar://problem/19871103

1:38 AM Changeset in webkit [180396] by bshafiei@apple.com
  • 4 edits in branches/safari-600.1.4.15-branch/Source/JavaScriptCore

Merged patch for rdar://problem/19828630.

12:23 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)

Feb 19, 2015:

11:41 PM Changeset in webkit [180395] by dburkart@apple.com
  • 5 edits in branches/safari-600.5-branch

Merged r180128. <rdar://19850739>

11:35 PM Changeset in webkit [180394] by ap@apple.com
  • 3 edits in trunk/LayoutTests

Array.from test fix.

Unreviewed.

Remove document.querySelectorAll use, as there is no DOM when running js tests
in run-javascriptcore-tests.

  • js/array-from-expected.txt:
  • js/script-tests/array-from.js:
11:28 PM Changeset in webkit [180393] by dburkart@apple.com
  • 5 edits in branches/safari-600.5-branch/Source/WebKit2

Merged r180115. <rdar://19850758>

11:18 PM Changeset in webkit [180392] by dburkart@apple.com
  • 8 edits in branches/safari-600.5-branch/Source/WebKit2

Merged r180094. <rdar://19850716>

11:04 PM Changeset in webkit [180391] by bshafiei@apple.com
  • 5 edits in branches/safari-600.4.10-branch/Source

Versioning.

11:01 PM Changeset in webkit [180390] by dburkart@apple.com
  • 10 edits in branches/safari-600.5-branch/Source

Merged r180076. <rdar://19850750>

10:45 PM Changeset in webkit [180389] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.4.10.3

New tag.

10:33 PM Changeset in webkit [180388] by saambarati1@gmail.com
  • 8 edits in trunk

Web Inspector: merge in upstream Esprima to support parsing more of ES6
https://bugs.webkit.org/show_bug.cgi?id=141215

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

This patch merges in a new esprima that has some ES6 support.
Specifically, the ES6 support ScriptSyntaxTree now has is:

  • ForOf loops
  • Object destructuring
  • Array destructuring

ScriptSyntaxTree now uses Symbols for identifying AST node types
instead of strings. This will prevent any direct usage of strings
for node types instead of a direct property access off the
ScriptSyntaxTree constructor.

This patch also does some gardening work:

  • TypeTokenAnnotator only walks over the incoming type information data once to be more efficient.
  • TypeTokenView is now smarter about updating its associated DOM node only if its display name has changed.
  • UserInterface/Controllers/TypeTokenAnnotator.js:

(WebInspector.TypeTokenAnnotator.prototype._insertTypeTokensForEachNode):

  • UserInterface/External/Esprima/esprima.js:

(.):

  • UserInterface/Models/ScriptSyntaxTree.js:

(WebInspector.ScriptSyntaxTree.prototype.gatherIdentifiersInVariableDeclaration):
(WebInspector.ScriptSyntaxTree.prototype._recurse):
(WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):

  • UserInterface/Views/TypeTokenView.js:

(WebInspector.TypeTokenView.prototype.update):

LayoutTests:

  • inspector/model/parse-script-syntax-tree-expected.txt:
  • inspector/model/parse-script-syntax-tree.html:
10:31 PM Changeset in webkit [180387] by dburkart@apple.com
  • 4 edits in branches/safari-600.5-branch/Source/WebCore

Merged r180063. <rdar://19812938>

10:14 PM Changeset in webkit [180386] by shiva.jm@samsung.com
  • 3 edits in trunk/Source/WebKit2

Fix build warning in WebKit2/WebProcess and UIProcess module.
https://bugs.webkit.org/show_bug.cgi?id=141794.

Reviewed by Anders Carlsson.

Fix build warning by using UNUSED_PARAM macro.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::computeWebProcessAccessType):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::deleteWebsiteData):

10:06 PM Changeset in webkit [180385] by dburkart@apple.com
  • 7 edits in branches/safari-600.5-branch/Source

Merged r180062. <rdar://19812938>

9:53 PM Changeset in webkit [180384] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Use of Array.from for NodeList/Arguments to Array conversion
https://bugs.webkit.org/show_bug.cgi?id=141819

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-19
Reviewed by Timothy Hatcher.

Array.from is clearer than Array.prototype.slice.call(arrayLike).

  • UserInterface/Base/Test.js:

(.console.logType):

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackend.Command.prototype.promise):
(InspectorBackend.Command.prototype._invokeWithArguments):

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype._allMessages):

9:40 PM Changeset in webkit [180383] by dburkart@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r179956. <rdar://19812935>

9:37 PM Changeset in webkit [180382] by dburkart@apple.com
  • 2 edits in branches/safari-600.5-branch/Source/WebCore

Merged r179937. <rdar://19812932>

9:30 PM Changeset in webkit [180381] by dburkart@apple.com
  • 1 edit
    3 copies in branches/safari-600.5-branch/LayoutTests

Merged r179936. <rdar://19812932>

9:25 PM Changeset in webkit [180380] by dburkart@apple.com
  • 7 edits
    4 copies
    2 deletes in branches/safari-600.5-branch

Merged r179933. <rdar://19812926>

6:37 PM Changeset in webkit [180379] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Make EnvironmentVariables::appendValue() handle the case where the existing value is an empty string.
https://bugs.webkit.org/show_bug.cgi?id=141818.

Patch by Remy Demarest <rdemarest@apple.com> on 2015-02-19
Reviewed by Dan Bernstein.

  • UIProcess/Launcher/mac/EnvironmentVariables.cpp:

(WebKit::EnvironmentVariables::appendValue): If the existing value is an empty string, replace it rather than
append to it.

6:36 PM Changeset in webkit [180378] by dbates@webkit.org
  • 2 edits in trunk/Tools

REGRESSION (r180239): run-webkit-test fails to boot simulator device that was booted by previous test run
https://bugs.webkit.org/show_bug.cgi?id=141815
<rdar://problem/19893933>

Reviewed by Simon Fraser.

Fixes an issue where run-webkit-tests would fail to boot the WebKit Tester simulator device if it
was booted by iOS Simulator in a previous run of run-webkit-test.

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort.check_sys_deps): Added logic moved from IOSSimulatorPort.setup_test_run().
(IOSSimulatorPort.setup_test_run): Moved logic to quit the iOS Simulator app and wait for the
testing device to be in the shutdown state from here to IOSSimulatorPort.check_sys_deps().

5:41 PM Changeset in webkit [180377] by dburkart@apple.com
  • 3 edits
    2 copies in branches/safari-600.5-branch

Merged r179877. <rdar://19850766>

5:36 PM Changeset in webkit [180376] by mmaxfield@apple.com
  • 7 edits
    4 adds in trunk/LayoutTests

Updating more tests after r177774
https://bugs.webkit.org/show_bug.cgi?id=141817

Reviewed by NOBODY (As per ap's request).

These tests aren't actually flakey, and simply need updated results.

Some of the SVG tests were actually flakey, but for a different reason.

  • platform/mac-mavericks/css3/selectors3/html/css3-modsel-161-expected.txt: Added.
  • platform/mac-mavericks/css3/selectors3/xhtml/css3-modsel-161-expected.txt: Added.
  • platform/mac-mavericks/css3/selectors3/xml/css3-modsel-161-expected.txt: Added.
  • platform/mac-mavericks/fast/repaint/fixed-move-after-keyboard-scroll-expected.txt: Added
  • platform/mac-wk2/fast/repaint/fixed-move-after-keyboard-scroll-expected.txt:
  • platform/mac/TestExpectations:
  • platform/mac/fast/block/margin-collapse/103-expected.txt:
  • platform/mac/fast/repaint/fixed-move-after-keyboard-scroll-expected.txt:
  • platform/mac/media/controls-after-reload-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug2479-2-expected.txt:
5:31 PM Changeset in webkit [180375] by dburkart@apple.com
  • 3 edits
    2 copies in branches/safari-600.5-branch

Merged r179776. <rdar://19850771>

5:25 PM Changeset in webkit [180374] by dburkart@apple.com
  • 3 edits
    3 copies in branches/safari-600.5-branch

Merged r178224. <rdar://19861714>

5:10 PM Changeset in webkit [180373] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebInspectorUI

Follow-up fix to r180371. formatParameterAsValue expects full object, not just a description.

Reviewed by Timothy Hatcher.

  • UserInterface/Views/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl.prototype._formatParameter):

4:42 PM Changeset in webkit [180372] by commit-queue@webkit.org
  • 3 edits in trunk/Source/bmalloc

Unreviewed, rolling out r180363.
https://bugs.webkit.org/show_bug.cgi?id=141814

Caused >50 crashes when running LayoutTests in GuardMalloc or
ASAN modes. (Requested by jernoble on #webkit).

Reverted changeset:

"bmalloc should implement malloc introspection (to stop false-
positive leaks when MallocStackLogging is off)"
https://bugs.webkit.org/show_bug.cgi?id=141802
http://trac.webkit.org/changeset/180363

4:37 PM Changeset in webkit [180371] by commit-queue@webkit.org
  • 8 edits
    2 adds in trunk/Source/WebInspectorUI

Web Inspector: Introduce FormattedValue helpers and use them in Console/ObjectTree
https://bugs.webkit.org/show_bug.cgi?id=141812

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-19
Reviewed by Timothy Hatcher.

There were a few different ways to get styled values. Try to consolidate them
all in FormattedValue. That is also a convenient place to have the styles.

  • UserInterface/Main.html:
  • UserInterface/Views/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl.prototype._formatMessage):
(WebInspector.ConsoleMessageImpl.prototype._formatParameter):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsValue):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsString):

(WebInspector.ConsoleMessageImpl.prototype._userProvidedColumnNames):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsTable):
(WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
(WebInspector.ConsoleMessageImpl.prototype._propertyPreviewElement): Deleted.
Fix console.table after renaming ObjectPreview.properties to ObjectPreview.propertyPreviews.
Also, use FormattedValue to create the value elements. Also, remove class
"source-code" as I do not see it actually being used in a meaningful way.

  • UserInterface/Views/FormattedValue.css: Added.

(.formatted-object, .formatted-node, .formatted-error, .formatted-map, .formatted-set, .formatted-weakmap):
(.formatted-number):
(.formatted-string, .formatted-regexp):
(.formatted-string):
(.formatted-regexp):
(.formatted-symbol):
(.formatted-null, .formatted-undefined):

  • UserInterface/Views/FormattedValue.js: Added.

(WebInspector.FormattedValue.classNameForTypes):
(WebInspector.FormattedValue.classNameForObject):
(WebInspector.FormattedValue.createLinkifiedElementString):
(WebInspector.FormattedValue.createElementForTypesAndValue):
(WebInspector.FormattedValue.createElementForRemoteObject):
(WebInspector.FormattedValue.createElementForObjectPreview):
(WebInspector.FormattedValue.createElementForPropertyPreview):
Styles and formatted value element creation.

  • UserInterface/Views/LogContentView.css:

(.expandable.source-code): Deleted.
Remove ".source-code". I do not see it actually being used in a meaningful way.

  • UserInterface/Views/ObjectPreviewView.js:

(WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
(WebInspector.ObjectPreviewView.prototype._appendValuePreview):
(WebInspector.ObjectPreviewView.prototype._formattedObjectElementForPreview): Deleted.

  • UserInterface/Views/ObjectTreePropertyTreeElement.js:

(WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitlePropertyStyle):
(WebInspector.ObjectTreePropertyTreeElement.prototype._descriptionString): Deleted.

  • UserInterface/Views/ObjectTreeView.css:

(.formatted-object, .formatted-node, .formatted-error, .formatted-map, .formatted-set, .formatted-weakmap): Deleted.
(.formatted-number): Deleted.
(.formatted-string, .formatted-regexp): Deleted.
(.formatted-string): Deleted.
(.formatted-regexp): Deleted.
(.formatted-symbol): Deleted.
(.formatted-null, .formatted-undefined): Deleted.

  • UserInterface/Views/ObjectTreeView.js:

(WebInspector.ObjectTreeView.classNameForObject): Deleted.
Extract styles and value formatting to FormattedValue helpers.

4:20 PM Changeset in webkit [180370] by dino@apple.com
  • 9 edits
    4 adds in trunk

ES6: Implement Array.from()
https://bugs.webkit.org/show_bug.cgi?id=141054
<rdar://problem/19654521>

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Implement the Array.from() ES6 method
as defined in Section 22.1.2.1 of the specification.

Given that we can't rely on the built-in
global functions or objects to be untainted,
I had to expose a few of them directly to
the function via private names. In particular:

  • Math.floor -> @floor
  • Math.abs -> @abs
  • Number -> @Number
  • Array -> @Array
  • isFinite -> @isFinite
  • builtins/ArrayConstructor.js: Added.

(from): Implementation of Array.from in JavaScript.

  • runtime/ArrayConstructor.cpp: Add "from" to the lookup

table for the constructor object.

  • runtime/CommonIdentifiers.h: Add the private versions

of the identifiers listed above.

  • runtime/JSGlobalObject.cpp: Add the implementations of

those identifiers to the global object (using their
private names).
(JSC::JSGlobalObject::init):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalPrivateFuncAbs): Implementation of the abs function.
(JSC::globalPrivateFuncFloor): Implementation of the floor function.

  • runtime/JSGlobalObjectFunctions.h:

LayoutTests:

Test for Array.from(). The test has
one expected failure: using from() on a
Set object, which will be addressed in
a followup:
https://bugs.webkit.org/show_bug.cgi?id=141055

  • js/array-from-expected.txt: Added.
  • js/array-from.html: Added.
  • js/script-tests/array-from.js: Added.
  • js/Object-getOwnPropertyNames.html: Update results for the new value on the constructor.
4:13 PM Changeset in webkit [180369] by jer.noble@apple.com
  • 8 edits
    2 adds in branches/safari-600.1.4.15-branch/LayoutTests

Unreviewed gardening; rebaseline tests on safari-600.1.4.15-branch

  • css3/blending/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer-expected.txt:
  • css3/blending/blend-mode-parent-of-composited-blended-has-layer-expected.txt:
  • css3/blending/blend-mode-with-composited-descendant-should-have-layer-expected.txt:
  • platform/mac/css2.1/t1202-counter-04-b-expected.png:
  • platform/mac/css2.1/t1202-counter-04-b-expected.txt:
  • platform/mac/css2.1/t1202-counters-04-b-expected.png:
  • platform/mac/css2.1/t1202-counters-04-b-expected.txt:
  • platform/mac/fast/text/vertical-no-sideways-expected.png: Added.
  • platform/mac/fast/text/vertical-no-sideways-expected.txt: Added.
3:05 PM Changeset in webkit [180368] by mmaxfield@apple.com
  • 3 edits in trunk/LayoutTests

Update fast/text/glyph-reordering.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141775

Reviewed by Dan Bernstein.

  • fast/text/glyph-reordering.html:
  • platform/mac/TestExpectations:
2:56 PM Changeset in webkit [180367] by ddkilzer@apple.com
  • 5 edits in trunk/Source/WebCore

Rename SOFT_LINK_FUNCTION_{DECL,IMPL}() to SOFT_LINK_FUNCTION_{HEADER,SOURCE}()

Rubber-stamped by Brent Fulgham.

"HEADER" and "SOURCE" seem clearer than "DECL" and "IMPL", and
Brent agreed when I talked to him in person.

  • platform/cf/CoreMediaSoftLink.cpp:
  • platform/cf/CoreMediaSoftLink.h:
  • platform/mac/SoftLinking.h:
  • platform/win/SoftLinking.h:
  • Do the rename.
2:42 PM Changeset in webkit [180366] by ddkilzer@apple.com
  • 19 edits
    1 add in trunk/Source/WebCore

Move more CoreMedia soft-linked functions to CoreMediaSoftLink.{cpp,h}
<http://webkit.org/b/141791>

Reviewed by Alexey Proskuryakov.

  • Configurations/WebCore.unexp:
  • Remove five more symbols.
  • Modules/plugins/QuickTimePluginReplacement.mm:
  • Remove all local soft-links and include CoreMediaSoftLink.h. Note that SOFT_LINK_FRAMEWORK_OPTIONAL() should not have been used here since we didn't use the optional function soft-link method.
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.vcxproj/WebCoreCFNetwork.props:
  • WebCore.xcodeproj/project.pbxproj:
  • Add CoreMediaSPI.h to the project.
  • platform/cf/CoreMediaSoftLink.cpp:
  • platform/cf/CoreMediaSoftLink.h:
  • Add three cross-platform symbols, five Cocoa-only symbols, and two Windows-only symbols (based on current usage, not availability on each platform).
  • Include CoreMediaSPI.h header.
  • Include <CoreMedia/CoreMedia.h> instead of just CMTime.h.
  • platform/graphics/avfoundation/AudioSourceProviderAVFObjC.mm:
  • Remove all CoreMedia soft-linked functions. Constants remain.
  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
  • Remove one CoreMedia soft-linked method.
  • platform/graphics/avfoundation/MediaTimeAVFoundation.cpp:
  • Remove all CoreMedia soft-linked funtions. With this change, we are already realizing space savings for duplicate SOFT_LINK_FRAMEWORK() calls. (On Windows, there was code generated for many unused functions included by CoreMediaSoftLinking.h.)
  • platform/graphics/avfoundation/cf/CoreMediaSoftLinking.h:
  • Remove all CoreMedia soft-linked funtions. Constants remain.
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
  • Remove duplicate header included by CoreMediaSoftLink.h.
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
  • Remove all CoreMedia soft-linked funtions. Constants remain.
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
  • Remove three CoreMedia soft-linked methods.
  • platform/mac/PlatformClockCM.mm:
  • Remove two CoreMedia soft-linked methods.
  • platform/mac/SerializedPlatformRepresentationMac.mm:
  • Remove only CoreMedia soft-linked funtion. It wasn't even used.
  • platform/mediastream/mac/AVVideoCaptureSource.mm:
  • Remove two CoreMedia soft-linked method.
  • platform/spi/cf/CoreMediaSPI.h:
  • Add for SPI from CMNotificationCenter.h.
2:18 PM Changeset in webkit [180365] by rniwa@webkit.org
  • 7 edits in trunk/Websites/perf.webkit.org

Relationship between A/B testing results are unclear
https://bugs.webkit.org/show_bug.cgi?id=141810

Reviewed by Andreas Kling.

Show a "reference chart" indicating which two points have been tested in each test group pane.

Now the chart shown at the top of an analysis task page is called the "overview pane", and we use the pane
and the domain used in this chart to show charts in each test group.

Also renamed an array of revisions used in the A/B test results tables from 'revisions' to 'revisionList'.

  • public/v2/analysis.js:

(App.TestGroup._fetchTestResults): Renamed from _fetchChartData. Set 'testResults' instead of 'chartData'
since this is the results of A/B testing results, not the data for charts shown next to them.

  • public/v2/app.css: Added CSS rules for reference charts.
  • public/v2/app.js:

(App.AnalysisTaskController.paneDomain): Set 'overviewPane' and 'overviewDomain' on each test group pane.
(App.TestGroupPane._populate): Updated per 'chartData' to 'testResults' rename.
(App.TestGroupPane._updateReferenceChart): Get the chart data via the overview pane and find points that
identically matches root sets. If one of configuration used a set of revisions for which no measurement
was made in the original chart, don't show the reference chart as that would be misleading / confusing.
(App.TestGroupPane._computeRepositoryList): Updated per 'chartData' to 'testResults' rename.
(App.TestGroupPane._createConfigurationSummary): Ditto. Also renamed 'revisions' to 'revisionList'.
In addition, renamed 'buildNumber' to 'buildLabel' and prefixed it with "Build ".

  • public/v2/data.js:

(Measurement.prototype.revisionForRepository): Added.
(Measurement.prototype.commitTimeForRepository): Cleanup.
(TimeSeries.prototype.findPointByRevisions): Added. Finds a point based on a set of revisions.

  • public/v2/index.html: Added the reference chart. Streamlined the status label for each build request

by including the build number in the title attribute instead of in the markup.

  • public/v2/interactive-chart.js:

(App.InteractiveChartComponent._updateDomain): Fixed a typo introduced as a consequence of r179913.
(App.InteractiveChartComponent._computeYAxisDomain): Expand the y-axis to show the highlighted points.
(App.InteractiveChartComponent._highlightedItemsChanged): Adjust the y-axis as needed.

1:42 PM Changeset in webkit [180364] by hyatt@apple.com
  • 8 edits
    2 adds in trunk

Fix for unsplittable content being paginated by columns.

1:38 PM Changeset in webkit [180363] by ggaren@apple.com
  • 3 edits in trunk/Source/bmalloc

bmalloc should implement malloc introspection (to stop false-positive leaks when MallocStackLogging is off)
https://bugs.webkit.org/show_bug.cgi?id=141802

Reviewed by Andreas Kling.

Fixed a last-minute type.

The macro is OS, not PLATFORM.

  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::grow):

  • bmalloc/VMHeap.h:
  • bmalloc/Zone.h:
1:25 PM Changeset in webkit [180362] by andersca@apple.com
  • 13 edits in trunk/Source/WebKit2

Make C SPI objects and modern API objects toll-free bridged
https://bugs.webkit.org/show_bug.cgi?id=141808

Reviewed by Tim Horton.

  • Shared/API/APIObject.h:

(API::Object::wrap):
(API::Object::unwrap):
Add default implementations of wrap and unwrap. These just cast.

  • Shared/API/c/WKArray.cpp:

(WKArrayCreate):
(WKArrayCreateAdoptingValues):
(WKArrayGetItemAtIndex):

  • Shared/API/c/WKDictionary.cpp:

(WKDictionaryGetItemForKey):
Add toImpl and toAPI where necessary.

  • Shared/API/c/WKSharedAPICast.h:

Add API::Object::wrap in toAPI and unwrap in toImpl.

  • Shared/API/c/WKType.cpp:

(WKGetTypeID):
(WKRetain):
(WKRelease):
Add missing toImpl calls.

  • Shared/Cocoa/APIObject.mm:

(API::Object::wrap):
Return the APIObject Objective-C wrapper.

(API::Object::unwrap):
Return the API::Object from the Objective-C object.

  • Shared/Cocoa/WKObject.h:

Add wrap and unwrap declarations.

  • UIProcess/API/C/WKPage.cpp:
  • UIProcess/API/C/WKPageConfigurationRef.cpp:
  • UIProcess/API/C/WKPageGroup.cpp:
  • UIProcess/API/C/WKUserContentControllerRef.cpp:

Add missing includes; toImpl now requires a complete type.

1:09 PM Changeset in webkit [180361] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove unused forward declaration from WKWebViewInternal.h
https://bugs.webkit.org/show_bug.cgi?id=141806

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:

The use of WebCore::Highlight moved to WKContentView.

1:08 PM Changeset in webkit [180360] by benjamin@webkit.org
  • 4 edits
    2 adds in trunk/Source/JavaScriptCore

Refine the FTL part of ArithPow
https://bugs.webkit.org/show_bug.cgi?id=141792

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-19
Reviewed by Filip Pizlo.

This patch refines the FTL lowering of ArithPow. This was left out
of the original patch to keep it simpler.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileArithPow):
Two improvements here:
1) Do not generate the NaN check unless we know the exponent might be a NaN.
2) Use one BasicBlock per check with the appropriate weight. Now that we have

one branch per test, move the Infinity check before the check for 1 since
it is the less common case.

  • tests/stress/math-pow-becomes-custom-function.js: Added.

Test for changing the Math.pow() function after it has been optimized.

  • tests/stress/math-pow-nan-behaviors.js:

The previous tests were only going as far as the DFGAbstractInterpreter
were the operations were replaced by the equivalent constant.

I duplicated the test functions to also test the dynamic behavior of DFG
and FTL.

  • tests/stress/math-pow-with-constants.js:

Add cases covering exponent constants. LLVM removes many value
checks for those.

  • tests/stress/math-pow-with-never-NaN-exponent.js: Added.

Test for the new optimization removing the NaN check.

12:42 PM Changeset in webkit [180359] by ggaren@apple.com
  • 5 edits
    2 adds in trunk/Source/bmalloc

bmalloc should implement malloc introspection (to stop false-positive leaks when MallocStackLogging is off)
https://bugs.webkit.org/show_bug.cgi?id=141802

Reviewed by Andreas Kling.

This patch does the bare minimum to stop false positive leaks from
being reported by the Darwin leaks tool. We register each super chunk
as a single object, and then request that the leaks tool scan it.

  • bmalloc.xcodeproj/project.pbxproj: Added an abstraction for the malloc

zone introspection API.

  • bmalloc/Algorithm.h: Missing #include.
  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::grow):

  • bmalloc/VMHeap.h: Adopt the new abstraction.
  • bmalloc/Zone.cpp: Added.

(bmalloc::remoteRead): Helper for reading an object out of another process.
(bmalloc::Zone::enumerator):
(bmalloc::Zone::Zone): Register a malloc zone so that we will participate
in introspection.

  • bmalloc/Zone.h: Added.

(bmalloc::Zone::superChunks):
(bmalloc::Zone::addSuperChunk): Use a non-dynamically-allocated vector
since our dynamic allocations will not be scanned by leaks since they
will have the malloc VM tag.

12:36 PM Changeset in webkit [180358] by Joseph Pecoraro
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Disable DOM Tree Editing / Styles Editing of Shadow DOM Nodes
https://bugs.webkit.org/show_bug.cgi?id=141793

Unreviewed follow-up. Fix prototypes.

  • UserInterface/Views/ObjectPreviewView.js:
  • UserInterface/Views/ObjectTreeView.js:
12:28 PM Changeset in webkit [180357] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Use the real implementation type in our API cast traits
https://bugs.webkit.org/show_bug.cgi?id=141805

Reviewed by Sam Weinig.

  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toURLRef):
(WebKit::toAPI): Deleted.
(WebKit::toImpl): Deleted.

  • UIProcess/GenericCallback.h:
12:25 PM Changeset in webkit [180356] by Joseph Pecoraro
  • 13 edits
    11 adds in trunk

Web Inspector: Create Separate Model and View Objects for RemoteObjects / ObjectPreview / PropertyDescriptor
https://bugs.webkit.org/show_bug.cgi?id=141696

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

  • UserInterface/Main.html:

Add new files.

  • UserInterface/Models/CollectionEntry.js: Added.

(WebInspector.CollectionEntry):
(WebInspector.CollectionEntry.fromPayload):
(WebInspector.CollectionEntry.prototype.get key):
(WebInspector.CollectionEntry.prototype.get value):

  • UserInterface/Models/CollectionEntryPreview.js: Added.

(WebInspector.CollectionEntryPreview):
(WebInspector.CollectionEntryPreview.fromPayload):
(WebInspector.CollectionEntryPreview.prototype.get keyPreview):
(WebInspector.CollectionEntryPreview.prototype.get valuePreview):

  • UserInterface/Models/ObjectPreview.js: Added.

(WebInspector.ObjectPreview):
(WebInspector.ObjectPreview.fromPayload):
(WebInspector.ObjectPreview.prototype.get type):
(WebInspector.ObjectPreview.prototype.get subtype):
(WebInspector.ObjectPreview.prototype.get description):
(WebInspector.ObjectPreview.prototype.get lossless):
(WebInspector.ObjectPreview.prototype.get overflow):
(WebInspector.ObjectPreview.prototype.get properties):
(WebInspector.ObjectPreview.prototype.get entries):

  • UserInterface/Models/PropertyPreview.js: Added.

(WebInspector.PropertyPreview):
(WebInspector.PropertyPreview.fromPayload):
(WebInspector.PropertyPreview.prototype.get name):
(WebInspector.PropertyPreview.prototype.get type):
(WebInspector.PropertyPreview.prototype.get subtype):
(WebInspector.PropertyPreview.prototype.get value):
(WebInspector.PropertyPreview.prototype.get valuePreview):

  • UserInterface/Models/PropertyDescriptor.js: Added.

(WebInspector.PropertyDescriptor.fromPayload):
(WebInspector.PropertyDescriptor.prototype.get name):
(WebInspector.PropertyDescriptor.prototype.get value):
(WebInspector.PropertyDescriptor.prototype.get writable):
(WebInspector.PropertyDescriptor.prototype.get configurable):
(WebInspector.PropertyDescriptor.prototype.get enumerable):
(WebInspector.PropertyDescriptor.prototype.get isOwnProperty):
(WebInspector.PropertyDescriptor.prototype.get wasThrown):
(WebInspector.PropertyDescriptor.prototype.get isInternalProperty):
(WebInspector.PropertyDescriptor.prototype.hasValue):
(WebInspector.PropertyDescriptor.prototype.hasGetter):
(WebInspector.PropertyDescriptor.prototype.hasSetter):
New Model objects for different Protocol types.
The only customizations right now are compatibility modifications
and PropertyDescriptor's "hasValue", "hasGetter", and "hasSetter"
functions to return reliable checks based on the descriptors contents.

  • UserInterface/Protocol/RemoteObject.js:

(WebInspector.RemoteObject):
(WebInspector.RemoteObject.fromPayload):
(WebInspector.RemoteObject.resolveNode):
(WebInspector.RemoteObject.prototype.get value):
(WebInspector.RemoteObject.prototype._isSymbol):
(WebInspector.RemoteObject.prototype.isCollectionType):
(WebInspector.RemoteObject.prototype.isWeakCollection):
(WebInspector.RemoteObject.prototype.getCollectionEntries):
(WebInspector.RemoteObject.prototype.arrayLength):
Clean up the existing code to enforce more checks and use our
style of member variables and public accessors.

(WebInspector.RemoteObject.prototype.getOwnPropertyDescriptors):
(WebInspector.RemoteObject.prototype.getOwnAndGetterPropertyDescriptors):
(WebInspector.RemoteObject.prototype.getAllPropertyDescriptors):
(WebInspector.RemoteObject.prototype.callback):
Provide a new way of getting properties that returns Model objects
instead of raw protocol types.

  • UserInterface/Views/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl.prototype._format):
(WebInspector.ConsoleMessageImpl.prototype._formatParameter):
(WebInspector.ConsoleMessageImpl.prototype._propertyPreviewElement):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsTable):
(WebInspector.ConsoleMessageImpl.prototype._formatAsArrayEntry):
Always include a preview when possible. Now, when forced to be an object,
force expansion even if the preview is lossless.

(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsObject):
Use an ObjectTreeView instead of ObjectPropertiesSection.

(WebInspector.ConsoleMessageImpl.prototype._appendPreview): Deleted.
(WebInspector.ConsoleMessageImpl.prototype._appendEntryPreviews): Deleted.
(WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreviews): Deleted.
(WebInspector.ConsoleMessageImpl.prototype._appendValuePreview): Deleted.
This code is moved into ObjectPreviewView.

  • UserInterface/Views/ObjectPropertiesSection.js:

(WebInspector.CollectionEntriesMainTreeElement.prototype.onexpand.callback):
(WebInspector.CollectionEntriesMainTreeElement.prototype.onexpand):
These types are now converted to Model types in Model objects, so do not do it here.

  • UserInterface/Views/ObjectPreviewView.css: Added.

(.object-preview):
(.object-preview.lossless):
(.object-preview .name):

  • UserInterface/Views/ObjectPreviewView.js: Added.

(WebInspector.ObjectPreviewView):
(WebInspector.ObjectPreviewView.prototype.get preview):
(WebInspector.ObjectPreviewView.prototype.get element):
(WebInspector.ObjectPreviewView.prototype.get mode):
(WebInspector.ObjectPreviewView.prototype.get lossless):
(WebInspector.ObjectPreviewView.prototype._numberOfPropertiesToShowInMode):
(WebInspector.ObjectPreviewView.prototype._appendPreview):
(WebInspector.ObjectPreviewView.prototype._appendEntryPreviews):
(WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
(WebInspector.ObjectPreviewView.prototype._appendValuePreview):
(WebInspector.ObjectPreviewView.prototype._formattedObjectElementForPreview):
An ObjectPreviewView can create a full/brief view given a ObjectPreview.
The view will contain formatted values everywhere possible.

  • UserInterface/Views/ObjectTreePropertyTreeElement.js: Added.

(WebInspector.ObjectTreePropertyTreeElement):
(WebInspector.ObjectTreePropertyTreeElement.prototype.get property):
(WebInspector.ObjectTreePropertyTreeElement.prototype.onpopulate):
(WebInspector.ObjectTreePropertyTreeElement.prototype.onattach):
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitle):
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitlePropertyStyle):
(WebInspector.ObjectTreePropertyTreeElement.prototype._updateTitleAPIStyle):
(WebInspector.ObjectTreePropertyTreeElement.prototype._descriptionString):
(WebInspector.ObjectTreePropertyTreeElement.prototype._functionParameterString):
(WebInspector.ObjectTreePropertyTreeElement.prototype.mode):
(WebInspector.ObjectTreePropertyTreeElement.prototype):

  • UserInterface/Views/ObjectTreeView.js: Added.

(WebInspector.ObjectTreeView):
(WebInspector.ObjectTreeView.classNameForObject):
(WebInspector.ObjectTreeView.ComparePropertyDescriptors):
(WebInspector.ObjectTreeView.prototype.get object):
(WebInspector.ObjectTreeView.prototype.get element):
(WebInspector.ObjectTreeView.prototype.get expanded):
(WebInspector.ObjectTreeView.prototype.expand):
(WebInspector.ObjectTreeView.prototype.collapse):
(WebInspector.ObjectTreeView.prototype.update):
(WebInspector.ObjectTreeView.prototype._updateProperties):
(WebInspector.ObjectTreeView.prototype._handlePreviewOrTitleElementClick):
Re-implementation of ObjectPropertiesSection for our Model objects
without "Section" semantics / dependencies. An ObjectTree will creates
an expandable tree for a RemoteObject. The top level clickable item
will be an ObjectPreview if possible, otherwise just a title element.

  • UserInterface/Views/ObjectTreeView.css: Added.

(.object-tree):
(.object-tree > .title):
(.object-tree > :matches(.title, .object-preview)::before):
(.object-tree.expanded > :matches(.title, .object-preview)::before):
(.object-tree.lossless-preview > :matches(.title, .object-preview)::before):
(.object-tree-outline):
(.object-tree.expanded > .object-tree-outline):
(.object-tree-outline li):
(.object-tree-outline li.parent):
(.object-tree-outline li.parent::before):
(.object-tree-outline li.parent.expanded::before):
(.object-tree-outline ol):
(.object-tree-outline ol.expanded):
(.object-tree-outline li .empty-message):
(.object-tree-property .name):
(.object-tree-property .name.not-enumerable):
(.object-tree-property .value.error):
(.formatted-object, .formatted-node, .formatted-error, .formatted-map, .formatted-set, .formatted-weakmap):
(.formatted-number):
(.formatted-string, .formatted-regexp):
(.formatted-string):
(.formatted-regexp):
(.formatted-symbol):
(.formatted-null, .formatted-undefined):
(.console-group-messages .object-tree:not(.lossless-preview)):
(.console-group-messages .object-tree:not(.lossless-preview) > :matches(.title, .object-preview)):
(.console-group-messages .object-tree:not(.lossless-preview) > :matches(.title, .object-preview)::before):
(.console-group-messages :matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .object-tree):
(.console-group-messages :matches(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap) .object-tree-outline):
All styles for ObjectTree / ObjectPreview. Independent from
other styles in the inspector. Most of this is a copy of
the styles applied to ObjectPropertiesSection, renamed.

  • UserInterface/Views/ObjectTreeCollectionTreeElement.js: Added.

(WebInspector.ObjectTreeCollectionTreeElement):
(WebInspector.ObjectTreeCollectionTreeElement.propertyDescriptorForEntry):
(WebInspector.ObjectTreeCollectionTreeElement.prototype.get remoteObject):
(WebInspector.ObjectTreeCollectionTreeElement.prototype.onexpand.callback):
(WebInspector.ObjectTreeCollectionTreeElement.prototype.onexpand):
(WebInspector.ObjectTreeCollectionTreeElement.prototype.oncollapse):
(WebInspector.ObjectTreeCollectionTreeElement.prototype.ondetach):
(WebInspector.ObjectTreeCollectionTreeElement.prototype._trackWeakEntries):
(WebInspector.ObjectTreeCollectionTreeElement.prototype._untrackWeakEntries):
(WebInspector.ObjectTreeCollectionEntryTreeElement):
(WebInspector.ObjectTreeCollectionEntryTreeElement.prototype.onpopulate):
(WebInspector.ObjectTreeCollectionEntryTreeElement.prototype.onattach):
(WebInspector.ObjectTreeEmptyCollectionTreeElement):
Essentially a copy of ObjectPropertiesSection Collection handling using
the ObjectTree class names.

  • UserInterface/Views/TreeOutlineDataGridSynchronizer.js:

Fix prototype typo.

LayoutTests:

  • inspector/model/remote-object-expected.txt:
  • inspector/model/remote-object-get-properties-expected.txt:
  • inspector/model/remote-object-get-properties.html:
  • inspector/model/remote-object-weak-collection-expected.txt:
  • inspector/model/remote-object-weak-collection.html:

Update tests and results to use our Model objects and not
raw protocol types.

12:06 PM Changeset in webkit [180355] by ddkilzer@apple.com
  • 3 edits in trunk/Tools

check-webkit-style: do not warn about missing primary header for *SoftLink.cpp files
<http://webkit.org/b/141799>

Reviewed by Alex Christensen.

  • Scripts/webkitpy/style/checkers/cpp.py:

(_IncludeState.check_next_include_order): Don't emit a warning
if the primary header exists and the source file name ends with
"SoftLink.cpp". Add 'filename' argument to method.
(check_include_line): Pass in 'filename'.

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(OrderOfIncludesTest.test_check_next_include_orderno_config):
(OrderOfIncludesTest.test_check_next_include_order
no_self):
(OrderOfIncludesTest.test_check_next_include_orderlikely_then_config):
(OrderOfIncludesTest.test_check_next_include_order
other_then_config):
(OrderOfIncludesTest.test_check_next_include_orderconfig_then_other_then_likely):

  • Add test filename arguments for calls to check_next_include_order().

(OrderOfIncludesTest.test_primary_header): Add test for a file
name ending in "SoftLink.cpp".

11:48 AM Changeset in webkit [180354] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

Remove the stray storage manager from WebProcessPool
https://bugs.webkit.org/show_bug.cgi?id=141800

Reviewed by Sam Weinig.

  • UIProcess/API/mac/WKView.mm:

(-[WKView dealloc]):
(-[WKView initWithFrame:processPool:configuration:webView:]):
(-[WKView _applicationWillTerminate:]): Deleted.
Remove code that calls applicationWillTerminate on the WebPageProxy.

  • UIProcess/WebKeyValueStorageManager.cpp:

(WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
(WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin):
(WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
(WebKit::WebKeyValueStorageManager::deleteAllEntries):
Get the storage manager from the website data store.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::close):
Remove storage manager calls.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::WebProcessPool):
(WebKit::WebProcessPool::applicationWillTerminate): Deleted.

  • UIProcess/WebProcessPool.h:

Remove storage manager code.

  • UIProcess/WebsiteData/WebsiteDataStore.h:

(WebKit::WebsiteDataStore::storageManager):
Add getter.

11:43 AM Changeset in webkit [180353] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[iOS] Fix inefficiencies in ResourceResponse::platformLazyInit()
https://bugs.webkit.org/show_bug.cgi?id=141744

Reviewed by Alexey Proskuryakov.

Fix inefficiencies in iOS's ResourceResponse::platformLazyInit()
implementation, similarly to what was already done for Mac in:
<http://trac.webkit.org/changeset/174717>

The following changes were made:

  • Add missing "initLevel == AllFields" check before initializing uncommon fields. This bug was causing us to initialize uncommon fields even if called with 'CommonFieldsOnly' initLevel.
  • Bypass the first pass populating common HTTP headers in m_httpHeaderFields if the initLevel is AllFields. If called with AllFields initLevel, we will end up populating all HTTP headers later on so this first pass is redundant.
  • Use C++11 range loop to iterator over commonHeaderFields array for readability.
  • Use CFDictionaryApplyFunction() to populate m_httpHeaderFields for the CFDictionaryRef containing the headers instead of creating copies of keys and values using CFDictionaryGetKeysAndValues() and then iterating over those. This avoids allocating Vectors for keys / values and avoids unnecessary copying.
11:34 AM Changeset in webkit [180352] by bshafiei@apple.com
  • 3 edits
    3 copies in branches/safari-600.4.10-branch

Merged r178224. rdar://problem/19890075

11:32 AM Changeset in webkit [180351] by bshafiei@apple.com
  • 3 edits in branches/safari-600.4.10-branch

Merged r175641. rdar://problem/19889872

11:07 AM Changeset in webkit [180350] by Csaba Osztrogonác
  • 2 edits
    2 adds in trunk/Source/WebKit2

[WK2] Unreviewed buildfix for non-Cocoa platforms.

  • CMakeLists.txt:
  • UIProcess/WebsiteData/unix/WebsiteDataStoreUnix.cpp: Added.

(WebKit::WebsiteDataStore::platformInitialize): Added.
(WebKit::WebsiteDataStore::platformDestroy): Added.

10:45 AM Changeset in webkit [180349] by andersca@apple.com
  • 4 edits
    2 adds in trunk/Source/WebKit2

WebsiteDataStore should ensure that local storage is written before exiting
https://bugs.webkit.org/show_bug.cgi?id=141798

Reviewed by Sam Weinig.

  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm: Added.

(WebKit::dataStoresWithStorageManagers):
(WebKit::WebsiteDataStore::platformInitialize):
(WebKit::WebsiteDataStore::platformDestroy):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::WebsiteDataStore):
(WebKit::WebsiteDataStore::~WebsiteDataStore):

  • UIProcess/WebsiteData/WebsiteDataStore.h:
  • WebKit2.xcodeproj/project.pbxproj:
10:41 AM Changeset in webkit [180348] by enrica@apple.com
  • 1 edit
    15 adds in trunk/Tools

Add new tool to test editable Webviews.
https://bugs.webkit.org/show_bug.cgi?id=141772

Reviewed by Tim Horton.

Adding WebEditingTester, a Cocoa application to
test WK1 and Wk2 views in editable mode.

  • WebEditingTester: Added.
  • WebEditingTester/AppDelegate.h: Added.
  • WebEditingTester/AppDelegate.m: Added.

(-[WebEditingAppDelegate init]):
(defaultConfiguration):
(-[WebEditingAppDelegate applicationDidFinishLaunching:]):
(-[WebEditingAppDelegate applicationWillTerminate:]):
(-[WebEditingAppDelegate newEditor:]):
(-[WebEditingAppDelegate showOperations:]):
(-[WebEditingAppDelegate useWebKit2ByDefault]):
(-[WebEditingAppDelegate toggleUseWK2ByDefault:]):
(-[WebEditingAppDelegate validateMenuItem:]):

  • WebEditingTester/Info.plist: Added.
  • WebEditingTester/MainMenu.xib: Added.
  • WebEditingTester/WK1WebDocumentController.h: Added.
  • WebEditingTester/WK1WebDocumentController.m: Added.

(-[WK1WebDocumentController awakeFromNib]):
(-[WK1WebDocumentController loadContent]):
(-[WK1WebDocumentController dealloc]):
(-[WK1WebDocumentController pasteAsMarkup:]):

  • WebEditingTester/WK2WebDocumentController.h: Added.
  • WebEditingTester/WK2WebDocumentController.m: Added.

(-[WK2WebDocumentController initWithConfiguration:]):
(-[WK2WebDocumentController pasteAsMarkup:]):
(-[WK2WebDocumentController awakeFromNib]):
(-[WK2WebDocumentController dealloc]):
(-[WK2WebDocumentController loadContent]):

  • WebEditingTester/WebDocument.xib: Added.
  • WebEditingTester/WebDocumentController.h: Added.
  • WebEditingTester/WebDocumentController.m: Added.

(-[WebDocumentController initWithWindow:]):
(-[WebDocumentController windowDidLoad]):
(-[WebDocumentController defaultEditingSource]):
(-[WebDocumentController applicationTerminating]):
(-[WebDocumentController loadContent]):

  • WebEditingTester/WebEditingTester.xcodeproj: Added.
  • WebEditingTester/WebEditingTester.xcodeproj/project.pbxproj: Added.
  • WebEditingTester/main.m: Added.

(main):

10:36 AM Changeset in webkit [180347] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

Sufficiently small media controls should remove toolbar elements
https://bugs.webkit.org/show_bug.cgi?id=141780
<rdar://problem/16548548>
<rdar://problem/17598778>
<rdar://problem/18351963>

Reviewed by Eric Carlson.

Implement some logic where elements on the media controls are
hidden when there isn't enough room. We start by dropping
the scrubber, then the various buttons on the right hand
side.

This solution isn't perfect. If we had perfection, it would
be because we get resize events and respond accordingly. Instead
we check the size when the user has pinch-zoomed, or when
we start/stop playing.

This is going to cause some extra layout, because we need
to know the size of things before we can work out which
bits to hide.

  • Modules/mediacontrols/mediaControlsiOS.css:

(::-webkit-media-controls): Remove the minimum width. This can
cause the controls to get clipped.
(audio::-webkit-media-controls-spacer): Add this empty element to
replace the scrubber when it is hidden.
(audio::-webkit-media-controls-timeline-container):

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS): Remember our size so we don't churn.
(ControllerIOS.prototype.createControls): Create a new spacer element.
(ControllerIOS.prototype.configureInlineControls):
(ControllerIOS.prototype.showControls): Check if we need to hide stuff.
(ControllerIOS.prototype.updateControls):
(ControllerIOS.prototype.setPlaying): Ditto.
(ControllerIOS.prototype.set pageScaleFactor): Ditto.
(ControllerIOS.prototype.scheduleUpdateLayoutForDisplayedWidth): Trigger an update
asap. In this case it's probably ok to be in a bad state for a frame, or
we are inside setup and we know that we'll layout soon.
(ControllerIOS.prototype.updateLayoutForDisplayedWidth): The actual code
that hides elements.

8:47 AM Changeset in webkit [180346] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Disable media tests due to bot failures.

  • platform/win/TestExpectations:
7:46 AM Changeset in webkit [180345] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r180279): It broke 20 tests on ARM Linux
https://bugs.webkit.org/show_bug.cgi?id=141771

Reviewed by Filip Pizlo.

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation): Align 64-bit values to respect ARM EABI.

7:39 AM Changeset in webkit [180344] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: DOMTree / Node Details Sidebar do not update as <input> content changes
https://bugs.webkit.org/show_bug.cgi?id=141790

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-19
Reviewed by Timothy Hatcher.

  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

(WebInspector.DOMNodeDetailsSidebarPanel):
(WebInspector.DOMNodeDetailsSidebarPanel.prototype._characterDataModified):
Update Node "Value" details if character data changes.

  • UserInterface/Views/DOMTreeUpdater.js:

(WebInspector.DOMTreeUpdater.prototype._updateModifiedNodes):
Update the title of the parent. If the parent had a single text node child
and now doesn't, it will need to update its display.

7:36 AM Changeset in webkit [180343] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Disable DOM Tree Editing / Styles Editing of Shadow DOM Nodes
https://bugs.webkit.org/show_bug.cgi?id=141793

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-19
Reviewed by Timothy Hatcher.

Currently the backend disallows editing of Shadow DOM nodes,
so the frontend should not provide options that do not work.
Long term we should allow editing Shadow DOM nodes.

  • UserInterface/Models/CSSStyleDeclaration.js:

(WebInspector.CSSStyleDeclaration.prototype.get editable):
Inline styles on a Shadow DOM node are not editable.

  • UserInterface/Views/DOMTreeElement.js:

(WebInspector.DOMTreeElement.prototype.ondelete):
(WebInspector.DOMTreeElement.prototype._startEditingTarget):
(WebInspector.DOMTreeElement.prototype._populateTagContextMenu):
(WebInspector.DOMTreeElement.prototype._populateTextContextMenu):
(WebInspector.DOMTreeElement.prototype._populateNodeContextMenu):
(WebInspector.DOMTreeElement.prototype._startEditing):
Disable context menus and keyboard shortcuts on Shadow DOM nodes.
Only Context Menu item we keep is "Copy as HTML".

  • UserInterface/Views/DOMTreeOutline.js:

(WebInspector.DOMTreeOutline.prototype._contextMenuEventFired):
(WebInspector.DOMTreeOutline.prototype.populateContextMenu):
Eliminate double look-up.

  • UserInterface/Views/RulesStyleDetailsPanel.js:

(WebInspector.RulesStyleDetailsPanel.prototype.refresh.addNewRuleButton):
Do not add the New Rule Button to the Styles Sidebar of Shadow DOM Nodes.
Instead this will just be an empty divider.

12:40 AM Changeset in webkit [180342] by timothy_horton@apple.com
  • 7 edits in trunk/Source/WebCore

Move the software-only ImageBuffer::m_context to ImageBufferData
https://bugs.webkit.org/show_bug.cgi?id=141784

Reviewed by Simon Fraser.

  • platform/graphics/ImageBuffer.h:
  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::context):

  • platform/graphics/cairo/ImageBufferDataCairo.h:
  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::context):

  • platform/graphics/cg/ImageBufferDataCG.h:

Move m_context to ImageBufferData in the software-only section;
for accelerated contexts, the GraphicsContext is owned by the IOSurface wrapper.
This will make it harder for ImageBuffer to make the mistake of using
m_context blindly without thinking when it will often be null.

12:36 AM Changeset in webkit [180341] by bshafiei@apple.com
  • 5 edits in branches/safari-600.4.10-branch/Source

Versioning.

12:34 AM Changeset in webkit [180340] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.4.10.2

New tag.

Feb 18, 2015:

11:37 PM Changeset in webkit [180339] by Chris Dumez
  • 3 edits in trunk/LayoutTests

Clean up / modernize test introduced in r180337.
https://bugs.webkit.org/show_bug.cgi?id=141788

Reviewed by Andreas Kling.

  • fast/history/page-cache-clearing-expected.txt:
  • fast/history/page-cache-clearing.html:
10:17 PM Changeset in webkit [180338] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed Windows build fix after r180337.

Export a couple of symbols.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
10:07 PM Changeset in webkit [180337] by akling@apple.com
  • 6 edits
    2 adds in trunk

REGRESSION(r179347): Clearing the PageCache no longer clears the PageCache.
<https://webkit.org/b/141788>

Reviewed by Anders Carlsson.

Source/WebCore:

Once again we've fallen into the TemporaryChange trap:

TemporaryChange<unsigned>(m_member, temporaryValue);

The code above doesn't actually do anything. Since the TemporaryChange local is not named,
it immediately goes out of scope and restores the original value of m_member.

Unless someone knows a C++ trick to prevent these, we'll need to add a style checker pass
to catch bugs like this. Whatever we do will be done separately from this bug.

Test: fast/history/page-cache-clearing.html

  • history/PageCache.cpp:

(WebCore::PageCache::pruneToSizeNow): Name the local so it lives longer.

  • testing/Internals.cpp:

(WebCore::Internals::clearPageCache):
(WebCore::Internals::pageCacheSize):

  • testing/Internals.h:
  • testing/Internals.idl: Add a way to clear the page cache and query its size from

window.internals to facilitate writing a simple test for this bug.

LayoutTests:

Add a simple test that navigates to a temporary page which immediately does a history.back
navigation. Upon returning to the first page, check that the page cache now has 1 entry,
and that clearing the page cache makes that entry go away.

  • fast/history/page-cache-clearing-expected.txt: Added.
  • fast/history/page-cache-clearing.html: Added.
9:23 PM Changeset in webkit [180336] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Roll out r180280.

Crashes under IDBDatabase::closeConnection.
https://bugs.webkit.org/show_bug.cgi?id=141745
rdar://problem/19816412

  • Modules/indexeddb/IDBDatabase.cpp: (WebCore::IDBDatabase::closeConnection):
8:24 PM Changeset in webkit [180335] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Update expected result of fast/forms/text-control-intrinsic-widths.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141685

Updating Yosemite results to match bots.

  • platform/mac/fast/forms/text-control-intrinsic-widths-expected.txt:
7:58 PM Changeset in webkit [180334] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION: Missing Divider line between console.log and console evaluation
https://bugs.webkit.org/show_bug.cgi?id=141770

Patch by Nikita Vasilyev <Nikita Vasilyev> on 2015-02-18
Reviewed by Timothy Hatcher.

  • UserInterface/Views/LogContentView.css:

(.console-item):
(.console-message): Deleted.

6:41 PM Changeset in webkit [180333] by rniwa@webkit.org
  • 13 edits in trunk/Websites/perf.webkit.org

Analysis task pages are unusable
https://bugs.webkit.org/show_bug.cgi?id=141786

Reviewed by Andreas Kling.

This patch makes following improvements to analysis task pages:

  1. Making the main chart interactive. This change required the use of App.Pane as well as moving the code to

compute the data for the details pane from PaneController.

  1. Moving the form to add a new test group to the top of test groups instead of the bottom of them.
  2. Grouping the build requests in each test group by root sets instead of the order by which they were ran.

This change required the creation of App.TestGroupPane as well as its methods.

  1. Show a box plot for each root set configuration as well as each build request. This change required

App.BoxPlotComponent.

  1. Show revisions of each repository (e.g. WebKit) for each root set and build request.
  • public/api/build-requests.php:

(main): Update per the rename of BuildRequestsFetcher::root_sets to BuildRequestsFetcher::root_sets_by_id.

  • public/api/test-groups.php:

(main): Include root sets and roots in the response.
(format_test_group):

  • public/include/build-requests-fetcher.php:

(BuildRequestsFetcher::root_sets_by_id): Renamed from root_sets.
(BuildRequestsFetcher::root_sets): Added.
(BuildRequestsFetcher::roots): Added.
(BuildRequestsFetcher::fetch_roots_for_set): Takes a boolean argument $resolve_ids. This flag is only set to
true in /api/build-requests/ (as done prior to this patch) to use repository names as identifiers since
tools/sync-with-buildbot.py can't convert repository names to their ids.

  • public/v2/analysis.js:

(App.Root): Added.
(App.RootSet): Added.
(App.RootSet.revisionForRepository): Added.
(App.TestGroup.rootSets): Deleted the code to compute root set ids from build requests now that the JSON
response at /api/test-groups will include them.
(App.BuildRequest): Ditto. Also deleted 'configLetter' property, which has been moved to a proxy created by
_createConfigurationSummary.
(App.BuildRequest.statusLabel): Use 'Completed' as the human readable label for 'completed' status.
(App.BuildRequest.aggregateStatuses): Added. Generates a human readable status for a set of build requests.

  • public/v2/app.css: Updated style rules for analysis task pages.
  • public/v2/app.js:

(App.Pane): This class is now used in analysis task pages to make the main chart interactive.
(App.Pane._updateDetails): Moved from App.PaneController.

(App.PaneController._updateCanAnalyze): Updated the code per the move of selectedPoints.

(App.AnalysisTaskController): Added 'details'.
(App.AnalysisTaskController._taskUpdated):
(App.AnalysisTaskController.paneDomain):Renamed from _fetchedRuns.
(App.AnalysisTaskController.updateTestGroupPanes): Added. Creates App.TestGroupPane for each test group.
(App.AnalysisTaskController.actions.toggleShowRequestList): Added.

(App.TestGroupPane): Added.
(App.TestGroupPane._populate): Added. Group build requests by root sets and create a summary for each group.
(App.TestGroupPane._computeRepositoryList): Added. Returns a sorted list of repositories which is the union
of all repositories appearing in root sets and builds associated with A/B testing results.
(App.TestGroupPane._groupRequestsByConfigurations): Added. Groups build requests by root sets.
(App.TestGroupPane._createConfigurationSummary): Added. Creates a summary for a group of build requests that
use the same root set. We start by wrapping "raw" build requests in a proxy with formatted values,
build numbers, etc... obtained from the fetched chart data. The list of revisions shown in the group summary
is a union of revisions in the root set and the first build request in the group. We null-out revision info
for a build request if it is identical to the one in the summary. The range of values is expanded as needed
by the values in the group as well as 95% percentile confidence interval.

(App.BoxPlotComponent): Added. Controls a box plot shown for each test group summary and build request.
(App.BoxPlotComponent.didInsertElement): Added. Inserts a SVG element as well as two indicator rects to show
the mean and the confidence interval.
(App.BoxPlotComponent._updateBars): Added. Updates the dimensions of the indicator rects.
(App.BoxPlotComponent.valueChanged): Added. Computes the relative dimensions of the indicator rects and
calls _updateBars to update the rects.

  • public/v2/chart-pane.css: Added some style rules to be used in the details pane in analysis task pages.
  • public/v2/data.js:

(Measurement.prototype.formattedRevisions):
(Measurement.formatRevisionRange): Renamed from Measurement.prototype._formatRevisionRange so that it can be
called in _createConfigurationSummary.

  • public/v2/index.html: Updated the templates for analysis task pages. Moved the form to create a new test

group above all test groups, and replaced the list of data points by "details" pane used in the charts page.
Also made the fetching of chartData no longer block showing of test groups.

  • public/v2/interactive-chart.js:

(App.InteractiveChartComponent._updateDomain): Added an early exit to fix a newly revealed race condition.
(App.InteractiveChartComponent._domainChanged): Ditto.
(App.InteractiveChartComponent._updateSelectionToolbar): Made it respect 'zoomable' boolean property.

  • public/v2/js/statistics.js:

(Statistics.min): Added.
(Statistics.max): Added.

  • public/v2/manifest.js:

(App.Manifest.fetchRunsWithPlatformAndMetric): Added formatWithDeltaAndUnit to be used in _createConfigurationSummary.

5:12 PM Changeset in webkit [180332] by benjamin@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Remove BytecodeGenerator's numberMap, it is dead code
https://bugs.webkit.org/show_bug.cgi?id=141779

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-18
Reviewed by Filip Pizlo.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitLoad): Deleted.

  • bytecompiler/BytecodeGenerator.h:

The JSValueMap seems better in every way.

The emitLoad() taking a double was the only way to use numberMap
and that code has no caller.

4:39 PM Changeset in webkit [180331] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

[WK2][iOS] Fix NetworkCache build
https://bugs.webkit.org/show_bug.cgi?id=141778

Reviewed by Antti Koivisto.

Add missing header include to use round_page() on iOS.

  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
4:37 PM Changeset in webkit [180330] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the iOS Simulator build after r180308.

  • platform/graphics/cg/ImageBufferDataCG.h:
4:37 PM Changeset in webkit [180329] by Lucas Forschler
  • 3 edits in branches/safari-600.4.10-branch/Source/WebCore

Merge patch for rdar://problem/19585765.

4:30 PM Changeset in webkit [180328] by Alan Bujtas
  • 4 edits
    2 adds in trunk

REGRESSION(r174761) Dangling spanner pointer in RenderMultiColumnSpannerPlaceholder.
https://bugs.webkit.org/show_bug.cgi?id=138224

Reviewed by Dave Hyatt.

It's wrong to call flowThreadRelativeWillBeRemoved(child).
RenderMultiColumnFlowThread::removeFlowChildInfo() does not mean that the child is actually about to be removed.
Should this introduce any regressions, we need to deal with those separately.

Source/WebCore:

Test: fast/multicol/crash-when-spanner-gets-moved-around.html

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::removeFlowChildInfo): Deleted.

  • rendering/RenderMultiColumnFlowThread.h:

LayoutTests:

  • fast/multicol/crash-when-spanner-gets-moved-around-expected.txt: Added.
  • fast/multicol/crash-when-spanner-gets-moved-around.html: Added.
4:27 PM Changeset in webkit [180327] by mmaxfield@apple.com
  • 2 edits in trunk/LayoutTests

Many flakey tests for webkit.org/b/139968 do not appear to be flakey
https://bugs.webkit.org/show_bug.cgi?id=141762

Reviewed by Jer Noble.

Removing them from TestExpectations.

  • platform/mac/TestExpectations:
4:27 PM Changeset in webkit [180326] by Lucas Forschler
  • 2 edits in branches/safari-600.4.10-branch/Source/WebCore

Merged r180147. rdar://problem/19850650

4:23 PM Changeset in webkit [180325] by Lucas Forschler
  • 4 edits in branches/safari-600.4.10-branch/Source/JavaScriptCore

Merge patch from rdar://problem/19828518

4:20 PM Changeset in webkit [180324] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] CFData leak in CDMSessionAVFoundationCF
https://bugs.webkit.org/show_bug.cgi?id=141765
<rdar://problem/141765>

Reviewed by Joseph Pecoraro.

  • platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp:

(WebCore::CDMSessionAVFoundationCF::generateKeyRequest): use 'adoptCF'
so we don't double-increment the retain count.

4:06 PM Changeset in webkit [180323] by Lucas Forschler
  • 5 edits
    2 copies in branches/safari-600.4.10-branch

Merged r179963. rdar://problem/19771718

4:02 PM Changeset in webkit [180322] by Lucas Forschler
  • 2 edits in branches/safari-600.4.10-branch/Source/WebCore

Merged r179969. rdar://problem/19738568

3:59 PM Changeset in webkit [180321] by mmaxfield@apple.com
  • 3 edits
    1 copy in trunk/LayoutTests

Update expected result of fast/forms/text-control-intrinsic-widths.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141685

Reviewed by Alexey Proskuryakov.

Text metrics have changed.

  • platform/mac/TestExpectations:
  • platform/mac/fast/forms/text-control-intrinsic-widths-expected.txt:
  • platform/mac-mavericks/fast/forms/text-control-intrinsic-widths-expected.txt:
3:59 PM Changeset in webkit [180320] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-600.4.10-branch

Merged r179968. rdar://problem/19738568

3:55 PM Changeset in webkit [180319] by jonowells@apple.com
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Inspecting a page where resources are in folders forces folder organization on every subsequent page
https://bugs.webkit.org/show_bug.cgi?id=141397

Reviewed by Timothy Hatcher.

When removeChildren is called on an instance of a FolderizedTreeElement, the element's _groupedIntoFolders flag
will now be set to false. This will prevent unnecessary folderization upon a frame navigation. Also during an
onpopulate event, addChildForRepresentedObject is called repeatedly and much of the work done during each call
was unnecessary. That work has now been partially removed and partially relocated to a function that is only
called at the beginning of an onpopulate event.

  • UserInterface/Views/FolderizedTreeElement.js:

(WebInspector.FolderizedTreeElement.prototype.set removeChildren): Set _groupedIntoFolders to false.
(WebInspector.FolderizedTreeElement.prototype.addChildForRepresentedObject): Remove unnecessary treeOutline
emptiness check, and move _shouldGroupIntoFolders() check to new function prepareToPopulate().
(WebInspector.FolderizedTreeElement.prototype.prepareToPopulate): Create.
(WebInspector.FolderizedTreeElement.prototype._populateFromNewChildQueue): Call prepareToPopulate().

  • UserInterface/Views/FrameTreeElement.js:

(WebInspector.FrameTreeElement.prototype.onpopulate): Call prepareToPopulate().

  • UserInterface/Views/GeneralTreeElement.js: Drive-by inheritance style fix.
  • UserInterface/Views/ResourceTreeElement.js: Drive-by inheritance style fix.
3:54 PM Changeset in webkit [180318] by Lucas Forschler
  • 6 edits
    2 copies in branches/safari-600.4.10-branch

Merged r179959. rdar://problem/19738563

3:52 PM Changeset in webkit [180317] by msaboff@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Rollout r180247 & r180249 from trunk
https://bugs.webkit.org/show_bug.cgi?id=141773

Reviewed by Filip Pizlo.

Theses changes makes sense to fix the crash reported in https://bugs.webkit.org/show_bug.cgi?id=141730
only for branches. The change to fail the FTL compile but continue running is not comprehensive
enough for general use on trunk.

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::LowerDFGToLLVM):
(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::createPhiVariables):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileUpsilon):
(JSC::FTL::LowerDFGToLLVM::compilePhi):
(JSC::FTL::LowerDFGToLLVM::compileDoubleRep):
(JSC::FTL::LowerDFGToLLVM::compileValueRep):
(JSC::FTL::LowerDFGToLLVM::compileValueToInt32):
(JSC::FTL::LowerDFGToLLVM::compilePutLocal):
(JSC::FTL::LowerDFGToLLVM::compileArithAddOrSub):
(JSC::FTL::LowerDFGToLLVM::compileArithMul):
(JSC::FTL::LowerDFGToLLVM::compileArithDiv):
(JSC::FTL::LowerDFGToLLVM::compileArithMod):
(JSC::FTL::LowerDFGToLLVM::compileArithMinOrMax):
(JSC::FTL::LowerDFGToLLVM::compileArithAbs):
(JSC::FTL::LowerDFGToLLVM::compileArithNegate):
(JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure):
(JSC::FTL::LowerDFGToLLVM::compileGetById):
(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal):
(JSC::FTL::LowerDFGToLLVM::compileGetArrayLength):
(JSC::FTL::LowerDFGToLLVM::compileGetByVal):
(JSC::FTL::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::LowerDFGToLLVM::compileArrayPush):
(JSC::FTL::LowerDFGToLLVM::compileArrayPop):
(JSC::FTL::LowerDFGToLLVM::compileNewArray):
(JSC::FTL::LowerDFGToLLVM::compileToString):
(JSC::FTL::LowerDFGToLLVM::compileMakeRope):
(JSC::FTL::LowerDFGToLLVM::compileCompareEq):
(JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq):
(JSC::FTL::LowerDFGToLLVM::compileSwitch):
(JSC::FTL::LowerDFGToLLVM::compare):
(JSC::FTL::LowerDFGToLLVM::boolify):
(JSC::FTL::LowerDFGToLLVM::opposite):
(JSC::FTL::LowerDFGToLLVM::lowJSValue):
(JSC::FTL::LowerDFGToLLVM::speculate):
(JSC::FTL::LowerDFGToLLVM::isArrayType):
(JSC::FTL::LowerDFGToLLVM::exitValueForAvailability):
(JSC::FTL::LowerDFGToLLVM::exitValueForNode):
(JSC::FTL::LowerDFGToLLVM::setInt52):
(JSC::FTL::lowerDFGToLLVM):
(JSC::FTL::LowerDFGToLLVM::loweringFailed): Deleted.

  • ftl/FTLLowerDFGToLLVM.h:
3:50 PM Changeset in webkit [180316] by Lucas Forschler
  • 4 edits
    2 copies in branches/safari-600.4.10-branch

Merged r179953. rdar://problem/19738528

3:42 PM Changeset in webkit [180315] by Lucas Forschler
  • 4 edits in branches/safari-600.4.10-branch/Source/WebKit2

Merged r179952. rdar://problem/19771726

3:38 PM Changeset in webkit [180314] by Lucas Forschler
  • 6 edits in branches/safari-600.4.10-branch/Source/WebCore

Merged r179531. rdar://problem/19738579

3:35 PM Changeset in webkit [180313] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove input and output files from "Make Frameworks Symbolic Link" step
https://bugs.webkit.org/show_bug.cgi?id=141769

Reviewed by Dan Bernstein.

  • WebKit2.xcodeproj/project.pbxproj:
3:31 PM Changeset in webkit [180312] by Lucas Forschler
  • 2 edits in branches/safari-600.4.10-branch/Source/WebKit

Merged r179992. rdar://problem/19585768

3:22 PM Changeset in webkit [180311] by Brent Fulgham
  • 3 edits
    1 move
    1 add in trunk/LayoutTests

[Win] More unreviewed Windows gardening.

  • platform/win/TestExpectations:
  • platform/win/accessibility/press-targets-center-point-expected.txt: Added.
  • platform/win/fast/frames/frame-scrolling-attribute-exepected.txt: Removed.
  • platform/win/fast/frames/frame-scrolling-attribute-expected.txt: Copied from platform/win/fast/frames/frame-scrolling-attribute-exepected.txt.
  • platform/win/http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients-expected.txt:
3:19 PM Changeset in webkit [180310] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-600.4.10-branch

Merged r178426. rdar://problem/19585771

3:14 PM Changeset in webkit [180309] by Lucas Forschler
  • 2 edits in branches/safari-600.4.10-branch/Source/JavaScriptCore

Merged r179329. rdar://problem/19738498

3:05 PM Changeset in webkit [180308] by timothy_horton@apple.com
  • 13 edits in trunk/Source

Adopt WebCore::IOSurface in ImageBuffer
https://bugs.webkit.org/show_bug.cgi?id=141751

Reviewed by Simon Fraser.

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::createIOSurface): Deleted.
(WebCore::ImageBuffer::ImageBuffer):
Make use of cachedCGColorSpace.
Make use of WebCore::IOSurface.
Remove the unused size argument from ImageBufferDataCG.
Clear the IOSurface once we've allocated it; WebCore::IOSurface doesn't
do this for us, unlike wkIOSurfaceContextCreate.
Apply the flipping and scale factor to whichever context we made.
We don't need to setIsAcceleratedContext anymore because it's always
false for software contexts, and WebCore::IOSurface will set it for
any accelerated contexts.

(WebCore::ImageBuffer::context):
If we are IOSurface-backed, return WebCore::IOSurface's GraphicsContext.

(WebCore::ImageBuffer::flushContext):
Make use of context(); m_context is now null for accelerated ImageBuffers.

(WebCore::ImageBuffer::copyNativeImage):
Adopt in-line with the Create functions for clarity. Make use of
IOSurface::createImage instead of wkIOSurfaceContextCreateImage.

(WebCore::ImageBuffer::draw):
(WebCore::ImageBuffer::drawPattern):
(WebCore::ImageBuffer::getUnmultipliedImageData):
(WebCore::ImageBuffer::getPremultipliedImageData):
(WebCore::ImageBuffer::putByteArray):
(WebCore::ImageBuffer::toDataURL):
Make use of context(); m_context is now null for accelerated ImageBuffers.

  • platform/graphics/cg/ImageBufferDataCG.cpp:

(WebCore::ImageBufferData::ImageBufferData):
Indentation fix, and use nullptr.

(WebCore::convertScanline):
Grammar fix (is -> are).

(WebCore::ImageBufferData::getData):
(WebCore::ImageBufferData::putData):
Grab the IOSurfaceRef from the IOSurface wrapper. Eventually these things
should be made more convenient by the wrapper.

  • platform/graphics/cg/ImageBufferDataCG.h:

Drop the unused size argument from the constructor.
Reorganize and label the various members which are only used
for a particular type of ImageBufferDataCG.

  • platform/graphics/cocoa/IOSurface.mm:

(IOSurface::ensureGraphicsContext):
IOSurface-backed GraphicsContexts are always considered accelerated.

(IOSurface::create):
(IOSurface::IOSurface):
Add a constructor that take an extra size to use when making the CGContext;
it can only be less than the actual backing IOSurface size.
This is needed for r160121.

  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:

Remove old WKSI IOSurface-related functions.

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):
Remove old WKSI IOSurface-related functions.

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):
Remove old WKSI IOSurface-related functions.

3:02 PM Changeset in webkit [180307] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-600.4.10-branch

Merged r178363. rdar://problem/19738547

2:56 PM Changeset in webkit [180306] by Lucas Forschler
  • 2 edits in branches/safari-600.4.10-branch/Source/JavaScriptCore

Merged r178311. rdar://problem/19738492

2:52 PM Changeset in webkit [180305] by Lucas Forschler
  • 5 edits
    5 copies in branches/safari-600.4.10-branch

Merged r178038. rdar://problem/19738519

2:49 PM Changeset in webkit [180304] by Lucas Forschler
  • 27 edits in branches/safari-600.4.10-branch

Merged r177849. rdar://problem/19585778

2:45 PM Changeset in webkit [180303] by Lucas Forschler
  • 4 edits
    4 copies in branches/safari-600.4.10-branch

Merged r177165. rdar://problem/19738587

2:42 PM Changeset in webkit [180302] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-600.4.10-branch

Merged r177089. rdar://problem/19738540

2:39 PM Changeset in webkit [180301] by commit-queue@webkit.org
  • 62 edits in trunk/Source/WebCore

Prepare to use WEBCORE_EXPORT on Windows.
https://bugs.webkit.org/show_bug.cgi?id=141735

Patch by Alex Christensen <achristensen@webkit.org> on 2015-02-18
Reviewed by Brent Fulgham.

  • bindings/js/GCController.h:
  • bindings/js/JSDOMGlobalObject.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
  • bindings/scripts/test/JS/JSTestActiveDOMObject.h:
  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
  • bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:
  • bindings/scripts/test/JS/JSTestEventConstructor.h:
  • bindings/scripts/test/JS/JSTestEventTarget.cpp:
  • bindings/scripts/test/JS/JSTestEventTarget.h:
  • bindings/scripts/test/JS/JSTestException.cpp:
  • bindings/scripts/test/JS/JSTestException.h:
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
  • bindings/scripts/test/JS/JSTestInterface.cpp:
  • bindings/scripts/test/JS/JSTestInterface.h:
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
  • bindings/scripts/test/JS/JSTestNamedConstructor.h:
  • bindings/scripts/test/JS/JSTestNode.cpp:
  • bindings/scripts/test/JS/JSTestNode.h:
  • bindings/scripts/test/JS/JSTestNondeterministic.cpp:
  • bindings/scripts/test/JS/JSTestNondeterministic.h:
  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/JS/JSTestObj.h:
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
  • bindings/scripts/test/JS/JSTestTypedefs.cpp:
  • bindings/scripts/test/JS/JSTestTypedefs.h:
  • bindings/scripts/test/JS/JSattribute.cpp:
  • bindings/scripts/test/JS/JSattribute.h:
  • bindings/scripts/test/JS/JSreadonly.cpp:
  • bindings/scripts/test/JS/JSreadonly.h:
  • bridge/runtime_method.h:
  • bridge/runtime_object.h:
  • dom/make_names.pl:

(printNamesHeaderFile):

  • history/HistoryItem.h:
  • loader/FrameLoader.h:
  • loader/LoaderStrategy.h:
  • loader/ResourceLoadScheduler.h:
  • loader/icon/IconDatabase.h:
  • loader/icon/IconDatabaseBase.h:
  • page/DatabaseProvider.h:
  • page/Page.h:
  • page/PageConsoleClient.h:
  • page/PageOverlay.h:
  • platform/FileSystem.h:
  • platform/MemoryPressureHandler.h:
  • platform/ThreadGlobalData.h:
  • platform/URL.h:
  • platform/graphics/ca/PlatformCALayer.h:
  • platform/network/BlobDataFileReference.h:
  • platform/network/BlobRegistry.h:
  • platform/network/BlobRegistryImpl.h:
  • platform/sql/SQLiteDatabase.h:
  • rendering/ScrollBehavior.h:
  • rendering/break_lines.h:

Add and move some WEBCORE_EXPORT macros.

2:38 PM Changeset in webkit [180300] by Lucas Forschler
  • 4 edits
    1 copy in branches/safari-600.4.10-branch

Merged r176899. rdar://problem/19585775

2:35 PM Changeset in webkit [180299] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-600.4.10-branch

Merged r176750. rdar://problem/19738583

2:28 PM Changeset in webkit [180298] by Lucas Forschler
  • 2 edits in branches/safari-600.4.10-branch/Source/WebCore

Merged r175771. rdar://problem/19738509

2:25 PM Changeset in webkit [180297] by andersca@apple.com
  • 2 edits
    1 move in trunk/Source/WebCore

Rename LocalizedStringsMac.cpp to LocalizedStringsCocoa.mm
https://bugs.webkit.org/show_bug.cgi?id=141767

Reviewed by Tim Horton.

Also, move it to platform/cocoa instead of platform/mac.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/cocoa/LocalizedStringsCocoa.mm: Renamed from Source/WebCore/platform/mac/LocalizedStringsMac.cpp.
2:25 PM Changeset in webkit [180296] by jer.noble@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed gardening; add expectation for WK2-only failing test.

  • platform/mac-wk2/TestExpectations:
2:24 PM Changeset in webkit [180295] by Lucas Forschler
  • 10 edits in branches/safari-600.4.10-branch

Merged r174712. rdar://problem/19738635

2:23 PM Changeset in webkit [180294] by Antti Koivisto
  • 9 edits
    2 moves in trunk/Source/WebCore

Rename FontGlyphs to FontCascadeFonts
https://bugs.webkit.org/show_bug.cgi?id=141754

Reviewed by Andreas Kling.

"It is better than Impl."

The purpose of the class to own to create and own the realized Font instances and the associated caches
for FontCascade instances.

2:15 PM Changeset in webkit [180293] by Beth Dakin
  • 3 edits in trunk/Source/WebKit2

iBooks immediate action blacklist should not even create the gesture recognizer
https://bugs.webkit.org/show_bug.cgi?id=141768
-and corresponding-
rdar://problem/19806770

Reviewed by Tim Horton.

Move the runtime-application check to the point where the gesture recognizer is
created so that we can avoid doing so.

  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:processPool:configuration:webView:]):

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController _updateImmediateActionItem]):

1:53 PM Changeset in webkit [180292] by Brent Fulgham
  • 4 edits
    2 adds in trunk/LayoutTests

[Win] More gardening (Unreviewed).

  • platform/win/TestExpectations:
  • platform/win/fast/frames/frame-scrolling-attribute-exepected.txt:
  • platform/win/http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients-expected.txt:
  • platform/win/svg/W3C-SVG-1.1/masking-path-04-b-expected.png: Added.
  • platform/win/svg/W3C-SVG-1.1/masking-path-04-b-expected.txt: Added.
1:47 PM Changeset in webkit [180291] by commit-queue@webkit.org
  • 11 edits in trunk/Source

Unreviewed, rolling out r180286.
https://bugs.webkit.org/show_bug.cgi?id=141766

Caused >50 crashed LayoutTests (Requested by jernoble on
#webkit).

Reverted changeset:

"Page::userContentController() should return a reference, not
a pointer"
https://bugs.webkit.org/show_bug.cgi?id=141764
http://trac.webkit.org/changeset/180286

1:41 PM Changeset in webkit [180290] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

1:37 PM Changeset in webkit [180289] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.19

New tag.

1:19 PM Changeset in webkit [180288] by Csaba Osztrogonác
  • 3 edits in trunk/Tools

Run JSC tests on ARM EFL bots
https://bugs.webkit.org/show_bug.cgi?id=141165

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(RunJavaScriptCoreTests.countFailures):
(RunRemoteJavaScriptCoreTests):
(RunRemoteJavaScriptCoreTests.start):
(BuildAndRemoteJSCTestsFactory):
(BuildAndRemoteJSCTestsFactory.init):

1:15 PM March 2015 Meeting edited by dino@apple.com
(diff)
1:13 PM Changeset in webkit [180287] by ddkilzer@apple.com
  • 13 edits
    2 adds in trunk/Source/WebCore

Consolidate soft-linked CMTimeMakeWithSeconds() function
<http://webkit.org/b/141655>

Reviewed by Brent Fulgham.

  • Configurations/WebCore.unexp: Remove workaround for

CMTimeMakeWithSeconds() weak external.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • Add CoreMediaSoftLink.{cpp,h} to the project.
  • platform/cf/CoreMediaSoftLink.cpp: Add.
  • platform/cf/CoreMediaSoftLink.h: Add.
  • Implement new strategy where code for soft-linking is only in one place, and the header can simply be included wherever a soft-linked method is needed.
  • platform/graphics/avfoundation/MediaTimeAVFoundation.cpp:
  • platform/graphics/avfoundation/cf/CoreMediaSoftLinking.h:
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
  • platform/mac/PlatformClockCM.mm:
  • Remove old soft-linking strategy and include CoreMediaSoftLink.h.
  • platform/mac/SoftLinking.h:

(SOFT_LINK_FUNCTION_DECL): Add. New macro function used for
header declaration. Split out from SOFT_LINK() macro. Also
stop violating C++ standards by redeclaring an inline function
with the exact same signature as an extern "C" function. This
now matches what we do on Windows (where Visual C++ already
prevented these shenanigans).
(SOFT_LINK_FUNCTION_IMPL): Add. New macro function used for
source implementation. Split out the from SOFT_LINK() macro.

  • platform/win/SoftLinking.h:

(SOFT_LINK_FRAMEWORK): Map mac/SoftLinking.h macro name to
Windows macros so we can simplify CoreMediaSoftLink.{cpp,h}.
(SOFT_LINK_FUNCTION_DECL): Add.
(SOFT_LINK_FUNCTION_IMPL): Add.

  • New macro functions split out from SOFT_LINK_DLL_IMPORT() macro for header declaration and source implementation.
  • We assume the cdecl calling convention because that's what all Apple libraries use, and so we are able to use the exact same macro function on both Mac and Windows to simplify CoreMediaSoftLink.{cpp,h}.
12:51 PM Changeset in webkit [180286] by beidson@apple.com
  • 11 edits in trunk/Source

Page::userContentController() should return a reference, not a pointer
https://bugs.webkit.org/show_bug.cgi?id=141764

Reviewed by Jer Noble.

Source/WebCore:

No new tests (No behavior change)

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::updateInjectedStyleSheetCache):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):

  • page/CaptionUserPreferences.cpp:

(WebCore::CaptionUserPreferences::updateCaptionStyleSheetOveride):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::shouldHaveWebKitNamespaceForWorld):

  • page/Frame.cpp:

(WebCore::Frame::injectUserScripts):

  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::~Page):
(WebCore::Page::setUserContentController):

  • page/Page.h:

(WebCore::Page::userContentController):

  • page/UserMessageHandlersNamespace.cpp:

(WebCore::UserMessageHandlersNamespace::handler):

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView setGroupName:]):

12:42 PM Changeset in webkit [180285] by roger_fong@apple.com
  • 9 edits in trunk/Source/WebCore

WebGL2: Promote various WebGL1 extensions to core for WebGL2.
https://bugs.webkit.org/show_bug.cgi?id=141446
<rdar://problem/19633715>

Reviewed by Brent Fulham.

Tests covered by WebGL2 conformance tests.

This patch promotes the following WebGL1 extensions to core in WebGL2:
OES_element_index_uint
EXT_sRGB
EXT_blend_minmax
EXT_frag_depth
EXT_shader_texture_lod
OES_standard_derivatives

The latter 3 are enabled by default now for GLSL1, though we will get these extensions
for free when GLSL3 becomes available.

WebGL2 binding code should actually fall back to base implementation for getFramebufferAttachmentParameter.

  • bindings/js/JSWebGL2RenderingContextCustom.cpp:

(WebCore::JSWebGL2RenderingContext::getFramebufferAttachmentParameter): Deleted.

  • html/canvas/WebGL2RenderingContext.idl: Ditto.
  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::getExtension): Enable WEBGL_lose_context as an extension again.
It was not promoted to core as I originally thought it had been.
(WebCore::WebGL2RenderingContext::getSupportedExtensions): Ditto.
(WebCore::WebGL2RenderingContext::WebGL2RenderingContext): Promote the 3 shader extensions for GLSL1 to core.
(WebCore::WebGL2RenderingContext::initializeShaderExtensions): Ditto.
(WebCore::WebGL2RenderingContext::getFramebufferAttachmentParameter): Promote SRGB extension to core.
(WebCore::WebGL2RenderingContext::renderbufferStorage): Ditto.
(WebCore::WebGL2RenderingContext::hint): Ditto.
(WebCore::WebGL2RenderingContext::validateTexFuncFormatAndType): Ditto.
(WebCore::WebGL2RenderingContext::validateIndexArrayConservative): Promote OES_element_index_uint extension to core.
(WebCore::WebGL2RenderingContext::validateDrawElements): Ditto.
(WebCore::WebGL2RenderingContext::validateBlendEquation): Promote EXT_blend_minmax extension to core.

  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): Copied form WebGLRenderingContextBase.
(WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
(WebCore::WebGLRenderingContext::hint): Ditto.
(WebCore::WebGLRenderingContext::validateIndexArrayConservative): Ditto.
(WebCore::WebGLRenderingContext::validateDrawElements): Ditto.
(WebCore::WebGLRenderingContext::validateBlendEquation): Ditto.

  • html/canvas/WebGLRenderingContext.h:
  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::validateIndexArrayConservative): Deleted.
(WebCore::WebGLRenderingContextBase::validateDrawElements): Deleted.
(WebCore::WebGLRenderingContextBase::getExtension): Deleted.
(WebCore::WebGLRenderingContextBase::getFramebufferAttachmentParameter): Deleted.
(WebCore::WebGLRenderingContextBase::hint): Deleted.
(WebCore::WebGLRenderingContextBase::renderbufferStorage): Deleted.
(WebCore::WebGLRenderingContextBase::validateBlendEquation): Deleted.

  • html/canvas/WebGLRenderingContextBase.h:
12:15 PM Changeset in webkit [180284] by Lucas Forschler
  • 4 edits
    2 copies in branches/safari-600.4.10-branch

Merged r174085. rdar://problem/19738573

12:10 PM Changeset in webkit [180283] by Lucas Forschler
  • 7 edits
    2 copies in branches/safari-600.4.10-branch

Merged r173806. rdar://problem/19850795

12:08 PM Changeset in webkit [180282] by achristensen@apple.com
  • 6 edits in trunk

Streamline unexported function build fixes
https://bugs.webkit.org/show_bug.cgi?id=141761

Patch by Alexey Proskuryakov <ap@apple.com> on 2015-02-18
Reviewed by Alex Christensen.

Source/WebCore:

  • Configurations/WebCore.unexp: Added some functions for symbols only used on newer

OS versions. Removed a special case for NodeList, to handle it uniformly with Node.

  • Configurations/WebCore.xcconfig: Made the unexported list unconditional, because

it's not only Xcode 5 that is affected.

  • bindings/scripts/CodeGeneratorJS.pm: (GenerateHeader): We already had a hack for

Node, NodeList needs an exactly the same one. Also updated the comments.

Tools:

  • Scripts/check-for-weak-vtables-and-externals: (readXcode5SymbolsToIgnore): Deleted.

We don't need to ignore symbols that are not exported due to the .unexp file.

12:05 PM Changeset in webkit [180281] by Chris Dumez
  • 23 edits in trunk/Source

Access FontCache global instance via singleton() static member function
https://bugs.webkit.org/show_bug.cgi?id=141726

Reviewed by Daniel Bates.

Access FontCache global instance via singleton() static member function,
as per coding style.

11:57 AM Changeset in webkit [180280] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Crashes under IDBDatabase::closeConnection.
https://bugs.webkit.org/show_bug.cgi?id=141745
rdar://problem/19816412

Reviewed by David Kilzer.

  • Modules/indexeddb/IDBDatabase.cpp: (WebCore::IDBDatabase::closeConnection):

Add a missing protector.

11:55 AM Changeset in webkit [180279] by fpizlo@apple.com
  • 78 edits
    14 adds in trunk

DFG should really support varargs
https://bugs.webkit.org/show_bug.cgi?id=141332

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

This adds comprehensive vararg call support to the DFG and FTL compilers. Previously, if a
function had a varargs call, then it could only be compiled if that varargs call was just
forwarding arguments and we were inlining the function rather than compiling it directly. Also,
only varargs calls were dealt with; varargs constructs were not.

This lifts all of those restrictions. Every varargs call or construct can now be compiled by both
the DFG and the FTL. Those calls can also be inlined, too - provided that profiling gives us a
sensible bound on arguments list length. When we inline a varargs call, the act of loading the
varargs is now made explicit in IR. I believe that we have enough IR machinery in place that we
would be able to do the arguments forwarding optimization as an IR transformation. This patch
doesn't implement that yet, and keeps the old bytecode-based varargs argument forwarding
optimization for now.

There are three major IR features introduced in this patch:

CallVarargs/ConstructVarargs: these are like Call/Construct except that they take an arguments
array rather than a list of arguments. Currently, they splat this arguments array onto the stack
using the same basic technique as the baseline JIT has always done. Except, these nodes indicate
that we are not interested in doing the non-escaping "arguments" optimization.

CallForwardVarargs: this is a form of CallVarargs that just does the non-escaping "arguments"
optimization, aka forwarding arguments. It's somewhat lazy that this doesn't include
ConstructForwardVarargs, but the reason is that once we eliminate the lazy tear-off for
arguments, this whole thing will have to be tweaked - and for now forwarding on construct is just
not important in benchmarks. ConstructVarargs will still do forwarding, just not inlined.

LoadVarargs: loads all elements out of an array onto the stack in a manner suitable for a varargs
call. This is used only when a varargs call (or construct) was inlined. The bytecode parser will
make room on the stack for the arguments, and will use LoadVarars to put those arguments into
place.

In the future, we can consider adding strength reductions like:

  • If CallVarargs/ConstructVarargs see an array of known size with known elements, turn them into Call/Construct.


  • If CallVarargs/ConstructVarargs are passed an unmodified, unescaped Arguments object, then turn them into CallForwardVarargs/ConstructForwardVarargs.


  • If LoadVarargs sees an array of known size, then turn it into a sequence of GetByVals and PutLocals.


  • If LoadVarargs sees an unmodified, unescaped Arguments object, then turn it into something like LoadForwardVarargs.


  • If CallVarargs/ConstructVarargs/LoadVarargs see the result of a splice (or other Array prototype function), then do the splice and varargs loading in one go (maybe via a new node type).

(JSC::MacroAssembler::rshiftPtr):
(JSC::MacroAssembler::urshiftPtr):

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::urshift64):

  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::urshift64):

  • assembler/X86Assembler.h:

(JSC::X86Assembler::shrq_i8r):

  • bytecode/CallLinkInfo.h:

(JSC::CallLinkInfo::CallLinkInfo):

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFor):
(JSC::CallLinkStatus::setProvenConstantCallee):
(JSC::CallLinkStatus::dump):

  • bytecode/CallLinkStatus.h:

(JSC::CallLinkStatus::maxNumArguments):
(JSC::CallLinkStatus::setIsProved): Deleted.

  • bytecode/CodeOrigin.cpp:

(WTF::printInternal):

  • bytecode/CodeOrigin.h:

(JSC::InlineCallFrame::varargsKindFor):
(JSC::InlineCallFrame::specializationKindFor):
(JSC::InlineCallFrame::isVarargs):
(JSC::InlineCallFrame::isNormalCall): Deleted.

  • bytecode/ExitKind.cpp:

(JSC::exitKindToString):

  • bytecode/ExitKind.h:
  • bytecode/ValueRecovery.cpp:

(JSC::ValueRecovery::dumpInContext):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGArgumentsSimplificationPhase.cpp:

(JSC::DFG::ArgumentsSimplificationPhase::run):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::flush):
(JSC::DFG::ByteCodeParser::addCall):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::handleVarargsCall):
(JSC::DFG::ByteCodeParser::emitFunctionChecks):
(JSC::DFG::ByteCodeParser::inliningCost):
(JSC::DFG::ByteCodeParser::inlineCall):
(JSC::DFG::ByteCodeParser::attemptToInlineCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::handleMinMax):
(JSC::DFG::ByteCodeParser::handleIntrinsic):
(JSC::DFG::ByteCodeParser::handleTypedArrayConstructor):
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::removeLastNodeFromGraph): Deleted.
(JSC::DFG::ByteCodeParser::undoFunctionChecks): Deleted.

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • dfg/DFGCapabilities.h:

(JSC::DFG::functionCapabilityLevel):
(JSC::DFG::mightCompileFunctionFor):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGCommon.cpp:

(WTF::printInternal):

  • dfg/DFGCommon.h:

(JSC::DFG::canInline):
(JSC::DFG::leastUpperBound):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::dumpBlockHeader):
(JSC::DFG::Graph::isLiveInBytecode):
(JSC::DFG::Graph::valueProfileFor):
(JSC::DFG::Graph::methodOfGettingAValueProfileFor):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::valueProfileFor): Deleted.
(JSC::DFG::Graph::methodOfGettingAValueProfileFor): Deleted.

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compileExceptionHandlers):
(JSC::DFG::JITCompiler::link):

  • dfg/DFGMayExit.cpp:

(JSC::DFG::mayExit):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasCallVarargsData):
(JSC::DFG::Node::callVarargsData):
(JSC::DFG::Node::hasLoadVarargsData):
(JSC::DFG::Node::loadVarargsData):
(JSC::DFG::Node::hasHeapPrediction):

  • dfg/DFGNodeType.h:
  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp:

(JSC::DFG::LocalOSRAvailabilityCalculator::executeNode):

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::reifyInlinedCallFrames):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPlan.cpp:

(JSC::DFG::dumpAndVerifyGraph):
(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGPreciseLocalClobberize.h:

(JSC::DFG::PreciseLocalClobberizeAdaptor::readTop):
(JSC::DFG::PreciseLocalClobberizeAdaptor::writeTop):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSSAConversionPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::isFlushed):
(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGStackLayoutPhase.cpp:

(JSC::DFG::StackLayoutPhase::run):
(JSC::DFG::StackLayoutPhase::assign):

  • dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::handleNode):

  • dfg/DFGTypeCheckHoistingPhase.cpp:

(JSC::DFG::TypeCheckHoistingPhase::run):

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validateCPS):

  • ftl/FTLAbbreviations.h:

(JSC::FTL::functionType):
(JSC::FTL::buildCall):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLCompile.cpp:

(JSC::FTL::mmAllocateDataSection):

  • ftl/FTLInlineCacheSize.cpp:

(JSC::FTL::sizeOfCall):
(JSC::FTL::sizeOfCallVarargs):
(JSC::FTL::sizeOfCallForwardVarargs):
(JSC::FTL::sizeOfConstructVarargs):
(JSC::FTL::sizeOfIn):
(JSC::FTL::sizeOfICFor):
(JSC::FTL::sizeOfCheckIn): Deleted.

  • ftl/FTLInlineCacheSize.h:
  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLJSCall.cpp:

(JSC::FTL::JSCall::JSCall):

  • ftl/FTLJSCallBase.cpp:
  • ftl/FTLJSCallBase.h:
  • ftl/FTLJSCallVarargs.cpp: Added.

(JSC::FTL::JSCallVarargs::JSCallVarargs):
(JSC::FTL::JSCallVarargs::numSpillSlotsNeeded):
(JSC::FTL::JSCallVarargs::emit):
(JSC::FTL::JSCallVarargs::link):

  • ftl/FTLJSCallVarargs.h: Added.

(JSC::FTL::JSCallVarargs::node):
(JSC::FTL::JSCallVarargs::stackmapID):
(JSC::FTL::JSCallVarargs::operator<):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentsLength):
(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal):
(JSC::FTL::LowerDFGToLLVM::compileCallOrConstructVarargs):
(JSC::FTL::LowerDFGToLLVM::compileLoadVarargs):
(JSC::FTL::LowerDFGToLLVM::compileIn):
(JSC::FTL::LowerDFGToLLVM::emitStoreBarrier):
(JSC::FTL::LowerDFGToLLVM::vmCall):
(JSC::FTL::LowerDFGToLLVM::vmCallNoExceptions):
(JSC::FTL::LowerDFGToLLVM::callCheck):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::call):

  • ftl/FTLState.cpp:

(JSC::FTL::State::State):

  • ftl/FTLState.h:
  • interpreter/Interpreter.cpp:

(JSC::sizeOfVarargs):
(JSC::sizeFrameForVarargs):

  • interpreter/Interpreter.h:
  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::readInlinedFrame):

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::emitExceptionCheck):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::addressFor):
(JSC::AssemblyHelpers::calleeFrameSlot):
(JSC::AssemblyHelpers::calleeArgumentSlot):
(JSC::AssemblyHelpers::calleeFrameTagSlot):
(JSC::AssemblyHelpers::calleeFramePayloadSlot):
(JSC::AssemblyHelpers::calleeArgumentTagSlot):
(JSC::AssemblyHelpers::calleeArgumentPayloadSlot):
(JSC::AssemblyHelpers::calleeFrameCallerFrame):
(JSC::AssemblyHelpers::selectScratchGPR):

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

  • jit/GPRInfo.h:
  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/JIT.h:
  • jit/JITCall.cpp:

(JSC::JIT::compileSetupVarargsFrame):
(JSC::JIT::compileOpCall):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileSetupVarargsFrame):
(JSC::JIT::compileOpCall):

  • jit/JITOperations.h:
  • jit/SetupVarargsFrame.cpp:

(JSC::emitSetupVarargsFrameFastCase):

  • jit/SetupVarargsFrame.h:
  • runtime/Arguments.h:

(JSC::Arguments::create):
(JSC::Arguments::registerArraySizeInBytes):
(JSC::Arguments::finishCreation):

  • runtime/Options.h:
  • tests/stress/construct-varargs-inline-smaller-Foo.js: Added.

(Foo):
(bar):
(checkEqual):
(test):

  • tests/stress/construct-varargs-inline.js: Added.

(Foo):
(bar):
(checkEqual):
(test):

  • tests/stress/construct-varargs-no-inline.js: Added.

(Foo):
(bar):
(checkEqual):
(test):

  • tests/stress/get-argument-by-val-in-inlined-varargs-call-out-of-bounds.js: Added.

(foo):
(bar):

  • tests/stress/get-argument-by-val-safe-in-inlined-varargs-call-out-of-bounds.js: Added.

(foo):
(bar):

  • tests/stress/get-my-argument-by-val-creates-arguments.js: Added.

(blah):
(foo):
(bar):
(checkEqual):
(test):

  • tests/stress/load-varargs-then-inlined-call-exit-in-foo.js: Added.

(foo):
(bar):
(checkEqual):

  • tests/stress/load-varargs-then-inlined-call-inlined.js: Added.

(foo):
(bar):
(baz):
(checkEqual):
(test):

  • tests/stress/load-varargs-then-inlined-call.js: Added.

(foo):
(bar):
(checkEqual):
(test):

LayoutTests:

Adds a version of deltablue that uses rest arguments profusely. This speeds up by 20% with this
patch. I believe that the machinery that this patch puts in place will allow us to ultimately
run deltablue-varargs at the same steady-state performance as normal deltablue.

  • js/regress/deltablue-varargs-expected.txt: Added.
  • js/regress/deltablue-varargs.html: Added.
  • js/regress/script-tests/deltablue-varargs.js: Added.

(args):
(Object.prototype.inheritsFrom):
(OrderedCollection):
(OrderedCollection.prototype.add):
(OrderedCollection.prototype.at):
(OrderedCollection.prototype.size):
(OrderedCollection.prototype.removeFirst):
(OrderedCollection.prototype.remove):
(Strength):
(Strength.stronger):
(Strength.weaker):
(Strength.weakestOf):
(Strength.strongest):
(Strength.prototype.nextWeaker):
(Constraint):
(Constraint.prototype.addConstraint):
(Constraint.prototype.satisfy):
(Constraint.prototype.destroyConstraint):
(Constraint.prototype.isInput):
(UnaryConstraint):
(UnaryConstraint.prototype.addToGraph):
(UnaryConstraint.prototype.chooseMethod):
(UnaryConstraint.prototype.isSatisfied):
(UnaryConstraint.prototype.markInputs):
(UnaryConstraint.prototype.output):
(UnaryConstraint.prototype.recalculate):
(UnaryConstraint.prototype.markUnsatisfied):
(UnaryConstraint.prototype.inputsKnown):
(UnaryConstraint.prototype.removeFromGraph):
(StayConstraint):
(StayConstraint.prototype.execute):
(EditConstraint.prototype.isInput):
(EditConstraint.prototype.execute):
(BinaryConstraint):
(BinaryConstraint.prototype.chooseMethod):
(BinaryConstraint.prototype.addToGraph):
(BinaryConstraint.prototype.isSatisfied):
(BinaryConstraint.prototype.markInputs):
(BinaryConstraint.prototype.input):
(BinaryConstraint.prototype.output):
(BinaryConstraint.prototype.recalculate):
(BinaryConstraint.prototype.markUnsatisfied):
(BinaryConstraint.prototype.inputsKnown):
(BinaryConstraint.prototype.removeFromGraph):
(ScaleConstraint):
(ScaleConstraint.prototype.addToGraph):
(ScaleConstraint.prototype.removeFromGraph):
(ScaleConstraint.prototype.markInputs):
(ScaleConstraint.prototype.execute):
(ScaleConstraint.prototype.recalculate):
(EqualityConstraint):
(EqualityConstraint.prototype.execute):
(Variable):
(Variable.prototype.addConstraint):
(Variable.prototype.removeConstraint):
(Planner):
(Planner.prototype.incrementalAdd):
(Planner.prototype.incrementalRemove):
(Planner.prototype.newMark):
(Planner.prototype.makePlan):
(Planner.prototype.extractPlanFromConstraints):
(Planner.prototype.addPropagate):
(Planner.prototype.removePropagateFrom):
(Planner.prototype.addConstraintsConsumingTo):
(Plan):
(Plan.prototype.addConstraint):
(Plan.prototype.size):
(Plan.prototype.constraintAt):
(Plan.prototype.execute):
(chainTest):
(projectionTest):
(change):
(deltaBlue):

11:39 AM Changeset in webkit [180278] by mmaxfield@apple.com
  • 4 edits
    2 adds in trunk

Justified ruby can cause lines to grow beyond their container
https://bugs.webkit.org/show_bug.cgi?id=141732

Reviewed by David Hyatt.

Source/WebCore:

After we re-layout RenderRubyRuns, this can change the environment upon which
ruby's overhang calculation is sensitive to. Before this patch, we would recalculate
the overhang after the RenderRubyRun gets relaid out. However, doing such causes the
effective width of the RenderRubyRun to change, which causes out subsequent
justification calculations to be off.

Therefore, we have a cycle; the amount of ruby overhang can change the justification
in a line, and the layout of the line affects the ruby overhang calculation. Instead
of performing a layout in a loop until it converges, this patch simply observes that
having a flush right edge is more valuable than having a perfectly correct overhang.
It therefore simply removes the secondary overhang calculation.

Test: fast/text/ruby-justification-flush.html

  • rendering/RenderBlockFlow.h:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::updateRubyForJustifiedText):
(WebCore::RenderBlockFlow::computeExpansionForJustifiedText):
(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):

LayoutTests:

Make sure that the right edge of a justified ruby line matches up with
the same line without ruby.

  • fast/text/ruby-justification-flush-expected.html: Added.
  • fast/text/ruby-justification-flush.html: Added.
11:34 AM Changeset in webkit [180277] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Add WKContext SPI to clear all visited links
https://bugs.webkit.org/show_bug.cgi?id=141752
<rdar://problem/9997966>

Reviewed by Dan Bernstein.

  • UIProcess/API/C/WKContext.cpp:

(WKContextClearVisitedLinks):

  • UIProcess/API/C/WKContext.h:
11:32 AM Changeset in webkit [180276] by Chris Dumez
  • 4 edits in trunk/Source

Evict dead resources in MemoryCache in MemoryPressureHandler::releaseNoncriticalMemory()
https://bugs.webkit.org/show_bug.cgi?id=141723

Reviewed by Andreas Kling.

Evict dead resources from the MemoryCache on non-critical memory
pressure. On critical memory pressure, we already evict ALL resources
from the MemoryCache. It is a good idea to start by evicting resources
we care less about on non-critical warning to decrease the chances of
getting a critical warning and thus having to clear the whole
MemoryCache.

  • loader/cache/MemoryCache.h:
  • platform/MemoryPressureHandler.cpp:

(WebCore::MemoryPressureHandler::releaseNoncriticalMemory):
(WebCore::MemoryPressureHandler::releaseCriticalMemory):
(WebCore::MemoryPressureHandler::releaseMemory):
Call releaseCriticalMemory() before releaseNoncriticalMemory()
as releaseCriticalMemory() is more aggressive. Doing it the
other way around would mean that on critical warning, we would
first evict dead resources, then evict all resources. It is
more efficient to evict all resources first, as it makes the
non-critical operation (evict dead resources) a no-op.

11:29 AM Changeset in webkit [180275] by dino@apple.com
  • 10 edits in branches/safari-600.5-branch/LayoutTests

Rebaseline tests for safari-600.5-branch.
<rdar://problem/19861390>

  • media/video-colorspace-yuv420-expected.txt:
  • media/video-colorspace-yuv422-expected.txt:
  • platform/mac/fast/hidpi/video-controls-in-hidpi-expected.txt:
  • platform/mac/fast/layers/video-layer-expected.txt:
  • platform/mac/media/audio-controls-rendering-expected.txt:
  • platform/mac/media/controls-strict-expected.txt:
  • platform/mac/media/controls-without-preload-expected.txt:
  • platform/mac/media/media-controls-clone-expected.txt:
  • platform/mac/media/video-no-audio-expected.txt:
11:19 AM Changeset in webkit [180274] by eric.carlson@apple.com
  • 9 edits
    1 copy
    1 add in trunk

[iOS] pause video when a tab moves to the background on some devices
https://bugs.webkit.org/show_bug.cgi?id=141753
<rdar://problem/19814562>

Reviewed by Jer Noble.

Source/WebCore:

Test: media/video-background-tab-playback.html

  • platform/audio/MediaSession.cpp:

(WebCore::MediaSession::clientDataBufferingTimerFired): Pause video when the element becomes

hidden if the BackgroundTabPlaybackRestricted is set.

  • platform/audio/MediaSessionManager.cpp:

(WebCore::MediaSessionManager::applicationWillEnterBackground): Rename BackgroundPlaybackNotPermitted

to BackgroundProcessPlaybackRestricted.

(WebCore::MediaSessionManager::applicationWillEnterForeground): Ditto.

  • platform/audio/MediaSessionManager.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm:

(WebCore::MediaSessionManageriOS::resetRestrictions): Set BackgroundTabPlaybackRestricted on

devices with restricted memory. BackgroundPlaybackNotPermitted -> BackgroundProcessPlaybackRestricted.

  • testing/Internals.cpp:

(WebCore::Internals::setMediaSessionRestrictions): Add support for BackgroundTabPlaybackRestricted.

BackgroundPlaybackNotPermitted -> BackgroundProcessPlaybackRestricted.

LayoutTests:

  • media/video-background-playback-expected.txt: BackgroundPlaybackNotPermitted -> BackgroundProcessPlaybackRestricted.
  • media/video-background-playback.html: Ditto.
  • media/video-background-tab-playback-expected.txt: Added.
  • media/video-background-tab-playback.html: Added.
11:00 AM Changeset in webkit [180273] by hyatt@apple.com
  • 8 edits
    2 adds in trunk

Wrong text-decoration-style used for underlines.

11:00 AM Changeset in webkit [180272] by ggaren@apple.com
  • 4 edits
    1 add in trunk/Source/bmalloc

bmalloc: VMHeap should keep a record of all of its VM ranges (for malloc introspection)
https://bugs.webkit.org/show_bug.cgi?id=141759

Reviewed by Andreas Kling.

  • bmalloc.xcodeproj/project.pbxproj:
  • bmalloc/SuperChunk.h: Added.

(bmalloc::SuperChunk::create):
(bmalloc::SuperChunk::SuperChunk):
(bmalloc::SuperChunk::smallChunk):
(bmalloc::SuperChunk::mediumChunk):
(bmalloc::SuperChunk::largeChunk): Factored out super chunk creation
into a separate class, for clarity and type safety.

  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::grow):
(bmalloc::VMHeap::allocateSuperChunk): Renamed "allocateSuperChunk" to
"grow" because Andreas found "allocateSuperChunk" to be unclear.

  • bmalloc/VMHeap.h: Track all our VM ranges. We will use this information

for malloc introspection.

(bmalloc::VMHeap::allocateSmallPage):
(bmalloc::VMHeap::allocateMediumPage):
(bmalloc::VMHeap::allocateLargeRange): Updated for renames.

10:29 AM Changeset in webkit [180271] by mmaxfield@apple.com
  • 10 edits
    3 copies in trunk/LayoutTests

Update more test expected results after r177774
https://bugs.webkit.org/show_bug.cgi?id=141743

Reviewed by Brent Fulgham.

  • platform/mac/TestExpectations:
  • platform/mac/fast/dom/character-index-for-point-expected.txt:
  • platform/mac/fast/forms/select-initial-position-expected.txt:
  • platform/mac/fast/replaced/width100percent-textarea-expected.txt:
  • platform/mac/fast/text/atsui-rtl-override-selection-expected.txt:
  • platform/mac/fast/text/international/text-combine-image-test-expected.txt:
  • platform/mac-mavericks/fast/forms/select-initial-position-expected.txt:
  • platform/mac-mavericks/fast/replaced/width100percent-textarea-expected.txt:
  • platform/mac-mavericks/fast/text/international/text-combine-image-test-expected.txt:
  • svg/text/lengthAdjust-text-metrics-expected.txt:
  • svg/text/script-tests/lengthAdjust-text-metrics.js:
  • svg/text/text-rect-precision.html:
10:23 AM Changeset in webkit [180270] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, Restoring the C LOOP insta-crash fix in r180184.

Fixed a typo that only affected the C Loop in the prologue() macro in LowLevelInterpreter.asm.
After the stackHeightOKGetCodeBlock label, codeBlockSetter(t1) should be codeBlockGetter(t1).

  • llint/LowLevelInterpreter.asm: Fixed a typo.
10:22 AM Changeset in webkit [180269] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r180260): Try to fix incremental builds by changing UserContentController.cpp

Attempt to fix this linker error by making a non-coding change:

Undefined symbols for architecture i386:

"ZN7WebCore17ContentExtensions24ContentExtensionsBackendC1Ev", referenced from:

ZN7WebCore21UserContentController20addUserContentFilterERKN3WTF6StringES4_ in UserContentController.o

ld: symbol(s) not found for architecture i386

This should have been fixed by r180266, but perhaps Xcode didn't
recognize that it needed to rebuild this source file.

  • page/UserContentController.cpp: Update copyright.
9:52 AM Changeset in webkit [180268] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Purge PassRefPtr from CanvasRenderingContext2D.
<https://webkit.org/b/141749>

Reviewed by Gyuyoung Kim.

Switch from using PassRefPtr to RefPtr/Ref in CanvasRenderingContext2D.

  • html/TextMetrics.h:

(WebCore::TextMetrics::create): Changed create() helper to return Ref.

  • html/canvas/CanvasRenderingContext2D.h:
  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::prepareGradientForDashboard): Changed to take a reference.

(WebCore::CanvasRenderingContext2D::createLinearGradient):
(WebCore::CanvasRenderingContext2D::createRadialGradient):
(WebCore::CanvasRenderingContext2D::createPattern):
(WebCore::createEmptyImageData):
(WebCore::CanvasRenderingContext2D::createImageData):
(WebCore::CanvasRenderingContext2D::getImageData):
(WebCore::CanvasRenderingContext2D::webkitGetImageDataHD): Made these return RefPtr. Also did
a bunch of 0 -> nullptr conversion, removed a bunch of unnecessary RefPtr::release() calls,
and changed a PassRefPtr argument to RefPtr&&.

(WebCore::CanvasRenderingContext2D::measureText): Made this return Ref.

9:34 AM Changeset in webkit [180267] by Brent Fulgham
  • 3 edits
    21 adds in trunk/LayoutTests

[Win] Gardening: Update baselines on Windows bots after removing mac-mountainlion

  • platform/win/TestExpectations:
  • platform/win/editing/selection/5057506-2-expected.png: Added.
  • platform/win/editing/selection/5057506-2-expected.txt: Added.
  • platform/win/fast/attachment: Added.
  • platform/win/fast/attachment/attachment-disabled-rendering-expected.txt: Added.
  • platform/win/fast/attachment/attachment-rendering-expected.txt: Added.
  • platform/win/fast/frames/frame-scrolling-attribute-exepected.txt: Added.
  • platform/win/fast/repaint/selection-ruby-rl-expected.txt: Added.
  • platform/win/http/tests/security/XFrameOptions: Added.
  • platform/win/http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients-expected.txt: Added.
  • platform/win/http/tests/security/cross-frame-access-callback-explicit-domain-ALLOW-expected.txt: Added.
  • platform/win/svg/batik/text/textEffect2-expected.txt: Added.
  • platform/win/svg/batik/text/textEffect3-expected.txt: Added.
  • platform/win/svg/batik/text/textProperties-expected.txt: Added.
  • platform/win/svg/custom/text-filter-expected.txt: Added.
  • platform/win/svg/filters/feColorMatrix-values-expected.png:
  • platform/win/svg/filters/feColorMatrix-values-expected.txt: Added.
  • platform/win/svg/filters/filter-on-filter-for-text-expected.txt: Added.
  • platform/win/svg/filters/filter-on-tspan-expected.txt: Added.
  • platform/win/svg/filters/sourceAlpha-expected.txt: Added.
  • platform/win/svg/repaint/text-mask-update-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug131020-expected.png: Added.
  • platform/win/tables/mozilla/bugs/bug131020-expected.txt: Added.
9:08 AM Changeset in webkit [180266] by commit-queue@webkit.org
  • 6 edits
    2 deletes in trunk/Source/WebCore

Unreviewed, rolling out r180260.
https://bugs.webkit.org/show_bug.cgi?id=141757

Broke the 32-bit builders (Requested by jessieberlin on
#webkit).

Reverted changeset:

"Add a trivial code generator for the DFA"
https://bugs.webkit.org/show_bug.cgi?id=141017
http://trac.webkit.org/changeset/180260

8:31 AM Changeset in webkit [180265] by andersca@apple.com
  • 14 edits in trunk/Source

Add API for clearing in-memory caches to WKWebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=141724

Reviewed by Tim Horton.

Source/WebCore:

Add a version of evictResources that takes a session id.

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::evictResources):

Source/WebKit2:

  • Shared/WebsiteData/WebsiteDataTypes.h:

Add WebsiteDataTypeMemoryCache.

  • UIProcess/API/Cocoa/_WKWebsiteDataStore.h:

Add WKWebsiteDataTypeMemoryCache.

  • UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:

(toWebsiteDataTypes):
Handle WKWebsiteDataTypeMemoryCache and convert it to WebsiteDataTypeMemoryCache.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::generateCallbackID):
Generate a new callback.

(WebKit::WebProcessProxy::~WebProcessProxy):
Assert that we don't have any pending callbacks.

(WebKit::WebProcessProxy::connectionDidClose):
Invoke pending callbacks.

(WebKit::WebProcessProxy::canTerminateChildProcess):
Don't try to terminate if we have pending callbacks.

(WebKit::WebProcessProxy::didDeleteWebsiteData):
Take the callback and invoke it.

(WebKit::WebProcessProxy::deleteWebsiteData):
Send a delete message.

  • UIProcess/WebProcessProxy.h:

Add new members.

  • UIProcess/WebProcessProxy.messages.in:

Add DidDeleteWebsiteData message.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::computeNetworkProcessAccessType):
Spell persistent correctly.

(WebKit::computeWebProcessAccessType):
Return a web process access type given the a data type mask.

(WebKit::WebsiteDataStore::removeData):
Ask any associated web processes to remove website data.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::deleteWebsiteData):
Delete the memory cache if requested.

  • WebProcess/WebProcess.h:

Add new member.

  • WebProcess/WebProcess.messages.in:

Add DeleteWebsiteData message.

5:47 AM WebKitGTK/Gardening/Howto edited by clopez@igalia.com
(diff)
5:36 AM WebKitGTK/2.8.x edited by zandobersek@gmail.com
Add r180264 as proposed for merging into 2.7.91. (diff)
5:31 AM Changeset in webkit [180264] by zandobersek@gmail.com
  • 2 edits in trunk/Source/bmalloc

Build bmalloc through CMake as a static library. It's then linked either
into the WTF library (if built as a shared library) or into the JSC and
WebKit2 libraries. There's no need to build it as a standalone shared library.

Rubber-stamped by Carlos Garcia Campos.

  • CMakeLists.txt:
2:28 AM Changeset in webkit [180263] by Manuel Rego Casasnovas
  • 3 edits in trunk/LayoutTests

[CSS Grid Layout] Remove some leftovers related to "stack" removal
https://bugs.webkit.org/show_bug.cgi?id=141722

Reviewed by Sergio Villar Senin.

In r177858 "stack" packing mode was removed from grid-auto-flow syntax.

This patch removes some missing cases, where "stack" was still used in
the layout tests.

  • fast/css-grid-layout/grid-auto-flow-resolution.html: Remove

gridAutoFlowStack usage.

  • fast/css-grid-layout/resources/grid.css:

(.gridAutoFlowStack): Deleted.

1:35 AM Changeset in webkit [180262] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

URTBF after r180258 to fix Windows build.

  • runtime/MathCommon.cpp:

(JSC::mathPowInternal):

1:00 AM Changeset in webkit [180261] by timothy_horton@apple.com
  • 4 edits in trunk

Remove more references to WebCore.exp.in
https://bugs.webkit.org/show_bug.cgi?id=141747

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:

Tools:

  • BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:

(ShouldBuildTest):

12:57 AM Changeset in webkit [180260] by benjamin@webkit.org
  • 6 edits
    2 adds in trunk/Source/WebCore

Add a trivial code generator for the DFA
https://bugs.webkit.org/show_bug.cgi?id=141017

Reviewed by Andreas Kling.

Nothing fancy yet, this is just doing a literal translation from the DFA
to machine code. It is extremely inefficient at the moment.

  • WebCore.xcodeproj/project.pbxproj:
  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::ContentExtensionsBackend):
(WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList):
(WebCore::ContentExtensions::addActionToHashSet):
(WebCore::ContentExtensions::ContentExtensionsBackend::shouldBlockURL):

  • contentextensions/ContentExtensionsBackend.h:
  • contentextensions/DFA.cpp:

(WebCore::ContentExtensions::DFA::nextState): Deleted.
(WebCore::ContentExtensions::DFA::actions): Deleted.

  • contentextensions/DFA.h:

(WebCore::ContentExtensions::DFA::size):
(WebCore::ContentExtensions::DFA::nodeAt):

  • contentextensions/DFACompiler.cpp: Added.

(WebCore::ContentExtensions::compileDFA):
(WebCore::ContentExtensions::DFACodeGenerator::DFACodeGenerator):
(WebCore::ContentExtensions::DFACodeGenerator::compile):
(WebCore::ContentExtensions::DFACodeGenerator::lowerStateMachine):
(WebCore::ContentExtensions::DFACodeGenerator::lowerNode):
(WebCore::ContentExtensions::DFACodeGenerator::getNextCharacter):
(WebCore::ContentExtensions::DFACodeGenerator::callAddActionFunction):

  • contentextensions/DFACompiler.h: Copied from Source/WebCore/contentextensions/DFA.h.
12:57 AM Changeset in webkit [180259] by Joseph Pecoraro
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r180235): It broke the !ENABLE(PROMISES) build
https://bugs.webkit.org/show_bug.cgi?id=141746

Unreviewed build fix.

  • inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::getInternalProperties):
Wrap JSPromise related code in ENABLE(PROMISES) guard.

12:17 AM WebKitGTK/2.8.x edited by Carlos Garcia Campos
(diff)
12:01 AM Changeset in webkit [180258] by benjamin@webkit.org
  • 9 edits
    2 adds in trunk/Source/JavaScriptCore

Fix the C-Loop LLInt build
https://bugs.webkit.org/show_bug.cgi?id=141618

Reviewed by Filip Pizlo.

I broke C-Loop when moving the common code of pow()
to JITOperations because that file is #ifdefed out
when the JITs are disabled.

It would be weird to move it back to MathObject since
the function needs to know about the calling conventions.

To avoid making a mess, I just gave the function its own file
that is used by both the runtime and the JIT.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGAbstractInterpreterInlines.h:
  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • runtime/MathCommon.cpp: Added.

(JSC::fdlibmScalbn):
(JSC::fdlibmPow):
(JSC::isDenormal):
(JSC::isEdgeCase):
(JSC::mathPowInternal):
(JSC::operationMathPow):

  • runtime/MathCommon.h: Added.
  • runtime/MathObject.cpp:

Feb 17, 2015:

11:04 PM Changeset in webkit [180257] by benjamin@webkit.org
  • 6 edits in trunk/Source/JavaScriptCore

Clean up OSRExit's considerAddingAsFrequentExitSite()
https://bugs.webkit.org/show_bug.cgi?id=141690

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-02-17
Reviewed by Anders Carlsson.

Looks like some code was removed from CodeBlock::tallyFrequentExitSites()
and the OSRExit were left untouched.

This patch cleans up the two loops and remove the boolean return
on considerAddingAsFrequentExitSite().

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::tallyFrequentExitSites):

  • dfg/DFGOSRExit.h:

(JSC::DFG::OSRExit::considerAddingAsFrequentExitSite):

  • dfg/DFGOSRExitBase.cpp:

(JSC::DFG::OSRExitBase::considerAddingAsFrequentExitSiteSlow):

  • dfg/DFGOSRExitBase.h:

(JSC::DFG::OSRExitBase::considerAddingAsFrequentExitSite):

  • ftl/FTLOSRExit.h:

(JSC::FTL::OSRExit::considerAddingAsFrequentExitSite):

9:38 PM Changeset in webkit [180256] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Rename ScopedEventQueue::instance() to singleton()
https://bugs.webkit.org/show_bug.cgi?id=141738

Reviewed by Daniel Bates.

Rename ScopedEventQueue::instance() to singleton(), as per coding
style. Also modernize the code a little bit.

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchScopedEvent):

  • dom/ScopedEventQueue.cpp:

(WebCore::ScopedEventQueue::singleton):
(WebCore::ScopedEventQueue::dispatchAllEvents):
(WebCore::ScopedEventQueue::incrementScopingLevel):
(WebCore::ScopedEventQueue::decrementScopingLevel):
(WebCore::ScopedEventQueue::ScopedEventQueue): Deleted.
(WebCore::ScopedEventQueue::~ScopedEventQueue): Deleted.
(WebCore::ScopedEventQueue::instance): Deleted.

  • dom/ScopedEventQueue.h:

(WebCore::EventQueueScope::EventQueueScope):
(WebCore::EventQueueScope::~EventQueueScope):

9:31 PM Changeset in webkit [180255] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Remove dead code from FontCache
https://bugs.webkit.org/show_bug.cgi?id=141741

Reviewed by Daniel Bates.

Remove dead code from FontCache:

  • getFontFamilyForCharacters() has no implementation.
  • SimpleFontFamily is unused.
  • platform/graphics/FontCache.h:
8:23 PM Changeset in webkit [180254] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Rename CSSPropertyAnimationWrapperMap::instance() to singleton()
https://bugs.webkit.org/show_bug.cgi?id=141739

Reviewed by Simon Fraser.

Rename CSSPropertyAnimationWrapperMap::instance() to singleton(), as
per coding style.

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::singleton):
(WebCore::CSSPropertyAnimation::blendProperties):
(WebCore::CSSPropertyAnimation::animationOfPropertyIsAccelerated):
(WebCore::CSSPropertyAnimation::animatableShorthandsAffectingProperty):
(WebCore::CSSPropertyAnimation::propertiesEqual):
(WebCore::CSSPropertyAnimation::getPropertyAtIndex):
(WebCore::CSSPropertyAnimation::getNumProperties):
(WebCore::CSSPropertyAnimationWrapperMap::instance): Deleted.

8:17 PM Changeset in webkit [180253] by mmaxfield@apple.com
  • 3 edits in trunk/LayoutTests

Update editing/selection/fake-drag.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141605

Reviewed by Alexey Proskuryakov.

Text metrics changed, so the locations where the "user" interacts with the page should
change accordingly.

  • editing/selection/fake-drag.html:
  • platform/mac/TestExpectations:
7:50 PM WebKitGTK/2.8.x edited by clopez@igalia.com
fix typo (diff)
7:12 PM Changeset in webkit [180252] by ap@apple.com
  • 3 edits in trunk/LayoutTests

inspector/css/stylesheet-with-mutations.html is a flaky timeout/crash
https://bugs.webkit.org/show_bug.cgi?id=141601

Skipping the test; it's flaky in such a way that I'm concerned about it breaking
subsequent tests.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
6:59 PM Changeset in webkit [180251] by ddkilzer@apple.com
  • 1 edit
    1 delete in trunk/Source/WebCore

REGRESSION (r180224): Remove unused generate-export-file script
<http://webkit.org/b/141491>

  • generate-export-file: Removed. This was the script used to

create WebCore.exp files for iOS since we couldn't compile a
host-side tool to run like we did on Mac OS X. Dont't tell
anyone, but this was an epic hack I created while merging open
source changes to the internal iOS WebKit repository around the
time that the WebCore.exp.in file was created. End of an era.

6:58 PM Changeset in webkit [180250] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

SoftLinking.h: Update copyright and license; clean up whitespace

  • platform/win/SoftLinking.h:
6:52 PM Changeset in webkit [180249] by ap@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Debug build fix after r180247.

  • ftl/FTLLowerDFGToLLVM.cpp: (JSC::FTL::LowerDFGToLLVM::loweringFailed):
6:45 PM Changeset in webkit [180248] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r180184.
https://bugs.webkit.org/show_bug.cgi?id=141733

Caused infinite recursion on js/function-apply-aliased.html
(Requested by ap_ on #webkit).

Reverted changeset:

"REGRESSION(r180060): C Loop crashes"
https://bugs.webkit.org/show_bug.cgi?id=141671
http://trac.webkit.org/changeset/180184

6:38 PM Changeset in webkit [180247] by msaboff@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

CrashTracer: DFG_CRASH beneath JSC::FTL::LowerDFGToLLVM::compileNode
https://bugs.webkit.org/show_bug.cgi?id=141730

Reviewed by Geoffrey Garen.

Added a new failure handler, loweringFailed(), to LowerDFGToLLVM that reports failures
while processing DFG lowering. For debug builds, the failures are logged identical
to the way the DFG_CRASH() reports them. For release builds, the failures are reported
and that FTL compilation is terminated, but the process is allowed to continue.
Wrapped calls to loweringFailed() in a macro LOWERING_FAILED so the function and
line number are reported at the point of the inconsistancy.

Converted instances of DFG_CRASH to LOWERING_FAILED.

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl): Added lowerDFGToLLVM() failure check that
will fail the FTL compile.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::LowerDFGToLLVM):
Added new member variable, m_loweringSucceeded, to stop compilation on the first
reported failure.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::lower):

  • ftl/FTLLowerDFGToLLVM.h:

Added check for compilation failures and now report those failures via a boolean
return value.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::createPhiVariables):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileUpsilon):
(JSC::FTL::LowerDFGToLLVM::compilePhi):
(JSC::FTL::LowerDFGToLLVM::compileDoubleRep):
(JSC::FTL::LowerDFGToLLVM::compileValueRep):
(JSC::FTL::LowerDFGToLLVM::compileValueToInt32):
(JSC::FTL::LowerDFGToLLVM::compilePutLocal):
(JSC::FTL::LowerDFGToLLVM::compileArithAddOrSub):
(JSC::FTL::LowerDFGToLLVM::compileArithMul):
(JSC::FTL::LowerDFGToLLVM::compileArithDiv):
(JSC::FTL::LowerDFGToLLVM::compileArithMod):
(JSC::FTL::LowerDFGToLLVM::compileArithMinOrMax):
(JSC::FTL::LowerDFGToLLVM::compileArithAbs):
(JSC::FTL::LowerDFGToLLVM::compileArithNegate):
(JSC::FTL::LowerDFGToLLVM::compileArrayifyToStructure):
(JSC::FTL::LowerDFGToLLVM::compileGetById):
(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal):
(JSC::FTL::LowerDFGToLLVM::compileGetArrayLength):
(JSC::FTL::LowerDFGToLLVM::compileGetByVal):
(JSC::FTL::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::LowerDFGToLLVM::compileArrayPush):
(JSC::FTL::LowerDFGToLLVM::compileArrayPop):
(JSC::FTL::LowerDFGToLLVM::compileNewArray):
(JSC::FTL::LowerDFGToLLVM::compileToString):
(JSC::FTL::LowerDFGToLLVM::compileMakeRope):
(JSC::FTL::LowerDFGToLLVM::compileCompareEq):
(JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq):
(JSC::FTL::LowerDFGToLLVM::compileSwitch):
(JSC::FTL::LowerDFGToLLVM::compare):
(JSC::FTL::LowerDFGToLLVM::boolify):
(JSC::FTL::LowerDFGToLLVM::opposite):
(JSC::FTL::LowerDFGToLLVM::lowJSValue):
(JSC::FTL::LowerDFGToLLVM::speculate):
(JSC::FTL::LowerDFGToLLVM::isArrayType):
(JSC::FTL::LowerDFGToLLVM::exitValueForAvailability):
(JSC::FTL::LowerDFGToLLVM::exitValueForNode):
(JSC::FTL::LowerDFGToLLVM::setInt52):
Changed DFG_CRASH() to LOWERING_FAILED(). Updated related control flow as appropriate.

(JSC::FTL::LowerDFGToLLVM::loweringFailed): New error reporting member function.

4:38 PM Changeset in webkit [180246] by bshafiei@apple.com
  • 5 edits in branches/safari-600.4.10-branch/Source

Versioning.

4:25 PM Changeset in webkit [180245] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.4.10.1

New tag.

3:06 PM Changeset in webkit [180244] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Slight CachedPage class clean up
https://bugs.webkit.org/show_bug.cgi?id=141693

Reviewed by Andreas Kling.

Slight CachedPage class clean up:

  • Drop unnecessary m_timeStamp data member
  • Protect m_needsCaptionPreferencesChanged data member with #if ENABLE(VIDEO_TRACK)
  • Merge destroy() method into the destructor as this is the only caller
  • Update clear() to reset 2 data members that were missing
3:02 PM Changeset in webkit [180243] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Silence two -Wcast-qual warnings.
rdar://problem/19758266

  • platform/ios/wak/WKUtilities.c:

(WKRetain):
(WKRelease):

2:54 PM Changeset in webkit [180242] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r178595): Clicking on DD highlights sometimes do not work
https://bugs.webkit.org/show_bug.cgi?id=141728
<rdar://problem/19825372>

Reviewed by Beth Dakin.

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController _cancelImmediateActionIfNeeded]):
(-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]):
The change that r178595 intended to make was purely that things that we
have no immediate actions for should cancel the immediate action gesture recognizer.
Moving the DataDetectors activation code as well breaks strict ordering
of immediate action callbacks vs. shouldUseActionsWithContext: that they depend on.

2:41 PM Changeset in webkit [180241] by Alan Bujtas
  • 10 edits in trunk/Source/WebCore

Minor RenderTable* class cleanups.
https://bugs.webkit.org/show_bug.cgi?id=141707

Reviewed by Andreas Kling.

Use in-class initializer where possible.
Remove redundant code.
Move multiline implementations out of class declaration.

No change in functionality.

  • rendering/RenderTableCaption.cpp:

(WebCore::RenderTableCaption::insertedIntoTree):
(WebCore::RenderTableCaption::willBeRemovedFromTree):
(WebCore::RenderTableCaption::containingBlockLogicalWidthForContent): Deleted.

  • rendering/RenderTableCaption.h:
  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::RenderTableCell):

  • rendering/RenderTableCell.h:

(WebCore::RenderTableCell::colSpan):
(WebCore::RenderTableCell::rowSpan):
(WebCore::RenderTableCell::setCol):
(WebCore::RenderTableCell::col):
(WebCore::RenderTableCell::section):
(WebCore::RenderTableCell::table):
(WebCore::RenderTableCell::rowIndex):
(WebCore::RenderTableCell::styleOrColLogicalWidth):
(WebCore::RenderTableCell::logicalHeightForRowSizing):
(WebCore::RenderTableCell::isBaselineAligned):
(WebCore::RenderTableCell::borderAdjoiningTableStart):
(WebCore::RenderTableCell::borderAdjoiningTableEnd):
(WebCore::RenderTableCell::borderAdjoiningCellBefore):
(WebCore::RenderTableCell::borderAdjoiningCellAfter):

  • rendering/RenderTableCol.cpp:

(WebCore::RenderTableCol::RenderTableCol):

  • rendering/RenderTableCol.h:

(WebCore::RenderTableCol::enclosingColumnGroupIfAdjacentBefore):
(WebCore::RenderTableCol::enclosingColumnGroupIfAdjacentAfter):

  • rendering/RenderTableRow.h:

(WebCore::RenderTableRow::setRowIndex):
(WebCore::RenderTableRow::rowIndex):
(WebCore::RenderTableRow::borderAdjoiningTableStart):
(WebCore::RenderTableRow::borderAdjoiningTableEnd):
(WebCore::RenderTableRow::table):
(WebCore::RenderTableSection::firstRow):
(WebCore::RenderTableSection::lastRow):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::RenderTableSection):
(WebCore::RenderTableSection::dirtiedRows):
(WebCore::RenderTableSection::dirtiedColumns):
(WebCore::RenderTableSection::paintObject):
(WebCore::RenderTableSection::nodeAtPoint):

  • rendering/RenderTableSection.h:

(WebCore::CellSpan::CellSpan):
(WebCore::RenderTableSection::borderAdjoiningTableStart):
(WebCore::RenderTableSection::borderAdjoiningTableEnd):
(WebCore::RenderTableSection::cellAt):
(WebCore::RenderTableSection::primaryCellAt):
(WebCore::RenderTableSection::rowRendererAt):
(WebCore::RenderTableSection::outerBorderLeft):
(WebCore::RenderTableSection::outerBorderRight):
(WebCore::RenderTableSection::outerBorderTop):
(WebCore::RenderTableSection::outerBorderBottom):
(WebCore::RenderTableSection::numRows):
(WebCore::RenderTableSection::recalcCellsIfNeeded):
(WebCore::RenderTableSection::rowBaseline):
(WebCore::RenderTableSection::fullTableRowSpan):
(WebCore::CellSpan::start): Deleted.
(WebCore::CellSpan::end): Deleted.

2:31 PM Changeset in webkit [180240] by mmaxfield@apple.com
  • 4 edits in trunk/Tools

Windows test results should not fall back to mac-mountainlion after r180176
https://bugs.webkit.org/show_bug.cgi?id=141719

Reviewed by Brent Fulgham.

  • BuildSlaveSupport/build.webkit.org-config/wkbuild.py:

(_should_file_trigger_build):

  • Scripts/webkitpy/port/win.py:

(WinPort.default_baseline_search_path):

  • Scripts/webkitpy/port/win_unittest.py:

(WinPortTest.test_baseline_search_path):

2:30 PM Changeset in webkit [180239] by dbates@webkit.org
  • 3 edits in trunk/Tools

[iOS] run-webkit-tests should check that simctl can boot and shutdown simulator device before running tests
https://bugs.webkit.org/show_bug.cgi?id=141718

Reviewed by Alex Christensen.

We should only run layout tests if simctl can successfully boot and shutdown the testing device.

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort.check_sys_deps): Modified to call Simulator.check_simulator_device_and_erase_if_needed().
Log a error and return False if we are unable to boot the simulator device so that the caller can take
appropriate action, say exit(3) before running any layout tests.

  • Scripts/webkitpy/xcode/simulator.py:

(Simulator._boot_and_shutdown_simulator_device): Added. Boot and then shut down the simulator device
with the specified UDID.
(Simulator.check_simulator_device_and_erase_if_needed): Added. Checks that simulator device
with the specified UDID can successfully boot and shut down. We make at most two attempts to
boot and shut down the device, erasing the device between tries so as to restore the device
to a known good state.

2:13 PM Changeset in webkit [180238] by dbates@webkit.org
  • 5 edits in trunk/Tools

run_webkit_tests.py should not know about iOS Simulator details
https://bugs.webkit.org/show_bug.cgi?id=141711

Reviewed by Alex Christensen.

Run_webkit_tests.py should only parse the iOS-specific command
line options --runtime and --device-type. Let the port-specific
logic in ios.py validate the parsed options and instantiate
internal data structures.

Currently run_webkit_tests.py parses the iOS-specific command
line options --runtime and --device-type, validates them, and
instantiates internal data structures from the parsed strings.
Instead the validation logic and instantiation of internal
data structures should be handled by the iOS port object.

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(_set_up_derived_options): Remove logic to validate --runtime and --device-type
and instantiate internal data structures for them.

  • Scripts/webkitpy/port/driver.py:

(IOSSimulatorDriver.cmd_line): Modified to reference IOSSimulatorPort.simulator_runtime
and IOSSimulatorPort.simulator_device_type for the iOS Simulator runtime and device type,
respectively.

  • Scripts/webkitpy/port/ios.py: Sort the list of imports.

(IOSSimulatorPort.simulator_runtime): Added. Instantiates a Runtime
object from --runtime, if specified. Otherwise, instantiates a Runtime
object for the latest installed iphonesimulator SDK version.
(IOSSimulatorPort.simulator_device_type): Added. Instantiates a DeviceType
object from --device-type, if specified. Otherwise, instantiates
a DeviceType object for a iPhone 5 or iPhone 5s when on a 32-bit and 64-bit
machine, respectively.
(IOSSimulatorPort.check_sys_deps): Added. Validate if the chosen iOS simulator
runtime is available to use.
(IOSSimulatorPort.testing_device): Modified to make use of properties simulator_device_type
and simulator_runtime for the iOS Simulator device type and runtime, respectively.

  • Scripts/webkitpy/xcode/simulator.py:

(Runtime.from_version_string): Added. Turns around and calls Runtime.from_identifier()
with a runtime identifier for the specified iOS version.

1:41 PM Changeset in webkit [180237] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

StackLayoutPhase should use CodeBlock::usesArguments rather than FunctionExecutable::usesArguments
https://bugs.webkit.org/show_bug.cgi?id=141721
rdar://problem/17198633

Reviewed by Michael Saboff.

I've seen cases where the two are out of sync. We know we can trust the CodeBlock::usesArguments because
we use it everywhere else.

No test because I could never reproduce the crash.

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::usesArguments):

  • dfg/DFGStackLayoutPhase.cpp:

(JSC::DFG::StackLayoutPhase::run):

12:17 PM Changeset in webkit [180236] by Joseph Pecoraro
  • 9 edits in trunk

Web Inspector: Improved Console Support for Bound Functions
https://bugs.webkit.org/show_bug.cgi?id=141635

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::getInternalProperties):
Expose internal properties of a JSBoundFunction.

LayoutTests:

  • inspector/model/remote-object-get-properties-expected.txt:
  • inspector/model/remote-object-get-properties.html:

Show that boundFunction has extra properties (targetFunction, boundThis, boundArgs).

  • inspector/model/remote-object-expected.txt:
  • inspector/model/remote-object.html:

Include a bound function. Much different from a function now though.

12:17 PM Changeset in webkit [180235] by Joseph Pecoraro
  • 9 edits in trunk

Web Inspector: ES6: Improved Console Support for Promise Objects
https://bugs.webkit.org/show_bug.cgi?id=141634

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/InjectedScript.cpp:

(Inspector::InjectedScript::getInternalProperties):

  • inspector/InjectedScriptSource.js:

Include internal properties in previews. Share code
with normal internal property handling.

  • inspector/JSInjectedScriptHost.cpp:

(Inspector::constructInternalProperty):
(Inspector::JSInjectedScriptHost::getInternalProperties):
Provide internal state of Promises.

  • inspector/protocol/Runtime.json:

Provide an optional field to distinguish if a PropertyPreview
is for an Internal property or not.

Source/WebInspectorUI:

  • UserInterface/Protocol/RemoteObject.js:

For now just add Internal Properties and regular properties.
We will address the UI later.

LayoutTests:

  • inspector/model/remote-object-expected.txt:
  • inspector/model/remote-object.html:

Include more tests for Promises.

12:10 PM Changeset in webkit [180234] by fpizlo@apple.com
  • 4 edits
    3 adds in trunk/Source/JavaScriptCore

Throwing from an FTL call IC slow path may result in tag registers being clobbered on 64-bit CPUs
https://bugs.webkit.org/show_bug.cgi?id=141717
rdar://problem/19863382

Reviewed by Geoffrey Garen.

The best solution is to ensure that the engine catching an exception restores tag registers.

Each of these new test cases reliably crashed prior to this patch and they don't crash at all now.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_catch):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
  • tests/stress/throw-from-ftl-call-ic-slow-path-cells.js: Added.
  • tests/stress/throw-from-ftl-call-ic-slow-path-undefined.js: Added.
  • tests/stress/throw-from-ftl-call-ic-slow-path.js: Added.
11:47 AM Changeset in webkit [180233] by commit-queue@webkit.org
  • 2 edits
    3 adds in trunk/LayoutTests

Unreviewed GTK Gardening 17th February.

https://bugs.webkit.org/show_bug.cgi?id=141712

Patch by Marcos Chavarría Teijeiro <chavarria1991@gmail.com> on 2015-02-17

  • platform/gtk/TestExpectations:
  • platform/gtk/accessibility/press-targets-center-point-expected.txt: Added. Rebaselined after r180107.
  • platform/gtk/svg/custom/glyph-selection-non-bmp-expected.txt: Added. Rebaselined after r177774.
  • platform/gtk/svg/text/textPathBoundsBug-expected.txt: Added. Rebaselined after r177774.
11:09 AM Changeset in webkit [180232] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

[ARM] Add the necessary setupArgumentsWithExecState after bug141332
https://bugs.webkit.org/show_bug.cgi?id=141714

Reviewed by Michael Saboff.

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

11:07 AM Changeset in webkit [180231] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

REGRESSION: Video control fails to hide after playback begins in reflowable EPUB files
https://bugs.webkit.org/show_bug.cgi?id=141689
<rdar://problem/19689286>

Reviewed by Eric Carlson.

The iBooks app turns off the requirement for a user gesture
before triggering playback. When we moved to script-based
media controls there were a few regressions in this setup.
This makes them behave a lot more like iOS 7.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.setPlaying): We don't want to hide the controls
yet, just start a hiding timer.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.shouldHaveStartPlaybackButton): If we've ever
played before, we don't want to show the big start button. If we
are in the middle of construction, we do want to show it. We no
longer care about the case where you're not in setup and have
the relaxed restrictions (we still want to show the start button
in that case).
(ControllerIOS.prototype.showControls): When we show the controls,
make sure our timeline is up to date. This is necessary for the
cases where we automatically show the controls, such as when we hit
the end of a video.
(ControllerIOS.prototype.updateTime): Make sure to pass the forceUpdate
parameter on to the super-method.
(ControllerIOS.prototype.setPlaying):
(ControllerIOS.prototype.progressFillStyle): Deleted.

11:05 AM Changeset in webkit [180230] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.7.90

WebKitGTK+ 2.7.90

10:47 AM Changeset in webkit [180229] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Document some accessibility and animation debug assertions (Unreviewed)

  • platform/win/TestExpectations:
10:42 AM Changeset in webkit [180228] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Only create the WebKit.framework symlink in PrivateFrameworks when the platform is iphoneos
https://bugs.webkit.org/show_bug.cgi?id=141710
<rdar://problem/19719748>

Reviewed by Andreas Kling.

Don't create the symlink when building for the simulator.

  • WebKit2.xcodeproj/project.pbxproj:
10:06 AM Changeset in webkit [180227] by dburkart@apple.com
  • 2 edits in trunk/Tools

ASan does not like JSC::MachineThreads::tryCopyOtherThreadStack
https://bugs.webkit.org/show_bug.cgi?id=141672

Reviewed by David Kilzer.

  • asan/webkit-asan-ignore.txt:
10:05 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
9:57 AM WebKitGTK/2.8.x created by Carlos Garcia Campos
9:51 AM Changeset in webkit [180226] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.8

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.7.90 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.7.90.
9:30 AM Changeset in webkit [180225] by Chris Dumez
  • 23 edits in trunk/Source

Access MemoryPressureHandler global instance via a singleton() static member function
https://bugs.webkit.org/show_bug.cgi?id=141691

Reviewed by Andreas Kling.

Access MemoryPressureHandler global instance via a singleton() static
Source/WebCore:

member function as per coding style. Also make all other member
functions non-static as callers can just use singleton() to get the
instance and access methods. This avoid having to call
MemoryPressureHandler::singleton() from member functions.

  • bindings/js/ScriptController.cpp:

(WebCore::collectGarbageAfterWindowShellDestruction):

  • history/PageCache.cpp:

(WebCore::PageCache::canCache):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::commitProvisionalLoad):

  • page/FrameView.cpp:

(WebCore::FrameView::willPaintContents):
(WebCore::FrameView::didPaintContents):
(WebCore::FrameView::computeCoverageRect):

  • platform/MemoryPressureHandler.cpp:

(WebCore::MemoryPressureHandler::singleton):
(WebCore::MemoryPressureHandler::MemoryPressureHandler):
(WebCore::MemoryPressureHandler::releaseCriticalMemory):
(WebCore::memoryPressureHandler): Deleted.

  • platform/MemoryPressureHandler.h:

(WebCore::MemoryPressureHandler::setLowMemoryHandler):

  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::platformReleaseMemory):
(WebCore::MemoryPressureHandler::install):
(WebCore::MemoryPressureHandler::holdOff):
(WebCore::respondToMemoryPressureCallback):

  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::purgeInactiveFontDataIfNeeded):

  • platform/ios/LegacyTileCache.mm:

(WebCore::LegacyTileCache::createTilesInActiveGrid):

  • platform/ios/LegacyTileGrid.mm:

(WebCore::LegacyTileGrid::shouldUseMinimalTileCoverage):

  • platform/ios/LegacyTileLayerPool.mm:

(WebCore::LegacyTileLayerPool::addLayer):

  • platform/ios/TileControllerMemoryHandlerIOS.cpp:

(WebCore::TileControllerMemoryHandler::tileControllerGainedUnparentedTiles):

  • platform/linux/MemoryPressureHandlerLinux.cpp:

(WebCore::MemoryPressureHandler::waitForMemoryPressureEvent):

Source/WebKit/mac:

member function.

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(+[WebView registerForMemoryNotifications]):
(+[WebView _isUnderMemoryPressure]):
(+[WebView _clearMemoryPressure]):
(+[WebView _shouldWaitForMemoryClearMessage]):
(WebInstallMemoryPressureHandler):

Source/WebKit2:

member function.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::lowMemoryHandler): Deleted.

  • NetworkProcess/NetworkProcess.h:
  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::initializeProcess):
(WebKit::PluginProcess::lowMemoryHandler): Deleted.

  • PluginProcess/PluginProcess.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::updateVisibleContentRects):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::processWillSuspend):

9:23 AM Changeset in webkit [180224] by achristensen@apple.com
  • 5 edits
    5 deletes in trunk

Remove WebCore.exp.in and clean up.
https://bugs.webkit.org/show_bug.cgi?id=141491

Reviewed by Andreas Kling.

Source/WebCore:

  • Configurations/WebCore.xcconfig:

Don't use exported symbols files.

  • DerivedSources.make:

Don't generate export files.

  • WebCore.exp.in: Removed.
  • WebCore.xcodeproj/project.pbxproj:

Removed WebCoreExportFileGenerator targets.

  • make-export-file-generator: Removed.

Tools:

  • Scripts/sort-export-file: Removed.
  • Scripts/webkitpy/style/checker.py:

(_all_categories):
(FileType):
(CheckerDispatcher._file_type):
(CheckerDispatcher._create_checker):
Don't check if the export files are sorted.

  • Scripts/webkitpy/style/checkers/exportfile.py: Removed.
  • Scripts/webkitpy/style/checkers/exportfile_unittest.py: Removed.
9:09 AM Changeset in webkit [180223] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

Document some debug assertions in Accessibility tests (Unreviewed)

  • platform/win/TestExpectations:
8:53 AM Changeset in webkit [180222] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.8/Tools

Merge r180221 - Unreviewed. Fix GTK+ make distcheck.

Do not exclude bmalloc directory from the tarball.

  • gtk/manifest.txt.in:
8:38 AM Changeset in webkit [180221] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Fix GTK+ make distcheck.

Do not exclude bmalloc directory from the tarball.

  • gtk/manifest.txt.in:
8:31 AM Changeset in webkit [180220] by gyuyoung.kim@samsung.com
  • 3 edits
    1 delete in trunk

[CMAKE] Remove CMakeLists.txt in WK1 port
https://bugs.webkit.org/show_bug.cgi?id=141617

Reviewed by Anders Carlsson.

.:

Nobody uses CMake in WK1 port. Remove it.

  • CMakeLists.txt:

Source/WebKit:

  • CMakeLists.txt: Removed.
8:03 AM Changeset in webkit [180219] by mmaxfield@apple.com
  • 4 edits in trunk/LayoutTests

Update svg/animations/animate-text-nested-transforms.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141686

Reviewed by Andreas Kling.

Text metrics are expected to change.

  • platform/mac/TestExpectations:
  • svg/animations/animate-text-nested-transforms-expected.txt:
  • svg/animations/script-tests/animate-text-nested-transforms.js:

(text.appendChild.rootSVGElement.appendChild.startSample):

8:01 AM Changeset in webkit [180218] by mmaxfield@apple.com
  • 3 edits in trunk/LayoutTests

Update expected result of fast/forms/cursor-at-editable-content-boundary.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141684

Reviewed by Andreas Kling.

One check no longer fails, and another fails in the same way it did before (but with 1-different
measurement values)

  • platform/mac/TestExpectations:
  • platform/mac/fast/forms/cursor-at-editable-content-boundary-expected.txt:
5:44 AM Changeset in webkit [180217] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.8

Branch WebKitGTK+ for 2.8

4:11 AM WebKitGTK/Gardening/Calendar edited by chavarria1991@gmail.com
(diff)
3:57 AM Changeset in webkit [180216] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Use HashMap::add instead of get/contains + set in DOMObjectCache
https://bugs.webkit.org/show_bug.cgi?id=141558

Rubber-stamped by Žan Doberšek.

  • bindings/gobject/DOMObjectCache.cpp:

(WebKit::getOrCreateDOMObjectCacheFrameObserver):
(WebKit::DOMObjectCache::put):

2:33 AM Changeset in webkit [180215] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Fix /webkit2/WebKitDOMNode/dom-cache after r180214.

I forgot to add the return of a bool function.

  • TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp:

(WebKitDOMNodeTest::testDOMCache):

1:57 AM Changeset in webkit [180214] by Carlos Garcia Campos
  • 9 edits in trunk

[GTK] GObject DOM bindings object are cached forever
https://bugs.webkit.org/show_bug.cgi?id=141558

Reviewed by Sergio Villar Senin.

Source/WebCore:

Rework the DOMObjectCache to avoid having to manually clear the
objects when the frame is destroyed, using a FrameDestructionObserver
instead. When a new object associated to a Frame is added to the
cache, a FrameDestructionObserver is created for the frame if
needed, and the DOM object is tracked by the observer too. When
the frame is detached from the page all its objects are cleared,
and if the aren't additional references, the object is finalized
and removed from the cache normally.
This patch also simplifies and modernizes the code to make it
easier to read an maintain.

  • bindings/gobject/DOMObjectCache.cpp:

(WebKit::DOMObjectCacheData::DOMObjectCacheData): Add constructor
to initialize its members and simplify the callers.
(WebKit::DOMObjectCacheData::clearObject): Remove the references
added by the cache, ensuring the GObject is not finalized until
the method returns.
(WebKit::DOMObjectCacheData::refObject): Adds a reference owned by
the cache.
(WebKit::domObjectCacheFrameObservers): Map a frame to a FrameDestructionObserver.
(WebKit::getOrCreateDOMObjectCacheFrameObserver): Create a new
FrameDestructionObserver for the given Frame or return the
existing one.
(WebKit::domObjects): Map wrapped object to wrapper object.
(WebKit::DOMObjectCache::forget): Remove the wrapped object from
the cache.
(WebKit::DOMObjectCache::get): Return the wrapped object if it is
in the cache, increasing the cache references.
(WebKit::DOMObjectCache::put): Add the wrapper object to the cache
for the given wrapped object. If it's a Node and has a frame add
the node to the FrameDestructionObserver corresponding to the frame.
(WebKit::getFrameFromHandle): Deleted.
(WebKit::weakRefNotify): Deleted.
(WebKit::DOMObjectCache::clearByFrame): Deleted.
(WebKit::DOMObjectCache::~DOMObjectCache): Deleted.

  • bindings/gobject/DOMObjectCache.h:

Tools:

Add checks for all DOM objects to ensure they are not leaked. Also
add a dedicated test for the DOM Object Cache.

  • TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeFilterTest.cpp:

(WebKitDOMNodeFilterTest::testTreeWalker):
(WebKitDOMNodeFilterTest::testNodeIterator):

  • TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp:

(WebKitDOMNodeTest::testHierarchyNavigation):
(WebKitDOMNodeTest::testInsertion):
(WebKitDOMNodeTest::testTagNames):
(WebKitDOMNodeTest::testDOMCache):
(registerTests):

  • TestWebKitAPI/Tests/WebKit2Gtk/DOMXPathNSResolverTest.cpp:

(WebKitDOMXPathNSResolverTest::evaluateFooChildTextAndCheckResult):
(WebKitDOMXPathNSResolverTest::testXPathNSResolverNative):
(WebKitDOMXPathNSResolverTest::testXPathNSResolverCustom):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNode.cpp:

(testWebKitDOMObjectCache):
(beforeAll):

  • TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:

(documentLoadedCallback):

1:42 AM Changeset in webkit [180213] by ChangSeok Oh
  • 2 edits in trunk/Source/WebCore

REGRESSION(r180050): It broke the !ENABLE(CSS_GRID_LAYOUT) build
https://bugs.webkit.org/show_bug.cgi?id=141647

Reviewed by Csaba Osztrogonác.

No new tests since this just fixes a build break.

  • dom/Position.cpp: Add a build guard ENABLE(CSS_GRID_LAYOUT) for RenderGrid.

(WebCore::Position::isCandidate):

12:58 AM Changeset in webkit [180212] by ap@apple.com
  • 2 edits in trunk/LayoutTests

fast/selectors/nth-last-child-of-register-requirement.html is extremely slow in debug builds
https://bugs.webkit.org/show_bug.cgi?id=141695

Feb 16, 2015:

11:34 PM Changeset in webkit [180211] by Carlos Garcia Campos
  • 8 edits in trunk

[GTK] WebKitFrame objects are never released
https://bugs.webkit.org/show_bug.cgi?id=141641

Reviewed by Martin Robinson.

Source/WebKit2:

Use a FrameDestructionObserver derived class to wrap our
WebKitFrame objects and delete them when the frame is destroyed,
instead of using willDestroyFrame callback of WKBundlePageLoaderClient
that has never worked.

  • WebProcess/InjectedBundle/API/gtk/WebKitFrame.cpp:

(webkitFrameGetWebFrame):

  • WebProcess/InjectedBundle/API/gtk/WebKitFramePrivate.h:
  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

(webkitFrameGetOrCreate):
(webkitFrameDestroy):
(webkitWebPageCreate):
(willDestroyFrame): Deleted.

Tools:

Add a way to check GObjects leaks for WebProcess tests and check
WebKitFrame objects are not leaked.

  • TestWebKitAPI/Tests/WebKit2Gtk/FrameTest.cpp:

(WebKitFrameTest::testMainFrame):
(WebKitFrameTest::testURI):
(WebKitFrameTest::testJavaScriptContext):

  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp:

(WebProcessTest::assertObjectIsDeletedWhenTestFinishes):
(runTest):

  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.h:
11:25 PM Changeset in webkit [180210] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the !USE(IOSURFACE) build

  • Shared/mac/RemoteLayerBackingStore.mm:

SOFT_LINK_MAY_FAIL makes a function that will be unused if !USE(IOSURFACE).

11:17 PM Changeset in webkit [180209] by ap@apple.com
  • 3 edits in trunk/LayoutTests

REGRESSION(?): inspector/css/selector-dynamic-specificity.html sometimes crashes
https://bugs.webkit.org/show_bug.cgi?id=141118

This happens on WK1 too.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
10:42 PM Changeset in webkit [180208] by ap@apple.com
  • 2 edits in trunk/LayoutTests

fast/selectors/nth-last-child-of-register-requirement.html is extremely slow in debug builds
https://bugs.webkit.org/show_bug.cgi?id=141695

8:54 PM Changeset in webkit [180207] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Keep all memory cache resources in ListHashSets
https://bugs.webkit.org/show_bug.cgi?id=141667

Reviewed by Andreas Kling.

Keep all memory cache resources in ListHashSets instead of manual linked
lists. This simplifies the code a lot and is also more efficient for
retrieving / removing particular CachedResources.

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::CachedResource):

  • loader/cache/CachedResource.h:
  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::pruneDeadResourcesToSize):
(WebCore::MemoryCache::removeFromLRUList):
(WebCore::MemoryCache::insertInLRUList):
(WebCore::MemoryCache::dumpLRULists):
(WebCore::MemoryCache::lruListFor): Deleted.

  • loader/cache/MemoryCache.h:
8:26 PM Changeset in webkit [180206] by benjamin@webkit.org
  • 5 edits
    10 adds in trunk

CSS JIT: finish :nth-last-child()
https://bugs.webkit.org/show_bug.cgi?id=141629

Reviewed by Andreas Kling.

Source/WebCore:

This patch adds the matcher for :nth-child(An+B of selector list) and
fix a small bug I discovered while working on it.

The matcher is straightforward: count the next siblings matching the selector,
nothing fancy.

While working on it I noticed I forgot the test for IsParsingChildrenFinished
on the simple version of :nth-last-child(). I add it in both matcher, write
a couple of tests, the first part of the tests now succeed, but the second part
fails...

What happened is:
1) We interupt the parsing to execute the JavaScript.

From there, we force the style resolution to get the computed style.

2) When resolving the style, the early check for isFinishedParsingChildren()

quits the function early. This is done *before* we marked the parent
for :nth-last-child() style resolution.

3) After the script, parsing resume and the following elements are added.
4) When resolving the style, only the new elements are marked dirty,

the elements pending their :nth-last-child() style never get udpated.

To fix the problem, I moved the test for FinishedParsingChildren after
the parent marking.

Honestly, those early return for FinishedParsingChildren need to be refined
and they should be tested properly. We should not do this kind of things
for Query for example.

Tests: fast/selectors/nth-last-child-cannot-match-during-parsing-1.html

fast/selectors/nth-last-child-cannot-match-during-parsing-2.html
fast/selectors/nth-last-child-of-cannot-match-during-parsing-1.html
fast/selectors/nth-last-child-of-cannot-match-during-parsing-2.html
fast/selectors/nth-last-child-of-register-requirement.html

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):
Fix the tree marking.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
The fragment creation was already done, all I had to do was
accept the compile.

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
:nth-child() and :nth-last-child() with a selector list are heavier than :not()
and :matches(), move them accordingly.

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthLastChild):
More the early return after the tree marking.

(WebCore::SelectorCompiler::setParentAffectedByLastChildOf):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthLastChildOf):
New matcher, nothing optimized yet.

LayoutTests:

  • fast/selectors/nth-last-child-cannot-match-during-parsing-1-expected.txt: Added.
  • fast/selectors/nth-last-child-cannot-match-during-parsing-1.html: Added.
  • fast/selectors/nth-last-child-cannot-match-during-parsing-2-expected.txt: Added.
  • fast/selectors/nth-last-child-cannot-match-during-parsing-2.html: Added.
  • fast/selectors/nth-last-child-of-cannot-match-during-parsing-1-expected.txt: Added.
  • fast/selectors/nth-last-child-of-cannot-match-during-parsing-1.html: Added.
  • fast/selectors/nth-last-child-of-cannot-match-during-parsing-2-expected.txt: Added.
  • fast/selectors/nth-last-child-of-cannot-match-during-parsing-2.html: Added.

Those test cover the bugs related to IsParsingChildrenFinished and style update.

I had to duplicate the tests to have a simple selector because :nth-last-child(n)
and :nth-last-child(2n) are optimized differently.

  • fast/selectors/nth-last-child-of-register-requirement-expected.txt: Added.
  • fast/selectors/nth-last-child-of-register-requirement.html: Added.

The ususal register pressure tests. This one is taken directly from
the :nth-child() tests, I just changed the expected values.

  • fast/selectors/several-nth-last-child.html:

Due to the changes with IsParsingChildrenFinished, this test can no longer
use body:nth-last-child() during parsing. I changed it to an async test.

8:20 PM Changeset in webkit [180205] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebInspectorUI

Web Inspector: Tweak the styles on the Console
https://bugs.webkit.org/show_bug.cgi?id=140580

  • Use non-monospace (default sans-serif) font for console messages, but keep using monospace font for objects, functions, and anything else that presumably code.
  • Display all expandable objects on a separate row.

Patch by Nikita Vasilyev <Nikita Vasilyev> on 2015-02-16
Reviewed by Timothy Hatcher.

  • UserInterface/Views/ConsoleCommand.js:

(WebInspector.ConsoleCommand.prototype.decorateMessageElement):
(WebInspector.ConsoleCommand.prototype.toMessageElement):

  • UserInterface/Views/ConsoleGroup.js:

(WebInspector.ConsoleGroup.prototype.addMessage):

  • UserInterface/Views/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl.prototype._format):
(WebInspector.ConsoleMessageImpl.prototype._isExpandable):
(WebInspector.ConsoleMessageImpl.prototype._formatParameter):
(WebInspector.ConsoleMessageImpl.prototype.append):
(WebInspector.ConsoleMessageImpl.prototype._formatWithSubstitutionString):
(WebInspector.ConsoleMessageImpl.prototype.decorateMessageElement):
(WebInspector.ConsoleMessageImpl.prototype.toMessageElement):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsString): Deleted.

  • UserInterface/Views/LogContentView.css:

(.console-messages):
(.console-formatted-object):
(.expandable.source-code):
(.console-message):
(.console-item.selected::after):
(.console-messages:focus .console-item.selected::after):
(.console-user-command-result.console-log-level::before):
(.console-item::before):
(.console-message .bubble):
(.console-error-level):
(.console-error-level .section .header .title):
(.console-error-level::before):
(.console-warning-level):
(.console-warning-level .console-message-text):
(.console-warning-level::before):
(.console-user-command::before):
(.console-group-messages .section):
(.console-group-messages .section .header::before):
(.console-group-messages .section .header .title):
(.console-formatted-object, .console-formatted-node, .console-formatted-error, .console-formatted-map, .console-formatted-set, .console-formatted-weakmap):
(.outline-disclosure li):
(.outline-disclosure li.parent::before):
(.console-item): Deleted.
(.console-item.selected): Deleted.
(.console-messages:focus .console-item.selected): Deleted.
(.console-item.selected .console-message::after): Deleted.
(.console-messages:focus .console-item.selected .data-grid tr.selected): Deleted.
(.console-messages:focus .console-item.selected .console-message::after): Deleted.
(.console-message, .console-user-command): Deleted.
(.console-message::before, .console-user-command::before, .javascript-prompt::before, .console-group-title::before): Deleted.
(.console-group): Deleted.
(.console-debug-level .console-message-text): Deleted.
(.console-debug-level::before): Deleted.
(.console-group-messages .section .header): Deleted.
(.console-group-messages .outline-disclosure): Deleted.
(.console-group-messages .outline-disclosure > ol): Deleted.
(.outline-disclosure li.elements-drag-over .selection): Deleted.
(.outline-disclosure ol:focus li.selected .selection): Deleted.
(.outline-disclosure > ol): Deleted.

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype._mousemove):
(WebInspector.LogContentView.prototype._updateMessagesSelection):
(WebInspector.LogContentView.prototype._isMessageVisible):
(WebInspector.LogContentView.prototype._isMessageSelected):
(WebInspector.LogContentView.prototype._selectAllMessages):
(WebInspector.LogContentView.prototype._unfilteredMessages):
(WebInspector.LogContentView.prototype._visibleMessages):
(WebInspector.LogContentView.prototype._filterMessages):
(WebInspector.LogContentView.prototype._leftArrowWasPressed):
(WebInspector.LogContentView.prototype._propertiesSectionDidUpdateContent):
(WebInspector.LogContentView.prototype._performSearch):

  • UserInterface/Views/Section.css:

(.section .header .title::before):
(.section.expanded .header .title::before):
(.section .header .title, .event-bar .header .title):
(.properties-tree li.parent::before):
(.section .header::before): Deleted.
(.section.expanded .header::before): Deleted.

6:30 PM Changeset in webkit [180204] by timothy_horton@apple.com
  • 7 edits in trunk/Source/WebKit2

Sometimes RemoteLayerBackingStore ends up non-volatile while the process is suspended
<rdar://problem/19842957>
https://bugs.webkit.org/show_bug.cgi?id=141675

Reviewed by Simon Fraser.

Previously, it was possible to get a layer tree flush in between the
process suspension cleanup code making surfaces volatile and the process
actually being suspended (it was racy because the suspension requires
a few IPC round trips). Depending on how far through the flush we got,
we could sometimes end up either making new non-volatile backing store,
or switching some recently-made-volatile backing store back to non-volatile.
We don't want to have any non-volatile backing store while suspended.

  • UIProcess/ProcessThrottler.cpp:

(WebKit::ProcessThrottler::updateAssertion):
Inform the WebProcess when it's going from suspended to runnable state.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::sendProcessDidResume):

  • UIProcess/WebProcessProxy.h:

Forward the message along.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::processWillSuspend):
(WebKit::WebProcess::cancelProcessWillSuspend):
(WebKit::WebProcess::setAllLayerTreeStatesFrozen):
(WebKit::WebProcess::processDidResume):
Freeze all of this process' pages' layer trees when we start trying to suspend,
and un-freeze them when either suspension is cancelled or we resume.

  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:
6:28 PM Changeset in webkit [180203] by timothy_horton@apple.com
  • 6 edits in trunk/Source

Adopt CAMachPort-as-layer-contents
https://bugs.webkit.org/show_bug.cgi?id=141687
<rdar://problem/19393233>

Reviewed by Simon Fraser.

No new tests, just a performance bump.

  • platform/cocoa/MachSendRight.h:

(WebCore::MachSendRight::operator bool):
Add an operator bool() that checks if the underlying port is nonnull.

  • platform/spi/cocoa/QuartzCoreSPI.h:

Add some SPI.

  • Shared/mac/RemoteLayerBackingStore.h:
  • Shared/mac/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::decode):
If we have CAMachPort, just keep the MachSendRight around.

(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
If we have CAMachPort, make one and leak our send right into it. CAMachPort
will adopt the port and destroy it when needed.

(WebKit::RemoteLayerBackingStore::setBufferVolatility):
Tiny style fix.

6:21 PM Changeset in webkit [180202] by mmaxfield@apple.com
  • 4 edits in trunk/LayoutTests

Update cross-frame http tests after r177774
https://bugs.webkit.org/show_bug.cgi?id=141679

Reviewed by Alexey Proskuryakov.

Simply a spacing change

  • http/tests/security/XFrameOptions/x-frame-options-deny-multiple-clients-expected.txt:
  • http/tests/security/cross-frame-access-callback-explicit-domain-ALLOW-expected.txt:
  • platform/mac/TestExpectations:
6:17 PM Changeset in webkit [180201] by mmaxfield@apple.com
  • 3 edits in trunk/LayoutTests

Update accessibility/table-cells.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141680

Reviewed by Chris Fleizach.

Simply needs a rebaseline.

  • platform/mac/TestExpectations:
  • platform/mac/accessibility/table-cells-expected.txt:
6:10 PM Changeset in webkit [180200] by mmaxfield@apple.com
  • 2 edits in trunk/LayoutTests

[OS X] Reordering TestExpectations

Unreviewed.

  • platform/mac/TestExpectations:
6:04 PM Changeset in webkit [180199] by bshafiei@apple.com
  • 7 edits
    3 copies in tags/Safari-600.5.6.1

Merged r180191. rdar://problem/19855007

5:54 PM March 2015 Meeting created by Simon Fraser
5:52 PM WikiStart edited by Simon Fraser
(diff)
5:49 PM Changeset in webkit [180198] by Lucas Forschler
  • 7 edits
    3 copies in branches/safari-600.5-branch

Merged r180191. rdar://problem/19820463

5:33 PM Changeset in webkit [180197] by mmaxfield@apple.com
  • 2 edits in trunk/LayoutTests

fast/text/glyph-reordering.html no longer fails
https://bugs.webkit.org/show_bug.cgi?id=141678

Reviewed by Sam Weinig.

  • platform/mac/TestExpectations:
5:33 PM Changeset in webkit [180196] by achristensen@apple.com
  • 4 edits
    2 copies
    1 add in branches/safari-600.5-branch/LayoutTests

Progress towards making all bots green.

  • platform/mac-mavericks/css2.1: Added.
  • platform/mac-mavericks/css2.1/t1202-counter-04-b-expected.txt: Copied from platform/mac/css2.1/t1202-counter-04-b-expected.txt.
  • platform/mac-mavericks/css2.1/t1202-counters-04-b-expected.txt: Copied from platform/mac/css2.1/t1202-counters-04-b-expected.txt.
  • platform/mac/TestExpectations:

Skip css3/filters/huge-blur-value.html until bug 141653 is resolved.

  • platform/mac/css2.1/t1202-counter-04-b-expected.txt:
  • platform/mac/css2.1/t1202-counters-04-b-expected.txt:

Rebaselined for Yosemite.

5:28 PM Changeset in webkit [180195] by mmaxfield@apple.com
  • 4 edits in trunk/LayoutTests

Update fast/text/decomposed-after-stacked-diacritics.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141677

Reviewed by Dan Bernstein.

Apply kerning to both spans in the same way.

  • fast/text/decomposed-after-stacked-diacritics-expected.txt:
  • fast/text/decomposed-after-stacked-diacritics.html:
  • platform/mac/TestExpectations:
5:16 PM Changeset in webkit [180194] by mmaxfield@apple.com
  • 4 edits in trunk/LayoutTests

Update fast/regions/cssom/get-regions-by-content-horiz-*.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141674

Reviewed by Zalan Bujtas.

Text metrics changed, so the text ended up no longer spanning a region boundary.

  • fast/regions/cssom/get-regions-by-content-horiz-bt.html:
  • fast/regions/cssom/get-regions-by-content-horiz-tb.html:
  • platform/mac/TestExpectations:
5:09 PM Changeset in webkit [180193] by weinig@apple.com
  • 18 edits
    13 adds in trunk

Add experimental <attachment> element support
https://bugs.webkit.org/show_bug.cgi?id=141626

Reviewed by Tim Horton.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Adds scaffolding for an experimental implementation of an <attachment> element
which can represent a file attachment (e.g. NSTextAttachment in NSAttributedString
parlance).

The implementation is guarded by both an #ifdef (ENABLE(ATTACHMENT_ELEMENT)) and
a setting (Settings::attachmentElementEnabled()).

Tests: fast/attachment/attachment-disabled-dom.html

fast/attachment/attachment-disabled-rendering.html
fast/attachment/attachment-dom.html
fast/attachment/attachment-rendering.html

  • Configurations/FeatureDefines.xcconfig:

Add new ENABLE_ATTACHMENT_ELEMENT macro.

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:

Add new files.

  • dom/make_names.pl:

Add support for checking a setting to determine if a particular tag should be exposed.

  • html/HTMLAttachmentElement.cpp: Added.
  • html/HTMLAttachmentElement.h: Added.

Stub out the basics of the new element.

  • html/HTMLElementsAllInOne.cpp:

Add HTMLAttachmentElement.cpp.

  • html/HTMLTagNames.in:

Add 'attachment'.

  • page/Settings.in:

Add attachmentElementEnabled setting.

  • rendering/RenderAttachment.cpp: Added.
  • rendering/RenderAttachment.h: Added.

Stub out the basics of the new render. We will probably want to replace this with
a non-replaced render, but this will do as a placeholder for now.

  • rendering/RenderObject.h:

(WebCore::RenderObject::isAttachment):
Add predicate for type casting.

  • rendering/RenderingAllInOne.cpp:

Add RenderAttachment.cpp.

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

LayoutTests:

  • fast/attachment: Added.
  • fast/attachment/attachment-disabled-dom-expected.txt: Added.
  • fast/attachment/attachment-disabled-dom.html: Added.
  • fast/attachment/attachment-disabled-rendering-expected.txt: Added.
  • fast/attachment/attachment-disabled-rendering.html: Added.
  • fast/attachment/attachment-dom-expected.txt: Added.
  • fast/attachment/attachment-dom.html: Added.
  • fast/attachment/attachment-rendering-expected.txt: Added.
  • fast/attachment/attachment-rendering.html: Added.
5:06 PM Changeset in webkit [180192] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

GC (almost) immediately when navigating under memory pressure.
<https://webkit.org/b/141663>

Reviewed by Geoffrey Garen.

Since the PageCache is already disabled in memory pressure situations,
we know that detaching the old window shell on navigation is basically
guaranteed to generate a bunch of garbage, we can soften the memory
peak a bit by doing a GC right away instead of scheduling one for soon(tm).

  • bindings/js/GCController.cpp:

(WebCore::GCController::GCController):
(WebCore::GCController::garbageCollectSoon):
(WebCore::GCController::garbageCollectOnNextRunLoop):
(WebCore::GCController::gcTimerFired):

  • bindings/js/GCController.h:

Add a GCController::garbageCollectOnNextRunLoop() complement to the
"soon" and "now" options. There was already a zero timer in here for
non-CF builds, so I just used that same timer to implement this
and have the non-CF code path call garbageCollectOnNextRunLoop().

  • bindings/js/ScriptController.cpp:

(WebCore::collectGarbageAfterWindowShellDestruction):
(WebCore::ScriptController::~ScriptController):
(WebCore::ScriptController::clearWindowShell):

Under system memory pressure conditions, schedule a full GC on next
runloop iteration instead of just asking for it to happen soon.
We do it on next runloop to ensure that there's no pointer to the
window object on the stack.

5:05 PM Changeset in webkit [180191] by enrica@apple.com
  • 7 edits
    3 adds in trunk

Emoji sequences do not render properly.
https://bugs.webkit.org/show_bug.cgi?id=141661
rdar://problem/19820463

Reviewed by Sam Weinig.

Source/WebCore:

Emoji sequences and emoji with variations should be rendered
using the Complex code path and should be treated as graphemes.
This change modifies advanceByCombiningCharacterSequence to add
this logic.

Test: fast/text/emoji.html

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::characterRangeCodePath):

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::advanceByCombiningCharacterSequence): Implements a simple
logic to treat emoji sequences and emoji with variations as graphemes.

  • platform/text/CharacterProperties.h: Added.

(WebCore::isEmojiGroupCandidate):
(WebCore::isEmojiModifier):
(WebCore::isVariationSelector):

  • rendering/RenderText.cpp:

(WebCore::isEmojiGroupCandidate): Deleted.
(WebCore::isEmojiModifier): Deleted.

LayoutTests:

  • TestExpectations:
  • fast/text/emoji-expected.txt: Added.
  • fast/text/emoji.html: Added.
5:02 PM Changeset in webkit [180190] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

RenderTableRow should check if it has access to its ancestor chain.
https://bugs.webkit.org/show_bug.cgi?id=141668

Reviewed by Andreas Kling.

Preventive fix.

  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::styleDidChange):
(WebCore::RenderTableRow::addChild):

  • rendering/RenderTableRow.h:
4:33 PM Changeset in webkit [180189] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.18.1/Source

Versioning.

4:31 PM Changeset in webkit [180188] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.18.1

New tag.

4:26 PM Changeset in webkit [180187] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Build fix: declare undeclared identifier 'credential'.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::WebCoreNSURLAuthenticationChallengeClient::receivedCredential):

4:17 PM Changeset in webkit [180186] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.15-branch/Source/WebKit2

Merged r177625. rdar://problem/19851970

4:16 PM Changeset in webkit [180185] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.15-branch/Source

Versioning.

4:08 PM Changeset in webkit [180184] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

REGRESSION(r180060): C Loop crashes
https://bugs.webkit.org/show_bug.cgi?id=141671

Reviewed by Geoffrey Garen.

Fixed a typo that only affected the C Loop in the prologue() macro in LowLevelInterpreter.asm.
After the stackHeightOKGetCodeBlock label, codeBlockSetter(t1) should be codeBlockGetter(t1).
Fixed the processing of an out of stack exception in llint_stack_check to not get the caller's
frame. This isn't needed, since this helper is only called to check the stack on entry. Any
exception will be handled by a call ancestor.

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::llint_stack_check): Changed to use the current frame for processing an exception.

  • llint/LowLevelInterpreter.asm: Fixed a typo.
4:02 PM Changeset in webkit [180183] by jer.noble@apple.com
  • 4 edits
    1 add in trunk/Source/WebCore

[iOS] Unable to play .mp4 file over http with basic http authentication
https://bugs.webkit.org/show_bug.cgi?id=141503
rdar://problem/15799844

Reviewed by Alexey Proskuryakov.

On iOS, CFNetwork is used for authentication, so the NSURLAuthenticationChallenge
provided by AVAssetResourceLoader needs to be shoehorned into a AuthenticationChallenge
object by way of CFURLAuthChallengeRef.

Create a new class, WebCoreNSURLAuthenticationChallengeClient, whose sole purpose
is to take AuthenticationChallengeClient callbacks and pass them along to a
NSURLAuthenticationChallenge sender.

Create a NSURLAuthenticationChallenge out of the CF version through an SPI, and add
that SPI to a new header. Drive-by fix: take two of our existing SPI calls and move
them into that same header.

  • WebCore.xcodeproj/project.pbxproj: Add CFNSURLConnectionSPI.h to project.
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::WebCoreNSURLAuthenticationChallengeClient::create): Factory.
(WebCore::WebCoreNSURLAuthenticationChallengeClient::WebCoreNSURLAuthenticationChallengeClient): Simple constructor.
(WebCore::WebCoreNSURLAuthenticationChallengeClient::receivedCredential): Pass to m_challenge.
(WebCore::WebCoreNSURLAuthenticationChallengeClient::receivedRequestToContinueWithoutCredential): Ditto.
(WebCore::WebCoreNSURLAuthenticationChallengeClient::receivedCancellation): Ditto.
(WebCore::WebCoreNSURLAuthenticationChallengeClient::receivedRequestToPerformDefaultHandling): Ditto.
(WebCore::WebCoreNSURLAuthenticationChallengeClient::receivedChallengeRejection): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForResponseToAuthenticationChallenge):

Create an AuthenticationChallenge out of the nsChallenge and client and pass it up
to the HTMLMediaElement.

  • platform/network/mac/AuthenticationMac.mm:
  • platform/spi/cocoa/CFNSURLConnectionSPI.h: Added.
3:46 PM Changeset in webkit [180182] by bshafiei@apple.com
  • 2 edits in tags/Safari-600.1.4.15.6/Source/WebKit2

Merged r177625. rdar://problem/19851970

3:38 PM Changeset in webkit [180181] by bshafiei@apple.com
  • 5 edits in tags/Safari-600.1.4.15.6/Source

Versioning.

3:24 PM Changeset in webkit [180180] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r176459): Process suspension cleanup timer sometimes never stops
https://bugs.webkit.org/show_bug.cgi?id=141669

Reviewed by Simon Fraser.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::markAllLayersVolatileIfPossible):
r176459 accidentally removed the code to stop the cleanup timer
in the case where we successfully finish marking layers volatile,
causing the timer to continue running once the process comes back
from a suspended state.

3:19 PM Changeset in webkit [180179] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Revert a change in SVGRenderSupport::mapLocalToContainer committed for fixing <https://bugs.webkit.org/show_bug.cgi?id=119626>.
https://bugs.webkit.org/show_bug.cgi?id=138439

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-02-16
Reviewed by Darin Adler.

The change http://trac.webkit.org/changeset/164861 was ported from Blink
but it was was revert later because it broke Chrome SVG rendering. It also
broke the WebKit SVG text search highlighting.

Tests: svg/transforms/svg-geometry-crash.html: This test was added by the
blamed change. A new but correct solution is required to fix the assertion.

  • rendering/svg/SVGRenderSupport.h:
  • rendering/svg/SVGRenderSupport.cpp:

Notice that TransformState.applyTransform() does matrix-left-multiplication,
i.e. state = transform * state. But operator*() of AffineTransform and
MatrixTransform does right multiply, i.e. this = this * transform.

(WebCore::SVGRenderSupport::localToParentTransform): Have the calculation
of the SVG localToParentTransform in one shared function.

(WebCore::SVGRenderSupport::mapLocalToContainer): Revert the Blink change.
If the parent is the SVG root, the transform state should be equal to
transform = svg_to_css_mapping * local_to_parent_mapping * transform.

(WebCore::SVGRenderSupport::pushMappingToContainer): Get the localToParent
transform to be pushed in the geometryMap. If the parent is the SVG root,
localToParent = svg_to_css_mapping * local_to_parent_mapping. The original
code was doing the opposite and this is the cause of the assertion which
was fixed wrongly by reversing the correct multiplication order in
SVGRenderSupport::mapLocalToContainer().

3:11 PM Changeset in webkit [180178] by mmaxfield@apple.com
  • 6 edits in trunk/LayoutTests

Update fast/dom/{Element,Range}/getClientRects.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141665

Reviewed by Alexey Proskuryakov.

Line breaking is different due to different text metrics.

  • fast/dom/Element/getClientRects-expected.txt:
  • fast/dom/Element/getClientRects.html:
  • fast/dom/Range/getClientRects-expected.txt:
  • fast/dom/Range/getClientRects.html:
  • platform/mac/TestExpectations:
3:06 PM Changeset in webkit [180177] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.15.6

New tag.

3:01 PM Changeset in webkit [180176] by mmaxfield@apple.com
  • 1 edit
    5456 copies
    133 adds
    1 delete in trunk/LayoutTests

Delete LayoutTests/platform/mac-mountainlion directory

Rubber-stamped by Brent Fulgham.

The Win port falls back to mac-mountainlion, so this patch moves all files in
platform/mac-mountainlion that aren't already in platform/win into platform/win. It then deletes
the remaining files in platform/mac-mountainlion.

  • platform/mac-mountainlion: Deleted.
  • platform/win/{many files}: Moved from platform/mac-mountainlion
2:40 PM Changeset in webkit [180175] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Check for the assume_nonnull feature instead of noescape
https://bugs.webkit.org/show_bug.cgi?id=141666

Reviewed by Dan Bernstein.

  • Shared/API/Cocoa/WKFoundation.h:
2:38 PM Changeset in webkit [180174] by Alan Bujtas
  • 4 edits
    2 adds in trunk

RenderTableCell can't access its parent while in detached state.
https://bugs.webkit.org/show_bug.cgi?id=141639
rdar://problem/19850760

Reviewed by Simon Fraser.

Null check against ancestor chain so that certain methods in RenderTableCell can
be called even if the renderer is not yet attached.

Source/WebCore:

Test: fast/table/table-cell-crash-when-detached-state.html

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::borderLeft):
(WebCore::RenderTableCell::borderRight):
(WebCore::RenderTableCell::borderTop):
(WebCore::RenderTableCell::borderBottom):
(WebCore::RenderTableCell::borderStart):
(WebCore::RenderTableCell::borderEnd):
(WebCore::RenderTableCell::borderBefore):
(WebCore::RenderTableCell::borderAfter):

  • rendering/RenderTableCell.h:

LayoutTests:

  • fast/table/table-cell-crash-when-detached-state-expected.txt: Added.
  • fast/table/table-cell-crash-when-detached-state.html: Added.
2:10 PM Changeset in webkit [180173] by commit-queue@webkit.org
  • 8 edits in trunk

Web Inspector: Scope details sidebar should label objects with constructor names
https://bugs.webkit.org/show_bug.cgi?id=139449

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-02-16
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::internalConstructorName):

  • runtime/Structure.cpp:

(JSC::Structure::toStructureShape):
Share calculatedClassName.

  • runtime/JSObject.h:
  • runtime/JSObject.cpp:

(JSC::JSObject::calculatedClassName):
Elaborate on a way to get an Object's class name.

LayoutTests:

  • inspector/model/remote-object-expected.txt:
  • inspector/model/remote-object.html:

Improve the test to include Objects where previously
we would have had poorer class name descriptions.

1:58 PM Changeset in webkit [180172] by mmaxfield@apple.com
  • 3 edits in trunk/LayoutTests

Update expected result for editing/pasteboard/5761530-1.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141603

Reviewed by Alexey Proskuryakov.

The test used to have incorrect expected output, but the new results are correct.

  • LayoutTests/editing/pasteboard/5761530-1-expected.txt:
  • platform/mac/TestExpectations:
1:51 PM Changeset in webkit [180171] by mmaxfield@apple.com
  • 4 edits in trunk/LayoutTests

Update fast/css/css3-ch-unit.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141657

Reviewed by Zalan Bujtas.

The alphabet is not expected to have the same width as 26 times the average character width.

  • fast/css/css3-ch-unit-expected.txt:
  • fast/css/css3-ch-unit.html:
  • platform/mac/TestExpectations:
1:44 PM Changeset in webkit [180170] by ap@apple.com
  • 2 edits in trunk/LayoutTests

fullscreen/full-screen-plugin.html is very flaky on Yosemite WK2
https://bugs.webkit.org/show_bug.cgi?id=141364

  • platform/mac-wk2/TestExpectations: Marking as such.
1:26 PM Changeset in webkit [180169] by bshafiei@apple.com
  • 5 edits in tags/Safari-600.5.6.1/Source

Versioning.

1:26 PM Changeset in webkit [180168] by ap@apple.com
  • 2 edits in trunk/LayoutTests

inspector/css/stylesheet-with-mutations.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=141601

  • platform/mac-wk2/TestExpectations: Marking as such.
1:24 PM Changeset in webkit [180167] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.5.6.1

New tag.

12:41 PM Changeset in webkit [180166] by mmaxfield@apple.com
  • 9 edits in trunk/LayoutTests

Update fast/css/content/content-quotes-*.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141654

Reviewed by Zalan Bujtas.

Because of printer fonts and LayoutUnits, putting text inside an anonymous renderer
has different metrics than the raw text itself.

  • fast/css/content/content-quotes-01.html:
  • fast/css/content/content-quotes-02.html:
  • fast/css/content/content-quotes-03.html:
  • fast/css/content/content-quotes-04.html:
  • fast/css/content/content-quotes-05.html:
  • fast/css/content/content-quotes-06.html:
  • fast/css/content/content-quotes-07.html:
  • platform/mac/TestExpectations:
12:13 PM Changeset in webkit [180165] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Update expectations for css2.1/t1202-counter-04-b.html and css2.1/t1202-counters-04-b.html
rdar://problem/19848737

  • platform/mac/TestExpectations:
11:56 AM Changeset in webkit [180164] by timothy_horton@apple.com
  • 4 edits in trunk/Tools

Fix the MiniBrowser build with newer clang

  • MiniBrowser/mac/SettingsController.m:

(-[SettingsController _toggleBooleanDefault:]):

  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController windowWillClose:]):

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController windowWillClose:]):
NSApp is id and clang gets confused about which -delegate we're talking about.

11:43 AM Changeset in webkit [180163] by mmaxfield@apple.com
  • 3 edits in trunk/LayoutTests

Update expected result for compositing/fixed-positioned-pseudo-content-no-compositing.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141602

Reviewed by Simon Fraser.

Not sure if the change to contentsOpaque is right, so CC'ing smfr to see what he thinks.

  • compositing/fixed-positioned-pseudo-content-no-compositing-expected.txt:
  • platform/mac/TestExpectations:
11:38 AM Changeset in webkit [180162] by andersca@apple.com
  • 16 edits in trunk/Source/WebKit2

Add nullability qualifiers to all API headers
https://bugs.webkit.org/show_bug.cgi?id=141652
rdar://problem/19793630

Reviewed by Dan Bernstein.

  • Shared/API/Cocoa/WKFoundation.h:

Add a WK_NULLABLE_SPECIFIER macro.

  • UIProcess/API/Cocoa/WKBackForwardListItem.h:
  • UIProcess/API/Cocoa/WKFrameInfo.h:
  • UIProcess/API/Cocoa/WKNavigationAction.h:
  • UIProcess/API/Cocoa/WKNavigationDelegate.h:
  • UIProcess/API/Cocoa/WKNavigationResponse.h:
  • UIProcess/API/Cocoa/WKScriptMessage.h:
  • UIProcess/API/Cocoa/WKScriptMessageHandler.h:
  • UIProcess/API/Cocoa/WKUIDelegate.h:
  • UIProcess/API/Cocoa/WKUserContentController.h:
  • UIProcess/API/Cocoa/WKUserScript.h:
  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebViewConfiguration.h:
  • UIProcess/API/Cocoa/WKWindowFeatures.h:
  • mac/postprocess-framework-headers.sh:

Handle the WK_NULLABLE_SPECIFIER macro. Change the WK_NULLABLE sed command to replace
all occurrences of WK_NULLABLE instead of just the first one.

11:32 AM Changeset in webkit [180161] by dbates@webkit.org
  • 4 edits in trunk/LayoutTests

[iOS] Gardening; update test expectations

  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
11:27 AM Changeset in webkit [180160] by fpizlo@apple.com
  • 21 edits
    1 add in trunk/Source/JavaScriptCore

DFG SSA should use GetLocal for arguments, and the GetArgument node type should be removed
https://bugs.webkit.org/show_bug.cgi?id=141623

Reviewed by Oliver Hunt.

During development of https://bugs.webkit.org/show_bug.cgi?id=141332, I realized that I
needed to use GetArgument for loading something that has magically already appeared on the
stack, so currently trunk sort of allows this. But then I realized three things:

  • A GetArgument with a non-JSValue flush format means speculating that the value on the stack obeys that format, rather than just assuming that that it already has that format. In bug 141332, I want it to assume rather than speculate. That also happens to be more intuitive; I don't think I was wrong to expect that.


  • The node I really want is GetLocal. I'm just getting the value of the local and I don't want to do anything else.


  • Maybe it would be easier if we just used GetLocal for all of the cases where we currently use GetArgument.


This changes the FTL to do argument speculations in the prologue just like the DFG does.
This brings some consistency to our system, and allows us to get rid of the GetArgument
node. The speculations that the FTL must do are now made explicit in the m_argumentFormats
vector in DFG::Graph. This has natural DCE behavior: even if all uses of the argument are
dead we will still speculate. We already have safeguards to ensure we only speculate if
there are uses that benefit from speculation (which is a much more conservative criterion
than DCE).

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDCEPhase.cpp:

(JSC::DFG::DCEPhase::run):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGFlushFormat.h:

(JSC::DFG::typeFilterFor):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::valueProfileFor):
(JSC::DFG::Graph::methodOfGettingAValueProfileFor):

  • dfg/DFGInPlaceAbstractState.cpp:

(JSC::DFG::InPlaceAbstractState::initialize):

  • dfg/DFGNode.cpp:

(JSC::DFG::Node::hasVariableAccessData):

  • dfg/DFGNodeType.h:
  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp:

(JSC::DFG::OSRAvailabilityAnalysisPhase::run):
(JSC::DFG::LocalOSRAvailabilityCalculator::executeNode):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGPutLocalSinkingPhase.cpp:
  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • 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::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetLocal):
(JSC::FTL::LowerDFGToLLVM::compileGetArgument): Deleted.

  • tests/stress/dead-speculating-argument-use.js: Added.

(foo):
(o.valueOf):

11:05 AM Changeset in webkit [180159] by mmaxfield@apple.com
  • 4 edits in trunk/LayoutTests

Update editing/selection/move-by-word-visually-mac.html after r177774
https://bugs.webkit.org/show_bug.cgi?id=141609

Reviewed by Alexey Proskuryakov.

Line break occurs in a different place, so option-left and option-right
have slightly different behavior.

  • editing/selection/move-by-word-visually-mac.html:
  • editing/selection/move-by-word-visually-mac-expected.txt:
  • platform/mac/TestExpectations:
10:56 AM Changeset in webkit [180158] by mitz@apple.com
  • 4 edits in trunk/Source/WebKit2

Update SPI availability annotations
https://bugs.webkit.org/show_bug.cgi?id=141588

Reviewed by Anders Carlsson.

  • Shared/API/Cocoa/WKFoundation.h: Added a definition of NSi_8_3 for when building with

an older SDK.

  • UIProcess/API/Cocoa/WKErrorPrivate.h:
  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
10:46 AM Changeset in webkit [180157] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.4.10-branch/Source

Versioning.

10:37 AM Changeset in webkit [180156] by Antti Koivisto
  • 3 edits in trunk/Source/WebKit2

Remove unused InjectedBundle::setCacheModel.

Rubber-stamped by Anders Carlsson.

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::setCacheModel): Deleted.

  • WebProcess/InjectedBundle/InjectedBundle.h:
10:04 AM Changeset in webkit [180155] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Add ifdefs to avoid adjusting Ruby selection rects to avoid overlap on iOS.
https://bugs.webkit.org/show_bug.cgi?id=141651
<rdar://problem/19182526>

Reviewed by Simon Fraser.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):

10:02 AM Changeset in webkit [180154] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

SoftLinking.h: Update copyright and license; clean up whitespace

  • platform/mac/SoftLinking.h:
9:55 AM Changeset in webkit [180153] by andersca@apple.com
  • 1 edit in trunk/Source/WebKit2/ChangeLog

Fix typo.

9:50 AM Changeset in webkit [180152] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Build fix for versions of Xcode that support nullability but don't have the AppKit #defines.

  • Shared/API/Cocoa/WKFoundation.h:
9:47 AM Changeset in webkit [180151] by matthew_hanson@apple.com
  • 1 copy in branches/safari-600.4.10-branch

New branch.

9:47 AM Changeset in webkit [180150] by hyatt@apple.com
  • 12 edits
    8 adds in trunk

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.

text-underline-position:under has multiple correctness issues
https://bugs.webkit.org/show_bug.cgi?id=141528

Reviewed by Dean Jackson.

Source/WebCore:

Added a bunch of new tests in fast/text

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::maxLogicalBottomForTextDecorationLine):
(WebCore::InlineFlowBox::minLogicalTopForTextDecorationLine):
(WebCore::InlineFlowBox::computeMaxLogicalBottom): Deleted.

  • rendering/InlineFlowBox.h:

These functions have been re-written to take an enclosing renderer that specified the
decoration. This way they can properly limit the bottom/top computation to only line boxes
that are contained inside the renderer.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Tweak the call to get the decoration colors now that quirks mode has been removed.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::enclosingRendererWithTextDecoration):

  • rendering/RenderElement.h:

New function that finds the enclosing renderer that specified a text decoration. For now
this is only used in the "under" position computation, but soon we'll be using it
everywhere.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::getTextDecorationColors):

  • rendering/RenderObject.h:

Remove the quirks mode argument, since we were always passing true anyway (making the argument dead).

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::maxLogicalBottom): Deleted.

  • rendering/RootInlineBox.h:

Get rid of these functions and just have InlineTextBoxStyle's computeUnderLineOffset function call
the InlineFlowBox functions directly.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset):
Re-written to fetch the enclosingRendererWithTextDecoration so that it can be passed to the logical top/bottom
computation to limit which line boxes get included.

LayoutTests:

  • fast/text/text-underline-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-first-line-decoration.html: Added.
  • fast/text/text-underline-position-mixed-fonts-expected.html: Added.
  • fast/text/text-underline-position-mixed-fonts.html: Added.
  • fast/text/text-underline-position-subscript-expected.html: Added.
  • fast/text/text-underline-position-subscript.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration-expected.html: Added.
  • fast/text/text-underline-vertical-first-line-decoration.html: Added.
9:17 AM Changeset in webkit [180149] by Antti Koivisto
  • 16 edits
    2 adds in trunk

Develop/Disable Caches does not properly disable disk cache
https://bugs.webkit.org/show_bug.cgi?id=141636

Reviewed by Anders Carlsson.

Source/WebKit2:

The menu item sets the cache model to "document viewer" to disable the caches (cache size 0).
However the cache model was never passed to the network process after the initialization.

  • NetworkProcess/NetworkProcess.messages.in:
  • NetworkProcess/cache/NetworkCacheStorageCocoa.mm:

(WebKit::NetworkCacheStorage::retrieve):
(WebKit::NetworkCacheStorage::store):
(WebKit::NetworkCacheStorage::update):

Don't try to store or retrieve when the maximum cache size is set to zero.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::setCacheModel):

Message the network process too.

  • WebProcess/InjectedBundle/API/c/WKBundle.cpp:

(WKBundleSetCacheModel): Deleted.

Remove the now unused SPI.

  • WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:

Tools:

Make testRunner.setCacheModel() use the WKContext interface so the model gets passed to
the network process too.

This makes setCacheModel asynchronous but there don't seem to be any tests that expect otherwise.

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::beginTesting):
(WTR::InjectedBundle::setCacheModel):

  • WebKitTestRunner/InjectedBundle/InjectedBundle.h:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

Forward to TestController.

(WTR::TestRunner::setCacheModel):

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):

LayoutTests:

  • http/tests/cache/disk-cache-disable-expected.txt: Added.
  • http/tests/cache/disk-cache-disable.html: Added.
  • http/tests/cache/resources/cache-test.js:

(runTests): Add optional completion handler.

9:16 AM Changeset in webkit [180148] by Antti Koivisto
  • 4 edits
    3 adds in trunk

Assertion in disk cache code with redirect to a non-http resource
https://bugs.webkit.org/show_bug.cgi?id=141644

Reviewed by Anders Carlsson.

Source/WebKit2:

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didFinishLoading):

Check that response is HTTP before calling computeFreshnessLifetimeForHTTPFamily.

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::canStore):

Deny storing non-HTTP responses to cache (though the above already covers this).

LayoutTests:

  • http/tests/cache/disk-cache-redirect-to-data-expected.txt: Added.
  • http/tests/cache/disk-cache-redirect-to-data.html: Added.
  • http/tests/cache/resources/redirect-to-data.php: Added.
9:07 AM Changeset in webkit [180147] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

FEGaussianBlur::calculateUnscaledKernelSize does unspeakable things with signed and unsigned values
https://bugs.webkit.org/show_bug.cgi?id=141596
<rdar://problem/19837103>

Reviewed by Zalan Bujtas.

No new tests. Covered by css3/filters/huge-blur-value.html

Avoid overflowing the signed integer values by not converting from unsigned
until the maximum size has been clamped to the expected max.

  • platform/graphics/filters/FEGaussianBlur.cpp:

(WebCore::FEGaussianBlur::calculateUnscaledKernelSize):

8:36 AM Changeset in webkit [180146] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit2

Add support for nullability to the header postprocessing
https://bugs.webkit.org/show_bug.cgi?id=141573

Reviewed by Darin Adler.

  • Shared/API/Cocoa/WKFoundation.h:
  • UIProcess/API/Cocoa/WKBackForwardList.h:
  • mac/postprocess-framework-headers.sh:
8:10 AM Changeset in webkit [180145] by g.czajkowski@samsung.com
  • 2 edits
    1 move in trunk/Source/WebKit2

[EFL] Rename WebContextEfl to WebProcessPoolEfl
https://bugs.webkit.org/show_bug.cgi?id=141642

Reviewed by Csaba Osztrogonác.

Although we've renamed almost everything in r177716, this is still
required after r177692.

  • UIProcess/efl/WebProcessPoolEfl.cpp: Renamed from Source/WebKit2/UIProcess/efl/WebContextEfl.cpp.
7:15 AM Changeset in webkit [180144] by a.badowski@samsung.com
  • 2 edits in trunk/Tools

Unreviewed. Add myself as a committer.

  • Scripts/webkitpy/common/config/contributors.json:

Change-Id: I5d745aac5c20ab589446a69ef943202a6db4947a

4:43 AM WebKitGTK/2.4.x edited by tpopela@redhat.com
(diff)
4:36 AM Changeset in webkit [180143] by svillar@igalia.com
  • 1 edit
    2 adds in trunk/LayoutTests

Unreviewed. Uploading a new test that should have been uploaded as
part of r180142.

  • fast/css-grid-layout/grid-initialize-span-one-items-expected.txt: Added.
  • fast/css-grid-layout/grid-initialize-span-one-items.html: Added.
4:00 AM Changeset in webkit [180142] by svillar@igalia.com
  • 7 edits in trunk

[CSS Grid Layout] Invalid initialization of track sizes with non spanning grid items
https://bugs.webkit.org/show_bug.cgi?id=140763

Reviewed by Antti Koivisto.

Source/WebCore:

Content sized tracks with non-spanning grid items were not
properly sized because the growth limit was sometimes infinity
(-1) after calling resolveContentBasedTrackSizingFunctions() when
it should not. This patch adds an special initialization phase for
non-spanning grid items as the new track sizing algorithm
describes.

Granted, that was handled in the old algorithm in
distributeSpaceToTracks() as a special case. The problem is that
it regressed after the optimization added in r173868 because that
method is no longer called when the space to distribute is 0.

That's why we could fix this by allowing calls to
distributeSpaceToTracks() with spaceToDistribute>=0 but by fixing
it with an explicit initialization our implementation becomes
closer to the new algorithm and the initialization is now explicit
in the code instead of a side effect of calling
distributeSpaceToTracks() with no space to be distributed. It also
brings a slight performance improvement as we save sorts and hash
lookups.

I also took the change to add caching to several GridTrackSize
methods that were hot on the profiler (each one accounted for ~1%
of the total time, now they account for ~0.3% each).

Test: fast/css-grid-layout/grid-initialize-span-one-items.html

  • rendering/RenderGrid.cpp:

(WebCore::GridItemWithSpan::span): New helper method for ASSERTs.
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
Exclude non spanning grid items from the calls to
resolveContentBasedTrackSizingFunctionsForItems().
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForNonSpanningItems):
New method to resolve track sizes only using non-spanning grid
items.
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
Ensure that it isn't called for non-spanning grid items.

  • rendering/RenderGrid.h:
  • rendering/style/GridTrackSize.h:

(WebCore::GridTrackSize::GridTrackSize): Cache return values.
(WebCore::GridTrackSize::setLength): Ditto.
(WebCore::GridTrackSize::setMinMax): Ditto.
(WebCore::GridTrackSize::cacheMinMaxTrackBreadthTypes): New method
that caches the return values for hasXXXTrackBreadth() methods.
(WebCore::GridTrackSize::hasMinOrMaxContentMinTrackBreadth): Use
the cached return value.
(WebCore::GridTrackSize::hasMaxContentMaxTrackBreadth): Ditto.
(WebCore::GridTrackSize::hasMinContentMaxTrackBreadth): Ditto.
(WebCore::GridTrackSize::hasMinOrMaxContentMaxTrackBreadth): Ditto.
(WebCore::GridTrackSize::hasMaxContentMinTrackBreadth): Ditto.
(WebCore::GridTrackSize::hasMinContentMinTrackBreadth): Ditto.
(WebCore::GridTrackSize::hasMinContentMinTrackBreadthAndMinOrMaxContentMaxTrackBreadth):
Ditto.
(WebCore::GridTrackSize::hasMaxContentMinTrackBreadthAndMaxContentMaxTrackBreadth):
Ditto.

LayoutTests:

  • fast/css-grid-layout/grid-content-sized-columns-resolution-expected.txt:
  • fast/css-grid-layout/grid-content-sized-columns-resolution.html:
  • fast/css-grid-layout/grid-initialize-span-one-items-expected.txt: Added.
  • fast/css-grid-layout/grid-initialize-span-one-items.html: Added.
2:55 AM WebKitGTK/2.4.x edited by tpopela@redhat.com
(diff)
2:24 AM Changeset in webkit [180141] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK] Loading page into WebView shows g_closure_unref warning
https://bugs.webkit.org/show_bug.cgi?id=127474

Patch by Milan Crha <mcrha@redhat.com> on 2015-02-16
Reviewed by Carlos Garcia Campos.

  • bindings/gobject/GObjectEventListener.cpp:

(WebCore::GObjectEventListener::gobjectDestroyed):

1:42 AM Changeset in webkit [180140] by svillar@igalia.com
  • 6 edits in trunk/Source/WebCore

[CSS Grid Layout] Remove the usage of Length(Undefined) in GridLength
https://bugs.webkit.org/show_bug.cgi?id=141562

Reviewed by Chris Dumez.

From Blink r164154 by <timloh@chromium.org>

The patch simplifies some of the logic in creating and applying
GridLength and GridTrackSize values to RenderStyles by using the
constructors for initialisation instead of deferring to setters.

The rationale behind this change is that neither of
createGridTrackSize() nor createGridTrackBreadth() should be able
to fail, so these are changed to return objects directly instead
of taking an out reference (note that in general failing in
applying properties is incorrect and we should catch these in the
parser).

The quirk value across to the Lengths was also removed because it
doesn't apply to Grid.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::createGridTrackBreadth): Return a
GridLength instead of a bool.
(WebCore::StyleBuilderConverter::createGridTrackSize): Return a
GridTrackSize instead of a bool.
(WebCore::StyleBuilderConverter::createGridTrackList): Do not
create temporary GridTrackSizes with undefined Lengths.
(WebCore::StyleBuilderConverter::convertGridTrackSize): Ditto.

  • rendering/style/GridLength.h:

(WebCore::GridLength::GridLength): It now requires a mandatory
Length argument.
(WebCore::GridLength::length): Deleted.
(WebCore::GridLength::setFlex): Deleted.

  • rendering/style/GridTrackSize.h:

(WebCore::GridTrackSize::GridTrackSize): It now requires a
mandatory GridLength argument.
(WebCore::GridTrackSize::length): Removed no longer valid ASSERTs.
(WebCore::GridTrackSize::minTrackBreadth): Ditto.
(WebCore::GridTrackSize::maxTrackBreadth): Ditto.
(WebCore::GridTrackSize::setLength): Deleted.
(WebCore::GridTrackSize::setMinMax): Deleted.

  • rendering/style/RenderStyle.h:
12:25 AM Changeset in webkit [180139] by g.czajkowski@samsung.com
  • 2 edits in trunk/Source/WebCore

Removing text node does not remove its associated markers
https://bugs.webkit.org/show_bug.cgi?id=140999

Reviewed by Ryosuke Niwa.

Removing text node via script does not remove its markers.
For example, running the following script:

<script>

var div = document.getElementById("testElement");
div.focus();
document.execCommand("InsertText", false, "welllcome ");

Give a time async spellchecker to show its markers and
remove the node.
setTimeout(function() { div.removeChild(div.firstChild); }, 100);

</script>

will cause that DocumentMarkerController still stores the markers for
detached node.

The same issue occurs when the text gets cleared, for example,
<script>

input.value = ""; for HTMLTextAreaElement, HTMLInputElement
or
div.innerHTML = ""; for content editable

</script>

No new tests. Internals marker APIs operate on text node attached
to the element. To test it we could expose document().markers().hasMarkers()
but there is no more useful cases where it could be used.
Another obstacle is that we are in isInShadowTree() so that there is
no possible to register on "DOMSubtreeModified" event.
Test cases attached to the bug:

  1. input.value = "" https://bug-140999-attachments.webkit.org/attachment.cgi?id=245704
  2. elem.removeChild(textNode) https://bug-140999-attachments.webkit.org/attachment.cgi?id=246515

Remove markers when text nodes are about to remove.

  • dom/Document.cpp:

(WebCore::Document::nodeChildrenWillBeRemoved):
Fixes input.value = ""
(WebCore::Document::nodeWillBeRemoved):
Fixes elem.removeChild(textNode)

Note: See TracTimeline for information about the timeline view.