⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Sep 17, 2014:

11:54 PM Changeset in webkit [173718] by bshafiei@apple.com
  • 11 edits in branches/safari-600.1.4.11-branch/Source/WebKit2

Merged r173702. <rdar://problem/18316542>

11:23 PM Changeset in webkit [173717] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Use the correct enum for control key in Ewk_Event_Modifiers in ewk_navigation_policy_decision.cpp
https://bugs.webkit.org/show_bug.cgi?id=136740

Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2014-09-17
Reviewed by Gyuyoung Kim.

  • UIProcess/API/efl/ewk_navigation_policy_decision.cpp:

(toEwkEventModifiers):

11:21 PM Changeset in webkit [173716] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

[GTK] Add Wayland support to GLContextEGL
https://bugs.webkit.org/show_bug.cgi?id=136829

Reviewed by Martin Robinson.

  • platform/graphics/egl/GLContextEGL.cpp:

(WebCore::sharedEGLDisplay): Special-case the shared EGL display initialization
for the GTK port when running under Wayland. In that case the pointer to the
native wl_display object should be passed to eglGetDisplay(). If not running
under Wayland we should fall back to using the shared X11 display (if support
for that display system is enabled) or the EGL_DEFAULT_DISPLAY.

7:32 PM Changeset in webkit [173715] by commit-queue@webkit.org
  • 17 edits in trunk/Source/WebInspectorUI

Web Inspector: Remove unnecessary prefixes in WebInspectorUI CSS
https://bugs.webkit.org/show_bug.cgi?id=136905

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-09-17
Reviewed by Timothy Hatcher.

Removed vendor prefixes from justify-content and a few lingering
occurances with transition, box-shadow, and display.

  • UserInterface/Views/BreakpointActionView.css:
  • UserInterface/Views/BreakpointTreeElement.css:
  • UserInterface/Views/ButtonNavigationItem.css:
  • UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
  • UserInterface/Views/ControlToolbarItem.css:
  • UserInterface/Views/DebuggerDashboardView.css:
  • UserInterface/Views/DefaultDashboardView.css:
  • UserInterface/Views/FontResourceContentView.css:
  • UserInterface/Views/ImageResourceContentView.css:
  • UserInterface/Views/LayerTreeSidebarPanel.css:
  • UserInterface/Views/Main.css:
  • UserInterface/Views/NavigationBar.css:
  • UserInterface/Views/NavigationSidebarPanel.css:
  • UserInterface/Views/Popover.css:
  • UserInterface/Views/ReplayDashboardView.css:
  • UserInterface/Views/Toolbar.css:
6:53 PM Changeset in webkit [173714] by Lucas Forschler
  • 5 edits in branches/safari-600.1-branch/Source

Versioning.

6:52 PM Changeset in webkit [173713] by Lucas Forschler
  • 1 copy in tags/Safari-600.1.25

New Tag.

6:26 PM Changeset in webkit [173712] by roger_fong@apple.com
  • 2 edits
    1 add in trunk/LayoutTests

[Windows] Unreviewed rebaselining of some failing JS tests.

  • platform/win/js/dom/deep-recursion-test-expected.txt: Added.
  • platform/win/js/dom/global-constructors-attributes-shared-worker-expected.txt:
6:23 PM Changeset in webkit [173711] by ryuan.choi@gmail.com
  • 2 edits in trunk/Tools

Unreviewed, Update my email in contributors.json

  • Scripts/webkitpy/common/config/contributors.json:
6:15 PM Changeset in webkit [173710] by dbates@webkit.org
  • 69 edits
    10 deletes in trunk

Unreviewed, rolling out r173695.

Broke building third-party Legacy WebKit apps; will
investigate offline

Reverted changeset:

"[iOS] Make WebCore build with public iOS SDK"
https://bugs.webkit.org/show_bug.cgi?id=136487
http://trac.webkit.org/changeset/173695

5:59 PM Changeset in webkit [173709] by roger_fong@apple.com
  • 3 edits
    1 move in trunk/LayoutTests

Unreviewed. Use a power-of-2 image size instead so that WebGL tests won’t complain.

  • fast/canvas/image-potential-subsample.html:
  • fast/canvas/resources/image-6400x6400.jpg: Copied from fast/canvas/resources/image-8000x8000.jpg.
  • fast/canvas/resources/image-8000x8000.jpg: Removed.
  • fast/canvas/webgl/resources/tex-image-and-sub-image-2d-with-potentially-subsampled-image.js:

(.init):

5:26 PM Changeset in webkit [173708] by roger_fong@apple.com
  • 6 edits
    5 adds in trunk/LayoutTests

Unreviewed. Windows rebaselining to account for subpixel layout Part 2.

  • platform/win/editing/apply-style-iframe-crash-expected.txt: Added.
  • platform/win/editing/selection/move-left-right-expected.txt:
  • platform/win/fast/table/dynamic-caption-add-remove-before-child-expected.txt:
  • platform/win/tables/mozilla/bugs/bug4527-expected.txt: Added.
  • platform/win/tables/mozilla/marvin/body_col-expected.txt:
  • platform/win/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
  • platform/win/tables/mozilla/other/body_col-expected.txt:
  • platform/win/tables/mozilla_expected_failures/core: Added.
  • platform/win/tables/mozilla_expected_failures/core/captions1-expected.txt: Added.
  • platform/win/tables/mozilla_expected_failures/core/captions2-expected.txt: Added.
3:40 PM Changeset in webkit [173707] by dino@apple.com
  • 23 edits in trunk/Source/WebInspectorUI

WebInpector can use unprefixed flexbox
https://bugs.webkit.org/show_bug.cgi?id=136899

Reviewed by Joseph Pecoraro.

Now the inspector UI itself can use a non-prefixed flexbox. This was
a basic search and replace for the following properties:

  • align-content
  • align-items
  • align-self
  • flex-basis
  • flex-direction
  • flex-wrap
  • flex-grow
  • flex-shrink
  • flex
  • flex-flow
  • justify
  • UserInterface/Views/ButtonToolbarItem.css:
  • UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
  • UserInterface/Views/ContentBrowser.css:
  • UserInterface/Views/ControlToolbarItem.css:
  • UserInterface/Views/DebuggerDashboardView.css:
  • UserInterface/Views/DefaultDashboardView.css:
  • UserInterface/Views/FilterBar.css:
  • UserInterface/Views/FlexibleSpaceNavigationItem.css:
  • UserInterface/Views/FontResourceContentView.css:
  • UserInterface/Views/HierarchicalPathComponent.css:
  • UserInterface/Views/ImageResourceContentView.css:
  • UserInterface/Views/LayerTreeSidebarPanel.css:
  • UserInterface/Views/LogContentView.css:
  • UserInterface/Views/Main.css:
  • UserInterface/Views/NavigationBar.css:
  • UserInterface/Views/NavigationSidebarPanel.css:
  • UserInterface/Views/Popover.css:
  • UserInterface/Views/QuickConsole.css:
  • UserInterface/Views/ReplayDashboardView.css:
  • UserInterface/Views/ResourceSidebarPanel.css:
  • UserInterface/Views/Toolbar.css:
3:34 PM Changeset in webkit [173706] by msaboff@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

Change CallFrame to use Callee instead of JSScope to implement vm()
https://bugs.webkit.org/show_bug.cgi?id=136894

Reviewed by Geoffrey Garen.

Added JSCell::vm() method that can be used on any JSObject. Changed CallFrame::vm() to
use JSCell::vm with the Callee. Made similar changes in the LLInt.
In support of this, changed JSGlobalObject::init() to take a VM& parameter, as there is
a chicken/egg problem with trying to use the Callee in the global exec before the Callee
has been create. Besides, the vm is readily available in finishCreation(), the caller of
init().

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:

Changed the calculation of CallFrame::VM to use the Callee instead of JSScope.

  • runtime/JSCell.h:
  • runtime/JSCellInlines.h:

(JSC::JSCell::vm): New method for getting VM from the pointer.
(JSC::ExecState::vm): Moved this method from JSScope.h to here since this file
contains the implementation of JSCell::vm(), this file is included by all users
of CallFrame::vm, and lastly putting it in CallFrameInlines.h required changing
many other .h files and possible the WebCore generator generate-bindings.pl.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::finishCreation):
Changed init() to take a VM parameter.

  • runtime/JSScope.h:

(JSC::ExecState::vm): Deleted.

3:06 PM Changeset in webkit [173705] by dino@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Add unprefixed flexbox display values and property names/values
https://bugs.webkit.org/show_bug.cgi?id=136880
<rdar://problem/18361137>

Reviewed by Benjamin Poulain with some extra comments by Joseph Pecoraro.

  • UserInterface/Models/CSSKeywordCompletions.js: Switch to all the unprefixed

flex properties.

2:37 PM Changeset in webkit [173704] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

[Windows] Unreviewed gardening. Content Security Policy 1.1 (ENABLE_CSP_NEXT) is not enabled

  • platform/win/TestExpectations: Tests sometimes crash or timeout in addition to just failing.
2:24 PM Changeset in webkit [173703] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Speculative fix for a fast\dom\html-collections-named-getter failing only in Debug builds.

  • dom/Node.cpp:

(WebCore::Document::invalidateNodeListAndCollectionCaches):

2:18 PM Changeset in webkit [173702] by Simon Fraser
  • 11 edits in trunk/Source/WebKit2

Fix an issue that caused video playback to not always use high resolution streams
https://bugs.webkit.org/show_bug.cgi?id=136879
rdar://problem/18316542

Reviewed by Eric Carlson.

The underlying video framework expects to be able to use -[CALayer convertRect:toLayer:nil] on
the video layer to obtain information about the display resolution of the video,
including the device scale factor. This doesn't work for layers in the web process,
which are remotely hosted into the UI process.

For now, use a workaround which involves putting a scale transform equivalent to
the device scale factor on the web process layer, and the inverse scale on the
hosting layer in the UI process.

We have to do this in two places, for in-page video, and for fullscreen video.

  • Shared/mac/RemoteLayerTreeTransaction.h: Add hostingDeviceScaleFactor to the LayerCreation

properties.

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::LayerCreationProperties):
(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::decode):

  • UIProcess/ios/RemoteLayerTreeHostIOS.mm:

(-[WKRemoteView initWithFrame:contextID:hostingDeviceScaleFactor:]): Set the inverse scale
transform on the layer.
(WebKit::RemoteLayerTreeHost::createLayer):
(-[WKRemoteView initWithFrame:contextID:]): Deleted.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.h:
  • UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:
  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID):

  • WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:

(WebKit::PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):

  • WebProcess/WebPage/mac/RemoteLayerTreeContext.h:

(WebKit::RemoteLayerTreeContext::deviceScaleFactor):

  • WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:

(WebKit::RemoteLayerTreeContext::layerWasCreated):

  • WebProcess/ios/WebVideoFullscreenManager.mm:

(WebKit::WebVideoFullscreenManager::enterFullscreenForNode):
(WebKit::WebVideoFullscreenManager::didSetupFullscreen):

1:45 PM Changeset in webkit [173701] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/WebCore

Merge r173664. rdar://problem/18187713

1:42 PM Changeset in webkit [173700] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/WebCore

Merge r173632. rdar://problem/18187713

1:39 PM Changeset in webkit [173699] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.1-branch/Source/WebCore

Merge r173631. rdar://problem/18187713

1:03 PM Changeset in webkit [173698] by benjamin@webkit.org
  • 12 edits
    2 adds in trunk

Add parsing for :nth-child(An+B of selector)
https://bugs.webkit.org/show_bug.cgi?id=136845

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-09-17
Reviewed by Antti Koivisto.

Source/WebCore:

Add support for parsing :nth-child(of). The implementation of selector matching
will be in a follow up, there are enough edge cases here already.

Spec here: http://dev.w3.org/csswg/selectors4/#the-nth-child-pseudo

Test: fast/css/parsing-css-nth-child-of.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::detectFunctionTypeToken):
(WebCore::CSSParser::realLex):
The parser generate two new kinds of tokens:
-NTHCHILDFUNCTION, matching the "nth-child" identifier.
-NTHCHILDSELECTORSEPARATOR, matching the "of" keyword separating An+B from the selector list.

NTHCHILDFUNCTION is used to extend the new syntax only for :nth-child() and not all the "nth" functions
(e.g. :nth-of-type()).

NTHCHILDSELECTORSEPARATOR exists for two reasons:
-We must clear the "parsingMode" before parsing selectorList. If we failed to do that, the complex selectors

would be parsed in NthChildMode, which has all kind of bad side effects.

-The second reason is differentiacting "of" for all the other identifiers. Arguably, this could have been done

in the grammar, but it is clearer this way since we already need the branches for the parsingMode.

  • css/CSSGrammar.y.in:

Those are pretty much duplicates of the existing FUNCTION rules but supporting the new syntax.

  • css/CSSParserValues.cpp:

(WebCore::selectorListMatchesPseudoElement):
(WebCore::CSSParserSelector::matchesPseudoElement):
Matching pseudo elements does not make much sense for those selectorList (e.g. :nth-child(2n of ::before)).
Add helper function to fail parsing of those cases.

  • css/CSSParserValues.h:
  • css/CSSSelector.cpp:

(WebCore::CSSSelector::selectorText):

  • css/CSSSelector.h:

(WebCore::CSSSelector::selectorList):
Updated serialization code for CSS OM.

LayoutTests:

  • fast/css/parsing-css-nth-child-of-expected.txt: Added.
  • fast/css/parsing-css-nth-child-of.html: Added.

Two new tests to cover the new syntax.

  • 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:

The usual tests for CSS OM.

1:01 PM Changeset in webkit [173697] by benjamin@webkit.org
  • 9 edits
    6 adds in trunk

CSS value in whitespace-separated list attribute selector (~=) mishandles tab/newline/etc.
https://bugs.webkit.org/show_bug.cgi?id=136807

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-09-17
Reviewed by Antti Koivisto.

Source/WebCore:

The spec defines selector lists as token separated by white space.

The definition of white space for CSS Selectors is:
"White space in Selectors consists of the code points SPACE (U+0020),
TAB (U+0009), LINE FEED (U+000A), CARRIAGE RETURN (U+000D), and FORM FEED (U+000C)
can occur in whitespace. Other space-like code points, such as EM SPACE (U+2003)
and IDEOGRAPHIC SPACE (U+3000), are never part of white space."

The old code was only matching SPACE (U+0020) which is buggy. This patch
adds support for the other caracters.

Tests: fast/selectors/attr-list-01.html

fast/selectors/attribute-list-with-whitespace-in-selector.html
fast/selectors/attribute-list-with-whitespace-in-value.html

  • css/SelectorChecker.cpp:

(WebCore::attributeValueMatches):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::constructFragments):
(WebCore::SelectorCompiler::attributeValueSpaceSeparetedListContains):
Add the missing checks.

  • html/track/VTTRegion.cpp:

(WebCore::VTTRegion::setRegionSettings):
(WebCore::VTTRegion::parseSettingValue):

  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::hasRequiredFileIdentifier):
(WebCore::WebVTTParser::collectTimingsAndSettings):

  • html/track/WebVTTParser.h:

While looking for affected code, I discovered WebVTT redefines isHTMLSpace().
I cleaned that code.

Source/WTF:

  • wtf/text/AtomicString.h:

(WTF::AtomicString::find):

LayoutTests:

  • fast/selectors/attr-list-01-expected.html: Added.
  • fast/selectors/attr-list-01.html: Added.

This test is from a similar fix from Opera for the blink fork.
Review URL: https://chromiumcodereview.appspot.com/14980012
No other part of that patch is included.

  • fast/selectors/attribute-list-with-whitespace-in-selector-expected.txt: Added.
  • fast/selectors/attribute-list-with-whitespace-in-selector.html: Added.

Test whitespace characters in the selector itself.

  • fast/selectors/attribute-list-with-whitespace-in-value-expected.txt: Added.
  • fast/selectors/attribute-list-with-whitespace-in-value.html: Added.

Test whitespace characters in the attribute value.

11:27 AM Changeset in webkit [173696] by barraclough@apple.com
  • 11 edits in trunk/Source

Aways have a PageThrottler (sometimes have a UserActivity::Impl)
https://bugs.webkit.org/show_bug.cgi?id=136892

Reviewed by Geoffrey Garen.

Some instances of Page have a PageThrottler to track activity on the Page, and some do not.
(Specifically, those created from WebPage in WK2 do, those related to WK1, SVG & inspector do not).

We do this for three reasons:

  • We do not need to take AppNap assertions on WK1.
  • Some Pages do not track their visibility correctly, and would always claim to be visible.
  • Page VisibilityState is not set until after construction, so if we instantiate

Creating the entire PageThrottler lazily has the drawback that we have to check for its existence at
numerous points throughout the code, and we'll miss activity that occurs between the Page being created
& the PageThrottler added to it (really a theoretical problem right now, since they're currently always
created pretty much back to back).

Instead, Page should always have a PageThrottler, & instead make the UserActivity::Impl on the
PageThrottler be added later.

Source/WebCore:

  • WebCore.exp.in:
    • createPageThrottler -> enablePageThrottler
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • Page::pageThrottler now returns a reference rather than a pointer
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::started):

  • Page::pageThrottler now returns a reference rather than a pointer
  • page/Page.cpp:

(WebCore::Page::Page):

  • instantiate PageThrottler in constructor

(WebCore::Page::enablePageThrottler):

  • renamed from createPageThrottler, instead of creating the PageThrottler this method now instruct PageThrottler to create a UserActivity::Impl

(WebCore::Page::setViewState):

  • m_pageThrottler is not a pointer

(WebCore::Page::createPageThrottler): Deleted.

  • renamed to enablePageThrottler
  • page/Page.h:

(WebCore::Page::pageThrottler):

  • now returns a reference
  • page/PageThrottler.cpp:

(WebCore::PageThrottler::PageThrottler):

  • no longer instantiate m_activity

(WebCore::PageThrottler::createUserActivity):

  • lazily instantiate m_activity, call updateUserActivity

(WebCore::PageThrottler::updateUserActivity):

  • m_activity may not yet be instantiated; added early return
  • page/PageThrottler.h:
    • m_activity becomes a std::unique_ptr, added createUserActivity

Source/WebKit2:

  • WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:

(WebKit::NPRuntimeObjectMap::evaluate):

  • createPageThrottler -> enablePageThrottler
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::mouseEvent):
(WebKit::WebPage::wheelEvent):
(WebKit::WebPage::keyEvent):

  • Page::pageThrottler now returns a reference rather than a pointer
11:18 AM Changeset in webkit [173695] by dbates@webkit.org
  • 69 edits
    27 copies
    6 adds in trunk

[iOS] Make WebCore build with public iOS SDK
https://bugs.webkit.org/show_bug.cgi?id=136487

Reviewed by David Kilzer.

Source/WebCore:

Add headers that wrap Mac and iOS SPIs and update WebCore source files to include these
headers instead of the corresponding actual SPI header(s).

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.vcxproj/WebCoreCG.props:
  • WebCore.vcxproj/copyForwardingHeaders.cmd:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/DOMInternal.mm:
  • bridge/objc/objc_instance.mm:
  • platform/audio/ios/MediaSessionManagerIOS.mm:
  • platform/cocoa/DisplaySleepDisablerCocoa.cpp:
  • platform/cocoa/MemoryPressureHandlerCocoa.mm:
  • platform/graphics/SimpleFontData.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:
  • platform/graphics/cg/BitmapImageCG.cpp:
  • platform/graphics/cg/ColorCG.cpp:
  • platform/graphics/cg/GraphicsContextCG.cpp:
  • platform/graphics/cg/ImageSourceCG.cpp:
  • platform/graphics/cg/PDFDocumentImage.cpp:
  • platform/graphics/cocoa/FontPlatformDataCocoa.mm:
  • platform/graphics/ios/FontCacheIOS.mm:
  • platform/graphics/ios/FontServicesIOS.mm:
  • platform/graphics/ios/SimpleFontDataIOS.mm:
  • platform/graphics/mac/FontMac.mm:
  • platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
  • platform/graphics/mac/MediaPlayerProxy.h:
  • platform/graphics/mac/SimpleFontDataMac.mm:
  • platform/ios/LegacyTileCache.mm:
  • platform/ios/LegacyTileGrid.mm:
  • platform/ios/LegacyTileGridTile.mm:
  • platform/ios/PlatformEventFactoryIOS.mm:
  • platform/ios/PlatformScreenIOS.mm:
  • platform/ios/WebEvent.mm:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
  • platform/ios/wak/WAKAppKitStubs.h:
  • platform/ios/wak/WAKView.h:
  • platform/ios/wak/WKGraphics.h:
  • platform/ios/wak/WKGraphics.mm:
  • platform/ios/wak/WebCoreThread.mm:
  • platform/network/ios/QuickLook.mm:
  • platform/spi/ca/CALayerSPI.h: Added.
  • platform/spi/ca/CATiledLayerSPI.h: Added.
  • platform/spi/cf/CFLocaleSPI.h: Modified to use EXTERN_C.
  • platform/spi/cf/CFNetworkConnectionCacheSPI.h: Ditto. Also changed header visibility from private to project.
  • platform/spi/cf/CFURLRequestSPI.h: Ditto. Also modified to unconditionally include header <CoreFoundation/CFBase.h>.
  • platform/spi/cg/CGColorTransformSPI.h: Added.
  • platform/spi/cg/CGContextSPI.h: Added.
  • platform/spi/cg/CGFloatSPI.h: Added.
  • platform/spi/cg/CGFontGlyphSupportSPI.h: Added.
  • platform/spi/cg/CGFontInfoSPI.h: Added.
  • platform/spi/cg/CGFontRenderingSPI.h: Added.
  • platform/spi/cg/CGFontUnicodeSupportSPI.h: Added.
  • platform/spi/cg/CGImageSPI.h: Added.
  • platform/spi/cg/CGSRegionSPI.h: Added.
  • platform/spi/cocoa/DispatchSPI.h: Added.
  • platform/spi/cocoa/IOPMLibSPI.h: Added.
  • platform/spi/cocoa/MachVMSPI.h: Added.
  • platform/spi/cocoa/NSFileManagerSPI.h: Added.
  • platform/spi/cocoa/NSGeometrySPI.h: Added.
  • platform/spi/cocoa/NSPointerFunctionsSPI.h: Added.
  • platform/spi/cocoa/dyldSPI.h: Added.
  • platform/spi/ios/AVPlayerControllerSPI.h: Added.
  • platform/spi/ios/AVPlayerViewControllerSPI.h: Added.
  • platform/spi/ios/AVValueTimingSPI.h: Added.
  • platform/spi/ios/AVVideoLayerSPI.h: Added.
  • platform/spi/ios/CTFontDescriptorSPI.h: Added.
  • platform/spi/ios/CTFontSPI.h: Added.
  • platform/spi/ios/CUICatalogSPI.h: Added.
  • platform/spi/ios/CUIStyleEffectConfigurationSPI.h: Added.
  • platform/spi/ios/MPAVRoutingControllerSPI.h: Added.
  • platform/spi/ios/MobileGestaltSPI.h: Added.
  • platform/spi/ios/QLPreviewConverterSPI.h: Added.
  • platform/spi/ios/QuickLookSPI.h: Added.
  • rendering/RenderThemeIOS.mm:

Source/WebKit/ios:

Substitute <WebCore/CGFloatSPI.h> for <CoreGraphics/CGFloat.h>.

  • WebCoreSupport/WebFixedPositionContent.mm:

Source/WebKit/mac:

Update WebKit1 source files to include the wrapper SPI headers instead of the corresponding
actual SPI header(s).

  • DOM/WebDOMOperationsPrivate.h:
  • MigrateHeaders.make: Modified to only modify the include path of a "<WebCore/"-prefixed header

file if its filename doesn't end in "SPI.h" as an alternative to having MigrateHeaders.make copy
such files into the WebKit framework as private headers.

  • WebCoreSupport/WebFrameLoaderClient.mm:
  • WebInspector/WebNodeHighlight.mm:
  • WebView/WebIndicateLayer.mm:
  • WebView/WebRenderLayer.h:
  • WebView/WebView.mm:

Source/WebKit2:

Update WebKit2 source files to include the wrapper SPI headers instead of the corresponding
actual SPI header(s).

  • Platform/mac/SharedMemoryMac.cpp:
  • Shared/ios/NativeWebTouchEventIOS.mm:
  • Shared/mac/RemoteLayerBackingStore.mm:
  • Shared/mac/RemoteLayerTreePropertyApplier.mm:
  • UIProcess/API/Cocoa/WKWebView.mm:
  • UIProcess/ios/WKPDFPageNumberIndicator.mm:
  • UIProcess/ios/WKScrollView.mm:
  • UIProcess/ios/WebMemoryPressureHandlerIOS.mm:
  • UIProcess/ios/forms/WKAirPlayRoutePicker.mm:
  • WebProcess/WebPage/WebPage.cpp:

Source/WTF:

Define convenience macro EXTERN_C that can be used to specify the C linkage convention
for a declaration. For example, the declaration "EXTERN_C const int x;" will expand to:

extern const int x;

and

extern "C" const int x;

when used in a C and C++ file, respectively.

  • wtf/Compiler.h:

Tools:

Substitute <WebCore/MachVMSPI.h> for <mach/mach_vm.h>.

  • DumpRenderTree/mac/CheckedMalloc.cpp:
10:00 AM Changeset in webkit [173694] by barraclough@apple.com
  • 12 edits in trunk/Source

DOM timer throttling for hidden plugins
https://bugs.webkit.org/show_bug.cgi?id=136197

Patch by Gavin Barraclough <barraclough@apple.com> on 2014-09-17
Reviewed by Geoff Garen & Andreas Kling.

For non-visible web pages we slow timers (since they can't be driving animations, etc).
We should do the same for plugins.

Source/WebCore:

There are a few steps to this:

  • JSPluginElementFunctions notifies DOMTimer when script interacts with a plugin.
  • DOMTimerFireState keeps a record of events that occur while a timer is firing.
  • DOMTimer::fired detects timers that interact with invisible/inaudible plugins, and flags itself for throtting.
  • DOMTimer::intervalClampedToMinimum sets timer intervals appropriately.
  • bindings/js/JSPluginElementFunctions.cpp:

(WebCore::pluginScriptObject):

  • notify DOMTimer when script interacts with a plugin.
  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::isDetectable):

  • html/HTMLPlugInElement.h:
    • added isDetectable, to check for visible / audible plugins.
  • page/DOMTimer.cpp:

(WebCore::DOMTimerFireState::DOMTimerFireState):
(WebCore::DOMTimerFireState::~DOMTimerFireState):

  • track current DOMTimerFireState.

(WebCore::DOMTimer::DOMTimer):

  • initialize m_throttleState.

(WebCore::DOMTimer::scriptDidInteractWithPlugin):

  • if interaction with a plugin occurs while a timer is firing, record on the DOMTimerFireState.

(WebCore::DOMTimer::fired):

  • set DOMTimerFireState, and update m_throttleState accordingly.

(WebCore::DOMTimer::updateTimerIntervalIfNecessary):

  • remove redundant check of maxTimerNestingLevel (covered by intervalClampedToMinimum).

(WebCore::DOMTimer::intervalClampedToMinimum):

  • Also take m_throttleState into account when throttling.
  • page/DOMTimer.h:
    • added scriptDidInteractWithPlugin, m_throttleState.
  • platform/audio/AudioHardwareListener.h:
    • enum -> enum class.
  • plugins/PluginViewBase.h:

(WebCore::PluginViewBase::audioHardwareActivity):

  • expose audioHardwareActivity on PluginViewBase (previously available in subclass).

Source/WebKit2:

  • PluginProcess/WebProcessConnection.cpp:
  • WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
    • remove now redundant includes.
  • WebProcess/Plugins/PluginView.h:
    • audioHardwareActivity is now virtual, override.
9:32 AM Changeset in webkit [173693] by barraclough@apple.com
  • 4 edits in trunk/Source/WebCore

Exclude page visibility from PageThrottler's hysteresis
https://bugs.webkit.org/show_bug.cgi?id=136866

Reviewed by Geoff Garen.

Including visibility in the hysteresis mechanism has the effect of prolonging the visually
idle timeout, and causing the page hide event to be run at foreground priority. Neither of
these are particularly desirable. Instead separate visibility from the rest of the page
activities we track (and apply hysteresis to), and feed this directly into determination
of the UserActivity state.

  • page/PageThrottler.cpp:

(WebCore::PageThrottler::PageThrottler):

  • when the PageThrottler is instantiated call updateUserActivity to set initial UserActivity.

(WebCore::PageThrottler::incrementActivityCount):

  • simplified - when m_activityCount becomes non-zero, start m_hysteresis.

(WebCore::PageThrottler::decrementActivityCount):

  • simplified - when m_activityCount becomes zero, stop m_hysteresis.

(WebCore::PageThrottler::updateUserActivity):

  • end the UserActivity (allow AppNap) if visually idle and no page activity is taking place.

(WebCore::PageThrottler::setViewState):

  • when the visually idle state changed call updateUserActivity to update the UserActivity.

(WebCore::PageThrottler::started):
(WebCore::PageThrottler::stopped):

  • when the hysteresis state changed call updateUserActivity to update the UserActivity.

(WebCore::PageThrottler::updateHysteresis): Deleted.

  • removed: simplified the hysteresis trigger, we now incorporate visually idle state in updateUserActivity.
  • page/PageThrottler.h:
    • removed updateHysteresis, added updateUserActivity.
  • platform/HysteresisActivity.h:

(WebCore::HysteresisActivity::state):

  • determine the curent state of the HysteresisActivity - started, waiting, or stopped.
9:12 AM Changeset in webkit [173692] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GTK] Fix runtime critical warnings when writing to the clipboard after r173687
https://bugs.webkit.org/show_bug.cgi?id=136891

Reviewed by Philippe Normand.

  • platform/gtk/PasteboardHelper.cpp:

(WebCore::PasteboardHelper::writeClipboardContents): Check passed
callback is not null before trying to ref/unref it since
g_closure_ref/unref are not null safe.

9:11 AM Changeset in webkit [173691] by Carlos Garcia Campos
  • 7 edits in trunk

[GTK] WebKitWebView::load-failed-with-tls-errors should receive the failing URI instead of a host
https://bugs.webkit.org/show_bug.cgi?id=136889

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

We were passing a host for two different reasons, first because
it's more convenient to add an exception with
webkit_web_context_allow_tls_certificate_for_host(), but also
because we were assuming the active URI is the failing URI in case
of failure. This assumption is correct because our current code
does that, but I'm not sure we are doing it on purpose. That
behaviour is not documented anywhere and it's not what WebKit2 does
internaly.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_class_init):
(webkitWebViewLoadFailedWithTLSErrors):

  • UIProcess/API/gtk/WebKitWebView.h:

Tools:

  • TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp:

(testLoadFailedWithTLSErrors): Check that LoadFailedWithTLSErrors
event was added to the events vector.

  • TestWebKitAPI/gtk/WebKit2Gtk/LoadTrackingTest.cpp:

(loadFailedCallback): Do not assume the web view URI is the
failing URI when the load fails before the committed state.
(loadFailedWithTLSErrorsCallback): Handle the case of load failure
because of TLS errors can call LoadTrackingTest::loadFailedWithTLSErrors.
(LoadTrackingTest::LoadTrackingTest): Connect to WebKitWebView::load-failed-with-tls-errors.
(LoadTrackingTest::loadFailedWithTLSErrors): Add
LoadFailedWithTLSErrors event to the events vector.

  • TestWebKitAPI/gtk/WebKit2Gtk/LoadTrackingTest.h:
5:35 AM Changeset in webkit [173690] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

[GTK] Add a helper function for display system deduction
https://bugs.webkit.org/show_bug.cgi?id=136849

Reviewed by Martin Robinson.

getDisplaySystemType() is a helper function that checks the type of the
default GdkDisplay object and initializes a static variable to the
corresponding value. It then returns the value of that variable.

When building with the GTK+2 API (still the case with the GTK+2 plugin
process) we default to X11.

The function is declared and implemented in GtkUtilities files.

  • platform/gtk/GtkUtilities.cpp:

(WebCore::widgetIsOnscreenToplevelWindow):
(WebCore::getDisplaySystemType):

  • platform/gtk/GtkUtilities.h:
2:29 AM Changeset in webkit [173689] by commit-queue@webkit.org
  • 13 edits in trunk

[EFL][GTK] Remove WebKit1 related codes
https://bugs.webkit.org/show_bug.cgi?id=136853

Patch by Renato Nagy <rnagy@inf.u-szeged.hu> on 2014-09-17
Reviewed by Csaba Osztrogonác.

Gtk and EFL WebKit1 ports no longer exist. Webkit1 related codes were deleted
from scripts.

.:

  • Source/PlatformGTK.cmake:

Tools:

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(Compile32bitJSC):
(BuildAndTestWebKit2Factory):
(CompileWebKit1Only): Deleted.
(CompileWebKit2Only): Deleted.
(BuildAndTestWebKit1OnlyFactory): Deleted.
(BuildAndTestWebKit2OnlyFactory): Deleted.

  • Scripts/build-webkit:
  • Scripts/webkitperl/webkitdirs_unittest/checkForArgumentAndRemoveFromArrayRefGettingValue.pl:
  • Scripts/webkitpy/common/config/ports.py:

(GtkWK2Port.build_webkit_command):
(EflWK2Port.build_webkit_command):

  • Scripts/webkitpy/common/config/ports_unittest.py:

(DeprecatedPortTest.test_gtk_wk2_port):

  • Scripts/webkitpy/port/efl.py:

(EflPort.build_webkit_command):

  • Scripts/webkitpy/port/gtk.py:

(GtkPort._built_libraries_path):
(GtkPort._search_paths):
(GtkPort.test_expectations_file_position):
(GtkPort.build_webkit_command):
(GtkPort.run_webkit_tests_command):
(GtkPort.warn_if_bug_missing_in_test_expectations): Deleted.

1:54 AM Changeset in webkit [173688] by Yusuke Suzuki
  • 3 edits
    2 adds in trunk

filterRootById accidentally clears inAdjacentChain flag
https://bugs.webkit.org/show_bug.cgi?id=136851

Reviewed by Benjamin Poulain.

Source/WebCore:

Test: fast/selectors/filter-root-node-with-selector-contains-adjacents.html

  • dom/SelectorQuery.cpp:

(WebCore::filterRootById):

LayoutTests:

When SubSelector comes, inAdjacentChain flag is cleared to false.
So for example, document.querySelector("span#id + ok") doesn't work correctly.
In this patch, we handles SubSelector relation correctly; don't change inAdjacentChain flag
to filter the right search root node.

  • fast/selectors/filter-root-node-with-selector-contains-adjacents-expected.txt: Added.
  • fast/selectors/filter-root-node-with-selector-contains-adjacents.html: Added.
12:05 AM Changeset in webkit [173687] by Carlos Garcia Campos
  • 15 edits
    2 adds in trunk/Source

[GTK] Fix layering violations in PasteboardGtk
https://bugs.webkit.org/show_bug.cgi?id=136802

Reviewed by Darin Adler.

Source/WebCore:

Refactor the Pasteboard code moving the WebCore parts to the Editor.

  • PlatformGTK.cmake: Add new file to compilation.
  • editing/Editor.cpp:

(WebCore::Editor::performCutOrCopy):
(WebCore::Editor::copyImage):

  • editing/Editor.h:
  • editing/gtk/EditorGtk.cpp: Added.

(WebCore::createFragmentFromPasteBoardData):
(WebCore::Editor::pasteWithPasteboard):
(WebCore::getImageAndURLForElement):
(WebCore::Editor::writeImageToPasteboard):
(WebCore::Editor::writeSelectionToPasteboard):

  • page/DragController.cpp:

(WebCore::DragController::startDrag):

  • page/gtk/DragControllerGtk.cpp:

(WebCore::DragController::declareAndWriteDragImage):

  • platform/Pasteboard.h:
  • platform/gtk/DataObjectGtk.cpp: Remove range member, the caller

should call setText() + setMarkup() intead.
(WebCore::DataObjectGtk::setText):
(WebCore::DataObjectGtk::setMarkup):
(WebCore::DataObjectGtk::clearText):
(WebCore::DataObjectGtk::clearMarkup):
(WebCore::DataObjectGtk::clearAllExceptFilenames):

  • platform/gtk/DataObjectGtk.h:

(WebCore::DataObjectGtk::hasText):
(WebCore::DataObjectGtk::hasMarkup):
(WebCore::DataObjectGtk::clearImage):
(WebCore::DataObjectGtk::text):
(WebCore::DataObjectGtk::markup):
(WebCore::DataObjectGtk::setRange): Deleted.

  • platform/gtk/GtkDragAndDropHelper.h:
  • platform/gtk/PasteboardGtk.cpp:

(WebCore::PasteboardImage::PasteboardImage):
(WebCore::PasteboardImage::~PasteboardImage):
(WebCore::Pasteboard::write):
(WebCore::Pasteboard::writeSelection): Deleted.
(WebCore::getURLForImageElement): Deleted.
(WebCore::Pasteboard::writeImage): Deleted.
(WebCore::Pasteboard::documentFragment): Deleted.

  • platform/gtk/PasteboardHelper.cpp:

(WebCore::displayFromFrame): Deleted.
(WebCore::PasteboardHelper::getPrimarySelectionClipboard): Deleted.

  • platform/gtk/PasteboardHelper.h:

Source/WebKit2:

  • WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:

(WebKit::WebEditorClient::updateGlobalSelection): Use new API to
update the global selection.

Sep 16, 2014:

11:27 PM Changeset in webkit [173686] by Carlos Garcia Campos
  • 15 edits in trunk/Source

DragData should not depend on Clipboard, DocumentFragment, and Document
https://bugs.webkit.org/show_bug.cgi?id=21358

Reviewed by Darin Adler.

Source/WebCore:

Refactor DragData to not depend on Frame, DocumentFragment,
Document and Range. DragData::asFragment() has been moved to
DragController and implemented in the platform specific file.
DragData methods using Frame has been reworked in Mac to not use
Frame, since all other ports were ignoreing the frame parameter.

  • page/DragController.cpp:

(WebCore::DragController::documentFragmentFromDragData): Make it
a static member to be able to use createFragmentFromDragData().
(WebCore::DragController::performDragOperation): Update to
DragData API changes.
(WebCore::DragController::dispatchTextInputEventFor): Ditto.
(WebCore::DragController::concludeEditDrag): Ditto.
(WebCore::documentFragmentFromDragData): Deleted.

  • page/DragController.h:
  • page/efl/DragControllerEfl.cpp:

(WebCore::DragController::createFragmentFromDragData): Move
DragData::asFragment() implementation here.

  • page/gtk/DragControllerGtk.cpp:

(WebCore::DragController::dragOperation):
(WebCore::DragController::createFragmentFromDragData): Ditto.

  • page/mac/DragControllerMac.mm:

(WebCore::DragController::dragOperation):
(WebCore::DragController::createFragmentFromDragData): Ditto.

  • page/win/DragControllerWin.cpp:

(WebCore::DragController::createFragmentFromDragData): Ditto.

  • platform/DragData.h:
  • platform/efl/DragDataEfl.cpp:

(WebCore::DragData::asPlainText): Remove Frame parameter.
(WebCore::DragData::containsURL): Ditto.
(WebCore::DragData::asURL): Ditto.
(WebCore::DragData::asFragment): Deleted.

  • platform/gtk/DragDataGtk.cpp:

(WebCore::DragData::asPlainText): Remove Frame parameter.
(WebCore::DragData::containsCompatibleContent):
(WebCore::DragData::containsURL): Ditto.
(WebCore::DragData::asURL): Ditto.
(WebCore::DragData::asFragment): Deleted.

  • platform/mac/DragDataMac.mm:

(WebCore::DragData::asPlainText): Same implementation as the
Editor.
(WebCore::DragData::containsURL): Remove Frame parameter.
(WebCore::DragData::asURL): Use URLByCanonicalizingURL() instead
of using the Editor client.
(WebCore::DragData::asFragment): Deleted.

  • platform/win/DragDataWin.cpp:

(WebCore::DragData::containsURL): Remove Frame parameter.
(WebCore::DragData::asURL): Ditto.
(WebCore::DragData::asPlainText): Ditto.
(WebCore::DragData::containsCompatibleContent):
(WebCore::DragData::asFragment): Deleted.

Source/WebKit2:

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::performDragControllerAction): Update to API
change in DragData::asURL().

9:32 PM Changeset in webkit [173685] by fpizlo@apple.com
  • 4 edits in trunk/Source

Unreviewed, disable native inlining because it causes build failures.

Source/JavaScriptCore:

Source/WTF:

  • wtf/Platform.h:
7:00 PM Changeset in webkit [173684] by Chris Dumez
  • 21 edits in trunk/Source/WebCore

Rename Node::childNode(index) to traverseToChildAt(index) for clarity
https://bugs.webkit.org/show_bug.cgi?id=136825

Reviewed by Benjamin Poulain.

Rename Node::childNode(index) to traverseToChildAt(index) to make it
clearer that the method is actually traversing the children and thus
potentially expensive.

This patch also avoids calling traverseToChildAt() in a couple of
easily avoidable cases.

No new tests, no behavior change.

  • WebCore.exp.in:
  • WebCore.order:

Remove symbol for ContainerNode::childNode() as it was renamed. It does
not seem we need to expose ContainerNode::traverseToChildAt().

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::stringForVisiblePositionRange):
(WebCore::AccessibilityObject::lengthForVisiblePositionRange):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
Mechanical renaming.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::traverseToChildAt):
(WebCore::ContainerNode::childNode): Deleted.

  • dom/ContainerNode.h:

(WebCore::Node::traverseToChildAt):
(WebCore::Node::childNode): Deleted.

  • dom/Node.h:
  • Rename Node / ContainerNode's childNode(index) to traverseToChildAt(index) to make it clear that it is actually traversing the children and thus potentially expensive.
  • Clean up the implementation of ContainerNode::traverseToChildAt() to avoid the use of an extra |i| variable.
  • dom/Position.cpp:

(WebCore::Position::computeNodeBeforePosition):
Avoid calling traverseToChildAt(-1). Relying on the unsigned argument
wrapping and the method returning null in this case is a bit obscure
and causes unnecessary traversal of all children.

(WebCore::Position::computeNodeAfterPosition):
(WebCore::Position::previous):
(WebCore::Position::next):
Mechanical renaming and update variable names to stop using
abbreviations as per coding style.

  • dom/PositionIterator.h:

(WebCore::PositionIterator::PositionIterator):

  • dom/Range.cpp:

(WebCore::Range::insertNode):
(WebCore::Range::checkNodeWOffset):
(WebCore::Range::firstNode):
(WebCore::Range::pastLastNode):

  • dom/RangeBoundaryPoint.h:

(WebCore::RangeBoundaryPoint::set):

  • editing/BreakBlockquoteCommand.cpp:

(WebCore::BreakBlockquoteCommand::doApply):

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::removeChildrenInRange):

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::handleGeneralDelete):

  • editing/InsertParagraphSeparatorCommand.cpp:

(WebCore::InsertParagraphSeparatorCommand::doApply):

  • editing/TextIterator.cpp:

(WebCore::nextInPreOrderCrossingShadowBoundaries):
(WebCore::TextIterator::node):
(WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):

  • editing/VisibleUnits.cpp:

(WebCore::nextLinePosition):

  • editing/cocoa/HTMLConverter.mm:

(WebCore::editingAttributedStringFromRange):
Mechanical renaming.

  • inspector/DOMPatchSupport.cpp:

(WebCore::DOMPatchSupport::innerPatchChildren):
Iterate over children while incrementing the |i| variable to avoid
calling traverseToChildAt(index) repeatedly and thus traversing the
children from the beginning every time.

5:49 PM Changeset in webkit [173683] by commit-queue@webkit.org
  • 5 edits in trunk/Source

Web Inspector: Reduce a bit of churn setting initial remote inspection state
https://bugs.webkit.org/show_bug.cgi?id=136875

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-09-16
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • API/JSContextRef.cpp:

(JSGlobalContextCreateInGroup):
Set the defaultl remote debuggable state at the API boundary.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
Do not set remote debuggable state here. Let clients set it.

Source/WebCore:

  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSDOMGlobalObject::finishCreation):
We no longer need to toggle this state.

5:48 PM Changeset in webkit [173682] by enrica@apple.com
  • 7 edits in trunk/Source/WebCore

Should have an editing behavior specific for IOS.
https://bugs.webkit.org/show_bug.cgi?id=136876

Reviewed by Sam Weinig.

This patch introduces a new editing behavior type to be able
to perform editing tasks that are specific to iOS.
All the existing EditingBehavior methods return the same boolean
value for for Mac and iOS. A new one has been introduced to support
a specific behavior in the DeleteSelectionCommand.

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::doApply):

  • editing/EditingBehavior.h:

(WebCore::EditingBehavior::shouldConsiderSelectionAsDirectional):
(WebCore::EditingBehavior::shouldCenterAlignWhenSelectionIsRevealed):
(WebCore::EditingBehavior::shouldToggleStyleBasedOnStartOfSelection):
(WebCore::EditingBehavior::shouldAlwaysGrowSelectionWhenExtendingToBoundary):
(WebCore::EditingBehavior::shouldSelectOnContextualMenuClick):
(WebCore::EditingBehavior::shouldExtendSelectionByWordOrLineAcrossCaret):
(WebCore::EditingBehavior::shouldRebalanceWhiteSpacesInSecureField):

  • editing/EditingBehaviorTypes.h:
  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::positionForPlatform):

  • page/Settings.cpp:

(WebCore::editingBehaviorTypeForPlatform):

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::setEditingBehavior):

5:32 PM Changeset in webkit [173681] by Yusuke Suzuki
  • 8 edits
    2 deletes in trunk

Promise: Drop Promise.cast
https://bugs.webkit.org/show_bug.cgi?id=136222

Reviewed by Sam Weinig.

Promise.cast is dropped and Promise.resolve is replaced with old Promise.cast.

Source/JavaScriptCore:

  • runtime/CommonIdentifiers.h:
  • runtime/JSPromiseConstructor.cpp:

(JSC::JSPromiseConstructorFuncResolve):
(JSC::JSPromiseConstructorFuncRace):
(JSC::JSPromiseConstructorFuncAll):
(JSC::JSPromiseConstructorFuncCast): Deleted.

LayoutTests:

  • js/dom/Promise-static-cast-expected.txt: Removed.
  • js/dom/Promise-static-cast.html: Removed.
  • js/dom/Promise-static-resolve-expected.txt:
  • js/dom/Promise-static-resolve.html:
  • js/dom/Promise-types-expected.txt:
  • js/dom/Promise-types.html:
4:47 PM Changeset in webkit [173680] by commit-queue@webkit.org
  • 2 edits
    5 adds in trunk/Source/WebInspectorUI

Web Inspector: Add Versioned Inspector protocol JSON files for iOS 8.0
https://bugs.webkit.org/show_bug.cgi?id=136873

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-09-16
Reviewed by Timothy Hatcher.

  • Scripts/update-LegacyInspectorBackendCommands.rb:
  • UserInterface/Protocol/Legacy/8.0/InspectorJSBackendCommands.js: Added.
  • UserInterface/Protocol/Legacy/8.0/InspectorWebBackendCommands.js: Added.
  • Versions/InspectorJS-iOS-8.0.json: Added.
  • Versions/InspectorWeb-iOS-8.0.json: Added.
4:32 PM Changeset in webkit [173679] by enrica@apple.com
  • 2 edits
    3 adds
    2 deletes in trunk/Source/WebCore

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

Creates layering violation (Requested by enrica on #webkit).

Reverted changeset:

"Move HTMLConverter from editing/cocoa to platform/cocoa."
https://bugs.webkit.org/show_bug.cgi?id=136474
http://trac.webkit.org/changeset/173670

Patch by Commit Queue <commit-queue@webkit.org> on 2014-09-16

4:27 PM Changeset in webkit [173678] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Mac] MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput doesn't work with rotated movies
https://bugs.webkit.org/show_bug.cgi?id=136872

Patch by Eric Carlson <eric.carlson@apple.com> on 2014-09-16
Reviewed by Tim Horton.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithImageGenerator): Add logging.
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput): Apply the video track

preferred transform.

4:12 PM Changeset in webkit [173677] by Brent Fulgham
  • 2 edits in branches/safari-600.1-branch/Source/WebCore

[Mac] MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput doesn't work with rotated movies
https://bugs.webkit.org/show_bug.cgi?id=136872

Patch by Eric Carlson <eric.carlson@apple.com> on 2014-09-16
Reviewed by Tim Horton.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithImageGenerator): Add logging.
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput): Apply the video track

preferred transform.

3:53 PM Changeset in webkit [173676] by dburkart@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/WebCore

Merged r173635

3:37 PM Changeset in webkit [173675] by ggaren@apple.com
  • 7 edits in trunk/Source/bmalloc

bmalloc: moved line caches from the deallocator to the allocator
https://bugs.webkit.org/show_bug.cgi?id=136868

Reviewed by Gavin Barraclough.

I did this mostly as a simplification, to make it easier to change the
allocation strategy.

No throughput change on MallocBench. Saves about 50kB.

Since the deallocator needs to lock the heap when freeing lines anyway,
there isn't much benefit to giving the deallocator a local cache of
deallocated lines.

We still give the allocator a local cache of lines because that does
reduce the frequency at which it needs to lock the heap in order to
acquire more lines.

  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::scavenge):
(bmalloc::Allocator::allocateSmallLine):
(bmalloc::Allocator::allocateMediumLine):
(bmalloc::Allocator::allocateMedium):
(bmalloc::Allocator::allocateSlowCase):

  • bmalloc/Allocator.h:
  • bmalloc/Deallocator.cpp:

(bmalloc::Deallocator::Deallocator):
(bmalloc::Deallocator::scavenge):
(bmalloc::Deallocator::processObjectLog):
(bmalloc::Deallocator::deallocateSmallLine): Deleted.
(bmalloc::Deallocator::allocateSmallLine): Deleted.
(bmalloc::Deallocator::deallocateMediumLine): Deleted.
(bmalloc::Deallocator::allocateMediumLine): Deleted.

  • bmalloc/Deallocator.h:
  • bmalloc/Sizes.h:
  • bmalloc/VMAllocate.h: Took the opportunity to make the line cache size

exactly one page in size. That's about what we were shooting for anyway,
and it may make it easier to switch to per-page allocation in future.

3:36 PM Changeset in webkit [173674] by mmaxfield@apple.com
  • 4 edits in trunk/LayoutTests

Make spelling tests more reliable by using a word that is misspelled everywhere
https://bugs.webkit.org/show_bug.cgi?id=136865

Reviewed by Simon Fraser.

Some platforms recognize "wellcome" as spelled correctly.

  • editing/spelling/context-menu-suggestions.html:
  • editing/spelling/spelling-with-punctuation-selection-expected.txt:
  • editing/spelling/spelling-with-punctuation-selection.html:
3:29 PM Changeset in webkit [173673] by dbates@webkit.org
  • 8 edits in trunk

[iOS] Add iOS SDK name and version suffix to WebKitSystemInterface debug/release product name
https://bugs.webkit.org/show_bug.cgi?id=136862

Reviewed by David Kilzer.

Source/WebKit/mac:

  • Configurations/DebugRelease.xcconfig:

Source/WebKit2:

  • Configurations/DebugRelease.xcconfig:

Tools:

  • DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
  • WebKitTestRunner/Configurations/DebugRelease.xcconfig:
  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Remove hardcoded iOS 8.0

IPHONEOS_DEPLOYMENT_TARGET to ensure we link against the latest version of WebKitSystemInterface.

3:18 PM Changeset in webkit [173672] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Local OSR availability calculation should be reusable
https://bugs.webkit.org/show_bug.cgi?id=136860

Reviewed by Oliver Hunt.

Previously, the FTL lowering repeated some of the logic of the OSR availability analysis
phase. Humorously, it actually did this logic a bit differently; for example the phase
would claim that a SetLocal makes both the flush and the node available while the FTL
only claimed that the flush was available. This different was benign, but still: yuck!

Also, previously if you wanted to use availability information then you'd have to repeat
some of the logic that both the phase itself and the FTL lowering already had.
Presumably, you could get epic style points for finding other benign ways in which to
make your copy of the logic different from the other two!

This reduces the amount of style points one could conceivably get in the future when
hacking JSC, by creating a single reusable thingy for computing local OSR availability.

  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp:

(JSC::DFG::OSRAvailabilityAnalysisPhase::run):
(JSC::DFG::LocalOSRAvailabilityCalculator::LocalOSRAvailabilityCalculator):
(JSC::DFG::LocalOSRAvailabilityCalculator::~LocalOSRAvailabilityCalculator):
(JSC::DFG::LocalOSRAvailabilityCalculator::beginBlock):
(JSC::DFG::LocalOSRAvailabilityCalculator::executeNode):

  • dfg/DFGOSRAvailabilityAnalysisPhase.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::LowerDFGToLLVM):
(JSC::FTL::LowerDFGToLLVM::compileBlock):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileSetLocal):
(JSC::FTL::LowerDFGToLLVM::compileInvalidationPoint):
(JSC::FTL::LowerDFGToLLVM::appendOSRExit):
(JSC::FTL::LowerDFGToLLVM::buildExitArguments):
(JSC::FTL::LowerDFGToLLVM::availability):
(JSC::FTL::LowerDFGToLLVM::compileMovHint): Deleted.
(JSC::FTL::LowerDFGToLLVM::compileZombieHint): Deleted.
(JSC::FTL::LowerDFGToLLVM::initializeOSRExitStateForBlock): Deleted.

3:14 PM Changeset in webkit [173671] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Mac queue slaves should reboot every so often
https://bugs.webkit.org/show_bug.cgi?id=136791

Reviewed by Alexey Proskuryakov.

Reboot Mac queue slaves every night between 1 A.M. and 6 A.M.

  • EWSTools/start-queue-mac.sh:
2:00 PM Changeset in webkit [173670] by enrica@apple.com
  • 2 edits
    2 copies
    1 delete in trunk/Source/WebCore

Move HTMLConverter from editing/cocoa to platform/cocoa.
https://bugs.webkit.org/show_bug.cgi?id=136474

Reviewed by Benjamin Poulain.

This is a platform specific class and it belongs to the platform folder.

  • WebCore.xcodeproj/project.pbxproj:
  • editing/cocoa: Removed.
  • editing/cocoa/HTMLConverter.h: Removed.
  • editing/cocoa/HTMLConverter.mm: Removed.
  • platform/cocoa/HTMLConverter.h: Copied from editing/cocoa/HTMLConverter.h.
  • platform/cocoa/HTMLConverter.mm: Copied from editing/cocoa/HTMLConverter.mm.
1:38 PM Changeset in webkit [173669] by enrica@apple.com
  • 9 edits in trunk/Source

Remove PLATFORM(IOS) from WebCore/editing (Part 3).
https://bugs.webkit.org/show_bug.cgi?id=136474

Reviewed by Benjamin Poulain.

This is the updated version of the patch that was landed in r173340.
This patch removes the use of PLATFORM(IOS) from TextAffinity.h
and removes the assumption that EAffinity values match NSSelectionAffinity
values. It also removes the includes in TextAffinity.h, creating the need to
include explicitly the files when necessary.

Source/WebCore:

  • editing/TextAffinity.h:

(kit): Deleted.
(core): Deleted.

  • editing/cocoa/HTMLConverter.mm:
  • page/mac/WebCoreFrameView.h:

Source/WebKit/mac:

  • WebCoreSupport/WebEditorClient.h:

(kit):
(core):

Source/WebKit2:

  • WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
  • WebProcess/WebPage/WKAccessibilityWebPageObjectIOS.mm:
1:32 PM Changeset in webkit [173668] by Beth Dakin
  • 4 edits in trunk/Source/WebCore

overflow:scroll should not leave space for a scroll corner with overlay scrollbars
https://bugs.webkit.org/show_bug.cgi?id=136861

Reviewed by Sam Weinig.

overflow:scroll should behave like overflow:auto when the scrollbar will render as
an overlay scrollbar.

Re-name hasAutoVerticalScrollbar()/Horizontal to
hasVerticalScrollbarWithAutoBehavior()/Horizontal, and return true for
overflow:scroll scrollbars that will render as overlay scrollbars.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::hasVerticalScrollbarWithAutoBehavior):
(WebCore::RenderBox::hasHorizontalScrollbarWithAutoBehavior):

  • rendering/RenderBox.h:

(WebCore::RenderBox::scrollsOverflowX):
(WebCore::RenderBox::scrollsOverflowY):
(WebCore::RenderBox::hasAutoVerticalScrollbar): Deleted.
(WebCore::RenderBox::hasAutoHorizontalScrollbar): Deleted.

Re-name overflowRequiresScrollbar() to styleRequiresScrollbar() and also re-name
overflowDefinesAutomaticScrollbar() to styleDefinesAutomaticScrollbar(), and make
these functions take into account the fact that overflow:scroll should act like
overflow:auto when the scrollbar will render as an overlay scrollbar.

  • rendering/RenderLayer.cpp:

(WebCore::styleRequiresScrollbar):
(WebCore::styleDefinesAutomaticScrollbar):
(WebCore::RenderLayer::updateScrollbarsAfterLayout):
(WebCore::RenderLayer::calculateClipRects):

12:54 PM Changeset in webkit [173667] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Fix ESLint no-extra-bind warnings
https://bugs.webkit.org/show_bug.cgi?id=136659

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-09-16
Reviewed by Timothy Hatcher.

  • .eslintrc:
  • UserInterface/Controllers/LayerTreeManager.js:

(WebInspector.LayerTreeManager.prototype.layersForNode):

12:22 PM Changeset in webkit [173666] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[Curl] Sometimes incomplete or empty content can be loaded from cache.
https://bugs.webkit.org/show_bug.cgi?id=136855

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-09-16
Reviewed by Alex Christensen.

Sometimes, when two requests with the same url are started at the same time,
there is a possibility of loading incomplete or empty content from the cache.
This happens because the method CurlCacheEntry::isLoading() is returning the wrong status
in the time period between the headers are received, and the content data is received.
This can be fixed by using a flag for the load status, instead of checking whether
the content file is open.

  • platform/network/curl/CurlCacheEntry.cpp:

(WebCore::CurlCacheEntry::CurlCacheEntry): Initialize loading flag.
(WebCore::CurlCacheEntry::isLoading): Return loading flag.
(WebCore::CurlCacheEntry::didFail): Call new method to set loading flag.
(WebCore::CurlCacheEntry::didFinishLoading): Ditto.
(WebCore::CurlCacheEntry::setIsLoading): Added new method to set loading flag.

  • platform/network/curl/CurlCacheEntry.h: Added loading flag and new method to set it.
  • platform/network/curl/CurlCacheManager.cpp:

(WebCore::CurlCacheManager::didReceiveResponse): Call new method to set loading flag.

11:28 AM Changeset in webkit [173665] by Chris Dumez
  • 22 edits in trunk/Source/WebCore

Rename Node::nodeIndex() to computeNodeIndex() for clarity
https://bugs.webkit.org/show_bug.cgi?id=136826

Reviewed by Benjamin Poulain.

Rename Node::nodeIndex() to computeNodeIndex() to make it clear that
index is being computed and that calling this method is potentially
expensive.

No new tests, no behavior change.

  • WebCore.exp.in:
  • WebCore.order:

Rename exported symbol for Node::nodeIndex() as well.

  • dom/Document.cpp:

(WebCore::Document::caretRangeFromPoint):

  • dom/Node.cpp:

(WebCore::Node::computeNodeIndex):
(WebCore::Node::nodeIndex): Deleted.

  • dom/Node.h:
  • dom/NodeWithIndex.h:

(WebCore::NodeWithIndex::index):
Clean up implementation to reduce the scope of the Node variable and
to follow coding style (variable naming, spacing, star placement).

  • dom/Position.cpp:

(WebCore::Position::computeOffsetInContainerNode):
(WebCore::Position::previous):
(WebCore::Position::next):
(WebCore::Position::upstream):
(WebCore::Position::downstream):

  • dom/Position.h:

(WebCore::positionInParentBeforeNode):
(WebCore::positionInParentAfterNode):

  • dom/Range.cpp:

(WebCore::Range::compareNode):
(WebCore::Range::intersectsNode):
(WebCore::Range::processContents):
(WebCore::Range::insertNode):
(WebCore::Range::setStartAfter):
(WebCore::Range::setEndBefore):
(WebCore::Range::setEndAfter):
(WebCore::Range::setStartBefore):

  • dom/RangeBoundaryPoint.h:

(WebCore::RangeBoundaryPoint::ensureOffsetIsValid):

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
(WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::handleGeneralDelete):

  • editing/Editor.cpp:

(WebCore::Editor::avoidIntersectionWithDeleteButtonController):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::selectFrameElementInParentIfFullySelected):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::doApply):

  • editing/TextIterator.cpp:

(WebCore::TextIterator::range):
(WebCore::SimplifiedBackwardsTextIterator::handleReplacedElement):
(WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode):

  • editing/htmlediting.cpp:

(WebCore::updatePositionForNodeRemoval):

  • html/HTMLTextFormControlElement.cpp:

(WebCore::setContainerAndOffsetForRange):

  • page/DOMSelection.cpp:

(WebCore::DOMSelection::getRangeAt):
(WebCore::DOMSelection::containsNode):
(WebCore::DOMSelection::shadowAdjustedOffset):

  • rendering/RenderBlock.cpp:

(WebCore::positionForPointRespectingEditingBoundaries):

  • rendering/RenderTreeAsText.cpp:

(WebCore::nodePosition):

11:09 AM Changeset in webkit [173664] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Videos with controls enabled never receive 'dragstart' events.
https://bugs.webkit.org/show_bug.cgi?id=136837

Reviewed by Eric Carlson.

Fixes a crash regression introduced by r173631. Node::contains() has an interesting property of returning false
if this is NULL. Rather than depending on this behavior, explicitly NULL-check state.source and bail early.

  • page/DragController.cpp:

(WebCore::DragController::startDrag):

11:08 AM Changeset in webkit [173663] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed. Skip failing WebGL conformance test.

  • platform/win/TestExpectations:
11:00 AM Changeset in webkit [173662] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Standardized the return type of a delegate method.

Rubber-stamped by Anders Carlsson.

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Changed a return type from bool to BOOL.
10:27 AM Changeset in webkit [173661] by Gustavo Noronha Silva
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[as] Updated Assamese translations of WebKitGtk+
https://bugs.webkit.org/show_bug.cgi?id=136480

Patch by Nilamdyuti Goswami <ngoswami@redhat.com> on 2014-09-16
Reviewed by Gustavo Noronha.

  • as.po: updated.
9:18 AM Changeset in webkit [173660] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

URTBF after r173659.

After r173659 convertToIntLength() is used only inside ENABLE(DASHBOARD_SUPPORT), so it
became unused function and caused build failure if ENABLE(DASHBOARD_SUPPORT) is false.

Source/WebCore/css/StyleResolver.cpp:1471:15: error: 'WebCore::Length WebCore::convertToIntLength(const WebCore::CSSPrimitiveValue*, const WebCore::CSSToLengthConversionData&)'
defined but not used [-Werror=unused-function] cc1plus: all warnings being treated as errors

  • css/StyleResolver.cpp: Missing ENABLE(DASHBOARD_SUPPORT) guard added.
8:58 AM Changeset in webkit [173659] by Darin Adler
  • 18 edits in trunk

Source/WebCore:
Scroll snap properties don't handle inherit and initial propertly.
https://bugs.webkit.org/show_bug.cgi?id=136643

Reviewed by Beth Dakin.

Restructured scroll snap code both to handle inherit and initial, and to reduce the
total code size a bit, fixing a few minor bugs along the way. Updated the regression
tests to cover the new parts.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::addValuesForNamedGridLinesAtIndex): Use a modern for loop.
(WebCore::scrollSnapDestination): Changed to take a LengthSize. Also streamlined.
(WebCore::scrollSnapPoints): Changed to to take a ScrollSnapPoints. Also streamlined and
added code to handle the "uses elements" case; serialize that as an identifier, not the
string "elements", fixing a minor bug.
(WebCore::scrollSnapCoordinates): Changed to take a Vector<LengthSize>. Also streamlined
and added code to handle the empty vector case; serialize that as an identifier, not the
string "none", fixing a minor bug.
(WebCore::ComputedStyleExtractor::getFontSizeCSSValuePreferringKeyword): Use nullptr.
(WebCore::counterToCSSValue): Use nullptr.
(WebCore::ComputedStyleExtractor::styledNode): Use nullptr.
(WebCore::ComputedStyleExtractor::propertyValue): Use nullptr. Moved CSS_SCROLL_SNAP
to a more appropriate section of the switch statement. Made it just call through to
the functions above in a more straightforward way.
(WebCore::CSSComputedStyleDeclaration::getPropertyValue): Reversed logic to use early
return and to call emptyString.
(WebCore::CSSComputedStyleDeclaration::item): Use emptyString.
(WebCore::ComputedStyleExtractor::getCSSPropertyValuesForSidesShorthand): Use nullptr.
(WebCore::CSSComputedStyleDeclaration::parentRule): Use nullptr.
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Use nullptr.
(WebCore::CSSComputedStyleDeclaration::getPropertyPriority): Use emptyString.
(WebCore::CSSComputedStyleDeclaration::getPropertyShorthand): Use emptyString.

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyMarqueeIncrement::applyValue): Use the switch statement for the
invalid value as well as for the valid values, rather than a separate if statement.
Call convertToLength directly rather than through a StyleResolver static member function.

  • css/PropertySetCSSStyleDeclaration.cpp:

(WebCore::PropertySetCSSStyleDeclaration::getPropertyValue): Fixed a formatting mistake.

  • css/StyleResolver.cpp:

(WebCore::convertToIntLength): Made this function local to this file instead of a
static member function.
(WebCore::convertToFloatLength): Ditto.
(WebCore::StyleResolver::parseSnapCoordinate): Added. Used to keep snap point parsing
code small.
(WebCore::StyleResolver::parseSnapCoordinatePair): Ditto.
(WebCore::StyleResolver::parseSnapPoints): Added. Parses an entire snap points property.
(WebCore::StyleResolver::applyProperty): Removed various bits of redundant code that
were not using the primitiveValue value already in a local variable. Added the
HANDLE_INHERIT_AND_INITIAL to all the scroll snap properties and updated since the
RenderStyle structure now more closely matches the CSS properties.

  • css/StyleResolver.h: Updated for above changes, and removed a redundant "private:".
  • page/scrolling/AxisScrollSnapOffsets.cpp:

(WebCore::appendChildSnapOffsets): Use auto& instead of SnapCoordinate since that type
is now gone. Updated since coordinates are now LengthSize.
(WebCore::updateFromStyle): Changed to take a reference instead of a pointer and
also to fetch the data from RenderStyle in a new way that more closely matches the
CSS properties.
(WebCore::updateSnapOffsetsForScrollableArea): Ditto. Also moved some memory allocation
inside if statements so we don't wastefully allocate and destroy.

  • rendering/style/RenderStyle.cpp: Added an include of StyleScrollSnapPoints.h now

that the header doesn't include them. Moved the conditional includes out of the main
include paragraph (even though I don't think conditional includes are usually a good
idea).
(WebCore::RenderStyle::initialScrollSnapPointsX): Added.
(WebCore::RenderStyle::initialScrollSnapPointsY): Added.
(WebCore::RenderStyle::initialScrollSnapDestination): Added.
(WebCore::RenderStyle::initialScrollSnapCoordinates): Added.
(WebCore::RenderStyle::scrollSnapPointsX): Added.
(WebCore::RenderStyle::scrollSnapPointsY): Added.
(WebCore::RenderStyle::scrollSnapDestination): Added.
(WebCore::RenderStyle::scrollSnapCoordinates): Added.
(WebCore::RenderStyle::setScrollSnapPointsX): Added.
(WebCore::RenderStyle::setScrollSnapPointsY): Added.
(WebCore::RenderStyle::setScrollSnapDestination): Added.
(WebCore::RenderStyle::setScrollSnapCoordinates): Added.

  • rendering/style/RenderStyle.h: Replaced the include of StyleScrollSnapPoints.h with

a forward declaration of ScrollSnapPoints. Removed getters and setters for the old
style properties and replaced them with new ones that match the CSS properties more
closely. Tweaked formatting a bit. Added initial value functions for the the scroll snap
properties.

  • rendering/style/StyleRareNonInheritedData.cpp: Added include of StyleScrollSnapPoints.h

now that RenderStyle.h doesn't include it.
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Updated since
m_scrollSnapType is now unsigned instead of ScrollSnapType.

  • rendering/style/StyleRareNonInheritedData.h: Fixed type of m_scrollSnapType to be

unsigned instead of ScrollSnapType. This should have been causing problems on Windows,
but I think we got lucky and had no detectable problems.

  • rendering/style/StyleScrollSnapPoints.cpp:

(WebCore::ScrollSnapPoints::ScrollSnapPoints): Added.
(WebCore::operator==): Added overloads for both ScrollSnapPoints and also for
StyleScrollSnapPoints; using a free function for both since both have public data.
(WebCore::defaultScrollSnapDestination): Added, replaces a static member function.
(WebCore::StyleScrollSnapPoints::StyleScrollSnapPoints): Updated both the default
constructor and the copy constructor for the new design.

  • rendering/style/StyleScrollSnapPoints.h: Added a ScrollSnapPoints struct for the

type of the snap-points-x and snap-points-y CSS properties. Changed the data members
of StyleScrollSnapPoints to match the various CSS properties rather than breaking
out all the data into separate data members.
(WebCore::StyleScrollSnapPoints::defaultRepeatOffset): Deleted. Replaced by the
default constructor for ScrollSnapPoints.
(WebCore::StyleScrollSnapPoints::defaultDestinationOffset): Deleted. Replaced by
a function inside the .cpp file.

LayoutTests:
Scroll snap properties do not handle inherit and initial properly.
https://bugs.webkit.org/show_bug.cgi?id=136643

Reviewed by Beth Dakin.

  • css3/scroll-snap/scroll-snap-property-computed-style-expected.txt: Added

expected passing results from new tests.

  • css3/scroll-snap/scroll-snap-property-computed-style.js: Added new test

cases that cover inherit and initial. Before, these would crash or fail.

  • css3/scroll-snap/scroll-snap-property-parsing-expected.txt: Added expected

passing results from new tests, and also updated to expect pass rather than
fail for the tests that had incorrect expected results.

  • css3/scroll-snap/scroll-snap-property-parsing.js: Added new test cases that

cover inherit and initial. Also updated expected results for certain pixel
repeat cases that were incorrect.

  • platform/mac/TestExpectations: Fixed an unrelated syntax error in this file.
5:36 AM Changeset in webkit [173658] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Typo in webkit_security_manager_register_uri_scheme_as_empty_document documentation
https://bugs.webkit.org/show_bug.cgi?id=136852

Patch by Tomas Popela <tpopela@redhat.com> on 2014-09-16
Reviewed by Carlos Garcia Campos.

  • UIProcess/API/gtk/WebKitSecurityManager.cpp:
2:29 AM Changeset in webkit [173657] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

Unreviewed gardening, skip one more tests on Windows.

  • Scripts/run-javascriptcore-tests:
1:58 AM Changeset in webkit [173656] by Csaba Osztrogonác
  • 4 edits in trunk

JSC test gardening
https://bugs.webkit.org/show_bug.cgi?id=136823

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • tests/mozilla/mozilla-tests.yaml: Unskip passing tests.

Tools:

  • Scripts/run-javascriptcore-tests: Skip tests on only the affected platforms.
1:57 AM Changeset in webkit [173655] by commit-queue@webkit.org
  • 2 edits in trunk

Fix FindICU.cmake
https://bugs.webkit.org/show_bug.cgi?id=136820

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-09-16
Reviewed by Csaba Osztrogonác.

  • Source/cmake/FindICU.cmake:
1:46 AM Changeset in webkit [173654] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

[GStreamer] http/tests/media/video-auth.html is failing
https://bugs.webkit.org/show_bug.cgi?id=126619

Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-09-16
Reviewed by Philippe Normand.

Source/WebCore:

Test: http/tests/media/video-auth-cors.html

Use stored credentials when retrieving videos following image loading behavior
(i.e. stored credentials are always used except when in cors anonymous mode),
except that requesting credentials from user remains disabled for cross-origin requests.

Patch is covered by http/tests/media/video-auth.html.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(CachedResourceStreamingClient::CachedResourceStreamingClient): Enable using stored credentials except when using cors anonymous mode.

LayoutTests:

  • platform/efl/TestExpectations: Removed failure expectation for http/tests/media/video-auth.html.
  • platform/efl/http/tests/media/video-auth-expected.txt: Added.
  • platform/gtk/TestExpectations: Removed failure expectation for http/tests/media/video-auth.html.
  • platform/gtk/http/tests/media/video-auth-expected.txt: Added.
1:16 AM Changeset in webkit [173653] by evab.u-szeged@partner.samsung.com
  • 2 edits in trunk/Tools

Remove shouldAbortEarly cruft from master.cfg
https://bugs.webkit.org/show_bug.cgi?id=136779

Reviewed by Csaba Osztrogonác.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(ConfigureBuild.start):
(RunWebKitTests.start):
(RunWebKit2Tests.start): Deleted.

1:13 AM Changeset in webkit [173652] by commit-queue@webkit.org
  • 5 edits
    4 adds in trunk

Add version of drawFocusIfNeeded that take a Path2D parameter.
https://bugs.webkit.org/show_bug.cgi?id=136846

Patch by Jinho Bang <jinho.bang@samsung.com> on 2014-09-16
Reviewed by Dirk Schulze.

Source/WebCore:

Tests: fast/canvas/draw-focus-if-needed-with-path.html

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::drawFocusIfNeeded):
(WebCore::CanvasRenderingContext2D::drawFocusIfNeededInternal):

  • html/canvas/CanvasRenderingContext2D.h:
  • html/canvas/CanvasRenderingContext2D.idl:

LayoutTests:

  • fast/canvas/draw-focus-if-needed-expected.txt: Added.
  • fast/canvas/draw-focus-if-needed-with-path-expected.txt: Added.
  • fast/canvas/draw-focus-if-needed-with-path.html: Added.
  • fast/canvas/draw-focus-if-needed.html: Added.
Note: See TracTimeline for information about the timeline view.