Timeline



Dec 12, 2014:

5:44 PM Changeset in webkit [177255] by barraclough@apple.com
  • 6 edits in trunk/Source/WebKit2

Split WebPageProxy::m_preventProcessSuppression to track pref/visibility separately
https://bugs.webkit.org/show_bug.cgi?id=139600

Reviewed by Geoff Garen.

Previously WebPageProxy::m_preventProcessSuppression would be set if either the page was visible
or its suppression was disabled by the pref. Instead track these separately. This will make the
user observability state applicable on iOS, too.

Add a new counter to WebContext, and split the counting in WebPageProxy.
::updateProccessSuppressionState continues to track the pref change (which matches its name),
tracking of user observability changes moved to updateActivityToken (which we should further
merge with; it already tracks observability to control process state for iOS).

  • UIProcess/WebContext.cpp:

(WebKit::m_processSuppressionDisabledForPageCounter):

  • added new RefCounter.
  • UIProcess/WebContext.h:

(WebKit::WebContext::processSuppressionDisabledForPageCount):

  • added new RefCounter.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::reattachToWebProcess):

  • no longer needs to call updateProccessSuppressionState (pref has not changed; handled by the call to updateActivityToken).

(WebKit::WebPageProxy::dispatchViewStateChange):

  • no longer needs to call updateProccessSuppressionState (pref has not changed; handled by the call to updateActivityToken).

(WebKit::WebPageProxy::updateActivityToken):

  • this now also updated the user observability counter.

(WebKit::WebPageProxy::updateProccessSuppressionState):

  • now only tracks whether this is disabled via the preference.

(WebKit::WebPageProxy::resetStateAfterProcessExited):

  • clear the user observability counter; thsi will be reset on reattach.
  • UIProcess/WebPageProxy.h:
    • added new RefCounter::Count.
  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::processSuppressionEnabled):

  • processSuppressionEnabled is disabled if *neither*:
    • there are user observable pages
    • disabled by pref for any page.
5:40 PM Changeset in webkit [177254] by mrowe@apple.com
  • 3 edits in trunk/Source/WebCore

[Mac] Work around a bug in dsymutil on older OS versions
<https://webkit.org/b/139609> / <rdar://problem/16045763>

Older versions of dsymutil are unable to write out more than 2GB of symbols per architecture.
WebCore has recently passed that threshold. To work around this we will reduce the level of
symbols included in the dSYM bundles on the affected OS versions.

Reviewed by Geoff Garen.

  • Configurations/Base.xcconfig: Include line tables only in the debug symbols for production

builds on OS X 10.8 and 10.9.

  • Configurations/DebugRelease.xcconfig: Include full symbols in debug and release builds since they

do not make use of dSYMs.

5:14 PM Changeset in webkit [177253] by Beth Dakin
  • 4 edits in trunk/Source

Need a fake mouse move after hiding data detectors UI
https://bugs.webkit.org/show_bug.cgi?id=139608
-and corresponding-
rdar://problem/19221935

Reviewed by Tim Horton.

Source/WebCore:

  • WebCore.exp.in:

Source/WebKit2:

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::dataDetectorsDidHideUI):

5:06 PM Changeset in webkit [177252] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Handle caches in WebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=139607
<rdar://problem/19107614>

Reviewed by Sam Weinig.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::computeNetworkProcessAccessType):

4:44 PM Changeset in webkit [177251] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[Media iOS] Inline video controls have an outlined scrubber
https://bugs.webkit.org/show_bug.cgi?id=139602
<rdar://problem/19184212>

Reviewed by Eric Carlson.

This is another change similar to https://bugs.webkit.org/show_bug.cgi?id=138378
where the specificity of pseduo elements had changed, and thus iOS
was inheriting some of the UA styles.

The fix is to add some more style rules to ensure that the timeline track
is drawn in white.

  • Modules/mediacontrols/mediaControlsiOS.css:

(audio::-webkit-media-controls-timeline): Border rules not needed here.
(video::-webkit-media-controls-timeline::-webkit-slider-runnable-track): But are needed
here, along with some other things.
(audio::-webkit-media-controls-timeline::-webkit-slider-thumb): Now that the runnable
track has some style, we need to account for the change.

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

[WebGL] Texture size tests failures
https://bugs.webkit.org/show_bug.cgi?id=131886

  • platform/mac/TestExpectations: Further relax expectations for these tests, as

they also fail on different OS versions and in different ways.

4:37 PM Changeset in webkit [177249] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Remove a workaround for a bug that was fixed in Mountain Lion
https://bugs.webkit.org/show_bug.cgi?id=139605

Reviewed by Sam Weinig.

  • WebCorePrefix.h:

(move): Deleted.

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

Mark two canvas tests that fail on a new Mac Pro locally.

  • platform/mac/TestExpectations:
4:16 PM Changeset in webkit [177247] by ap@apple.com
  • 3 edits in trunk/LayoutTests

Move expectations for test that hit !m_visibleDescendantStatusDirty assertion,
because locally, this also happens in WK1.

4:00 PM Changeset in webkit [177246] by enrica@apple.com
  • 7 edits in trunk/Source/WebKit2

[iOS] Predictions are not updated when using navigation buttons.
https://bugs.webkit.org/show_bug.cgi?id=139567
rdar://problem/19132585

Reviewed by Dan Bernstein.

When moving focus programmatically, we need to notify the keyboard so that it
can update the prediction bar.

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKFormInputSession setAccessoryViewCustomButtonTitle:]):
(-[WKContentView requiresAccessoryView]):
(-[WKContentView inputAssistantButtonItems]):
(-[WKContentView accessoryTab:]):
(-[WKContentView _startAssistingKeyboard]):
(-[WKContentView _stopAssistingNode]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::focusNextAssistedNode):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::focusNextAssistedNode):

3:46 PM Changeset in webkit [177245] by mmirman@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

shiftCountWithArrayStorage should exit to slow path if the object has a sparse map.
https://bugs.webkit.org/show_bug.cgi?id=139598
<rdar://problem/18779367>

Reviewed by Filip Pizlo.

  • runtime/JSArray.cpp:

(JSC::JSArray::shiftCountWithArrayStorage): Added check for object having a sparse map.

  • tests/stress/sparse_splice.js: Added.
3:38 PM Changeset in webkit [177244] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

REGRESSION (r168217): Images are cropped out during animation at jetblue.com
https://bugs.webkit.org/show_bug.cgi?id=136410

Reviewed by Dean Jackson.

We were hitting the new assertion under Page::setPageScaleFactor(), which
calls recalcStyle(), so move the AnimationUpdateBlock from updateStyleIfNeeded()
to recalcStyle().

  • dom/Document.cpp:

(WebCore::Document::recalcStyle):
(WebCore::Document::updateStyleIfNeeded):

3:35 PM Changeset in webkit [177243] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

https://bugs.webkit.org/show_bug.cgi?id=139596
Subpixel rendering: REGRESSION (r163272): Fixed positioned pseudo content leaves trails while scrolling.
rdar://problem/18697851

Reviewed by Simon Fraser.

Final repaint rect at FrameView::scrollContentsFastPath needs to be pixel aligned (as opposed to snap to int).
However we can't pixelsnap it until after ScrollView finished transitioning to Float/LayoutRect.
Use enclosing int rect for now to ensure scrolling does not leave trails.

Unable to test. Apparently scrolling clears trails in dumprendertree. (repaint rects are not useful either with scrolling)

  • page/FrameView.cpp:

(WebCore::FrameView::scrollContentsFastPath):

3:16 PM Changeset in webkit [177242] by timothy_horton@apple.com
  • 9 edits in trunk/Source/WebKit2

TextIndicator (and other view-relative subwindows) is not dismissed on zoom gesture
https://bugs.webkit.org/show_bug.cgi?id=139580
<rdar://problem/19226350>

Reviewed by Anders Carlsson.

  • UIProcess/PageClient.h:
  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::dismissContentRelativeChildWindows):
(WebKit::PageClientImpl::dismissDictionaryLookupPanel): Deleted.
(WebKit::PageClientImpl::dismissActionMenuPopovers): Deleted.
Merge dismissDictionaryLookupPanel and dismissActionMenuPopovers into
_dismissContentRelativeChildWindows, which also dismisses TextIndicator and the
text correction panel. Dismissal of any child windows which are anchored to
the page content now bottlenecks through this function.

(WebKit::PageClientImpl::navigationGestureDidBegin):
Dismiss all anchored subwindows when starting a navigation gesture, not
just TextIndicator and action menu popovers.

  • UIProcess/API/mac/WKView.mm:

(-[WKView scrollWheel:]):
No need to dismiss TextIndicator here; we've got this covered in the more-inclusive
WebPageProxy::pageDidScroll, and will now dismiss more things.

(-[WKView mouseDown:]):
Dismiss more things.

(-[WKView viewDidMoveToWindow]):
Dismiss more things.

(-[WKView _dismissContentRelativeChildWindows]):
The aforementioned combined dismissal function.

(-[WKView magnifyWithEvent:]):
(-[WKView smartMagnifyWithEvent:]):
(-[WKView setMagnification:centeredAtPoint:]):
(-[WKView setMagnification:]):
Any time the page magnification changes, dismiss all the things.

  • UIProcess/API/mac/WKViewPrivate.h:

Expose _dismissContentRelativeChildWindows instead of _dismissActionMenuPopovers;
for all existing clients, it makes more sense to dismiss all view-relative subwindows
than just a subset of them.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::pageDidScroll):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
Make use of dismissAnchoredSubwindows.

  • UIProcess/mac/WKActionMenuController.h:
  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController prepareForMenu:withEvent:]):
Dismiss more things.

(-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
(-[WKActionMenuController dismissActionMenuPopovers]): Deleted.
dismissActionMenuPopovers is folded into WKView's _dismissContentRelativeChildWindows.

(-[WKActionMenuController _showTextIndicator]): Deleted.
(-[WKActionMenuController _hideTextIndicator]): Deleted.
Fold _showTextIndicator and _hideTextIndicator into their only callers.
_isShowingTextIndicator was never necessary, because it's OK to change
the current TextIndicator at any time, and a newer one is always more relevant.

3:12 PM Changeset in webkit [177241] by barraclough@apple.com
  • 9 edits in trunk/Source/WebKit2

Keep single RefCounter to track whether any pages in a context are process suppressible
https://bugs.webkit.org/show_bug.cgi?id=139576

Reviewed by Sam Weinig.

Currently we keep separate counters in each process, and coallesce these in the
context. Instead we should have a counter in the WebContext.

Also, changed the name to better describe the state we're tracking, rather than
describing what it's currently used for. This counter will also be useful for
iOS, to better manage background state of the networking process.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::WebContext):

  • initialize m_userObservablePageCounter.
  • UIProcess/WebContext.h:

(WebKit::WebContext::updateProcessSuppressionState):

  • Added no-op implementation for non-cocoa platforms.

(WebKit::WebContext::userObservablePageCount):

  • Count the number of user visible (audible / visible) pages in Context.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::updateProccessSuppressionState):

  • WebProcessProxy::processSuppressionCounter -> WebContext::userObservablePageCount
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::didFinishLaunching):

  • moved all processs supression state tracking to the WebContext.
  • UIProcess/WebProcessProxy.h:

(WebKit::WebProcessProxy::processSuppressionCounter): Deleted.

  • moved all processs supression state tracking to the WebContext.
  • UIProcess/ios/WebProcessProxyIOS.mm:

(WebKit::WebProcessProxy::allPagesAreProcessSuppressible): Deleted.
(WebKit::WebProcessProxy::updateProcessSuppressionState): Deleted.

  • moved all processs supression state tracking to the WebContext.
  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::processSuppressionEnabled):

  • no need to interate all processes; just have a single counter.
  • UIProcess/mac/WebProcessProxyMac.mm:

(WebKit::WebProcessProxy::allPagesAreProcessSuppressible): Deleted.
(WebKit::WebProcessProxy::updateProcessSuppressionState): Deleted.

  • moved all processs supression state tracking to the WebContext.
3:04 PM Changeset in webkit [177240] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebKit

[Windows] Unreviewed 64bit build fix.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
3:03 PM Changeset in webkit [177239] by ap@apple.com
  • 2 edits in trunk/LayoutTests

fast/images/animated-gif-body-outside-viewport.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=139599

  • platform/mac-wk1/TestExpectations: Mark it as such.
2:52 PM Changeset in webkit [177238] by Simon Fraser
  • 6 edits in trunk/Source/WebCore

REGRESSION (r168217): Images are cropped out during animation at jetblue.com
https://bugs.webkit.org/show_bug.cgi?id=136410
rdar://problem/18188533

Reviewed by Dean Jackson.

During GraphicsLayer flushing, for tiled layers we can compute a visible rect using
the current state of an animation, which is obtained via the AnimationController.
If that animation was running in a subframe, AnimationController could use a stale
beginAnimationUpdateTime since no-one called its beginAnimationUpdate(). That
resulted in an incorrect computation of the visible rect, resulting in missing tiles.

There are two parts to this fix. First, add an assertion that beginAnimationUpdateTime()
is being called inside an animation update block. This required moving m_beginAnimationUpdateCount
into AnimationControllerPrivate, and changes to endAnimationUpdate().

The second is adding a AnimationUpdateBlock to getAnimatedStyleForRenderer(), which
can be called outside of style resolution. We also need some in other API functions.

Testing revealed that layout can call via layoutOverflowRectForPropagation(), suggesting
that we should have an animation batch inside FrameView::layout(). In addition, a single
resolveStyle/layout should use the same animationBeginTime, so we add a batch to
updateLayoutAndStyleIfNeededRecursive().

No test because it's timing-dependent. Existing tests exercise the new assertion.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::computeRenderStyleForProperty):

  • page/FrameView.cpp:

(WebCore::FrameView::layout):
(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):

  • page/animation/AnimationController.cpp:

(WebCore::AnimationPrivateUpdateBlock::AnimationPrivateUpdateBlock):
(WebCore::AnimationPrivateUpdateBlock::~AnimationPrivateUpdateBlock):
(WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
(WebCore::AnimationControllerPrivate::animationTimerFired):
(WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
(WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
(WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
(WebCore::AnimationControllerPrivate::beginAnimationUpdate):
(WebCore::AnimationControllerPrivate::endAnimationUpdate):
(WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
(WebCore::AnimationController::AnimationController):
(WebCore::AnimationController::notifyAnimationStarted):
(WebCore::AnimationController::pauseAnimationAtTime):
(WebCore::AnimationController::pauseTransitionAtTime):
(WebCore::AnimationController::resumeAnimationsForDocument):
(WebCore::AnimationController::startAnimationsIfNotSuspended):
(WebCore::AnimationController::beginAnimationUpdate):
(WebCore::AnimationController::endAnimationUpdate):

  • page/animation/AnimationController.h:
  • page/animation/AnimationControllerPrivate.h:
2:17 PM Changeset in webkit [177237] by ap@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/xmlhttprequest/workers/abort-exception-assert.html often times out
https://bugs.webkit.org/show_bug.cgi?id=139595

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

[Win] Unreviewed build fix following r177235.

  • WebCore.vcxproj/WebCore.vcxproj:
1:56 PM Changeset in webkit [177235] by roger_fong@apple.com
  • 15 edits
    3 adds in trunk

Implement EXT_blend_minmax as a WebGL 1 extension.
https://bugs.webkit.org/show_bug.cgi?id=128974.
<rdar://problem/19195535>

Tested by:
webgl/1.0.3/conformance/extensions/ext-blend-minmax.html
fast/canvas/webgl/constants.html

Specifications for this extension:
https://www.khronos.org/registry/webgl/extensions/EXT_blend_minmax/

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::toJS):

  • html/canvas/EXTBlendMinMax.cpp: Added.

(WebCore::EXTBlendMinMax::EXTBlendMinMax):
(WebCore::EXTBlendMinMax::~EXTBlendMinMax):
(WebCore::EXTBlendMinMax::getName):

  • html/canvas/EXTBlendMinMax.h: Added.
  • html/canvas/EXTBlendMinMax.idl: Added.
  • html/canvas/WebGLExtension.h:
  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
(WebCore::WebGLRenderingContext::validateBlendEquation):

  • html/canvas/WebGLRenderingContext.h:
  • html/canvas/WebGLRenderingContext.idl:
  • platform/graphics/Extensions3D.h:
1:40 PM Changeset in webkit [177234] by ap@apple.com
  • 4 edits in trunk

Layout Test http/tests/loading/307-after-303-after-post.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=73030

Reviewed by Anders Carlsson.

Source/WebKit2:

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::createNewWebProcess): Added a FIXME comment.
(WebKit::WebContext::setIconDatabasePath): Don't enable m_iconDatabase if the path
is empty, meaning that the database is disabled (which is not a great way to say
that, but WebKit2 icon database doesn't support enabling/disabling cleanly).
(WebKit::WebContext::iconDatabasePath): Keep it empty if it was empty.

Tools:

  • WebKitTestRunner/TestController.cpp: (WTR::TestController::initialize): Set icon

database to empty to avoid having it fetch default favicons at random times.
DumpRenderTree also disables it, and also it has a way for tests to temporarily
enable it.

1:15 PM Changeset in webkit [177233] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit

Handle null local storage database URLs
https://bugs.webkit.org/show_bug.cgi?id=139594
<rdar://problem/19236505>

Reviewed by Beth Dakin.

  • Storage/WebStorageNamespaceProvider.cpp:

(WebStorageNamespaceProvider::WebStorageNamespaceProvider):

1:05 PM Changeset in webkit [177232] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Remove the concept of simple selector from the parser
https://bugs.webkit.org/show_bug.cgi?id=139575

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-12-12
Reviewed by Mark Lam.

We have complete support for nested selector list, we no longer
need the old concept of simple selector.

  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::isSimple): Deleted.

  • css/CSSParserValues.h:
1:01 PM Changeset in webkit [177231] by ap@apple.com
  • 4 edits
    1 move
    1 add
    3 deletes in trunk/LayoutTests

http/tests/css/link-css-disabled-value-with-slow-loading-sheet.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=139591

Reviewed by Antti Koivisto.

  • http/tests/css/resources/empty.css: Added.
  • http/tests/css/resources/500.php: Copied from LayoutTests/http/tests/css/resources/slow-loading-sheet-in-error.php.
  • http/tests/css/resources/slow-loading-sheet-in-error.php: Removed.
  • http/tests/css/resources/slow-loading-sheet.php: Removed.

These scripts were not "slow" at all - 100 microseconds is nothing. Furthermore,
slow-loading-sheet-in-error.php wasn't even used, because of a typo in the test.
And worst of all, WebCore has its own ideas about when to load stylesheets - notably,
default stylesheet loading blocks script execution, so we cannot do anything before
the stylesheet loads.

  • http/tests/css/link-css-disabled-value-with-slow-loading-sheet-in-error.html:
  • http/tests/css/link-css-disabled-value-with-slow-loading-sheet.html:

Removed built-in timeout for the tests, we don't need it. Also, fixed a number of
small stylistic issues.

  • http/tests/css/resources/link-css-disabled-value-with-slow-loading-sheet-in-error.js: Removed.
  • http/tests/css/resources/link-css-disabled-value-with-slow-loading-sheet.js: Removed.

Moved inside HTML, because having tests in a separate file is useless and harmful.

  • platform/mac-wk2/TestExpectations: These tests were always flaky, not 100% failing.
12:54 PM Changeset in webkit [177230] by mrowe@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the 32-bit build.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _setPreviewTitle:]):

12:31 PM Changeset in webkit [177229] by Antti Koivisto
  • 4 edits in trunk/Source/WebCore

FontGlyphs::glyphDataAndPageForCharacter cleanups
https://bugs.webkit.org/show_bug.cgi?id=139584

Reviewed by Andreas Kling.

Split it up and use helper functions.

  • WebCore.exp.in:
  • platform/graphics/FontGlyphs.cpp:

(WebCore::FontGlyphs::determinePitch):
(WebCore::FontGlyphs::realizeFontDataAt):
(WebCore::FontGlyphs::glyphDataAndPageForSystemFallback):
(WebCore::FontGlyphs::glyphDataAndPageForVariant):

Add private helpers.

(WebCore::FontGlyphs::glyphDataAndPageForCharacter):

Do the m_pages cache lookup only once and use the pointer reference afterwards.

  • platform/graphics/FontGlyphs.h:

(WebCore::FontGlyphs::fontSelector):
(WebCore::FontGlyphs::widthCache):
(WebCore::FontGlyphs::primaryFontData):
(WebCore::FontGlyphs::isFixedPitch):
(WebCore::FontGlyphs::primarySimpleFontData):

Also removed the mutable attribute from the fields (almost everything was marked mutable) and made the inteface
non-const. The FontGlyphs member of Font is already mutable so this is not needed.

12:28 PM Changeset in webkit [177228] by Chris Dumez
  • 14 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for StyleRuleBase subclasses
https://bugs.webkit.org/show_bug.cgi?id=139571

Reviewed by Andreas Kling.

Use is<>() / downcast<>() for StyleRuleBase subclasses for safety and
consistency.

No new tests, no behavior change.

  • css/CSSFontFaceRule.cpp:

(WebCore::CSSFontFaceRule::reattach):

  • css/CSSKeyframesRule.h:

(isType):

  • css/CSSPageRule.cpp:

(WebCore::CSSPageRule::reattach):

  • css/CSSStyleRule.cpp:

(WebCore::CSSStyleRule::reattach):

  • css/CSSStyleSheet.cpp:

(WebCore::CSSStyleSheet::insertRule):

  • css/RuleSet.cpp:

(WebCore::RuleSet::addRegionRule):
(WebCore::RuleSet::addChildRules):

  • css/StyleInvalidationAnalysis.cpp:

(WebCore::shouldDirtyAllStyle):

  • css/StyleRule.cpp:

(WebCore::StyleRuleBase::destroy):
(WebCore::StyleRuleBase::copy):
(WebCore::StyleRuleBase::createCSSOMWrapper):

  • css/StyleRule.h:

(isType):
(WebCore::toStyleRule): Deleted.

  • css/StyleRuleImport.h:

(isType):

  • css/StyleSheetContents.cpp:

(WebCore::StyleSheetContents::parserAppendRule):
(WebCore::StyleSheetContents::wrapperInsertRule):
(WebCore::StyleSheetContents::addSubresourceStyleURLs):
(WebCore::childRulesHaveFailedOrCanceledSubresources):

  • css/WebKitCSSViewportRule.cpp:

(WebCore::WebKitCSSViewportRule::reattach):

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):

12:21 PM Changeset in webkit [177227] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the 32-bit build.

  • UIProcess/mac/WKImmediateActionController.h:
12:13 PM Changeset in webkit [177226] by stavila@adobe.com
  • 2 edits in trunk/LayoutTests

animations/cross-fade-webkit-mask-image.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=139590

Reviewed by Alexey Proskuryakov.

animations/cross-fade-webkit-mask-image.html became flaky after the way
masks are handled was changed in https://bugs.webkit.org/show_bug.cgi?id=139294.
Marking it flaky for now, pending investigation.

11:27 AM Changeset in webkit [177225] by jer.noble@apple.com
  • 8 edits
    1 add in trunk

[MSE] Add support for SourceBuffer.mode.
https://bugs.webkit.org/show_bug.cgi?id=139265

Reviewed by Eric Carlson.

Source/WebCore:

Support setting SourceBuffer's mode property, and add support for "sequence" mode. Prior
to this change, "segments" mode was implied.

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::addSourceBuffer):
(WebCore::MediaSource::regenerateActiveSourceBuffers):

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::segmentsKeyword):
(WebCore::SourceBuffer::sequenceKeyword):
(WebCore::SourceBuffer::SourceBuffer):
(WebCore::SourceBuffer::setTimestampOffset):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
(WebCore::SourceBuffer::setMode):

  • Modules/mediasource/SourceBuffer.h:
  • Modules/mediasource/SourceBuffer.idl:

LayoutTests:

  • http/tests/media/media-source/mediasource-util.js:
  • platform/mac/TestExpectations:

Add an expected-failure; the test fails due to lack of support for a non-DOM-visible
algorithm variable unsupported by the Mac port.

  • platform/mac/http/tests/media/media-source/mediasource-sourcebuffer-mode-expected.txt: Added.
8:59 AM Changeset in webkit [177224] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Fix Build Warning in WebKit2/UIProcess module for GTK build and WebKit2/NetworkProcess module in GTK and EFL build
https://bugs.webkit.org/show_bug.cgi?id=139535

Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2014-12-12
Reviewed by Martin Robinson.

  • UIProcess/API/gtk/WebKitWebView.cpp: Use UNUSED_PARAM for conditional #if case

(webkitWebViewShowNotification):
(webkitWebViewCloseNotification):

6:19 AM Changeset in webkit [177223] by stavila@adobe.com
  • 29 edits
    1 copy
    34 adds in trunk

[SVG Masking] Enable the use of <mask> elements for -webkit-mask-image
https://bugs.webkit.org/show_bug.cgi?id=139294

Reviewed by Simon Fraser.

Source/WebCore:

This patch links together all parts required for the functionality which improves
the -webkit-mask-image property by allowing it to reference a <mask> element defined
in an inline or external SVG document.
Support for this new functionality has been added in a previous patch, under issue
https://bugs.webkit.org/show_bug.cgi?id=139092. A more detailed description of how
the new functionality works can be found in the ChangeLog for that commit.
The containsSVGDocument in ScrollView has been removed because it was added in the
previous patch but is no longer required.

Tests: css3/masking/mask-base64.html

css3/masking/mask-multiple-values.html
css3/masking/mask-svg-clipped-fragmentId.html
css3/masking/mask-svg-fragmentId.html
css3/masking/mask-svg-inline-fragmentId.html
css3/masking/mask-svg-inline-invalid-fragmentId.html
css3/masking/mask-svg-invalid-fragmentId.html
css3/masking/mask-svg-no-fragmentId-tiled.html
css3/masking/mask-svg-no-fragmentId.html
css3/masking/mask-svg-script-entire-svg-to-mask.html
css3/masking/mask-svg-script-mask-to-entire-svg.html
css3/masking/mask-svg-script-mask-to-none.html
css3/masking/mask-svg-script-mask-to-png.html
css3/masking/mask-svg-script-none-to-mask.html
css3/masking/mask-svg-script-none-to-png.html
css3/masking/mask-svg-script-png-to-mask.html
css3/masking/mask-svg-script-png-to-none.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseFillShorthand):
(WebCore::CSSParser::parseFillProperty):
(WebCore::CSSParser::parseMaskImage):

  • css/CSSParser.h:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustStyleForMaskImages):
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::loadPendingSVGDocuments):
(WebCore::StyleResolver::createMaskImageOperations):
(WebCore::StyleResolver::loadPendingImages):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):
(WebCore::MaskImagePropertyWrapper::MaskImagePropertyWrapper):
(WebCore::MaskImagePropertyWrapper::equals):
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • platform/graphics/MaskImageOperation.cpp:

(WebCore::MaskImageOperation::~MaskImageOperation):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::maskClipRect):

  • rendering/RenderBox.h:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::calculateFillTileSize):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::~RenderElement):
(WebCore::RenderElement::updateFillImages):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h:
  • rendering/style/FillLayer.h:
  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setMaskImage):

  • rendering/style/RenderStyle.h:

LayoutTests:

Added tests for different situations using URLs with fragment id
for the -webkit-mask-image property.

  • css3/masking/mask-base64-expected.html: Added.
  • css3/masking/mask-base64.html: Added.
  • css3/masking/mask-multiple-values-expected.html: Added.
  • css3/masking/mask-multiple-values.html: Added.
  • css3/masking/mask-repeat-space-padding-expected.html:
  • css3/masking/mask-repeat-space-padding.html:
  • css3/masking/mask-svg-clipped-fragmentId-expected.html: Added.
  • css3/masking/mask-svg-clipped-fragmentId.html: Added.
  • css3/masking/mask-svg-fragmentId-expected.html: Added.
  • css3/masking/mask-svg-fragmentId.html: Added.
  • css3/masking/mask-svg-inline-fragmentId-expected.html: Added.
  • css3/masking/mask-svg-inline-fragmentId.html: Added.
  • css3/masking/mask-svg-inline-invalid-fragmentId-expected.html: Added.
  • css3/masking/mask-svg-inline-invalid-fragmentId.html: Added.
  • css3/masking/mask-svg-invalid-fragmentId-expected.html: Added.
  • css3/masking/mask-svg-invalid-fragmentId.html: Added.
  • css3/masking/mask-svg-no-fragmentId-expected.html: Added.
  • css3/masking/mask-svg-no-fragmentId-tiled-expected.html: Added.
  • css3/masking/mask-svg-no-fragmentId-tiled.html: Added.
  • css3/masking/mask-svg-no-fragmentId.html: Added.
  • css3/masking/mask-svg-script-entire-svg-to-mask-expected.html: Added.
  • css3/masking/mask-svg-script-entire-svg-to-mask.html: Added.
  • css3/masking/mask-svg-script-mask-to-entire-svg-expected.html: Added.
  • css3/masking/mask-svg-script-mask-to-entire-svg.html: Added.
  • css3/masking/mask-svg-script-mask-to-none-expected.html: Added.
  • css3/masking/mask-svg-script-mask-to-none.html: Added.
  • css3/masking/mask-svg-script-mask-to-png-expected.html: Added.
  • css3/masking/mask-svg-script-mask-to-png.html: Added.
  • css3/masking/mask-svg-script-none-to-mask-expected.html: Added.
  • css3/masking/mask-svg-script-none-to-mask.html: Added.
  • css3/masking/mask-svg-script-none-to-png-expected.html: Added.
  • css3/masking/mask-svg-script-none-to-png.html: Added.
  • css3/masking/mask-svg-script-png-to-mask-expected.html: Added.
  • css3/masking/mask-svg-script-png-to-mask.html: Added.
  • css3/masking/mask-svg-script-png-to-none-expected.html: Added.
  • css3/masking/mask-svg-script-png-to-none.html: Added.
  • css3/masking/resources/masks.svg: Added.
5:34 AM Changeset in webkit [177222] by gyuyoung.kim@samsung.com
  • 20 edits in trunk/Source/JavaScriptCore

Final clean up OwnPtr in JSC - runtime, ftl, and tool directories
https://bugs.webkit.org/show_bug.cgi?id=139532

Reviewed by Mark Lam.

Final remove OwnPtr, PassOwnPtr in runtime, ftl, and tools directories of JSC.

  • builtins/BuiltinExecutables.h:
  • bytecode/CodeBlock.h:
  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::generateFunctionCodeBlock):

  • ftl/FTLAbstractHeap.cpp:

(JSC::FTL::IndexedAbstractHeap::atSlow):

  • ftl/FTLAbstractHeap.h:
  • ftl/FTLCompile.cpp:

(JSC::FTL::mmAllocateDataSection):

  • ftl/FTLJITFinalizer.h:
  • jsc.cpp:

(jscmain):

  • parser/Lexer.h:
  • runtime/PropertyMapHashTable.h:

(JSC::PropertyTable::clearDeletedOffsets):
(JSC::PropertyTable::addDeletedOffset):

  • runtime/PropertyTable.cpp:

(JSC::PropertyTable::PropertyTable):

  • runtime/RegExpObject.cpp:
  • runtime/SmallStrings.cpp:
  • runtime/Structure.cpp:
  • runtime/StructureIDTable.cpp:

(JSC::StructureIDTable::StructureIDTable):
(JSC::StructureIDTable::resize):

  • runtime/StructureIDTable.h:
  • runtime/StructureTransitionTable.h:
  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::VM::~VM):

  • runtime/VM.h:
  • tools/CodeProfile.h:

(JSC::CodeProfile::CodeProfile):
(JSC::CodeProfile::addChild):

4:34 AM Changeset in webkit [177221] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Fix the !ENABLE(SVG_FONTS) build after r177078
https://bugs.webkit.org/show_bug.cgi?id=139578

Reviewed by Martin Robinson.

  • platform/graphics/cairo/FontCairo.cpp:

(WebCore::Font::dashesForIntersectionsWithRect):

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

[kn] Kannada Translation for webkit - Updated
https://bugs.webkit.org/show_bug.cgi?id=116941

Patch by Shankar Prasad <svenkate@redhat.com> on 2014-12-12
Reviewed by Carlos Garcia Campos.

  • kn.po:
3:49 AM Changeset in webkit [177219] by Alan Bujtas
  • 6 edits
    2 adds in trunk

Simple line layout: Add 16bit support.
https://bugs.webkit.org/show_bug.cgi?id=139469

Reviewed by Antti Koivisto.

This patch adds the 16bit support to simple line layout.

Source/WebCore:

Test: fast/inline/simple-line-layout-16bit-content.html

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseFor):

  • rendering/SimpleLineLayoutFlowContents.cpp:

(WebCore::SimpleLineLayout::nextBreakablePosition):
(WebCore::SimpleLineLayout::FlowContents::findNextBreakablePosition):
(WebCore::SimpleLineLayout::findNextNonWhitespace):
(WebCore::SimpleLineLayout::FlowContents::findNextNonWhitespacePosition):
(WebCore::SimpleLineLayout::FlowContents::textWidth):
(WebCore::SimpleLineLayout::FlowContents::runWidth):

  • rendering/SimpleLineLayoutFlowContents.h:
  • rendering/SimpleLineLayoutResolver.cpp:

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

LayoutTests:

  • fast/inline/simple-line-layout-16bit-content-expected.html: Added.
  • fast/inline/simple-line-layout-16bit-content.html: Added.
2:49 AM Changeset in webkit [177218] by clopez@igalia.com
  • 2 edits in trunk/Websites/planet.webkit.org

[Planet WebKit] Raise the number of posts per feed to import.
https://bugs.webkit.org/show_bug.cgi?id=139579

Reviewed by Csaba Osztrogonác.

  • config.ini: Raise the number of posts to import for each feed to 6.
2:47 AM Changeset in webkit [177217] by Lucas Forschler
  • 2 edits in trunk/Tools

Update Apple owned build slaves after infrastructure update.

Reviewed by Ryosuke Niwa.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
1:21 AM Changeset in webkit [177216] by ChangSeok Oh
  • 5 edits
    1 add in trunk/Source/WebCore

Implement MemoryPressureHandler for Linux system
https://bugs.webkit.org/show_bug.cgi?id=123532

Reviewed by Sergio Villar Senin.

This is an initial implementation to support MemoryPressureHandler for linux system.
The patch is based on Tomeu's last patch and improved on top of it.
Most of current linux distributions support cgroup, so that we use the memory.pressure_level
mechanism of cgroup to get notifications when an application reaches the 'low' memory
pressure level.

No new tests since no engine behavior changed.

  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • platform/MemoryPressureHandler.cpp:

(WebCore::MemoryPressureHandler::MemoryPressureHandler):

  • platform/MemoryPressureHandler.h:
  • platform/linux/MemoryPressureHandlerLinux.cpp: Added.

(WebCore::nextToken):
(WebCore::MemoryPressureHandler::~MemoryPressureHandler):
(WebCore::MemoryPressureHandler::waitForMemoryPressureEvent): run in a seperated thread
to listen 'low' level event.
(WebCore::MemoryPressureHandler::logErrorAndCloseFDs):
(WebCore::MemoryPressureHandler::install):
(WebCore::MemoryPressureHandler::uninstall):
(WebCore::MemoryPressureHandler::holdOffTimerFired):
(WebCore::MemoryPressureHandler::holdOff):
(WebCore::MemoryPressureHandler::respondToMemoryPressure):
(WebCore::MemoryPressureHandler::platformReleaseMemory):
(WebCore::MemoryPressureHandler::ReliefLogger::platformLog):
(WebCore::MemoryPressureHandler::ReliefLogger::platformMemoryUsage): read /proc/self/status
to get VM amount used by current process.

1:17 AM Changeset in webkit [177215] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebKit2

[EFL] Disable all EWK2Accessibility unit tests
https://bugs.webkit.org/show_bug.cgi?id=139577

Reviewed by Csaba Osztrogonác.

WebAccessibility functionality isn't supported by EFL WebKit2 though,
EWK2Accessibility unit tests have been tested. That's why those tests have been failed
so far.

  • UIProcess/API/efl/tests/test_ewk2_accessibility.cpp:

(TEST_F):

1:16 AM Changeset in webkit [177214] by Simon Fraser
  • 5 edits in trunk/Source

Layer borders on contentsLayers don't correctly toggle with the rest of the borders
https://bugs.webkit.org/show_bug.cgi?id=139570
rdar://problem/18007746

Reviewed by Tim Horton.

Source/WebCore:

The "Show Debug Borders" toggle didn't cleanly remove layer borders from
content layers (image, video), nor did it deal with cloned layers (reflections).

Fix by making updateDebugBorder() update the layer borders on the contents
layer and cloned layers, moving some code around to avoid having colors
in more than one place. If the borders are hidden, send an invalid color
to PlatformCALayer::setBorderColor(), which now knows to remove the color
property on the layer (to avoid leaving transparent border color properties
on CALayers).

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::setLayerDebugBorder):
(WebCore::contentsLayerDebugBorderColor):
(WebCore::cloneLayerDebugBorderColor):
(WebCore::GraphicsLayerCA::updateDebugBorder):
(WebCore::GraphicsLayerCA::setDebugBorder):

  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayerMac::setBorderColor):

Source/WebKit2:

Return nil if the color is invalid, to remove the color from the layer's
border or background.

  • Shared/mac/RemoteLayerTreePropertyApplier.mm:

(WebKit::cgColorFromColor):

Dec 11, 2014:

10:00 PM Changeset in webkit [177213] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.12.1/Source/JavaScriptCore

Merged r177210.

9:59 PM Changeset in webkit [177212] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.12.1/Source

Versioning.

9:57 PM Changeset in webkit [177211] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.12.1

New tag.

9:41 PM Changeset in webkit [177210] by mitz@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

iOS Simulator production build fix.

  • Configurations/JavaScriptCore.xcconfig: Don’t use an order file when building for the iOS

Simulator, as we did prior to 177027.

9:15 PM Changeset in webkit [177209] by barraclough@apple.com
  • 6 edits in trunk/Source/WebKit2

Track pages preventing suppression in WebProcessProxy using RefCounter
https://bugs.webkit.org/show_bug.cgi?id=139108

Reviewed by Benjamin Poulain.

The networking process is allowed to app nap if all web pages are also currently in app nap.
In order to detect whether any page in any process currently requires the networking process
to be active we:

  • maintain hash sets in every WebProcessProxy of pages that are okay with suppression.
  • if anything changes, the WebContext iterates every WebProcessProxy to recompute state.

This is all crazy - all we actually need is a simple count of the number of pages that need
to prevent the networking process from entering app nap. This patch gets us half way there -
replace the HashSet with a RefCounter. Next step will be to hoist the RefCounters from the
process proxies up to the context to do away with the iteration.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::reattachToWebProcess):

  • make sure we prevent process suppression, per current viewstate & preferences.

(WebKit::WebPageProxy::dispatchViewStateChange):

  • make sure we prevent process suppression, per viewstate change.

(WebKit::WebPageProxy::updateProccessSuppressionState):

  • recompute whether we need to prevent process suppression.

(WebKit::WebPageProxy::preferencesDidChange):

  • when preferences change process supression may be disabled.

(WebKit::WebPageProxy::resetStateAfterProcessExited):

  • we need to drop the old ref, to allow a new one to be taken when we reattach.

(WebKit::WebPageProxy::isProcessSuppressible): Deleted.

  • moreged into updateProccessSuppressionState.
  • UIProcess/WebPageProxy.h:
    • added m_preventProcessSuppression.
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::WebProcessProxy):

  • initialize m_pagesPreventingSuppression

(WebKit::WebProcessProxy::createWebPage):

  • moved to WebPageProxy::WebPageProxy

(WebKit::WebProcessProxy::addExistingWebPage):

  • moved to WebPageProxy::reattachToWebProcess

(WebKit::WebProcessProxy::removeWebPage):

  • now implicit; when the page is destroyed the RefPtr will release.

(WebKit::WebProcessProxy::pageSuppressibilityChanged): Deleted.

  • moved to WebPageProxy::dispatchViewStateChange.

(WebKit::WebProcessProxy::pagePreferencesChanged): Deleted.

  • moved to WebPageProxy::preferencesDidChange.
  • UIProcess/WebProcessProxy.h:

(WebKit::WebProcessProxy::preventProcessSuppressionForPage):

  • reference count m_pagesPreventingSuppression
  • UIProcess/mac/WebProcessProxyMac.mm:

(WebKit::WebProcessProxy::allPagesAreProcessSuppressible):

  • converted to use m_pagesPreventingSuppression.
  • removed guard that meant processes with no pages would keep the networking process from entering app nap, which made no sense.
7:16 PM Changeset in webkit [177208] by matthew_hanson@apple.com
  • 1 delete in tags/Safari-600.1.12

Remove unnecessary tag.

7:02 PM Changeset in webkit [177207] by bshafiei@apple.com
  • 3 edits in tags/Safari-601.1.12/Source/WebKit2

Merged r177205.

7:01 PM Changeset in webkit [177206] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.3.12

New Tag.

6:50 PM Changeset in webkit [177205] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Temporarily use WebCore session storage for transient local storage
https://bugs.webkit.org/show_bug.cgi?id=139574

Reviewed by Dan Bernstein.

  • WebProcess/Storage/StorageNamespaceImpl.h:

Change the header guard so it won't conflict with StorageNamespaceImpl.h in WebCore.

  • WebProcess/Storage/WebStorageNamespaceProvider.cpp:

(WebKit::WebStorageNamespaceProvider::createTransientLocalStorageNamespace):
Use the WebCore session storage for now, to avoid crashes.

6:45 PM Changeset in webkit [177204] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.1.12

New Tag.

6:41 PM Changeset in webkit [177203] by msaboff@apple.com
  • 1 edit
    3 adds in trunk/LayoutTests

Need a regression test for bug 139533
https://bugs.webkit.org/show_bug.cgi?id=139572

Reviewed by Mark Lam.

  • js/regress-139533-expected.txt: Added.
  • js/regress-139533.html: Added.
  • js/script-tests/regress-139533.js: Added.

(.inner):
(outer):
(MyNumber):
(MyNumber.prototype.toString):

6:26 PM Changeset in webkit [177202] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebCore

Web Inspector: Crash when trying to inspect LocalStorage
https://bugs.webkit.org/show_bug.cgi?id=139573

Reviewed by Anders Carlsson.

Move away from PageGroup::localStorage and instead to StorageNamespaceProvider.
This matches what DOMWindow::localStorage does to get the StorageArea for a document.

  • inspector/InspectorDOMStorageAgent.cpp:

(WebCore::InspectorDOMStorageAgent::findStorageArea):

6:16 PM Changeset in webkit [177201] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Fix a leak introduced in r177199.

Reviewed by Anders Carlsson.

  • WebView/WebImmediateActionController.mm:

(-[WebImmediateActionController _updateImmediateActionItem]):

5:59 PM Changeset in webkit [177200] by Simon Fraser
  • 26 edits
    10 adds in trunk

Transform-style should not kill position:fixed
https://bugs.webkit.org/show_bug.cgi?id=138122

Reviewed by Dean Jackson.

Source/WebCore:

Various bits of rendering code checked RenderObject::hasTransform() for various
reasons. Confusingly, this meant "has transform, or preserve-3d, or perspective".

This patch teases those behaviors apart to produce the following behavior:

  1. "transform" acts as containing block for fixed position (no behavior change).
  2. "transform" acts as containing block for absolute/relative position (no behavior change).
  3. "perspective" does not act as containing block for fixed position (no behavior change).
  4. "perspective" acts as containing block for absolute/relative position (no behavior change).
  5. "preserve-3d" does not act as containing block for fixed position (behavior change).
  6. "preserve-3d" acts as containing block for absolute/relative position. This is not a

behavior change, but seems like incorrect behavior (https://www.w3.org/Bugs/Public/show_bug.cgi?id=27566).
However, we may be forced to keep it for compatibility.

The gist of the change is to rename RenderObject::hasTransform() to RenderObject::hasTransformRelatedProperty(),
and add hasTransform() with the more restrictive meaning. All call sites of hasTransform() were examined
and fixed to produce the desired behaviors.

Tests: transforms/2d/perspective-not-fixed-container.html

transforms/2d/preserve3d-not-fixed-container.html
transforms/perspective-is-containing-block-for-absolute.html
transforms/preserve3d-is-containing-block-for-absolute.html
transforms/transform-is-containing-block-for-absolute.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::computedTransform): Now we can just test hasTransform().

  • rendering/LogicalSelectionOffsetCaches.h:

(WebCore::isContainingBlockCandidateForAbsolutelyPositionedObject): For now, this
can just use hasTransformRelatedProperty(), but if we change [6] above this will have
to change (as documented in the comment). Also FIXME comments about sharing code.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::updateFromStyle):
(WebCore::RenderBox::mapLocalToContainer): Can just use hasTransform() now.
(WebCore::RenderBox::pushMappingToContainer): Ditto.
(WebCore::RenderBox::mapAbsoluteToLocalPoint): Ditto.
(WebCore::RenderBox::layoutOverflowRectForPropagation): Ditto.

  • rendering/RenderBox.h: All transform-related properties create RenderLayers.
  • rendering/RenderBoxModelObject.h: Ditto.
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::styleWillChange):

  • rendering/RenderGeometryMap.cpp:

(WebCore::canMapBetweenRenderersViaLayers): Rename to clarify. We need to not map via
layers if we have a perspective (since we need to generate a perspective matrix). It's
OK with preserve-3d though.
(WebCore::RenderGeometryMap::pushMappingsToAncestor):
(WebCore::canMapBetweenRenderers): Deleted.

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::updateFromStyle):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateTransform): Can just check hasTransform().
(WebCore::RenderLayer::updateLayerPosition): Avoid calling parent() and enclosingPositionedAncestor() twice.
(WebCore::RenderLayer::perspectiveTransform): Do the fast bit check hasTransformRelatedProperty() first.
(WebCore::RenderLayer::perspectiveOrigin): Ditto.
(WebCore::isContainerForPositioned): This code has to now have different behavior for absolute and fixed
position. Changed it to call existing functions, rather than having a 3rd place that has to know about
containing block rules.
(WebCore::RenderLayer::enclosingAncestorForPosition): Call isContainerForPositioned() now.
(WebCore::accumulateOffsetTowardsAncestor): Call enclosingAncestorForPosition().
(WebCore::RenderLayer::createLocalTransformState):
(WebCore::RenderLayer::calculateClipRects):
(WebCore::isPositionedContainer): Deleted.
(WebCore::isFixedPositionedContainer): Deleted.
(WebCore::RenderLayer::enclosingPositionedAncestor): Deleted.

  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGeometry):

  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::styleDidChange):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::shouldUseTransformFromContainer): Can just check hasTransform() now.
(WebCore::RenderObject::container):

  • rendering/RenderObject.h:

(WebCore::RenderObject::hasTransformRelatedProperty):
(WebCore::RenderObject::hasTransform):
(WebCore::RenderObject::setHasTransformRelatedProperty):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
(WebCore::RenderObject::setHasTransform): Deleted.

  • rendering/RenderTableRow.h:
  • rendering/RenderView.cpp:

(WebCore::RenderView::mapLocalToContainer): nullptr goodness.
(WebCore::RenderView::pushMappingToContainer): Ditto.
(WebCore::RenderView::mapAbsoluteToLocalPoint): Ditto.

LayoutTests:

New tests and updated results:

  • platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: Progression, caused

by RenderLayerBacking::updateCompositedBounds() now allowing shouldClipCompositedBounds on
preserve-3d layers, since they are no longer considered to have a transform.

  • platform/mac/compositing/visible-rect/3d-transform-style-expected.txt: Ditto.
  • transforms/2d/perspective-not-fixed-container-expected.html: Added.
  • transforms/2d/perspective-not-fixed-container.html: Added. Tests that

perspective does not act as containing block for fixed position (not a behavior change).

  • transforms/2d/preserve3d-not-fixed-container-expected.html: Added.
  • transforms/2d/preserve3d-not-fixed-container.html: Added. Tests that

preserve3d does not act as containing block for fixed position. This is a behavior change.

  • transforms/perspective-is-containing-block-for-absolute-expected.html: Added.
  • transforms/perspective-is-containing-block-for-absolute.html: Added. Tests that

perspective is a as containing block for absolute/relative position. This is not a behavior change.

  • transforms/preserve3d-is-containing-block-for-absolute-expected.html: Added.
  • transforms/preserve3d-is-containing-block-for-absolute.html: Added. Tests that

preserve3d is a as containing block for absolute/relative position. This is not a behavior change,
but seems like incorrect behavior for now.

  • transforms/transform-is-containing-block-for-absolute-expected.html: Added.
  • transforms/transform-is-containing-block-for-absolute.html: Added. Tests that

transform is a as containing block for absolute/relative position. This is not a behavior change.

5:48 PM Changeset in webkit [177199] by Beth Dakin
  • 3 edits in trunk/Source/WebKit/mac

WK1: Need new SPI for Webkit clients to override default immediate action
https://bugs.webkit.org/show_bug.cgi?id=139568
-and corresponding-
rdar://problem/19225448

Reviewed by Dan Bernstein.

Call SPI giving clients a chance to override the default behavior.

  • WebView/WebImmediateActionController.mm:

(-[WebImmediateActionController _updateImmediateActionItem]):

New SPI.

  • WebView/WebUIDelegatePrivate.h:
5:41 PM Changeset in webkit [177198] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

[iOS] Normalize iOS DeviceOrientation beta/gamma per spec.
https://bugs.webkit.org/show_bug.cgi?id=137134
<radr://problem/9414459>

Patch by Rich Tibbett <rich.tibbett@gmail.com> on 2014-12-11
Reviewed by Benjamin Poulain.

Normalize DeviceOrientation beta and gamma on iOS to match the
conventions defined in the W3C DeviceOrientation Events specification.

beta values are returned in the range [-180, 180). gamma values are
returned in the range [-90, 90).

  • platform/ios/WebCoreMotionManager.mm:
5:37 PM Changeset in webkit [177197] by bshafiei@apple.com
  • 8 edits in tags/Safari-601.1.12/Source

Merged r177196.

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

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

broke iOS video playback (Requested by eric_carlson on
#webkit).

Reverted changeset:

"Fix iOS builders for 8.0"
https://bugs.webkit.org/show_bug.cgi?id=139495
http://trac.webkit.org/changeset/177081

4:59 PM Changeset in webkit [177195] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix to build fix in r177134.

  • html/canvas/WebGLDrawBuffers.cpp: iOS should query the system for GL extension availability.
4:56 PM Changeset in webkit [177194] by roger_fong@apple.com
  • 15 edits
    3 adds in trunk

Implement frag depth as a WebGL 1 extension.
https://bugs.webkit.org/show_bug.cgi?id=133635.
<rdar://problem/19195381>
Reviewed by Dean Jackson.
Test:
webgl/1.0.3/conformance/extensions/ext-frag-depth.html
Spec for this extension outlined here:
http://www.khronos.org/registry/webgl/extensions/EXT_frag_depth/

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::toJS):

  • html/canvas/EXTFragDepth.cpp: Added.

(WebCore::EXTFragDepth::EXTFragDepth):
(WebCore::EXTFragDepth::~EXTFragDepth):
(WebCore::EXTFragDepth::getName):

  • html/canvas/EXTFragDepth.h: Added.
  • html/canvas/EXTFragDepth.idl: Added.
  • html/canvas/WebGLExtension.h:
  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getSupportedExtensions):

  • html/canvas/WebGLRenderingContext.h:
  • platform/graphics/opengl/Extensions3DOpenGL.cpp:

(WebCore::Extensions3DOpenGL::supportsExtension):

  • platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:

(WebCore::Extensions3DOpenGLCommon::ensureEnabled):

4:46 PM Changeset in webkit [177193] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Optimize RenderElement::rendererForRootBackground() a bit
https://bugs.webkit.org/show_bug.cgi?id=139527

Reviewed by Andreas Kling.

Optimize RenderElement::rendererForRootBackground() a bit by not
calling Document::body(). We are only interested in the child element
with a <body> tag. However, Document::body() first checks if a
<frameset> child is present.

No new tests, no behavior change.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::rendererForRootBackground):

4:25 PM Changeset in webkit [177192] by Beth Dakin
  • 6 edits in trunk/Source/WebKit2

WK2: Need new SPI for Webkit clients to override default immediate action
https://bugs.webkit.org/show_bug.cgi?id=139564
-and corresponding-
rdar://problem/19225448

Reviewed by Tim Horton.

New SPI _immediateActionAnimationControllerForHitTestResult:withType:userData:

  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView _immediateActionAnimationControllerForHitTestResult:withType:userData:]):

Keep at ivar for the userData so that it can be passed to the new SPI.

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

(-[WKImmediateActionController _clearImmediateActionState]):
(-[WKImmediateActionController didPerformActionMenuHitTest:userData:]):

Always give the SPI a chance to override the animationController.
(-[WKImmediateActionController _updateImmediateActionItem]):

Need to mark WKImmediateActionTypes.h as Private.

  • WebKit2.xcodeproj/project.pbxproj:
4:22 PM Changeset in webkit [177191] by ggaren@apple.com
  • 5 edits in trunk/Source/bmalloc

bmalloc should support system memory analysis tools (part 2)
https://bugs.webkit.org/show_bug.cgi?id=139565

Reviewed by Mark Lam.

This patch actually queries the environment to see if memory analysis
tools have been enabled.

  • bmalloc/Deallocator.cpp:

(bmalloc::Deallocator::scavenge): Don't process the object log if
we've disabled bmalloc because it will be full of invalid nullptrs.

  • bmalloc/Environment.cpp:

(bmalloc::isMallocEnvironmentVariableSet): Test for the list of known
Malloc debugging flags. I also added a plain "Malloc" catch-all for
when you want to disable bmalloc without enabling any kind of funny
business.

It would be slightly nicer just to iterate the list of environment
variables and strstr them, but getenv is the more portable option,
and performance here doesn't really matter.

(bmalloc::isLibgmallocEnabled): Test for the libgmalloc insertion
environment variable.

(bmalloc::Environment::computeIsBmallocEnabled):

4:18 PM Changeset in webkit [177190] by b.long@cablelabs.com
  • 7 edits in trunk

Remove DataCue "text" attribute
https://bugs.webkit.org/show_bug.cgi?id=139461

Reviewed by Eric Carlson.

Source/WebCore:

  • html/track/DataCue.cpp:
  • html/track/DataCue.h:
  • html/track/DataCue.idl:

LayoutTests:

  • media/track/track-datacue-expected.txt:
  • media/track/track-datacue.html:
4:13 PM Changeset in webkit [177189] by ggaren@apple.com
  • 3 edits in trunk/Source/bmalloc

2014-12-11 Geoffrey Garen <ggaren@apple.com>

Try to fix the iOS simulator build.

#include the declaration of malloc / free.

  • bmalloc/Allocator.cpp:
  • bmalloc/Deallocator.cpp:
3:50 PM Changeset in webkit [177188] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Initialize m_ownsGeneratedFile when decoding a FormDataElement
https://bugs.webkit.org/show_bug.cgi?id=139566

Reviewed by Tim Horton.

No tests, because it's random, and I couldn't reproduce an assertion failure in
controlled circumstances.

  • platform/network/FormData.h: (WebCore::FormDataElement::decode): A newly created

FormDataElement by definition doesn't own the file.

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

fast/workers/worker-constructor.html frequently crashes
https://bugs.webkit.org/show_bug.cgi?id=139548

we can't reproduce locally.

3:11 PM Changeset in webkit [177186] by timothy_horton@apple.com
  • 9 edits in trunk/Source

Move the preview popover to WebImmediateActionController
https://bugs.webkit.org/show_bug.cgi?id=139563
<rdar://problem/19208291>

Reviewed by Beth Dakin.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _defaultMenuItemsForLink]):
(-[WebActionMenuController menuItem:viewAtScreenPoint:]): Deleted.
(-[WebActionMenuController menuItem:previewItemAtPoint:]): Deleted.
(-[WebActionMenuController menuItem:preferredEdgeForPoint:]): Deleted.

  • WebView/WebImmediateActionController.h:
  • WebView/WebImmediateActionController.mm:

(-[WebImmediateActionController webViewClosed]):
(-[WebImmediateActionController immediateActionRecognizerWillPrepare:]):
(-[WebImmediateActionController immediateActionRecognizerWillBeginAnimation:]):
(-[WebImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
(-[WebImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
(-[WebImmediateActionController _updateImmediateActionItem]):
(-[WebImmediateActionController menuItem:viewAtScreenPoint:]):
(-[WebImmediateActionController menuItem:previewItemAtPoint:]):
(-[WebImmediateActionController menuItem:preferredEdgeForPoint:]):
Move page preview popover related code to WebImmediateActionController.

  • WebView/WebUIDelegatePrivate.h:

Add a link preview type.

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
Pass the gesture recognizer to the WebImmediateActionController.

  • UIProcess/mac/WKImmediateActionController.h:

Remove an unnecessary forward declaration.

  • UIProcess/mac/WKImmediateActionController.mm:

(-[WKImmediateActionController willDestroyView:]):
Clear the immediate action recognizer when the view goes away.

2:59 PM Changeset in webkit [177185] by andersca@apple.com
  • 3 edits in trunk/Source/WebCore

Fix Windows build.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
2:52 PM Changeset in webkit [177184] by ggaren@apple.com
  • 2 edits in trunk/Source/bmalloc

2014-12-11 Geoffrey Garen <ggaren@apple.com>

Try to fix the build.

  • bmalloc.xcodeproj/project.pbxproj: Marked a header exported.
2:38 PM Changeset in webkit [177183] by timothy_horton@apple.com
  • 8 edits in trunk/Source

Fix the build.

  • WebView/WebImmediateActionController.h:
  • WebView/WebImmediateActionController.mm:
  • UIProcess/mac/WKImmediateActionController.h:
  • UIProcess/mac/WKImmediateActionController.mm:
  • platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h:
2:23 PM Changeset in webkit [177182] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the build.

  • platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h:
2:17 PM Changeset in webkit [177181] by ggaren@apple.com
  • 11 edits
    2 adds in trunk/Source/bmalloc

bmalloc should support system memory analysis tools (part 1)
https://bugs.webkit.org/show_bug.cgi?id=139559

Reviewed by Mark Lam.

This patch adds the hooks to disable bmalloc at runtime if certain
environment variables are set, but doesn't actually read from the
environment yet.

No performance change.

  • bmalloc.xcodeproj/project.pbxproj: Added the Environment class, which

we'll use to read environment variables and see if memory analysis tools
have been enabled.

  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::Allocator):
(bmalloc::Allocator::allocateSlowCase): Added a hook to disable bmalloc
on the allocation path. We cache the setting to make the check fast.

  • bmalloc/Allocator.h: Interface changes.
  • bmalloc/Cache.cpp:

(bmalloc::Cache::Cache): Pass a heap pointer through to our allocator
and deallocator. This main purpose is to enable them to query the
environment for whether bmalloc is enabled; but this is also a slightly
cleaner way to guarantee to them that the Heap has been pre-initialized.

  • bmalloc/Deallocator.cpp:

(bmalloc::Deallocator::Deallocator): If bmalloc is disable, artificially
fill the object log to force us to take the slow path on all deallocations.

(bmalloc::Deallocator::deallocateSlowCase): Do the disabled check.

  • bmalloc/Deallocator.h: Interface changes.
  • bmalloc/Environment.cpp: Added.

(bmalloc::Environment::Environment):
(bmalloc::Environment::computeIsBmallocEnabled):

  • bmalloc/Environment.h: Added.

(bmalloc::Environment::isBmallocEnabled): This is the class that will
encapsulate looking for environment variables that turn on heap
analysis tools.

  • bmalloc/Heap.h:

(bmalloc::Heap::environment):

  • bmalloc/Mutex.h:

(bmalloc::Mutex::Mutex):

  • bmalloc/StaticMutex.h: A little refactoring to clarify these comments,

since I got super confused about them while writing this patch.

  • bmalloc/VMHeap.cpp: Fixed an #include.
2:00 PM Changeset in webkit [177180] by timothy_horton@apple.com
  • 10 edits
    2 adds in trunk/Source

Move the preview popover to WKImmediateActionController
https://bugs.webkit.org/show_bug.cgi?id=139560
<rdar://problem/19208291>

Reviewed by Beth Dakin.

  • Shared/API/c/WKImmediateActionTypes.h:

Add a link preview type.

  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:context:configuration:webView:]):
Pass the gesture recognizer to the WKImmediateActionController.

(-[WKView _setPreviewTitle:]):
Forward preview title changes to the WKImmediateActionController,
because that's where the preview popover lives now.

  • UIProcess/mac/WKActionMenuController.h:
  • UIProcess/mac/WKActionMenuController.mm:

Move WKPagePreviewViewController into its own file.
Move page preview popover related code to WKImmediateActionController.

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

Compare the gesture recognizers directly instead of their views, for accuracy.
Move page preview popover related code in from WKActionMenuController.
Some of this should eventually move to WKPagePreviewViewController, but
for now for ease of transition we will move it here.

  • UIProcess/mac/WKPagePreviewViewController.h: Added.
  • UIProcess/mac/WKPagePreviewViewController.mm: Added.
  • WebKit2.xcodeproj/project.pbxproj:

Move WKPagePreviewViewController into its own file.

  • platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h:

Add some requisite SPI.

1:57 PM Changeset in webkit [177179] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

[Mac] Crash in -[WebVideoFullscreenHUDWindowController playing] in WK1 clients without FULLSCREEN_API enabled.
https://bugs.webkit.org/show_bug.cgi?id=139546

Reviewed by Eric Carlson.

Finish the work started by r173230 and rename mediaElement -> videoElement in WebVideoFullscreenHUDWindowController.

  • platform/mac/WebVideoFullscreenHUDWindowController.h:
  • platform/mac/WebVideoFullscreenHUDWindowController.mm:

(-[WebVideoFullscreenHUDWindowController endScrubbing]):
(-[WebVideoFullscreenHUDWindowController timelinePositionChanged:]):
(-[WebVideoFullscreenHUDWindowController currentTime]):
(-[WebVideoFullscreenHUDWindowController setCurrentTime:]):
(-[WebVideoFullscreenHUDWindowController duration]):
(-[WebVideoFullscreenHUDWindowController decrementVolume]):
(-[WebVideoFullscreenHUDWindowController incrementVolume]):
(-[WebVideoFullscreenHUDWindowController volume]):
(-[WebVideoFullscreenHUDWindowController setVolume:]):
(-[WebVideoFullscreenHUDWindowController playing]):
(-[WebVideoFullscreenHUDWindowController setPlaying:]):
(-[WebVideoFullscreenHUDWindowController remainingTimeText]):
(-[WebVideoFullscreenHUDWindowController elapsedTimeText]):
(-[WebVideoFullscreenHUDWindowController rewind:]):
(-[WebVideoFullscreenHUDWindowController fastForward:]):

1:42 PM Changeset in webkit [177178] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Fix iOS build.

  • storage/StorageTracker.cpp:

(WebCore::StorageTracker::syncDeleteAllOrigins):

1:17 PM Changeset in webkit [177177] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[GTK] Minor fixes for documentation and translations
https://bugs.webkit.org/show_bug.cgi?id=139450

Patch by Tomas Popela <tpopela@redhat.com> on 2014-12-11
Reviewed by Sergio Villar Senin.

  • UIProcess/API/gtk/WebKitNavigationAction.cpp:

Fix typo in documentation.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_class_init):
Mark zoom-level and is-loading properties names for translation and
when touching them also fix the indentation style.

1:09 PM Changeset in webkit [177176] by ap@apple.com
  • 2 edits in trunk/LayoutTests

fast/workers/worker-constructor.html frequently crashes
https://bugs.webkit.org/show_bug.cgi?id=139548

12:45 PM Changeset in webkit [177175] by dbates@webkit.org
  • 3 edits
    3 adds
    497 deletes in trunk/LayoutTests

[iOS] Update expected results for LayoutTests/{scrollingcoordinator, security, sputnik,
storage, svg, tables, transforms, transitions, traversal}

Also skip some animation, css, compositing, transitions, and crypto tests that timeout
when using WebKit1/WebKit2 and remove duplicate and erroneous entries from file
LayoutTests/platform/ios-simulator/TestExpectations.

  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:

[...]

12:41 PM Changeset in webkit [177174] by ap@apple.com
  • 2 edits in trunk/LayoutTests

fast/workers/worker-constructor.html frequently crashes
https://bugs.webkit.org/show_bug.cgi?id=139548

  • TestExpectations: Skip the test while Michael is investigating. This is a pre-existing

failure that became a lot more frequent today.

12:18 PM Changeset in webkit [177173] by andersca@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Remove a duplicate ChangeLog entry.

12:17 PM Changeset in webkit [177172] by andersca@apple.com
  • 3 edits in trunk/Source/WebCore

Stop using SQLiteFileSystem in the storage code
https://bugs.webkit.org/show_bug.cgi?id=139549

Reviewed by Sam Weinig.

Just inline the SQLiteFileSystem calls into their respective call sites.
This is more preparation for moving the old storage code into WebKit proper.

  • storage/StorageAreaSync.cpp:

(WebCore::StorageAreaSync::deleteEmptyDatabase):

  • storage/StorageTracker.cpp:

(WebCore::StorageTracker::trackerDatabasePath):
(WebCore::ensureDatabaseFileExists):
(WebCore::StorageTracker::openTrackerDatabase):
(WebCore::truncateDatabaseFile):
(WebCore::StorageTracker::syncDeleteAllOrigins):
(WebCore::StorageTracker::syncDeleteOrigin):
(WebCore::StorageTracker::diskUsageForOrigin):

12:15 PM Changeset in webkit [177171] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

12:11 PM Changeset in webkit [177170] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.12

New tag.

12:08 PM Changeset in webkit [177169] by ap@apple.com
  • 28 edits
    35 deletes in trunk

Unreviewed, rolling out r177155.

Caused crashes on webarchive tests.

Reverted changeset:

"[SVG Masking] Enable the use of <mask> elements for -webkit-
mask-image"
https://bugs.webkit.org/show_bug.cgi?id=139294
http://trac.webkit.org/changeset/177155

11:46 AM Changeset in webkit [177168] by Joseph Pecoraro
  • 16 edits in trunk/Source/JavaScriptCore

Explicitly export somre more RWIProtocol classes.
rdar://problem/19220408

Unreviewed build fix.

  • inspector/scripts/codegen/generate_objc_configuration_header.py:

(ObjCConfigurationHeaderGenerator._generate_configuration_interface_for_domains):

  • inspector/scripts/codegen/generate_objc_header.py:

(ObjCHeaderGenerator._generate_event_interfaces):

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/enum-values.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
  • inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
  • inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-array-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
11:38 AM Changeset in webkit [177167] by andersca@apple.com
  • 6 edits in trunk/Source

Call StorageThread::releaseFastMallocFreeMemoryInAllThreads from WebKit
https://bugs.webkit.org/show_bug.cgi?id=139547

Reviewed by Sam Weinig.

Source/WebCore:

This is another step towards moving StorageThread (and friends) to WebKit.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/MemoryPressureHandler.cpp:

(WebCore::MemoryPressureHandler::releaseMemory):

Source/WebKit/mac:

  • WebView/WebView.mm:

(+[WebView _handleMemoryWarning]):

11:35 AM Changeset in webkit [177166] by dino@apple.com
  • 4 edits
    2 adds in trunk

ASSERTION FAILED: animatedTypes[0].properties.size() == 1 in WebCore::SVGAnimatedTypeAnimator::constructFromBaseValue.
https://bugs.webkit.org/show_bug.cgi?id=139046.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-12-11
Reviewed by Dirk Schulze.

Source/WebCore:

Test: svg/animations/unsupported-animate-element-attributes.svg.

The SVG base animator element should not animate an attribute if it is not
supported by the target SVG element. Besides the CSS presentation attributes,
every SVG element defines which attributes can be animated by including them
between BEGIN_DECLARE_ANIMATED_PROPERTIES and END_DECLARE_ANIMATED_PROPERTIES
in the definition of the class. This definition builds attribute-properties map.
When restarting the animation, the animator looks for all the attributes that
match the animated attribute name. If the supported attribute-properties map
does not include the animated attribute name, an empty element-properties list
should be returned. When getting an empty element-properties list, the animator
should not start any animation for the unsupported attribute.

Do not start the animation if the animated attribute is not supported by
the target SVG element.

  • svg/SVGAnimateElementBase.cpp:

(WebCore::SVGAnimateElementBase::resetAnimatedType):

Return an empty element-properties list if the animated attribute is not
supported by the target SVG element.

  • svg/SVGAnimatedTypeAnimator.cpp:

(WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):

LayoutTests:

Ensure the animation attributes will be ignored by the SVG base animator if
they are not supported by the SVG target element.

  • svg/animations/unsupported-animate-element-attributes-expected.svg: Added.
  • svg/animations/unsupported-animate-element-attributes.svg: Added.
11:29 AM Changeset in webkit [177165] by dino@apple.com
  • 4 edits
    4 adds in trunk

InstancedArray crashes attempting to draw out of bounds
https://bugs.webkit.org/show_bug.cgi?id=139521
Source/WebCore:

Reviewed by Simon Fraser.

We were not doing index validation correctly for instancing.

Test: fast/canvas/webgl/angle-instanced-arrays-out-of-bounds.html

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::validateVertexAttributes): We need to check
the number of instances drawn against the amount of instance data that has
been provided, taking into account the number of repeats (the divisor).
(WebCore::WebGLRenderingContext::drawArrays): Added some whitespace to make it more clear.
(WebCore::WebGLRenderingContext::validateDrawElements): This needs to take a primcount
parameter so that it can correctly validate the call (when used from drawElementsInstanced).
(WebCore::WebGLRenderingContext::drawElements): New signature to validate.
(WebCore::WebGLRenderingContext::drawArraysInstanced): Rearrange this a bit. The
primcount validation is already being done by the validateDrawArrays call. Also, there
was a bogus UNUSED_PARAM hanging around.
(WebCore::WebGLRenderingContext::drawElementsInstanced): Similar rearrangement. Use
the primcount parameter.

  • html/canvas/WebGLRenderingContext.h:

LayoutTests:

<rdar://problem/17540398>

Reviewed by Simon Fraser.

This is a copy of the official webgl/1.0.3 test.

  • platform/mac-mountainlion/fast/canvas/webgl/angle-instanced-arrays-out-of-bounds-expected.txt: Added. This extension is not available on Mountain Lion.
  • fast/canvas/webgl/angle-instanced-arrays-out-of-bounds-expected.txt: Added.
  • fast/canvas/webgl/angle-instanced-arrays-out-of-bounds.html: Added.
  • fast/canvas/webgl/resources/out-of-bounds-test.js: Added.

(OutOfBoundsTest):

11:28 AM Changeset in webkit [177164] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Web Inspector: Inspector Process crash when navigating to non-inspectable page
https://bugs.webkit.org/show_bug.cgi?id=139508

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-12-11
Reviewed by Zalan Bujtas.

The Inspector Process can still receive InspectorFrontendHost messages
even though the backend connection has been invalidated and cleared.
Only send messages if the connection exists.

  • WebProcess/WebPage/WebInspectorUI.cpp:

(WebKit::WebInspectorUI::openInNewTab):
(WebKit::WebInspectorUI::sendMessageToBackend):

11:26 AM Changeset in webkit [177163] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit2

WebKit2 should expose FirstVisuallyNonEmptyLayout rendering milestone.
https://bugs.webkit.org/show_bug.cgi?id=139514

Expose DidFirstVisuallyNonEmptyLayout so that WebKit2 client can listen to visually non-empty layout rendering event.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-12-11
Reviewed by Dan Bernstein.

  • Shared/API/Cocoa/WKRenderingProgressEvents.h: Add WKRenderingProgressEventFirstVisuallyNonEmptyLayout to WKRenderingProgressEvents.
  • Shared/API/Cocoa/WKRenderingProgressEventsInternal.h: Also map kWKDidFirstVisuallyNonEmptyLayout to WKRenderingProgressEventFirstVisuallyNonEmptyLayout.

(renderingProgressEvents):

  • UIProcess/API/Cocoa/WKWebView.mm:

(layoutMilestones): Map _WKRenderingProgressEventFirstVisuallyNonEmptyLayout to WebCore::DidFirstVisuallyNonEmptyLayout.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/Cocoa/NavigationState.mm: Add _WKRenderingProgressEventFirstVisuallyNonEmptyLayout to _WKRenderingProgressEventFirstLayout.

(WebKit::renderingProgressEvents): Map WebCore::DidFirstVisuallyNonEmptyLayout to _WKRenderingProgressEventFirstVisuallyNonEmptyLayout.

11:24 AM Changeset in webkit [177162] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Disable backspace key navigation
https://bugs.webkit.org/show_bug.cgi?id=136231

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-12-11
Reviewed by Carlos Garcia Campos.

  • WebProcess/WebPage/gtk/WebPageGtk.cpp:

(WebKit::WebPage::performDefaultBehaviorForKeyEvent): remove handling
for backspace and <shift>backspace key combinations.

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

[GTK] String changes for the HTTP authentication dialog
https://bugs.webkit.org/show_bug.cgi?id=136782

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-12-11
Reviewed by Carlos Garcia Campos.

  • UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:

(webkitAuthenticationDialogInitialize): Add a title to the dialog, add
some missing mnemonics, and tweak a few strings.

10:30 AM Changeset in webkit [177160] by dbates@webkit.org
  • 3 edits
    3 adds
    1 delete in trunk/LayoutTests

[iOS] Update expected results for LayoutTests/{js, loader, mathml, pageoverlay, scrollbars}

  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
  • platform/ios-simulator/js/dom/constructor-length-expected.txt: Added.
  • platform/ios-simulator/scrollbars/scrollbar-selectors-expected.png: Removed.
10:23 AM Changeset in webkit [177159] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit

Build fix.

  • Storage/WebStorageNamespaceProvider.h:
10:17 AM Changeset in webkit [177158] by andersca@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Remove unused storage header includes
https://bugs.webkit.org/show_bug.cgi?id=139540

Reviewed by Antti Koivisto.

  • storage/StorageAreaImpl.cpp:
  • storage/StorageAreaSync.cpp:
  • storage/StorageNamespaceImpl.cpp:

(WebCore::StorageNamespaceImpl::localStorageNamespace): Deleted.
(WebCore::StorageNamespaceImpl::sessionStorageNamespace): Deleted.
(WebCore::StorageNamespaceImpl::transientLocalStorageNamespace): Deleted.

  • storage/StorageNamespaceImpl.h:
  • storage/StorageSyncManager.cpp:
  • storage/StorageThread.cpp:
  • storage/StorageTracker.cpp:
10:15 AM Changeset in webkit [177157] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit

Replicate a bunch of PageGroup functions in WebStorageNamespaceProvider
https://bugs.webkit.org/show_bug.cgi?id=139544

Reviewed by Antti Koivisto.

This code is currently unused but will be called by StorageTracker once that class has been
moved from WebCore to WebKit.

  • Storage/WebStorageNamespaceProvider.cpp:

(WebStorageNamespaceProvider::clearLocalStorageForAllOrigins):
(WebStorageNamespaceProvider::clearLocalStorageForOrigin):
(WebStorageNamespaceProvider::closeIdleLocalStorageDatabases):
(WebStorageNamespaceProvider::syncLocalStorage):

  • Storage/WebStorageNamespaceProvider.h:
10:02 AM Changeset in webkit [177156] by ap@apple.com
  • 9 edits in trunk/Source/JavaScriptCore

Explicitly export some RWIProtocol classes
rdar://problem/19220408

  • inspector/scripts/codegen/generate_objc_header.py:

(ObjCHeaderGenerator._generate_type_interface):

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
9:54 AM Changeset in webkit [177155] by Antti Koivisto
  • 28 edits
    35 adds in trunk

[SVG Masking] Enable the use of <mask> elements for -webkit-mask-image
https://bugs.webkit.org/show_bug.cgi?id=139294

Patch by Radu Stavila <stavila@adobe.com> on 2014-12-11
Reviewed by Simon Fraser.

Source/WebCore:

This patch links together all parts required for the functionality which improves
the -webkit-mask-image property by allowing it to reference a <mask> element defined
in an inline or external SVG document.
Support for this new functionality has been added in a previous patch, under issue
https://bugs.webkit.org/show_bug.cgi?id=139092. A more detailed description of how
the new functionality works can be found in the ChangeLog for that commit.
The containsSVGDocument in ScrollView has been removed because it was added in the
previous patch but is no longer required.

Tests: css3/masking/mask-base64.html

css3/masking/mask-multiple-values.html
css3/masking/mask-svg-clipped-fragmentId.html
css3/masking/mask-svg-fragmentId.html
css3/masking/mask-svg-inline-fragmentId.html
css3/masking/mask-svg-inline-invalid-fragmentId.html
css3/masking/mask-svg-invalid-fragmentId.html
css3/masking/mask-svg-no-fragmentId-tiled.html
css3/masking/mask-svg-no-fragmentId.html
css3/masking/mask-svg-script-entire-svg-to-mask.html
css3/masking/mask-svg-script-mask-to-entire-svg.html
css3/masking/mask-svg-script-mask-to-none.html
css3/masking/mask-svg-script-mask-to-png.html
css3/masking/mask-svg-script-none-to-mask.html
css3/masking/mask-svg-script-none-to-png.html
css3/masking/mask-svg-script-png-to-mask.html
css3/masking/mask-svg-script-png-to-none.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseFillShorthand):
(WebCore::CSSParser::parseFillProperty):
(WebCore::CSSParser::parseMaskImage):

  • css/CSSParser.h:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustStyleForMaskImages):
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::loadPendingSVGDocuments):
(WebCore::StyleResolver::createMaskImageOperations):
(WebCore::StyleResolver::loadPendingImages):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):
(WebCore::MaskImagePropertyWrapper::MaskImagePropertyWrapper):
(WebCore::MaskImagePropertyWrapper::equals):
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • platform/graphics/MaskImageOperation.cpp:

(WebCore::MaskImageOperation::~MaskImageOperation):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::maskClipRect):

  • rendering/RenderBox.h:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::calculateFillTileSize):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::~RenderElement):
(WebCore::RenderElement::updateFillImages):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h:
  • rendering/style/FillLayer.h:
  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setMaskImage):

  • rendering/style/RenderStyle.h:

LayoutTests:

Added tests for different situations using URLs with fragment id
for the -webkit-mask-image property.

  • css3/masking/mask-base64-expected.html: Added.
  • css3/masking/mask-base64.html: Added.
  • css3/masking/mask-multiple-values-expected.html: Added.
  • css3/masking/mask-multiple-values.html: Added.
  • css3/masking/mask-repeat-space-padding-expected.html:
  • css3/masking/mask-repeat-space-padding.html:
  • css3/masking/mask-svg-clipped-fragmentId-expected.html: Added.
  • css3/masking/mask-svg-clipped-fragmentId.html: Added.
  • css3/masking/mask-svg-fragmentId-expected.html: Added.
  • css3/masking/mask-svg-fragmentId.html: Added.
  • css3/masking/mask-svg-inline-fragmentId-expected.html: Added.
  • css3/masking/mask-svg-inline-fragmentId.html: Added.
  • css3/masking/mask-svg-inline-invalid-fragmentId-expected.html: Added.
  • css3/masking/mask-svg-inline-invalid-fragmentId.html: Added.
  • css3/masking/mask-svg-invalid-fragmentId-expected.html: Added.
  • css3/masking/mask-svg-invalid-fragmentId.html: Added.
  • css3/masking/mask-svg-no-fragmentId-expected.html: Added.
  • css3/masking/mask-svg-no-fragmentId-tiled-expected.html: Added.
  • css3/masking/mask-svg-no-fragmentId-tiled.html: Added.
  • css3/masking/mask-svg-no-fragmentId.html: Added.
  • css3/masking/mask-svg-script-entire-svg-to-mask-expected.html: Added.
  • css3/masking/mask-svg-script-entire-svg-to-mask.html: Added.
  • css3/masking/mask-svg-script-mask-to-entire-svg-expected.html: Added.
  • css3/masking/mask-svg-script-mask-to-entire-svg.html: Added.
  • css3/masking/mask-svg-script-mask-to-none-expected.html: Added.
  • css3/masking/mask-svg-script-mask-to-none.html: Added.
  • css3/masking/mask-svg-script-mask-to-png-expected.html: Added.
  • css3/masking/mask-svg-script-mask-to-png.html: Added.
  • css3/masking/mask-svg-script-none-to-mask-expected.html: Added.
  • css3/masking/mask-svg-script-none-to-mask.html: Added.
  • css3/masking/mask-svg-script-none-to-png-expected.html: Added.
  • css3/masking/mask-svg-script-none-to-png.html: Added.
  • css3/masking/mask-svg-script-png-to-mask-expected.html: Added.
  • css3/masking/mask-svg-script-png-to-mask.html: Added.
  • css3/masking/mask-svg-script-png-to-none-expected.html: Added.
  • css3/masking/mask-svg-script-png-to-none.html: Added.
  • css3/masking/resources/masks.svg: Added.
9:51 AM Changeset in webkit [177154] by jeremyj-wk@apple.com
  • 13 edits in trunk/Source

Restore interface state when stopping optimized fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=139465

Reviewed by Simon Fraser.

  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(-[WebVideoFullscreenController fullscreenMayReturnToInline:]): add empty implementation.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h: add declaration
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::enterFullscreen): restore interface context when optimized mode ends.
(WebVideoFullscreenInterfaceAVKit::setIsOptimized): restore interface context when optimized mode ends.

  • UIProcess/API/APIUIClient.h:

(API::UIClient::fullscreenMayReturnToInline): added

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h: add declaration
  • UIProcess/Cocoa/UIDelegate.h: add declaration
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::setDelegate): check for responds to selector
(WebKit::UIDelegate::UIClient::fullscreenMayReturnToInline): added

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::fullscreenMayReturnToInline): added.

  • UIProcess/WebPageProxy.h: add declaration
  • UIProcess/ios/WebVideoFullscreenManagerProxy.h: add declaration
  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::fullscreenMayReturnToInline): show the tab.

9:37 AM Changeset in webkit [177153] by andersca@apple.com
  • 8 edits in trunk/Source/WebCore

Remove unused storage header includes
https://bugs.webkit.org/show_bug.cgi?id=139540

Reviewed by Antti Koivisto.

  • storage/StorageAreaImpl.cpp:
  • storage/StorageAreaSync.cpp:
  • storage/StorageNamespaceImpl.cpp:

(WebCore::StorageNamespaceImpl::localStorageNamespace): Deleted.
(WebCore::StorageNamespaceImpl::sessionStorageNamespace): Deleted.
(WebCore::StorageNamespaceImpl::transientLocalStorageNamespace): Deleted.

  • storage/StorageNamespaceImpl.h:
  • storage/StorageSyncManager.cpp:
  • storage/StorageThread.cpp:
  • storage/StorageTracker.cpp:
9:23 AM Changeset in webkit [177152] by ap@apple.com
  • 18 edits in trunk/Source

REGRESSION (Async Text Input): Text input method state is not reset when reloading a page
https://bugs.webkit.org/show_bug.cgi?id=139504
rdar://problem/19034674

Reviewed by Enrica Casucci.

Source/WebCore:

Explicitly notify EditorClient when a composition is voluntarily canceled by WebCore.
These are almost certainly not all the places where this happens, but this fixes the bug,
and lays the groundwork for using this new client call instead of didChangeSelection
hacks.

  • editing/Editor.cpp:

(WebCore::Editor::clear):
(WebCore::Editor::cancelComposition):

  • loader/EmptyClients.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::willTransitionToCommitted):

  • page/EditorClient.h:

Source/WebKit/mac:

Stub out new client calls, this patch does not attempt to make any changes on WebKit1.

  • WebCoreSupport/WebEditorClient.h:
  • WebCoreSupport/WebEditorClient.mm:

(WebEditorClient::discardedComposition):

Source/WebKit/win:

Stub out new client calls, this patch doesn't attempt to make any changes on Windows.

  • WebCoreSupport/WebEditorClient.cpp:

(WebEditorClient::discardedComposition):

  • WebCoreSupport/WebEditorClient.h:

Source/WebKit2:

WebKit2 used to look at EditorState changes and guess when to cancel a composition.
This was quite unreliable, and needlessly complicated - WebCore knows when it decides
to destroy a composition, so it now explicitly notifies the clients.

  • UIProcess/API/mac/WKView.mm: (-[WKView _processDidExit]): Address crashing case too.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::resetStateAfterProcessExited):

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::discardedComposition):

  • WebProcess/WebCoreSupport/WebEditorClient.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didChangeSelection):
(WebKit::WebPage::discardedComposition):

  • WebProcess/WebPage/WebPage.h:
9:12 AM Changeset in webkit [177151] by andersca@apple.com
  • 23 edits
    3 deletes in trunk/Source

Get rid of the storage strategy
https://bugs.webkit.org/show_bug.cgi?id=139519

Reviewed by Antti Koivisto.

Source/WebCore:

  • CMakeLists.txt:
  • WebCore.exp.in:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::localStorage):

  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::~Page):
(WebCore::Page::sessionStorage):
(WebCore::Page::setStorageNamespaceProvider):

  • page/Page.h:

(WebCore::Page::storageNamespaceProvider):

  • page/PageGroup.cpp:

(WebCore::PageGroup::localStorage):
(WebCore::PageGroup::transientLocalStorage):

  • platform/PlatformStrategies.h:

(WebCore::PlatformStrategies::PlatformStrategies):
(WebCore::PlatformStrategies::storageStrategy): Deleted.

  • storage/StorageNamespace.cpp: Removed.
  • storage/StorageNamespace.h:
  • storage/StorageStrategy.cpp: Removed.
  • storage/StorageStrategy.h: Removed.

Source/WebKit/mac:

  • WebCoreSupport/WebPlatformStrategies.h:
  • WebCoreSupport/WebPlatformStrategies.mm:

(WebPlatformStrategies::createStorageStrategy): Deleted.

Source/WebKit/win:

  • WebCoreSupport/WebPlatformStrategies.cpp:

(WebPlatformStrategies::createStorageStrategy): Deleted.

  • WebCoreSupport/WebPlatformStrategies.h:

Source/WebKit2:

  • NetworkProcess/NetworkProcessPlatformStrategies.cpp:

(WebKit::NetworkProcessPlatformStrategies::createStorageStrategy): Deleted.

  • NetworkProcess/NetworkProcessPlatformStrategies.h:
  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::createStorageStrategy): Deleted.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:
9:09 AM Changeset in webkit [177150] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[GTK] WebKitNotification is defined twice
https://bugs.webkit.org/show_bug.cgi?id=139538

Reviewed by Martin Robinson.

Remove the typedef from WebKitForwardDeclarations.h since it's
already in WebKitNotification.h and include WebKitNotification.h
in WebKitWebView.h.

  • UIProcess/API/gtk/WebKitForwardDeclarations.h:
  • UIProcess/API/gtk/WebKitWebView.h:
9:09 AM Changeset in webkit [177149] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Fix broken build after r177146.
https://bugs.webkit.org/show_bug.cgi?id=139533

Not reviewed.

  • interpreter/CallFrame.h:

(JSC::ExecState::init):

  • Restored CallFrame::init() minus the unused JSScope* arg.
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • Remove JSScope* arg when calling CallFrame::init().
9:07 AM Changeset in webkit [177148] by Carlos Garcia Campos
  • 4 edits
    2 deletes in trunk/Source

[GTK] Move click counter logic back to WebKitWebViewBase
https://bugs.webkit.org/show_bug.cgi?id=137685

Reviewed by Martin Robinson.

Source/WebCore:

Remove GtkClickCounter.

  • PlatformGTK.cmake:
  • platform/gtk/GtkClickCounter.cpp: Removed.
  • platform/gtk/GtkClickCounter.h: Removed.

Source/WebKit2:

It was moved to a shared class in platform to be used by both
WebKit1 and WebKit2, but it's currently only used by WebKitWebViewBase.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(ClickCounter::reset):
(ClickCounter::currentClickCountForGdkButtonEvent):
(webkitWebViewBaseButtonPressEvent):

9:02 AM Changeset in webkit [177147] by clopez@igalia.com
  • 3 edits in trunk/Tools

[GTK] REGRESSION(r175555) GTK API Tests run outside the JHBuild.
https://bugs.webkit.org/show_bug.cgi?id=139537

Reviewed by Carlos Garcia Campos.

  • jhbuild/jhbuild-wrapper: Pass the port name in the invocation

of get_dependencies_path().

  • jhbuild/jhbuildutils.py:

(get_dependencies_path): Fix the function to return the new
dependencies path: DependenciesPORT.
(enter_jhbuild_environment_if_available): Pass the port name
when invoking get_dependencies_path().

8:41 AM Changeset in webkit [177146] by msaboff@apple.com
  • 19 edits in trunk/Source/JavaScriptCore

REGRESSION: Use of undefined CallFrame::ScopeChain value
https://bugs.webkit.org/show_bug.cgi?id=139533

Reviewed by Mark Lam.

Removed CallFrame::scope() and CallFrame::setScope() and eliminated or changed
all usages of these funcitons. In some cases the scope is passed in or determined
another way. In some cases the scope is used to calculate other values. Lastly
were places where these functions where used that are no longer needed. For
example when making a call, the caller's ScopeChain was copied to the callee's
ScopeChain. This change no longer uses the ScopeChain call frame header slot.
That slot will be removed in a future patch.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):

  • jit/JIT.h:
  • jit/JITInlines.h:

(JSC::JIT::callOperation):

  • runtime/JSLexicalEnvironment.h:

(JSC::JSLexicalEnvironment::create):
(JSC::JSLexicalEnvironment::JSLexicalEnvironment):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_create_lexical_environment):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_create_lexical_environment):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::handleHostCall):
(JSC::LLInt::setUpCall):
(JSC::LLInt::llint_throw_stack_overflow_error):
Pass the current scope value to the helper operationCreateActivation() and
the call to JSLexicalEnvironment::create() instead of using the stack frame
scope chain value.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
CreateActivation now has a second child, the scope.

  • interpreter/CallFrame.h:

(JSC::ExecState::init): Deleted. This is dead code.
(JSC::ExecState::scope): Deleted.
(JSC::ExecState::setScope): Deleted.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::dumpRegisters): Changed so we didn't access the scope
chain slot.

(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
Changed process to find JSScope values on the stack or by some other means.

  • runtime/JSWithScope.h:

(JSC::JSWithScope::JSWithScope): Deleted.
Eliminated unused constructor.

  • runtime/StrictEvalActivation.cpp:

(JSC::StrictEvalActivation::StrictEvalActivation):

  • runtime/StrictEvalActivation.h:

(JSC::StrictEvalActivation::create):
Changed to pass in the current scope.

5:37 AM Changeset in webkit [177145] by clopez@igalia.com
  • 2 edits in trunk/Source/WebKit2

[SOUP] [GTK] warning: unused parameter at NetworkProcessSoup.cpp after r177056.
https://bugs.webkit.org/show_bug.cgi?id=139534

Reviewed by Martin Robinson.

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::NetworkProcess::clearDiskCache): Comment the parameter names.

3:22 AM Changeset in webkit [177144] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[GTK] Timers might never be fired during animations
https://bugs.webkit.org/show_bug.cgi?id=139062

Reviewed by Martin Robinson.

This can happen in old/slow machines where the time to render
layers might take more than 0.016. Since the layer flush timer is
using a higher priority than WebCore timers, when scheduling all
(or several) layer flushes immediately, no other sources with
lower priority are dispatched in the main loop. We could detect if
we are scheduling layer flushes immediately for too long (100ms)
and schedule the next flush after a delay to ensure other sources
with lower priority have a chance to be dispatched. Also use a
lower priority, GDK_PRIORITY_EVENTS is too high, so we use
GDK_PRIORITY_REDRAW - 1 to ensure it's higher than WebCore timers.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::LayerTreeHostGtk): Rename
m_lastFlushTime as m_lastImmediateFlushTime.
(WebKit::LayerTreeHostGtk::layerFlushTimerFired): Save the
fireTime before calling flushAndRenderLayers() and compute the
next flush delay based on the elapsed time using monotonically
increasing time instead of current time. Use the target delay
as next flush delay if we have scheduled flushes immediately for
more than 100ms.
(WebKit::LayerTreeHostGtk::flushAndRenderLayers): Do not save the
layer flush time here, it's done in layerFlushTimerFired() so that
we don't need to keep it as a member.
(WebKit::LayerTreeHostGtk::scheduleLayerFlush): Use global
layerFlushTimerPriority.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
2:31 AM Changeset in webkit [177143] by Carlos Garcia Campos
  • 6 edits in trunk/Source/WebCore

[GTK] Implement sizes attribute for link tag
https://bugs.webkit.org/show_bug.cgi?id=125775

Reviewed by Martin Robinson.

  • bindings/gobject/WebKitDOMCustom.cpp:

(webkit_dom_html_link_element_set_sizes): Add custom setter implementation.

  • bindings/gobject/WebKitDOMCustomUnstable.h:
  • bindings/js/JSHTMLLinkElementCustom.cpp:

(WebCore::JSHTMLLinkElement::sizes): Remove custom getter implementation.

  • bindings/scripts/CodeGeneratorGObject.pm:

(HasUnstableCustomAPI): Mark WebKitDOMHTMLLinkElement as having custom unstable API.

  • html/HTMLLinkElement.idl: Mark sizes attribute as CustomSetter

instead of Custom, since the getter can be autogenerated, and make
it available to the GObject DOM bindings too.

1:18 AM Changeset in webkit [177142] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r177106. rdar://problems/19135389

1:18 AM Changeset in webkit [177141] by matthew_hanson@apple.com
  • 16 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r177104. rdar://problems/19135389

12:52 AM Changeset in webkit [177140] by ap@apple.com
  • 5 edits
    1 delete in trunk/LayoutTests

Mac test expectations gardening.
https://bugs.webkit.org/show_bug.cgi?id=139472

Removed expectations for tests that are no longer flaky, moved WK1 and WK2 only
expectations to correct files, added more flakiness expectations for tests that
fail with ATI graphics.

  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/mac/canvas/philip/tests/2d.gradient.interpolate.colouralpha-expected.txt: Removed.
  • platform/wk2/TestExpectations:
12:50 AM Changeset in webkit [177139] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merged r177132. rdar://problems/19213620

12:50 AM Changeset in webkit [177138] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.3-branch/Source

Merged r177111. rdar://problems/19198388

12:25 AM Changeset in webkit [177137] by Lucas Forschler
  • 1 edit in trunk/Tools/BuildSlaveSupport/build.webkit.org-config/config.json

Remove invalid Apple slave.

12:11 AM Changeset in webkit [177136] by Lucas Forschler
  • 1 edit in trunk/Tools/BuildSlaveSupport/build.webkit.org-config/config.json

Fix config.json.

Dec 10, 2014:

11:41 PM Changeset in webkit [177135] by Chris Dumez
  • 6 edits
    6 adds in trunk

http://omfgdogs.info/ only animates when you resize the window
https://bugs.webkit.org/show_bug.cgi?id=139435
<rdar://problem/19190493>

Reviewed by Simon Fraser.

Source/WebCore:

After r163928, we would fail to animate a gif if:

  • it is used as a background image of a 0-height html element
  • it is used as a background image of a 0-height body element whose background is delegated to the root (because the root has no background).

This is because in such cases, shouldRepaintForImageAnimation()
should use the background rect instead of the renderer's overflow
rect to determine if the image is inside the viewport. Both cases
are addressed in this patch.

Tests: fast/images/animated-gif-body-delegated-background-image.html

fast/images/animated-gif-body-outside-viewport.html
fast/images/animated-gif-html-background-image.html

  • rendering/RenderElement.cpp:

(WebCore::shouldRepaintForImageAnimation):

  • testing/Internals.cpp:

(WebCore::Internals::hasPausedImageAnimations):

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

LayoutTests:

Add layout tests to make sure a gif image is still animated if:

  • It is used as a background image of a 0-height html element
  • It is used as a background image of a 0-height body element that is delegated to the root (because the root has no background)

Also add a layout test to make sure we still stop the gif animation
if it is used as background image of a body that is outside the
viewport.

  • fast/images/animated-gif-body-delegated-background-image-expected.txt: Added.
  • fast/images/animated-gif-body-delegated-background-image.html: Added.
  • fast/images/animated-gif-body-outside-viewport-expected.txt: Added.
  • fast/images/animated-gif-body-outside-viewport.html: Added.
  • fast/images/animated-gif-html-background-image-expected.txt: Added.
  • fast/images/animated-gif-html-background-image.html: Added.
11:37 PM Changeset in webkit [177134] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the build.

  • html/canvas/WebGLDrawBuffers.cpp:

Yosemite is 101000, not 10100.
Also, MAC_OS_X_VERSION_MIN_REQUIRED is only defined for PLATFORM(MAC).

11:22 PM Changeset in webkit [177133] by Lucas Forschler
  • 2 edits in trunk/Tools

Update Apple owned build slaves.

Rubber-stamped by Dana Burkart.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
10:32 PM Changeset in webkit [177132] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Copy and paste action menu items don't work on the Mozilla Midas demo in WebKit1
https://bugs.webkit.org/show_bug.cgi?id=139529
<rdar://problem/19213620>

Reviewed by Beth Dakin.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _copySelection:]):
(-[WebActionMenuController _paste:]):
Use the copy: and paste: methods on WebView so that we traverse subviews
when trying to respond, otherwise these actions don't work in subframes.

10:24 PM Changeset in webkit [177131] by Beth Dakin
  • 7 edits
    2 adds in trunk/Source/WebKit

WK1: Add initial support for immediate actions
https://bugs.webkit.org/show_bug.cgi?id=139522

Reviewed by Dan Bernstein.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

This basic implementation of the controller will use the delegate methods to
perform and cache a HitTest when relevant. Future patches will patch
_updateImmediateActionItem to use the HitTestResult to determine if there is any
immediate action that should be taken.

  • WebView/WebImmediateActionController.h: Added.
  • WebView/WebImmediateActionController.mm: Added.

(-[WebImmediateActionController webViewClosed]):
(-[WebImmediateActionController _clearImmediateActionState]):
(-[WebImmediateActionController performHitTestAtPoint:]):
(-[WebImmediateActionController immediateActionRecognizerWillPrepare:]):
(-[WebImmediateActionController immediateActionRecognizerWillBeginAnimation:]):
(-[WebImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
(-[WebImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
(-[WebImmediateActionController _updateImmediateActionItem]):

New enum for immediate action types.

  • WebView/WebUIDelegatePrivate.h:

Create an NSImmediateActionGestureRecognizer if possible and a controller.

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _close]):

  • WebView/WebViewData.h:
  • WebView/WebViewData.mm:

(-[WebViewPrivate dealloc]):

9:31 PM Changeset in webkit [177130] by gyuyoung.kim@samsung.com
  • 22 edits in trunk/Source/JavaScriptCore

Use std::unique_ptr instead of OwnPtr in JSC - heap, jit, runtime, and parser directories
https://bugs.webkit.org/show_bug.cgi?id=139351

Reviewed by Filip Pizlo.

As a step to use std::unique_ptr<>, this cleans up OwnPtr and PassOwnPtr.

  • bytecode/SamplingTool.h:

(JSC::SamplingTool::SamplingTool):

  • heap/CopiedBlock.h:

(JSC::CopiedBlock::didSurviveGC):
(JSC::CopiedBlock::pin):

  • heap/CopiedBlockInlines.h:

(JSC::CopiedBlock::reportLiveBytes):

  • heap/GCActivityCallback.h:
  • heap/GCThread.cpp:
  • heap/Heap.h:
  • heap/HeapInlines.h:

(JSC::Heap::markListSet):

  • jit/ExecutableAllocator.cpp:
  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/JIT.h:
  • jit/JITThunks.cpp:

(JSC::JITThunks::JITThunks):
(JSC::JITThunks::clearHostFunctionStubs):

  • jit/JITThunks.h:
  • parser/Parser.cpp:

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

  • parser/Parser.h:

(JSC::Scope::Scope):
(JSC::Scope::pushLabel):

  • parser/ParserArena.cpp:
  • parser/ParserArena.h:

(JSC::ParserArena::identifierArena):

  • parser/SourceProviderCache.h:
  • runtime/CodeCache.h:
  • runtime/Executable.h:
  • runtime/JSArray.cpp:

(JSC::JSArray::sortVector):

  • runtime/JSGlobalObject.h:
7:54 PM Changeset in webkit [177129] by dbates@webkit.org
  • 2 edits in trunk/Tools

[iOS] REGRESSION (r174642): Watchdog timer expiration reported as DumpRenderTree.app
timeout instead of test failure
https://bugs.webkit.org/show_bug.cgi?id=139525

Reviewed by Zalan Bujtas.

Increase the default process timeout limit in run-webkit-tests to 80ms to prevent
run-webkit-tests from prematurely terminating DumpRenderTree.app before it dumps
output.

Following <http://trac.webkit.org/changeset/174642>, DumpRenderTree.app waits
for the WebThread to spin its run loop before dumping its output. A test that
calls testRunner.waitUntilDone() and does not subsequently call testRunner.notifyDone()
before DumpRenderTree.app's watchdog timer expires may be incorrectly reported
by run-webkit-tests as a DumpRenderTree.app timeout instead of a test failure
because run-webkit-tests may terminate a DumpRenderTree.app process when it
exceeds its process time limit (defaults to 35ms) regardless of whether such
a DumpRenderTree.app process was waiting for the WebThread to run so as to dump output.

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort.default_timeout_ms):

7:29 PM Changeset in webkit [177128] by Alan Bujtas
  • 6 edits
    4 adds in trunk

Continuously repainting large parts of Huffington Post.
https://bugs.webkit.org/show_bug.cgi?id=139468

Reviewed by Antti Koivisto.

This patch eliminates redundant repaint requests for inlines when neither the parent
block flow nor any of the inline children are dirty.
Previously,

  1. simple line layout always recalculated inline content positions regardless of whether

the content needed relayout at all; as a result, it always triggered full repaint.

  1. inline tree layout ignored the needslayout flag on the last line and treated it dirty

(unless it broke cleanly (<div>foo<br></div>)).
This was an ancient workaround for an editing/insert use case, but it seems not to be the case anymore.

Source/WebCore:

Tests: fast/repaint/implicitly-positioned-block-repaint-complex-line-layout.html

fast/repaint/implicitly-positioned-block-repaint-simple-line-layout.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutInlineChildren):
(WebCore::RenderBlockFlow::layoutSimpleLines): Check if we need to trigger layout at all.

  • rendering/RenderBlockFlow.h:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::determineStartPosition): Remove the last line dirty hack. If it
happens to introduce regression, we should fix it at the caller site to make the line dirty.

LayoutTests:

  • fast/repaint/implicitly-positioned-block-repaint-complex-line-layout-expected.txt: Added.
  • fast/repaint/implicitly-positioned-block-repaint-complex-line-layout.html: Added.
  • fast/repaint/implicitly-positioned-block-repaint-simple-line-layout-expected.txt: Added.
  • fast/repaint/implicitly-positioned-block-repaint-simple-line-layout.html: Added.
  • platform/mac/fast/line-grid/line-align-right-edges-expected.txt:
7:04 PM Changeset in webkit [177127] by Lucas Forschler
  • 1 edit in trunk/Tools/BuildSlaveSupport/build.webkit.org-config/config.json

Update Apple bot list.

6:35 PM Changeset in webkit [177126] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Add an empty storage namespace provider
https://bugs.webkit.org/show_bug.cgi?id=139520

Reviewed by Tim Horton.

  • loader/EmptyClients.cpp:

(WebCore::fillWithEmptyClients):

6:33 PM Changeset in webkit [177125] by ljaehun.lim@samsung.com
  • 2 edits in trunk/Source/WebKit2

[CMake] Fix build after WebStorageNamespaceProvider

Unreviewed, fix build.

  • CMakeLists.txt: Add WebStorageNamespaceProvider.cpp to the source list.
6:30 PM Changeset in webkit [177124] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Speculative build fix.

  • platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h:
6:11 PM Changeset in webkit [177123] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebKit2

Build fix for EFL and GTK ports since r177104
https://bugs.webkit.org/show_bug.cgi?id=139513

Patch by Sanghyup Lee <sh53.lee@samsung.com> on 2014-12-10
Reviewed by Tim Horton.

Moved WebPageProxy::installViewStateChangeCompletionHandler in PLATFORM(MAC) macro.

  • UIProcess/WebPageProxy.cpp:
  • UIProcess/WebPageProxy.h:
5:59 PM Changeset in webkit [177122] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Remove expectations that were incorrectly landed in http://trac.webkit.org/changeset/176778

  • platform/mac/TestExpectations:
5:54 PM Changeset in webkit [177121] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Fix a typo in the rpevious commit.

  • platform/mac-wk1/TestExpectations:
5:51 PM Changeset in webkit [177120] by ap@apple.com
  • 4 edits in trunk/LayoutTests

Fix lint warnings on Mac TestExpectations.

  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
5:31 PM Changeset in webkit [177119] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit

Use the new storage namespace provider in WebKit1
https://bugs.webkit.org/show_bug.cgi?id=139425

Reviewed by Tim Horton.

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
Set the storage namespace provider from the web page group.

Source/WebKit/win:

  • WebView.cpp:

(localStorageDatabasePath):
Helper from getting the local storage database path given a WebPreferences instance.

(WebView::initWithFrame):
Create a storage namespace provider.

5:18 PM Changeset in webkit [177118] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Switch WebKit2 over to using the storage namespace provider
https://bugs.webkit.org/show_bug.cgi?id=139509

Reviewed by Tim Horton.

  • WebProcess/Storage/StorageNamespaceImpl.cpp:

(WebKit::StorageNamespaceImpl::createLocalStorageNamespace):
(WebKit::StorageNamespaceImpl::~StorageNamespaceImpl):
(WebKit::localStorageNamespaceMap): Deleted.
Get rid of the storage namespace map - we have a map inside WebStorageNamespaceProvider now.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::createStorageStrategy):
(WebKit::WebPlatformStrategies::populatePluginCache): Deleted.
(WebKit::WebPlatformStrategies::localStorageNamespace): Deleted.
(WebKit::WebPlatformStrategies::transientLocalStorageNamespace): Deleted.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:

Get rid of the storage strategy.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
Set a storage namespace provider.

5:14 PM Changeset in webkit [177117] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.13.1

New tag.

5:10 PM Changeset in webkit [177116] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Follow-up build fix.

  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:context:configuration:webView:]):

5:10 PM Changeset in webkit [177115] by jhoneycutt@apple.com
  • 3 edits
    1 add in trunk

Null dereference performing a "TapAndAHalf" gesture in Google search field

<https://bugs.webkit.org/show_bug.cgi?id=139506>
<rdar://problem/19028828>

Reviewed by Darin Adler.

.:

  • ManualTests/ios/tap-and-a-half-gesture-in-empty-text-field.html: Added.

Source/WebKit2:

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::selectWithGesture):
Add a null check in the case that there is no word range for the
current position.

5:05 PM Changeset in webkit [177114] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Speculative build fix.

  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:context:configuration:webView:]):

4:14 PM Changeset in webkit [177113] by Beth Dakin
  • 5 edits
    4 adds in trunk/Source

WK2: Add initial support for immediate actions
https://bugs.webkit.org/show_bug.cgi?id=139511

Reviewed by Tim Horton.

Source/WebCore:

SPI needed for immediate actions.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/spi/mac/NSImmediateActionGestureRecognizerSPI.h: Added.

Source/WebKit2:

New enum to track immediate action types as we add them.

  • Shared/API/c/WKImmediateActionTypes.h: Added.

Create an NSImmediateActionGestureRecognizer if possible and a controller.

  • UIProcess/API/mac/WKView.mm:

(-[WKView dealloc]):
(-[WKView initWithFrame:context:configuration:webView:]):
(-[WKView _didPerformActionMenuHitTest:userData:]):

This basic implementation of the controller will use the delegate methods to
perform an ActionMenuHitTest when relevant. Future patches will patch
_updateImmediateActionItem to use the hit test result to determine if there is any
immediate action that should be taken.

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

(-[WKImmediateActionController willDestroyView:]):
(-[WKImmediateActionController _clearImmediateActionState]):
(-[WKImmediateActionController didPerformActionMenuHitTest:userData:]):

Does much of the work done in Action Menu’s prepareForMenu.
(-[WKImmediateActionController immediateActionRecognizerWillPrepare:]):

Does much of the work done in Action Menu’s menuNeedsUpdate.
(-[WKImmediateActionController immediateActionRecognizerWillBeginAnimation:]):

Does much of the work done in Action Menu’s didCloseMenu.
(-[WKImmediateActionController immediateActionRecognizerDidCancelAnimation:]):

Does much of the work done in Action Menu’s willOpenMenu.
(-[WKImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):

To be filled in.
(-[WKImmediateActionController _updateImmediateActionItem]):

  • WebKit2.xcodeproj/project.pbxproj:
3:55 PM Changeset in webkit [177112] by ap@apple.com
  • 2 edits
    2 deletes in trunk/LayoutTests

Mark more tests that fail on EWS bots with ATI graphics.

  • platform/mac/TestExpectations:
  • platform/mac/fast/canvas/canvas-draw-canvas-on-canvas-shadow-expected.txt: Removed.
  • platform/mac/fast/canvas/canvas-fillRect-gradient-shadow-expected.txt: Removed.

These were expecting failure, but the tests pass on regular bots.

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

Should have copy and paste items in all text menus
https://bugs.webkit.org/show_bug.cgi?id=139510
<rdar://problem/19198388>

Reviewed by Beth Dakin.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForText]):
Add a disabled paste menu item into the read-only text menu.

(-[WKActionMenuController _defaultMenuItemsForWhitespaceInEditableArea]):
Add a disabled copy menu item into the editable whitespace text menu.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _defaultMenuItemsForText]):
Add a disabled paste menu item into the read-only text menu.

(-[WebActionMenuController _defaultMenuItemsForWhitespaceInEditableArea]):
Add a disabled copy menu item into the editable whitespace text menu.

3:42 PM Changeset in webkit [177110] by mhock@apple.com
  • 10 edits in trunk/Source

[iOS] Add setting to ignore viewport scaling constraints
https://bugs.webkit.org/show_bug.cgi?id=139466
<rdar://problem/19200328>

Reviewed by Benjamin Poulain.

Source/WebCore:

  • WebCore.exp.in:
  • page/Settings.in: Add setting to ignore viewport scaling constraints.
  • page/ViewportConfiguration.cpp: Ignore viewport scaling constraints based on preference.

(WebCore::ViewportConfiguration::initialScale):
(WebCore::ViewportConfiguration::minimumScale):
(WebCore::ViewportConfiguration::allowsUserScaling):

  • page/ViewportConfiguration.h:

(WebCore::ViewportConfiguration::setIgnoreScalingConstraints):
(WebCore::ViewportConfiguration::allowsUserScaling): Moved to cpp.

Source/WebKit2:

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

(WKPreferencesSetIgnoreViewportScalingConstraints):
(WKPreferencesGetIgnoreViewportScalingConstraints):

  • UIProcess/API/C/WKPreferencesRef.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

3:35 PM Changeset in webkit [177109] by matthew_hanson@apple.com
  • 12 edits in branches/safari-600.3-branch/Source

Merged r176999. rdar://problems/19149219

3:31 PM Changeset in webkit [177108] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Hide Compositing Borders Button if backend returns an error that it is unsupported
https://bugs.webkit.org/show_bug.cgi?id=139307

Reviewed by Darin Adler.

  • UserInterface/Views/DOMTreeContentView.js:

(WebInspector.DOMTreeContentView.prototype._updateCompositingBordersButtonToMatchPageSettings):

3:19 PM Changeset in webkit [177107] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Speculative fix for assertion "frame().view() == this"
<rdar://problem/18419449>

Rubber-stamped by Anders Carlsson.

I have not reproduced this issue, but we can safely ignore animation
notifications for cached pages.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::newImageAnimationFrameAvailable):

3:16 PM Changeset in webkit [177106] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the build.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _targetWindowForMovePreparation]):

3:07 PM Changeset in webkit [177105] by ap@apple.com
  • 7 edits in trunk/LayoutTests

Rename layoutTestController to testRunner in TestExpectations.

  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win-xp/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
  • platform/wk2/TestExpectations:
3:00 PM Changeset in webkit [177104] by timothy_horton@apple.com
  • 16 edits in trunk/Source/WebKit2

Provide SPI to asynchronously move a WKView into a window and know when it has painted
https://bugs.webkit.org/show_bug.cgi?id=139460
<rdar://problem/19135389>

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKViewPrivate.h:

Add _prepareForMoveToWindow:withCompletionHandler:, which internally
goes through the motions of being parented in that window and calls
the completion handler once painting is done and the view is ready
to be displayed (upon which we expect the view to actually move into the window).

  • UIProcess/API/mac/WKView.mm:

(-[WKView viewWillMoveToWindow:]):
If we currently have a _targetWindowForMovePreparation (and are
pretending to be in that window), avoid performing viewWillMoveToWindow:
for a different window.

(-[WKView viewDidMoveToWindow]):
(-[WKView doWindowDidChangeScreen]):
(-[WKView _intrinsicDeviceScaleFactor]):
(-[WKView _colorSpace]):
(-[WKView _targetWindowForMovePreparation]):
If we have a _targetWindowForMovePreparation, use its properties instead
of self.window's.

(-[WKView _prepareForMoveToWindow:withCompletionHandler:]):
Simulate a move into the target window, but defer sending the view state update.
Then, send the view state update after registering the completion handler.

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
Rename m_viewStateChangeWantsReply to m_viewStateChangeWantsSynchronousReply.

(WebKit::WebPageProxy::installViewStateChangeCompletionHandler):
Added. Allow installing a block that will be called the next time
we get a didUpdateViewState back from the WebProcess after pushing the
current view state changes.

(WebKit::WebPageProxy::viewStateDidChange):
Adapt to the aforementioned rename.

(WebKit::WebPageProxy::dispatchViewStateChange):
Adapt to the aforementioned rename.
Send the view state change callback IDs along with SetViewState.

(WebKit::WebPageProxy::updateViewState):
Adapt to the aforementioned rename.

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

(WebKit::PageClientImpl::activeWindow):
(WebKit::PageClientImpl::isViewWindowActive):
(WebKit::PageClientImpl::isViewVisible):
(WebKit::PageClientImpl::isViewVisibleOrOccluded):
(WebKit::PageClientImpl::isViewInWindow):
(WebKit::PageClientImpl::viewLayerHostingMode):
If we have a _targetWindowForMovePreparation, use its properties instead
of the WKView's window's.

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::viewStateDidChange):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::reinitializeWebPage):
(WebKit::WebPage::setViewState):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::viewStateDidChange):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::viewStateDidChange):
Push the callback IDs to the WebProcess, and accumulate them in TiledCoreAnimationDrawingArea.

(WebKit::TiledCoreAnimationDrawingArea::didUpdateViewStateTimerFired):
Call all of the callbacks after one runloop cycle, just like DidUpdateViewState.

2:50 PM Changeset in webkit [177103] by ap@apple.com
  • 2 edits in trunk/LayoutTests

media/video-controls-no-scripting.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=137368

  • platform/mac/TestExpectations: Update expectations to expect flakiness on all

OS X versions.

2:48 PM Changeset in webkit [177102] by andersca@apple.com
  • 11 edits in trunk/Source

Add session storage handling to StorageNamespaceProvider
https://bugs.webkit.org/show_bug.cgi?id=139507

Reviewed by Tim Horton.

Source/WebCore:

  • page/Page.cpp:

(WebCore::Page::sessionStorage):

  • storage/StorageNamespaceProvider.h:

Source/WebKit:

  • Storage/WebStorageNamespaceProvider.cpp:

(WebStorageNamespaceProvider::createSessionStorageNamespace):

  • Storage/WebStorageNamespaceProvider.h:

Source/WebKit2:

  • WebProcess/Storage/StorageNamespaceImpl.cpp:

(WebKit::StorageNamespaceImpl::createSessionStorageNamespace):

  • WebProcess/Storage/StorageNamespaceImpl.h:
  • WebProcess/Storage/WebStorageNamespaceProvider.cpp:

(WebKit::WebStorageNamespaceProvider::createSessionStorageNamespace):

  • WebProcess/Storage/WebStorageNamespaceProvider.h:
2:33 PM Changeset in webkit [177101] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Follow-up patch to r177099.
https://bugs.webkit.org/show_bug.cgi?id=133634
<rdar://problem/15949588>
Enable GL_EXT_draw_buffers on iOS as well.

  • platform/graphics/opengl/Extensions3DOpenGL.cpp:

(WebCore::Extensions3DOpenGL::supportsExtension):

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

Implement the rest of the transient local storage namespace code
https://bugs.webkit.org/show_bug.cgi?id=139505

Reviewed by Tim Horton.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::TransientLocalStorageNamespace::create):
(WebKit::StorageManager::TransientLocalStorageNamespace::~TransientLocalStorageNamespace):
(WebKit::StorageManager::TransientLocalStorageNamespace::getOrCreateStorageArea):
(WebKit::StorageManager::TransientLocalStorageNamespace::clearStorageAreasMatchingOrigin):
(WebKit::StorageManager::TransientLocalStorageNamespace::clearAllStorageAreas):
(WebKit::StorageManager::TransientLocalStorageNamespace::TransientLocalStorageNamespace):
Introduce a new TransientLocalStorageNamespace that's just a glorified SecurityOrigin -> StorageArea HashMap.

(WebKit::StorageManager::StorageArea::create):
Change the return type to RefPtr.

(WebKit::StorageManager::deleteEntriesForOrigin):
(WebKit::StorageManager::deleteAllEntries):
(WebKit::StorageManager::deleteLocalStorageOriginsModifiedSince):
Use lambdas instead of bind. Delete the transient local storage as well.

(WebKit::StorageManager::createTransientLocalStorageMap):
Get a transient local storage namespace and ask it for a storage area.

(WebKit::StorageManager::getOrCreateTransientLocalStorageNamespace):
Look up the namespace from the map and create one if it doesn't exist.

(WebKit::StorageManager::deleteEntriesForOriginInternal): Deleted.
(WebKit::StorageManager::deleteAllEntriesInternal): Deleted.

  • UIProcess/Storage/StorageManager.h:
2:12 PM Changeset in webkit [177099] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Implement Multiple Render Targets as WebGL 1 extension.
https://bugs.webkit.org/show_bug.cgi?id=133634.
<rdar://problem/15949588>
Reviewed by Brent Fulgham.
Tested by:
webgl/1.0.3/conformance/extensions/webgl-draw-buffers.html
Enable the implementation now that an underlying driver bug has been resolved.
Do not enable for desktop platforms older that OS X 10.10.

  • html/canvas/WebGLDrawBuffers.cpp:

(WebCore::WebGLDrawBuffers::supported):

2:10 PM Changeset in webkit [177098] by rniwa@webkit.org
  • 3 edits
    6 adds in trunk

REGRESSION(r164329): Input fields are not honoring the maxlength attribute
https://bugs.webkit.org/show_bug.cgi?id=139447

Reviewed by Benjamin Poulain.

Source/WebCore:

The bug was caused by String::substring being called with the selection's end offset
in the second argument instead of the selection's length in handleBeforeTextInsertedEvent.

Fixed the bug by passing the right second argument to String::substring.

Test: fast/forms/input-maxlength-inserting-in-middle.html

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):

LayoutTests:

Added regression tests.

  • fast/forms/input-maxlength-inserting-in-middle-expected.txt: Added.
  • fast/forms/input-maxlength-inserting-in-middle.html: Added.
  • fast/forms/input-maxlength-paste-clusters-in-middle-expected.txt: Added.
  • fast/forms/input-maxlength-paste-clusters-in-middle.html: Added.
  • fast/forms/input-maxlength-paste-in-middle-expected.txt: Added.
  • fast/forms/input-maxlength-paste-in-middle.html: Added.
1:51 PM Changeset in webkit [177097] by matthew_hanson@apple.com
  • 3 edits
    3 adds in branches/safari-600.3-branch

Merged r176972. rdar://problems/19196762

1:51 PM Changeset in webkit [177096] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/JavaScriptCore

Merged r175653. rdar://problems/19196762

1:51 PM Changeset in webkit [177095] by matthew_hanson@apple.com
  • 11 edits in branches/safari-600.3-branch/Source/JavaScriptCore

Merged r175593. rdar://problems/19196762

1:51 PM Changeset in webkit [177094] by matthew_hanson@apple.com
  • 2 edits
    2 adds in branches/safari-600.3-branch

Merged r175312. rdar://problems/19196762

1:50 PM Changeset in webkit [177093] by matthew_hanson@apple.com
  • 3 edits
    6 adds in branches/safari-600.3-branch

Merged r175243. rdar://problems/19196762

1:20 PM Changeset in webkit [177092] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Add a missing null check.

  • page/Page.cpp:

(WebCore::Page::~Page):

1:10 PM Changeset in webkit [177091] by ggaren@apple.com
  • 4 edits in trunk/Source

Please disable the webkitFirstVersionWithInitConstructorSupport check on Apple TV
https://bugs.webkit.org/show_bug.cgi?id=139501

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

NSVersionOfLinkTimeLibrary only works if you link directly against
JavaScriptCore, which is a bit awkward for our Apple TV client to do.

It's easy enough just to disable this check on Apple TV, since it has no
backwards compatibility requirement.

  • API/JSWrapperMap.mm:

(supportsInitMethodConstructors):

Source/WTF:

Added a platform definition for APPLETV.

(It's not an OS because it's not mutually exclusive with other OS definitions.)

  • wtf/Platform.h:
1:00 PM Changeset in webkit [177090] by andersca@apple.com
  • 8 edits in trunk/Source/WebKit2

Begin fixing transient local storage handling
https://bugs.webkit.org/show_bug.cgi?id=139503

Reviewed by Sam Weinig.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::createTransientLocalStorageMap):

  • UIProcess/Storage/StorageManager.h:

Add empty stub implementation of createTransientLocalStorageMap.

  • UIProcess/Storage/StorageManager.messages.in:

Add CreateTransientLocalStorageMap message.

  • WebProcess/Storage/StorageAreaMap.cpp:

(WebKit::StorageAreaMap::StorageAreaMap):
If we have a local storage namespace with a non-null top-level origin, create a
transient local storage map.

  • WebProcess/Storage/StorageNamespaceImpl.cpp:

(WebKit::StorageNamespaceImpl::createLocalStorageNamespace):
Pass a null top-level origin to the StorageNamespaceImpl constructor.

(WebKit::StorageNamespaceImpl::createTransientLocalStorageNamespace):
Create a new StorageNamespaceImpl, passing the top-level origin to the constructor.

(WebKit::StorageNamespaceImpl::createSessionStorageNamespace):
Pass a null top-level origin to the StorageNamespaceImpl constructor.

(WebKit::StorageNamespaceImpl::StorageNamespaceImpl):
Add a top-level origin parameter.

  • WebProcess/Storage/StorageNamespaceImpl.h:

(WebKit::StorageNamespaceImpl::topLevelOrigin):
Add top-level origin member and getter.

  • WebProcess/Storage/WebStorageNamespaceProvider.cpp:

(WebKit::WebStorageNamespaceProvider::createTransientLocalStorageNamespace):
Call StorageNamespaceImpl::createTransientLocalStorageNamespace.

12:46 PM Changeset in webkit [177089] by Antti Koivisto
  • 3 edits
    2 adds in trunk

Crash when creating CSSCalcBinaryOperation
https://bugs.webkit.org/show_bug.cgi?id=134886
rdar://problem/17663561

Reviewed by Chris Dumez.

Source/WebCore:

Test: fast/css/calc-binary-operation-crash.html

  • css/CSSCalculationValue.cpp:

(WebCore::determineCategory):

Ensure that both axis are within the addSubtractResult table.
Remove unneeded CalcOther test. The call site guarantees it doesn't happen and the normal cases would handle it anyway.
Also strengthen some asserts.

LayoutTests:

  • fast/css/calc-binary-operation-crash-expected.txt: Added.
  • fast/css/calc-binary-operation-crash.html: Added.
12:43 PM Changeset in webkit [177088] by dino@apple.com
  • 1 edit
    1 move in trunk

Blur filter performance test doesn't provide results
https://bugs.webkit.org/show_bug.cgi?id=139462

Reviewed by Sam Weinig.

This can't currently work under our performance test
infrastructure. Move it to a manual test to avoid
putting FAILures into the results.

  • ManualTests/blur-filter-timing.html: Renamed from PerformanceTests/Interactive/blur-filter-timing.html.
12:10 PM Changeset in webkit [177087] by andersca@apple.com
  • 8 edits in trunk/Source

Add WebStorageNamespaceProvider::closeLocalStorage
https://bugs.webkit.org/show_bug.cgi?id=139502

Reviewed by Tim Horton.

Source/WebCore:

  • page/Page.cpp:

(WebCore::Page::~Page):
Call StorageNamespaceProvider::removePage.

  • storage/StorageNamespaceProvider.h:

(WebCore::StorageNamespaceProvider::optionalLocalStorageNamespace):
Helper function that returns the local storage namespace if one exists.

Source/WebKit:

  • Storage/WebStorageNamespaceProvider.cpp:

(storageNamespaceProviders):
(WebStorageNamespaceProvider::WebStorageNamespaceProvider):
(WebStorageNamespaceProvider::~WebStorageNamespaceProvider):
Keep track of all live storage namespace providers.

(WebStorageNamespaceProvider::closeLocalStorage):
Loop through all storage namespace providers and call close() on their local storage namespaces.

  • Storage/WebStorageNamespaceProvider.h:

Source/WebKit/mac:

  • WebView/WebView.mm:

(+[WebView _applicationWillTerminate]):
Call WebStorageNamespaceProvider::closeLocalStorage.

11:57 AM Changeset in webkit [177086] by jdiggs@igalia.com
  • 4 edits
    4 adds in trunk

AX: [ATK] MathML tokens with text fail to expose their text content via AtkText
https://bugs.webkit.org/show_bug.cgi?id=139454

Reviewed by Chris Fleizach.

Source/WebCore:

Expose the text content of the element for non-anonymous RenderMathMLOperators.
This is needed because for ATK we expose the rendered element itself; not the
descendant text renderers. Also include MathML tokens as objects which should
implement AtkText.

Test: accessibility/math-text.html

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::textUnderElement):

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(getInterfaceMaskFromObject):

LayoutTests:

  • accessibility/math-text.html: Added.
  • platform/efl/accessibility/math-text-expected.txt: Added.
  • platform/gtk/accessibility/math-text-expected.txt: Added.
  • platform/mac/accessibility/math-text-expected.txt: Added.
11:43 AM Changeset in webkit [177085] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Use appsrcs instead of unconnected queues
https://bugs.webkit.org/show_bug.cgi?id=139490

Patch by Sebastian Dröge <sebastian@centricular.com> on 2014-12-10
Reviewed by Philippe Normand.

  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

(webkit_web_audio_src_init):
(webKitWebAudioSrcConstructed):
(webKitWebAudioSrcFinalize):
(webKitWebAudioSrcSetProperty):
(webKitWebAudioSrcLoop):
(webKitWebAudioSrcChangeState):
Previously we directly chained buffers into unconnected queues,
which confused some code inside GStreamer and caused some harmless
warnings. Now we use appsrcs instead, which also allows us to remove
quite some code.

11:41 AM Changeset in webkit [177084] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Implement WebStorageNamespaceProvider::createLocalStorageNamespace
https://bugs.webkit.org/show_bug.cgi?id=139498

Reviewed by Beth Dakin.

  • WebProcess/Storage/StorageNamespaceImpl.cpp:

(WebKit::StorageNamespaceImpl::createLocalStorageNamespace):
Add a new overload that takes an identifier + quota. Have the old overload call the new one.

  • WebProcess/Storage/StorageNamespaceImpl.h:

Add new member.

  • WebProcess/Storage/WebStorageNamespaceProvider.cpp:

(WebKit::WebStorageNamespaceProvider::createLocalStorageNamespace):
Call StorageNamespaceImpl::createLocalStorageNamespace.

11:36 AM Changeset in webkit [177083] by mmirman@apple.com
  • 4 edits
    1 add in trunk/Source/JavaScriptCore

Fixes operationPutByIds such that they check that the put didn't
change the structure of the object who's property access is being
cached.
https://bugs.webkit.org/show_bug.cgi?id=139196

Reviewed by Filip Pizlo.

  • jit/JITOperations.cpp:

(JSC::operationGetByIdOptimize): changed get to getPropertySlot
(JSC::operationPutByIdStrictBuildList): saved the structure before the put.
(JSC::operationPutByIdNonStrictBuildList): ditto.
(JSC::operationPutByIdDirectStrictBuildList): ditto.
(JSC::operationPutByIdDirectNonStrictBuildList): ditto.

  • jit/Repatch.cpp:

(JSC::tryCachePutByID): fixed structure() to use the existant vm.
(JSC::tryBuildPutByIdList): Added a check that the old structure's id
is the same as the new.
(JSC::buildPutByIdList): Added an argument

  • jit/Repatch.h:

(JSC::buildPutByIdList): Added an argument

  • tests/stress/put-by-id-strict-build-list-order.js: Added.
11:25 AM Changeset in webkit [177082] by andersca@apple.com
  • 2 edits
    2 adds in trunk/Source/WebKit2

Add a stubbed out WebStorageNamespaceProvider class to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=139497

Reviewed by Beth Dakin.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/Storage/WebStorageNamespaceProvider.cpp: Added.

(WebKit::storageNamespaceProviders):
(WebKit::WebStorageNamespaceProvider::getOrCreate):
(WebKit::WebStorageNamespaceProvider::WebStorageNamespaceProvider):
(WebKit::WebStorageNamespaceProvider::~WebStorageNamespaceProvider):
(WebKit::WebStorageNamespaceProvider::createLocalStorageNamespace):
(WebKit::WebStorageNamespaceProvider::createTransientLocalStorageNamespace):

  • WebProcess/Storage/WebStorageNamespaceProvider.h: Added.
11:25 AM Changeset in webkit [177081] by enrica@apple.com
  • 8 edits in trunk/Source

Fix iOS builders for 8.0
https://bugs.webkit.org/show_bug.cgi?id=139495

Reviewed by Eric Carlson.

Source/WebCore:

  • WebCore.exp.in:
  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(-[WebVideoFullscreenController enterFullscreen:mode:]):
(-[WebVideoFullscreenController requestHideAndExitFullscreen]):
(-[WebVideoFullscreenController enterFullscreen:]): Deleted.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

Source/WebKit2:

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _mayAutomaticallyShowVideoOptimized]):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::reattachToWebProcess):

  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
10:54 AM Changeset in webkit [177080] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[Curl] Cache entry is sometimes deleted when request receives a not modified response.
https://bugs.webkit.org/show_bug.cgi?id=139339

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-12-10
Reviewed by Alex Christensen.

Sometimes it happens that a request receives a not modified response,
but the cache entry has already been deleted by another request.
This can be avoided by locking a cache entry while there are pending
requests for the cache entry's url.

  • platform/network/curl/CurlCacheEntry.h:

(WebCore::CurlCacheEntry::addClient):
(WebCore::CurlCacheEntry::removeClient):
(WebCore::CurlCacheEntry::hasClients):

  • platform/network/curl/CurlCacheManager.cpp:

(WebCore::CurlCacheManager::didReceiveResponse):
(WebCore::CurlCacheManager::didFail):
(WebCore::CurlCacheManager::addCacheEntryClient):
(WebCore::CurlCacheManager::removeCacheEntryClient):

  • platform/network/curl/CurlCacheManager.h:
  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::isHttpNotModified):
(WebCore::headerCallback):
(WebCore::ResourceHandleManager::initializeHandle):

10:38 AM Changeset in webkit [177079] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

[GStreamer] Use a buffer pool for allocations in the AudioDestination
https://bugs.webkit.org/show_bug.cgi?id=139487

Patch by Sebastian Dröge <sebastian@centricular.com> on 2014-12-10
Reviewed by Philippe Normand.

  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

(webKitWebAudioSrcLoop):
(webKitWebAudioSrcChangeState):
Use a buffer pool for the allocations instead of allocating a
new small buffer for every 128 samples we produce.

10:37 AM Changeset in webkit [177078] by Martin Robinson
  • 8 edits in trunk

[GTK] Add support for text-decoration-skip
https://bugs.webkit.org/show_bug.cgi?id=131540

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

No new tests. This is covered by existing layout tests.

  • platform/graphics/cairo/FontCairo.cpp:

(WebCore::GlyphIterationState): Added this class, a modified version of the Mac
port's implementation.
(WebCore::Font::dashesForIntersectionsWithRect): Ditto.

  • platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:

(WebCore::Font::getGlyphsAndAdvancesForComplexText): Added an implementation for
HarfBuzz that just fills out the GlyphBuffer, but does not render it.
(WebCore::Font::drawComplexText): Use the new getGlyphsAndAdvancesForComplexText
in a similar way to the Mac port.

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::fillGlyphBufferFromHarfBuzzRun): We need to pass the current
character index to GlyphBuffer:add since it's used by dashesForIntersectionsWithRect
and otherwise it will be uninitialized when we try to access it.

Source/WTF:

  • wtf/Platform.h: Enable text decoration skip by default.

LayoutTests:

  • platform/gtk/TestExpectations: Unskip a test relying on text-decoration-skip

and skip a new test that has a newly exposed, but unrelated issue.

10:19 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
10:15 AM Changeset in webkit [177077] by clopez@igalia.com
  • 21 edits in trunk/LayoutTests

[GTK] Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Report and mark new failures.
  • platform/gtk/accessibility/media-emits-object-replacement-expected.txt: Rebaseline after r177015.
  • platform/gtk/fast/box-sizing/box-sizing-expected.txt: Rebaseline after 176978.
  • platform/gtk/fast/forms/basic-selects-expected.txt: Rebaseline after r176978.
  • platform/gtk/fast/forms/search-vertical-alignment-expected.txt: Rebaseline after 176978.
  • platform/gtk/fast/forms/searchfield-heights-expected.txt: Rebaseline after r176978.
  • platform/gtk/fast/forms/textfield-overflow-by-value-update-expected.txt: Rebaseline after r176978.
  • platform/gtk/fast/hidpi/video-controls-in-hidpi-expected.txt: Rebaseline after r177015.
  • platform/gtk/fast/layers/video-layer-expected.txt: Rebaseline after r177015.
  • platform/gtk/fast/multicol/client-rects-expected.txt: Rebaseline after 176978.
  • platform/gtk/fast/multicol/client-rects-spanners-complex-expected.txt: Rebaseline after 176978.
  • platform/gtk/fast/multicol/client-rects-spanners-expected.txt: Rebaseline after 176978.
  • platform/gtk/fast/multicol/layers-split-across-columns-expected.txt: Rebaseline after 176978.
  • platform/gtk/fast/multicol/newmulticol/client-rects-expected.txt: Rebaseline after 176978.
  • platform/gtk/http/tests/media/hls/video-controls-live-stream-expected.txt: Rebaseline after r177015.
  • platform/gtk/media/audio-repaint-expected.txt: Rebaseline after r177015.
  • platform/gtk/media/controls-without-preload-expected.txt: Rebaseline after r177015.
  • platform/gtk/media/media-controls-clone-expected.txt: Rebaseline after r177015.
  • platform/gtk/media/video-empty-source-expected.txt: Rebaseline after r177015
  • platform/gtk/svg/zoom/page/zoom-foreignObject-expected.txt: Rebaseline after r175847.
10:08 AM Changeset in webkit [177076] by Chris Dumez
  • 2 edits in trunk/LayoutTests

[WK1] new http/tests/notifications/legacy/notification-request-permission-then-navigate.html test is crashing
https://bugs.webkit.org/show_bug.cgi?id=139494

Reviewed by Alexey Proskuryakov.

Call window.open() after the page has been loaded because our test infrastructure
asserts that testRunner.waitUntilDone() must have been called *before* window.open()
is called. Since testRunner.waitUntilDone() is called is js-test-post.js, calling
window.open() after page load fixes the issue.

  • http/tests/notifications/legacy/notification-request-permission-then-navigate.html:
9:42 AM Changeset in webkit [177075] by Martin Robinson
  • 4 edits in trunk/Source/WebKit2

[GTK] Enable depth 32 for the RedirectedXCompositeWindow
https://bugs.webkit.org/show_bug.cgi?id=139028

On gtk/X11, the layout compositing is done in the web process.
If one needs to handle alpha with the rest of the application
then it is not enough to make to browser's window as RGBA.
The shared redirected window needs to be RGBA as well.
(The shared X composite window between UIProcess and WebProcess).

This allows an end-to-end RGBA solution when the application
wants to interact with the alpha channel at compositing time.
For example for transparent Web UI.

Patch by Julien Isorce <j.isorce@samsung.com> on 2014-12-10
Reviewed by Martin Robinson.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseRealize):
(webkitWebViewBaseConstructed):
(webkitWebViewRenderAcceleratedCompositingResults):
(webkitWebViewBaseUpdatePreferences):
(webkitWebViewBaseCreateWebPage):

  • UIProcess/gtk/RedirectedXCompositeWindow.cpp:

(WebKit::RedirectedXCompositeWindow::create):
(WebKit::RedirectedXCompositeWindow::RedirectedXCompositeWindow):

  • UIProcess/gtk/RedirectedXCompositeWindow.h:
9:42 AM Changeset in webkit [177074] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r177048) 11 failures on layout tests fast/selectors.
<https://webkit.org/b/139483>

Unreviewed fix for bots.

When rolling out the broken change, I accidentally also rolled out
a bug fix that Benjamin had made to sibling invalidation.
Restore his implementation of nodeOrItsAncestorNeedsStyleRecalc().

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::nodeOrItsAncestorNeedsStyleRecalc):
(WebCore::updateStyleIfNeededForNode):
(WebCore::ComputedStyleExtractor::propertyValue):

9:36 AM Changeset in webkit [177073] by Gustavo Noronha Silva
  • 18 edits
    9 adds in trunk

[GTK][WK2] Add HTML5 Notifications support
https://bugs.webkit.org/show_bug.cgi?id=61140

.:

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2014-12-09
Reviewed by Carlos Garcia Campos.

  • Source/cmake/FindLibNotify.cmake: Added.
  • Source/cmake/OptionsGTK.cmake: add option to enable notifications, look for

libnotify and use it for a default implementation when found.

Source/WebKit2:

Patch by Claudio Saavedra <Claudio Saavedra> and Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2014-12-09
Reviewed by Carlos Garcia Campos.

  • PlatformGTK.cmake: add new files to the build.
  • UIProcess/API/gtk/WebKitForwardDeclarations.h:
  • UIProcess/API/gtk/WebKitNotification.cpp: Added. New GObject used to expose information about

the notification to the API.
(webkitNotificationGetProperty):
(webkit_notification_class_init):
(webkitNotificationCreate):
(webkit_notification_get_id):
(webkit_notification_get_title):
(webkit_notification_get_body):

  • UIProcess/API/gtk/WebKitNotification.h: Added.
  • UIProcess/API/gtk/WebKitNotificationPermissionRequest.cpp: Added. Permission request object

for notifications.
(webkitNotificationPermissionRequestAllow):
(webkitNotificationPermissionRequestDeny):
(webkit_permission_request_interface_init):
(webkitNotificationPermissionRequestDispose):
(webkit_notification_permission_request_class_init):
(webkitNotificationPermissionRequestCreate):

  • UIProcess/API/gtk/WebKitNotificationPermissionRequest.h: Added.
  • UIProcess/API/gtk/WebKitNotificationPermissionRequestPrivate.h: Added.
  • UIProcess/API/gtk/WebKitNotificationPrivate.h: Added.
  • UIProcess/API/gtk/WebKitNotificationProvider.cpp: Added. Notification provider that emits signals.

The C API allows overriding the notification providers and managers for customizing the handling of
notifications. We decided to go for a single manager and a single provider which provide more idiomatic
GObject API - signals.
(toNotificationProvider):
(showCallback):
(cancelCallback):
(WebKitNotificationProvider::~WebKitNotificationProvider):
(WebKitNotificationProvider::create):
(WebKitNotificationProvider::WebKitNotificationProvider):
(WebKitNotificationProvider::show):
(WebKitNotificationProvider::cancel):

  • UIProcess/API/gtk/WebKitNotificationProvider.h: Added.
  • UIProcess/API/gtk/WebKitUIClient.cpp: implemented decidePolicyForNotificationPermissionRequest.
  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkitWebContextConstructed): initialize the notification provider.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewShowNotification): default implementation for showing the notification, currently
using GNotification, about to be ported to libnotify.
(webkit_web_view_class_init): set the default implementation for the show-notification signal.
(webkitWebViewEmitCloseNotification): emit the close-notification signal.
(webkitWebViewEmitShowNotification): emit the show-notification signal.

  • UIProcess/API/gtk/WebKitWebView.h:
  • UIProcess/API/gtk/WebKitWebViewPrivate.h:
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: list new objects and methods.
  • UIProcess/API/gtk/webkit2.h: include new headers.

Tools:

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2014-12-09
Reviewed by Carlos Garcia Campos.

  • Scripts/webkitperl/FeatureList.pm: enable notifications for GTK+.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:

(testWebViewNotification):
(beforeAll):

  • MiniBrowser/gtk/BrowserWindow.c: also handle notification permission requests.

(permissionRequestDialogCallback):
(webViewDecidePermissionRequest):
(geolocationRequestDialogCallback): Deleted.

LayoutTests:

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2014-12-09
Reviewed by Carlos Garcia Campos.

  • platform/gtk/TestExpectations: unskip the HTTP tests for new-style notifications.
9:12 AM Changeset in webkit [177072] by bshafiei@apple.com
  • 4 edits in branches/safari-600.1.4.13-branch/Source

Merged r176803. rdar://problem/19131878

9:10 AM Changeset in webkit [177071] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.13-branch/Source/WebCore

Merged r175974. rdar://problem/19132083

9:08 AM Changeset in webkit [177070] by bshafiei@apple.com
  • 4 edits in branches/safari-600.1.4.13-branch/Source/WebCore

Merged r175347. rdar://problem/19132037

9:06 AM Changeset in webkit [177069] by bshafiei@apple.com
  • 4 edits
    2 copies in branches/safari-600.1.4.13-branch

Merged r175345. rdar://problem/19132020

9:05 AM Changeset in webkit [177068] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.13-branch

Merged r175197. rdar://problem/19132052

9:02 AM Changeset in webkit [177067] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.13-branch/Source/WebCore

Merged r176735. rdar://problem/19132009

9:01 AM Changeset in webkit [177066] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-600.1.4.13-branch

Merged r176295. rdar://problem/19132009

8:59 AM Changeset in webkit [177065] by bshafiei@apple.com
  • 3 edits
    9 copies in branches/safari-600.1.4.13-branch

Merged r175074. rdar://problem/19131907

8:57 AM Changeset in webkit [177064] by bshafiei@apple.com
  • 4 edits
    2 copies in branches/safari-600.1.4.13-branch

Merged r174946. rdar://problem/19131919

8:54 AM Changeset in webkit [177063] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-600.1.4.13-branch

Merged r174922. rdar://problem/19131993

8:53 AM Changeset in webkit [177062] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-600.1.4.13-branch

Merged r173845. rdar://problem/19131891

8:51 AM Changeset in webkit [177061] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-600.1.4.13-branch

Merged r173843. rdar://problem/19131981

8:48 AM Changeset in webkit [177060] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-600.1.4.13-branch

Merged r173738. rdar://problem/19131970

8:46 AM Changeset in webkit [177059] by bshafiei@apple.com
  • 3 edits in branches/safari-600.1.4.13-branch

Merged r173424. rdar://problem/19131999

8:00 AM Changeset in webkit [177058] by Philippe Normand
  • 5 edits
    2 adds in trunk/Source/WebCore

[GStreamer] AudioSourceProvider support in the MediaPlayer
https://bugs.webkit.org/show_bug.cgi?id=78883

Reviewed by Gustavo Noronha Silva.

GStreamer-based audio source provider for the GTK and EFL
ports. This new component gathers decoded raw audio data from the
MediaPlayer and pipes it to an AudioBus when required by the
User Agent.

  • PlatformEfl.cmake: New files in the build.
  • PlatformGTK.cmake: Ditto.
  • platform/audio/gstreamer/AudioSourceProviderGStreamer.cpp: Added.

(WebCore::onAppsinkNewBufferCallback): Function called when a new
buffer can be pulled from appsink.
(WebCore::onGStreamerDeinterleavePadAddedCallback): Function
called when a new source pad has been added to deinterleave.
(WebCore::onGStreamerDeinterleaveReadyCallback): Function called
when the deinterleave element completed the configuration of all
its source pads.
(WebCore::copyGstreamerBuffersToAudioChannel): Called for each
channel of the AudioBus that needs data as input.
(WebCore::AudioSourceProviderGStreamer::AudioSourceProviderGStreamer):
Create an audio bin that by default routes buffers only to
autoaudiosink. A new route is added if the provider has a client.
(WebCore::AudioSourceProviderGStreamer::~AudioSourceProviderGStreamer):
Clean buffer adapters and audio bin.
(WebCore::AudioSourceProviderGStreamer::configureAudioBin):
(WebCore::AudioSourceProviderGStreamer::provideInput): Transfer
data from the buffer adapters to the bus channels.
(WebCore::AudioSourceProviderGStreamer::handleAudioBuffer): Pull a
buffer from appsink and queue it to the buffer adapter.
(WebCore::AudioSourceProviderGStreamer::setClient): Complete the
construction of the audio bin by adding a new chain to the tee
element. This new chain will deinterleave the buffer stream to
planar audio channels and route them to an appsink per channel for
data extraction.
(WebCore::AudioSourceProviderGStreamer::handleNewDeinterleavePad):
A new appsink after a new source pad has been added to deinterleave.
(WebCore::AudioSourceProviderGStreamer::deinterleavePadsConfigured):
Configure the client Node format (number of channels and sample
rate) once the provider knows how many audio channels are managed
by the pipeline.
(WebCore::cleanUpElementsAfterDeinterleaveSourcePadCallback):
(WebCore::AudioSourceProviderGStreamer::cleanUpElementsAfterDeinterleaveSourcePad):
Remove the elements after the given deinterleave source pad.
(WebCore::AudioSourceProviderGStreamer::reset): Cleanup the
deinterleave source pads. This is especially needed before the
whole pipeline goes to NULL and later on prerolls again.

  • platform/audio/gstreamer/AudioSourceProviderGStreamer.h: Added.

(WebCore::AudioSourceProviderGStreamer::create): Use this to
create the provider and get an OwnPtr of it.
(WebCore::AudioSourceProviderGStreamer::client): Provider client getter.
(WebCore::AudioSourceProviderGStreamer::getAudioBin): Audio bin
getter, used by the media player to configure its
playbin::audio-sink property.

  • platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
Provider life cycle management and reset the audio provider before
going to NULL.
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer): Ditto.
(WebCore::MediaPlayerPrivateGStreamer::handlePluginInstallerResult): Ditto.
(WebCore::MediaPlayerPrivateGStreamer::cancelLoad): Ditto.
(WebCore::MediaPlayerPrivateGStreamer::didEnd): Ditto.
(WebCore::MediaPlayerPrivateGStreamer::createAudioSink): Configure
the audio source provider if needed.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

(WebCore::MediaPlayerPrivateGStreamer::audioSourceProvider):
Provider getter, used by MediaPlayer and MediaElement.

5:00 AM Changeset in webkit [177057] by g.czajkowski@samsung.com
  • 3 edits in trunk/Source/WebKit2

[EFL][[WK2] test_ewk2_text_checker is failed
https://bugs.webkit.org/show_bug.cgi?id=132982

Reviewed by Gyuyoung Kim.

Insert misspelled word to the input field using execCommand instead of
input.value attribute change which stops spell check, tracked by
https://bugs.webkit.org/show_bug.cgi?id=139473.

Since text checker API tests do not verify spellchecker itself (it's being
tested by LayoutTests/editing/spelling) but rather opportunity for overriding
its functionality this patch unskips those tests in order to API coverage.

  • PlatformEfl.cmake:

Unskip test_ewk2_text_checker

  • UIProcess/API/efl/tests/resources/spelling_test.html:

Use document.execCommand("InsertText", false, "aa ") instead of
input.value = "aa " to trigger spellchecker.

4:51 AM Changeset in webkit [177056] by clopez@igalia.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r177038): [SOUP] [GTK] Debug build broken
https://bugs.webkit.org/show_bug.cgi?id=139475

Reviewed by Martin Robinson.

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::NetworkProcess::clearCacheForAllOrigins): Call clearDiskCache().
(WebKit::NetworkProcess::clearDiskCache): Implement this for SOUP.
SoupCache don't seems to have API for clearing a part of the cache,
so add a FIXME note regarding that.

4:40 AM Changeset in webkit [177055] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

URTBF after r177030.

Fix linking failure occured on ARM buildbots:
lib/libjavascriptcore_efl.so.1.11.0: undefined reference to `JSC::Structure::get(JSC::VM&, JSC::PropertyName, unsigned int&)'

  • runtime/NullGetterFunction.cpp:

Dec 9, 2014:

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

Unskip more multipart tests
https://bugs.webkit.org/show_bug.cgi?id=139431

Reviewed by Darin Adler.

  • http/tests/multipart/load-last-non-html-frame.php:
  • platform/mac/TestExpectations:
9:14 PM Changeset in webkit [177053] by dbates@webkit.org
  • 3 edits in trunk/LayoutTests

[iOS] Unskip some tests in LayoutTests/{fonts, html5lib, ietestcenter, imported, indieui, inspector, jquery}

  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
8:01 PM Changeset in webkit [177052] by dbates@webkit.org
  • 20 edits
    44 copies
    135 moves
    96 adds
    116 deletes in trunk/LayoutTests

[iOS] Update expected results for LayoutTests/{compositing, css1, css2.1, css3, cssom}
https://bugs.webkit.org/show_bug.cgi?id=139467

Rubber-stamped by Zalan Bujtas.

  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator-wk2/compositing/absolute-inside-out-of-view-fixed-expected.txt: Copied from LayoutTests/platform/ios-simulator/compositing/absolute-inside-out-of-view-fixed-expected.txt.
  • platform/ios-simulator-wk2/compositing/backing/backface-visibility-flip-expected.txt: Copied from LayoutTests/platform/ios-simulator/compositing/backing/backface-visibility-flip-expected.txt.

[...]

6:19 PM Changeset in webkit [177051] by mmaxfield@apple.com
  • 1 edit
    2 adds in trunk/PerformanceTests

Add performance test related to font fallback
https://bugs.webkit.org/show_bug.cgi?id=139332

Reviewed by Simon Fraser.

  • Layout/font-fallback.html: Added.
  • Layout/resources/font-fallback.html: Added.
5:02 PM Changeset in webkit [177050] by mmaxfield@apple.com
  • 5 edits
    8 adds in trunk

Scrolling to anchor tags does nothing in vertical-rl writing mode
https://bugs.webkit.org/show_bug.cgi?id=137838

Reviewed by David Hyatt.

Source/WebCore:

Scroll to a particular tag, and make sure the viewport is rendered as expected.

Tests: fast/events/scroll-to-anchor-vertical-lr-writing-mode.html

fast/events/scroll-to-anchor-vertical-writing-mode-contained-2.html
fast/events/scroll-to-anchor-vertical-writing-mode-contained.html
fast/events/scroll-to-anchor-vertical-writing-mode.html

  • page/FrameView.cpp:

(WebCore::FrameView::scrollToAnchor):

  • rendering/ScrollBehavior.cpp:
  • rendering/ScrollBehavior.h:

LayoutTests:

When we specify the behavior regarding scrolling to anchor tags, we previously had
only described behavior regarding horizontal text. When we have vertical text, we
need to switch the horizontal and vertical scrolling policies.

  • fast/events/scroll-to-anchor-vertical-lr-writing-mode-expected.html: Added.
  • fast/events/scroll-to-anchor-vertical-lr-writing-mode.html: Added.
  • fast/events/scroll-to-anchor-vertical-writing-mode-contained-2-expected.html: Added.
  • fast/events/scroll-to-anchor-vertical-writing-mode-contained-2.html: Added.
  • fast/events/scroll-to-anchor-vertical-writing-mode-contained-expected.html: Added.
  • fast/events/scroll-to-anchor-vertical-writing-mode-contained.html: Added.
  • fast/events/scroll-to-anchor-vertical-writing-mode-expected.html: Added.
  • fast/events/scroll-to-anchor-vertical-writing-mode.html: Added.
4:57 PM Changeset in webkit [177049] by Bem Jones-Bey
  • 3 edits in trunk

REGRESSION(r155906): Page content disappears on Tuaw article after loading
https://bugs.webkit.org/show_bug.cgi?id=138100

Reviewed by Simon Fraser.

.:

DRT causes an extra paint which makes it impossible to test this with
an automated test.

  • ManualTests/float-layer-not-painting.html: Added.

Source/WebCore:

Test: ManualTests/float-layer-not-painting.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::insertFloatingObject): If a layout happens,
it can change whether the float's renderer has a self painting layer.
So in that case, we need to update the flag on the FloatingObject
instance for that float.

4:47 PM Changeset in webkit [177048] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

Roll out r165076.
<rdar://problem/18490587>

This change broke selection when editing Confluence wiki pages.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::nodeOrItsAncestorNeedsStyleRecalc):
(WebCore::ComputedStyleExtractor::propertyValue):

  • dom/Document.cpp:

(WebCore::nodeOrItsAncestorNeedsStyleRecalc): Deleted.
(WebCore::Document::updateStyleIfNeededForNode): Deleted.

  • dom/Document.h:
  • editing/htmlediting.cpp:

(WebCore::isEditablePosition):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::forwardEvent):

4:36 PM Changeset in webkit [177047] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-600.1.4.13-branch

Merged r173061. rdar://problem/19131928

4:34 PM Changeset in webkit [177046] by bshafiei@apple.com
  • 3 edits
    2 copies in branches/safari-600.1.4.13-branch

Merged r173046. rdar://problem/19132074

4:32 PM Changeset in webkit [177045] by bshafiei@apple.com
  • 3 edits
    6 copies in branches/safari-600.1.4.13-branch

Merged r171849. rdar://problem/19131955

4:22 PM Changeset in webkit [177044] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebKit

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

broke ~50 API tests (Requested by thorton on #webkit).

Reverted changeset:

"Use the new storage namespace provider in WebKit1"
https://bugs.webkit.org/show_bug.cgi?id=139425
http://trac.webkit.org/changeset/177037

4:12 PM Changeset in webkit [177043] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

URTBF after r177032.

  • CMakeLists.txt:
3:26 PM Changeset in webkit [177042] by cavalcantii@gmail.com
  • 1 edit
    1 move in trunk/LayoutTests

Move mixed border color test image result to mac folder,
should address yosemite case.

3:05 PM Changeset in webkit [177041] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Fix iOS build after r177035.

Unreviewed.

I accidentally added my line to WebCore.exp.in inside an

  • WebCore.exp.in:
2:39 PM Changeset in webkit [177040] by ap@apple.com
  • 5 edits in trunk/Source/WebKit2

Kotoeri sometimes doesn't correctly process the first chanaracter in a text field in Safari 7.1 or 6.2
https://bugs.webkit.org/show_bug.cgi?id=139459
rdar://problem/19017432
rdar://problem/19036869

Reviewed by Enrica Casucci.

When inputContext changes, notify the application. We already did this when the context
changed due to plug-ins, and this used to sort of make it work on on yahoo.co.jp,
which has plug-ins. But that was quite unreliable, as evidenced by the reproducible
cases where we didn't use an input method for the first keypress.

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::editorStateChanged):

  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::notifyApplicationAboutInputContextChange):

1:54 PM Changeset in webkit [177039] by commit-queue@webkit.org
  • 9 edits in trunk/Source

Enable automatic optimized fullscreen mode.
https://bugs.webkit.org/show_bug.cgi?id=139437

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-12-09
Source/WebCore:

Reviewed by Eric Carlson.

Anticipate transition to optimized video fullscreen mode when entering background.

  • WebCore.exp.in:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::overrideBackgroundPlaybackRestriction): Add logic for automatic transition detection.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoOptimized): Add logic for automatic transition detection.

Source/WebKit2:

Reviewed by Simon Fraser.

Anticipate the automatic transition to optimized video fullscreen mode when deciding if the page is visible.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _isShowingVideoOptimized]): Renamed. Test precondition.
(-[WKWebView _mayAutomaticallyShowVideoOptimized]): Added.
(-[WKWebView _isPlayingFullscreenOptimizedVideo]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::isViewVisible): Test for optimized modes even when not in a window.

1:53 PM Changeset in webkit [177038] by andersca@apple.com
  • 8 edits in trunk/Source/WebKit2

Add support for clearing the disk cache
https://bugs.webkit.org/show_bug.cgi?id=139458

Reviewed by Antti Koivisto.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::deleteWebsiteData):
If we're asked to clear the disk cache, do so. Clearing the cache is asynchronous,
so we make sure not to call the completion handler right away in that case.

  • NetworkProcess/NetworkProcess.h:

Add clearDiskCache member function.

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::clearDiskCache):
Clear the disk cache, then call the completion handler.

  • NetworkProcess/mac/NetworkProcessMac.mm:

(WebKit::NetworkProcess::clearCacheForAllOrigins):
Call the new clearDiskCache function.

  • Shared/WebsiteData/WebsiteDataTypes.h:

Add WebsiteDataTypeDiskCache.

  • UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:

(toWebsiteDataTypes):
Handle WKWebsiteDataTypeDiskCache.

1:49 PM Changeset in webkit [177037] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit

Use the new storage namespace provider in WebKit1
https://bugs.webkit.org/show_bug.cgi?id=139425

Reviewed by Tim Horton.

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
Set the storage namespace provider from the web page group.

Source/WebKit/win:

  • WebView.cpp:

(localStorageDatabasePath):
Helper from getting the local storage database path given a WebPreferences instance.

(WebView::initWithFrame):
Create a storage namespace provider.

1:45 PM Changeset in webkit [177036] by benjamin@webkit.org
  • 2 edits in trunk/Tools

Fix webkitpy test expectation

Not sure what I messed up, but TOTAL_SKIPS was not right.

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-12-09

  • Scripts/webkitpy/port/test.py:
1:03 PM Changeset in webkit [177035] by mmaxfield@apple.com
  • 28 edits in trunk

Delete Node::boundingBox()
https://bugs.webkit.org/show_bug.cgi?id=139333

Source/WebCore:

Conceptually, boundingBox() should be on RenderInline. In addition,
Node::boundingBox() is completely broken for inline elements: it
makes a rect from the top left of the first inline child to the
bottom right of the last inline child, disregarding the intermediate
inline children. This breaks with vertical text and with line
breaks.

What makes this problem worse is that some functions actually rely
on this bad behavior. These functions are functions that use the
Node's so-called "bounding box" to scroll to an anchor tag.

This patch goes through all the call sites of Node::boundingBox(),
and segregates them into calls that expect the true bounding box
and calls that need this false bounding box. This patch then moves
this false bounding box into RenderElement, using the name
anchorRect(). Callers what want the correct bounding box have been
updated to use RenderElement::absoluteBoundingBoxRect().

Reviewed by Zalan Bujtas.

No new tests because there should be no behavior change.

  • accessibility/AccessibilitySlider.cpp:

(WebCore::AccessibilitySliderThumb::elementRect): Use
RenderObject::absoluteBoundingBoxRect()

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::getUpperLeftCorner): Deleted.
(WebCore::ContainerNode::getLowerRightCorner): Deleted.
(WebCore::ContainerNode::boundingBox): Deleted.

  • dom/ContainerNode.h:
  • dom/Element.cpp:

(WebCore::Element::scrollIntoView): Use RenderElement::anchorRect().
(WebCore::Element::scrollIntoViewIfNeeded): Ditto.
(WebCore::Element::updateFocusAppearance): Ditto.

  • dom/Node.cpp:

(WebCore::Node::boundingBox): Deleted.

  • dom/Node.h:

(WebCore::Node::pixelSnappedBoundingBox): Deleted.

  • html/ColorInputType.cpp:

(WebCore::ColorInputType::elementRectRelativeToRootView): Use
RenderObject::absoluteBoundingBoxRect()

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setupDateTimeChooserParameters): Ditto.

  • html/ValidationMessage.cpp:

(WebCore::ValidationMessage::buildBubbleTree): Ditto.

  • page/FrameView.cpp:

(WebCore::FrameView::scrollElementToRect): Use
RenderElement::anchorRect().
(WebCore::FrameView::scrollToAnchor): Ditto.

  • page/SpatialNavigation.cpp:

(WebCore::nodeRectInAbsoluteCoordinates): Use
RenderObject::absoluteBoundingBoxRect()

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::getUpperLeftCorner): Moved from ContainerNode.
(WebCore::RenderElement::getLowerRightCorner): Moved from
ContainerNode.
(WebCore::RenderElement::anchorRect): Moved from ContainerNode.

  • rendering/RenderObject.h:
  • rendering/RenderText.cpp:

(WebCore::RenderText::topOfFirstText): Helper for
RenderElement::anchorRect()

  • rendering/RenderText.h:

Source/WebKit/mac:

Reviewed by Zalan Bujtas.

  • WebView/WebActionMenuController.mm:

(elementBoundingBoxInWindowCoordinatesFromNode): Use
RenderObject::absoluteBoundingBoxRect().

Source/WebKit2:

Reviewed by Zalan Bujtas.

  • Shared/WebHitTestResult.cpp:

(WebKit::WebHitTestResult::Data::elementBoundingBoxInWindowCoordinates):
Use RenderObject::absoluteBoundingBoxRect().

  • WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp:

(WebKit::WebPage::findZoomableAreaForPoint): Use
RenderObject::absoluteBoundingBoxRect().

12:50 PM Changeset in webkit [177034] by benjamin@webkit.org
  • 9 edits in trunk/Tools

Remove virtual test support from webkitpy
https://bugs.webkit.org/show_bug.cgi?id=139427

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-12-09
Reviewed by Alexey Proskuryakov.

It seems that the only concrete client of virtual tests is the unit tests :D

This patch tries to clean as much useless code as possible.

  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:

(RunTest.test_tolerance):
(RunTest.test_virtual): Deleted.

  • Scripts/webkitpy/layout_tests/views/printing.py:

(Printer._print_test_trace):

  • Scripts/webkitpy/port/base.py:

(Port.expected_filename):
(Port.tests):
(Port.test_isfile):
(Port.test_isdir):
(Port.sample_process):
(Port.find_system_pid):
(Port.test_expectations_file_position):
(Port.virtual_test_suites): Deleted.
(Port): Deleted.
(Port.populated_virtual_test_suites): Deleted.
(Port._virtual_tests): Deleted.
(Port.lookup_virtual_test_base): Deleted.
(Port.lookup_virtual_test_args): Deleted.
(VirtualTestSuite): Deleted.
(VirtualTestSuite.init): Deleted.
(VirtualTestSuite.repr): Deleted.

  • Scripts/webkitpy/port/base_unittest.py:

(PortTest.test_test_exists):
(PortTest.test_test_isfile):
(PortTest.test_test_isdir):
(PortTest.test_tests):

  • Scripts/webkitpy/port/driver.py:

(DriverProxy.run_test): Deleted.

  • Scripts/webkitpy/port/test.py:

(TestPort._skipped_tests_for_unsupported_features):
(TestPort.all_baseline_variants):
(TestPort.virtual_test_suites): Deleted.

  • Scripts/webkitpy/tool/commands/queries.py:

(PrintBaselines.init):
(PrintBaselines.execute):

  • Scripts/webkitpy/tool/commands/queries_unittest.py:

(PrintBaselinesTest.test_basic):
(PrintBaselinesTest.test_multiple):
(PrintBaselinesTest.test_csv):

12:31 PM Changeset in webkit [177033] by Chris Dumez
  • 3 edits
    5 adds in trunk

[WK2] Crash when answering notification permission request after navigating
https://bugs.webkit.org/show_bug.cgi?id=139429
<rdar://problem/18921122>

Reviewed by Andreas Kling.

Source/WebKit2:

When requesting a notification permission, navigating away and then
answering the permission, WebKit2 would crash. This is because upon
navigating, the request is cancelled and removed from the HashMaps
in NotificationPermissionRequestManager. When
didReceiveNotificationPermissionDecision() is later called, it would
look for the request identifier in m_idToOriginMap HashMap. As the
request was cancelled, HashMap::take() call would return null for
the SecurityOrigin*. This security origin pointer is then removed
from m_originToIDMap, but the code was failing to do a null check
first. Calling HashMap::remove(nullptr) would then crash.

This patch adds the missing null check and a layout test to cover
this case.

Test: http/tests/notifications/legacy/notification-request-permission-then-navigate.html

  • WebProcess/Notifications/NotificationPermissionRequestManager.cpp:

(WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):

LayoutTests:

Add layout test to cover the case where the notification permission is
requesting before navigating to a new URL and answered after the page
is navigated away.

  • http/tests/notifications/legacy/notification-request-permission-then-navigate-expected.txt: Added.
  • http/tests/notifications/legacy/notification-request-permission-then-navigate.html: Added.
  • http/tests/notifications/legacy/resources/notify-opener-done.html: Added.
  • http/tests/notifications/legacy/resources/request-permission-then-navigate.html: Added.
12:29 PM Changeset in webkit [177032] by andersca@apple.com
  • 11 edits
    1 copy
    1 add in trunk/Source/WebKit2

Implement clearing of cookies
https://bugs.webkit.org/show_bug.cgi?id=139455

Reviewed by Andreas Kling.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::deleteWebsiteData):
Handle deleting cookies by finding the right network storage session and deleting the cookies from it.
Then, send a DidDeleteWebsiteData message back.

  • NetworkProcess/NetworkProcess.h:

Add new members.

  • NetworkProcess/NetworkProcess.messages.in:

Add new DeleteWebsiteData message.

  • Shared/WebsiteData/WebsiteDataTypes.h:

Move the website data types enum to its own file so it can be shared.

  • UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:

(toWebsiteDataTypes):
Update now that WebsiteDataTypes is its own enum.

(-[_WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]):
removeDataModifiedSince was renamed to removeData.

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::generateCallbackID):
Helper function to create a callback ID.

(WebKit::NetworkProcessProxy::~NetworkProcessProxy):
Assert that we have no pending callbacks.

(WebKit::NetworkProcessProxy::deleteWebsiteData):
Put the completion handler in our map and message the network process.

(WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
Call all completion handlers.

(WebKit::NetworkProcessProxy::didDeleteWebsiteData):
Grab the completion handler and call it.

  • UIProcess/Network/NetworkProcessProxy.h:

Add new members.

  • UIProcess/Network/NetworkProcessProxy.messages.in:

Add DidDeleteWebsiteData callback.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::computeNetworkProcessAccessType):
Helper function that computes the type of process access we'd need for the given mask of
website data types.

(WebKit::WebsiteDataStore::removeData):
Gather all the network processes and message them. Use a callback aggregator object to track callbacks
so we'll call the completion handler once all callbacks have been invoked.

  • UIProcess/WebsiteData/WebsiteDataStore.h:

Move WebsiteDataTypes to its own file.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

12:06 PM Changeset in webkit [177031] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

REGRESSION (r173272): When open PDF from Safari in iBooks, title is replaced to “QuickLookPDF-s72DbgAU-1”
https://bugs.webkit.org/show_bug.cgi?id=139453
rdar://problem/19052192

Reviewed by Pratik Solanki.

Pulling the suggested filename from the platform response returned null string on USE(CFNETWORK) code path
if it was the first thing needed from it.

  • platform/network/cf/ResourceResponseCFNet.cpp:

(WebCore::ResourceResponse::platformSuggestedFilename): Use the lazy accessor.

11:52 AM Changeset in webkit [177030] by msaboff@apple.com
  • 20 edits
    5 adds in trunk

DFG Tries using an inner object's getter/setter when one hasn't been defined
https://bugs.webkit.org/show_bug.cgi?id=139229

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Added a new NullGetterFunction singleton class to use for getters and setters that
haven't been set to a user defined value. The NullGetterFunction callReturnUndefined()
and createReturnUndefined() methods return undefined. Changed all null checks of the
getter and setter pointers to the newly added isGetterNull() and isSetterNull()
helper methods.

Added NullGetterFunction.cpp & .h to build files.

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • runtime/ObjectPrototype.cpp:

(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):

  • runtime/PropertyDescriptor.cpp:

(JSC::PropertyDescriptor::setDescriptor):
(JSC::PropertyDescriptor::setAccessorDescriptor):
Changed checking getter and setter to null to use new isGetterNull() and isSetterNull()
helpers.

  • inspector/JSInjectedScriptHostPrototype.cpp:

(Inspector::JSInjectedScriptHostPrototype::finishCreation):

  • inspector/JSJavaScriptCallFramePrototype.cpp:
  • jit/JITOperations.cpp:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/JSObject.cpp:

(JSC::JSObject::putIndexedDescriptor):
(JSC::putDescriptor):
(JSC::JSObject::defineOwnNonIndexProperty):

  • runtime/MapPrototype.cpp:

(JSC::MapPrototype::finishCreation):

  • runtime/SetPrototype.cpp:

(JSC::SetPrototype::finishCreation):
Updated calls to GetterSetter::create(), setGetter(), setSetter(), withGetter()
and withSetter() to provide a global object.

  • runtime/GetterSetter.cpp:

(JSC::GetterSetter::withGetter):
(JSC::GetterSetter::withSetter):
(JSC::callGetter):
(JSC::callSetter):

  • runtime/GetterSetter.h:

(JSC::GetterSetter::GetterSetter):
(JSC::GetterSetter::create):
(JSC::GetterSetter::isGetterNull):
(JSC::GetterSetter::isSetterNull):
(JSC::GetterSetter::setGetter):
(JSC::GetterSetter::setSetter):
Changed to use NullGetterFunction for unspecified getters / setters.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::createThrowTypeError):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::nullGetterFunction):
(JSC::JSGlobalObject::evalFunction):
Added m_nullGetterFunction singleton. Updated calls to GetterSetter::create(),
setGetter() and setSetter() to provide a global object.

  • runtime/NullGetterFunction.cpp: Added.

(JSC::callReturnUndefined):
(JSC::constructReturnUndefined):
(JSC::NullGetterFunction::getCallData):
(JSC::NullGetterFunction::getConstructData):

  • runtime/NullGetterFunction.h: Added.

(JSC::NullGetterFunction::create):
(JSC::NullGetterFunction::createStructure):
(JSC::NullGetterFunction::NullGetterFunction):
New singleton class that returns undefined when called.

LayoutTests:

New regression test.

  • js/regress-139229-expected.txt: Added.
  • js/regress-139229.html: Added.
  • js/script-tests/regress-139229.js: Added.

(InnerObjectNoGetter):
(InnerObjectNoGetter.prototype.set enabled):
(InnerObjectNoSetter):
(InnerObjectNoSetter.prototype.get enabled):
(OuterObject):
(OuterObject.prototype.get enabled):
(OuterObject.prototype.set enabled):

11:39 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
11:39 AM Changeset in webkit [177029] by ggaren@apple.com
  • 4 edits in trunk

Re-enable function.arguments
https://bugs.webkit.org/show_bug.cgi?id=139452
Source/JavaScriptCore:

<rdar://problem/18848149>

Reviewed by Sam Weinig.

Disabling function.arguments broke a few websites, and we don't have
time right now to work through the details.

I'm re-enabling function.arguments but leaving in the infrastructure
to re-disable it, so we can try this experiment again in the future.

  • runtime/Options.h:

LayoutTests:

Reviewed by Sam Weinig.

feature by default now.

11:35 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
11:32 AM Changeset in webkit [177028] by Csaba Osztrogonác
  • 10 edits
    2 deletes in trunk/Tools

Blink Merge: Remove 'http_lock' code from webkitpy
https://bugs.webkit.org/show_bug.cgi?id=136722

Reviewed by Alexey Proskuryakov.

Based on Blink commit by Dirk Pranke <dpranke@chromium.org>
https://chromium.googlesource.com/chromium/blink/+/196f8146a948275c2f1594b13e30ab19a6e6fd66

  • Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:

(LayoutTestRunner.init):
(LayoutTestRunner.run_tests):
(LayoutTestRunner.start_servers): Renamed from start_servers_with_lock.
(LayoutTestRunner.stop_servers): Renamed from stop_servers_with_lock.

  • Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:

(FakePrinter.flush):
(LayoutTestRunnerTests._runner):
(LayoutTestRunnerTests._run_tests):
(LayoutTestRunnerTests.test_servers_started):
(LockCheckingRunner): Deleted.
(LockCheckingRunner.init): Deleted.
(LockCheckingRunner.handle_finished_list): Deleted.
(LayoutTestRunnerTests.test_http_locking): Deleted.

  • Scripts/webkitpy/port/base.py:

(Port.init):
(Port.to.http_server_supports_ipv6):
(Port.to.stop_websocket_server):
(Port.to.acquire_http_lock): Deleted.
(Port.to.release_http_lock): Deleted.

  • Scripts/webkitpy/port/http_lock.py: Removed.
  • Scripts/webkitpy/port/http_lock_unittest.py: Removed.
  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort.show_results_html_file):
(IOSSimulatorPort.acquire_http_lock): Deleted.
(IOSSimulatorPort): Deleted.
(IOSSimulatorPort.release_http_lock): Deleted.

  • Scripts/webkitpy/port/mac.py:

(MacPort.show_results_html_file):
(MacPort): Deleted.
(MacPort.acquire_http_lock): Deleted.
(MacPort.release_http_lock): Deleted.

  • Scripts/webkitpy/port/mock_drt.py:

(MockDRTPort.start_websocket_server):
(MockDRTPort.stop_websocket_server):
(MockDRTPort.acquire_http_lock): Deleted.
(MockDRTPort.release_http_lock): Deleted.

  • Scripts/webkitpy/port/mock_drt_unittest.py:

(MockDRTPortTest.test_uses_apache):
(MockDRTPortTest.integration_test_http_lock): Deleted.

  • Scripts/webkitpy/port/port_testcase.py:

(PortTestCase.assert_servers_are_up):
(PortTestCase.integration_test_http_lock): Deleted.

  • Scripts/webkitpy/port/test.py:

(TestPort.start_websocket_server):
(TestPort.stop_websocket_server):
(TestPort.acquire_http_lock): Deleted.
(TestPort.release_http_lock): Deleted.

11:08 AM Changeset in webkit [177027] by ddkilzer@apple.com
  • 19 edits in trunk/Source

Switch from using PLATFORM_NAME to SDK selectors in ANGLE, bmalloc, gtest, JavaScriptCore, WTF
<http://webkit.org/b/139212>

Reviewed by Joseph Pecoraro.

Source/bmalloc:

  • Configurations/Base.xcconfig:
  • Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS on OS X.
  • Configurations/DebugRelease.xcconfig:
  • Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.

Source/JavaScriptCore:

  • Configurations/Base.xcconfig:
  • Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS on OS X.
  • Only set LLVM_LOCAL_HEADER_PATH and LLVM_SYSTEM_HEADER_PATH on OS X.
  • Set JAVASCRIPTCORE_CONTENTS_DIR and JAVASCRIPTCORE_FRAMEWORKS_DIR separately for iOS and OS X.
  • Configurations/DebugRelease.xcconfig:
  • Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
  • Configurations/JSC.xcconfig:
  • Only set CODE_SIGN_ENTITLEMENTS for iOS hardware builds.
  • Configurations/JavaScriptCore.xcconfig:
  • Set OTHER_LDFLAGS separately for iOS and OS X.
  • Set SECTORDER_FLAGS separately for iOS and OS X, but only for Production builds.
  • Only set EXCLUDED_SOURCE_FILE_NAMES for iOS.
  • Configurations/LLVMForJSC.xcconfig:
  • Rename LLVM_LIBS_iphoneos to LLVM_LIBS_ios.
  • Set LLVM_LIBRARY_PATHS and OTHER_LDFLAGS_LLVM_ENABLE_FTL_JIT separately for iOS hardware and OS X.
  • Fix curly braces in LIBRARY_SEARCH_PATHS.
  • Merge OTHER_LDFLAGS_BASE into OTHER_LDFLAGS. (Could have been done before this patch.)
  • Configurations/ToolExecutable.xcconfig:
  • Only set CODE_SIGN_ENTITLEMENTS for iOS, per target.
  • Only set CLANG_ENABLE_OBJC_ARC for i386 on the iOS Simulator.
  • Add missing newline.
  • Configurations/Version.xcconfig:
  • Set SYSTEM_VERSION_PREFIX separately for iOS and OS X.

Source/ThirdParty:

  • gtest/xcode/Config/General.xcconfig:
  • Only set SDKROOT and TOOLCHAINS on OS X.

Source/ThirdParty/ANGLE:

  • Configurations/Base.xcconfig:
  • Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS on OS X.
  • Configurations/DebugRelease.xcconfig:
  • Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.

Source/WTF:

  • Configurations/Base.xcconfig:
  • Only set GCC_ENABLE_OBJC_GC, GCC_MODEL_TUNING and TOOLCHAINS on OS X.
  • Configurations/DebugRelease.xcconfig:
  • Only set MACOSX_DEPLOYMENT_TARGET and SDKROOT on OS X.
10:52 AM Changeset in webkit [177026] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Mark several hidpi compositing tests that fail on EWS bots with ATI graphics.

  • platform/mac/TestExpectations:
10:31 AM Changeset in webkit [177025] by jdiggs@igalia.com
  • 14 edits in trunk

AX: [ATK] MathML tokens, tables, and row-like elements are exposed with ATK_ROLE_UNKNOWN
https://bugs.webkit.org/show_bug.cgi?id=139402

Reviewed by Chris Fleizach.

Source/WebCore:

Expose tables and their children using existing table AtkRole types,
token elements using the new ATK_ROLE_STATIC, and row-like elements
using ATK_ROLE_PANEL. Also expose <mlabeledtr> as a math table row
and <ms> as math text.

No new tests; instead, added MathML elements to roles-exposed.html.

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::isMathToken):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::isMathToken):
(WebCore::AccessibilityRenderObject::isMathText):
(WebCore::AccessibilityRenderObject::isMathTableRow):

  • accessibility/AccessibilityRenderObject.h:
  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(atkRole):

  • css/mathml.css:

(ms, mi, mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose):
(mi, mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle, menclose): Deleted.

  • mathml/mathtags.in:

LayoutTests:

  • accessibility/roles-exposed.html: Added MathML elements.
  • platform/efl/accessibility/roles-exposed-expected.txt: Updated for added elements.
  • platform/gtk/accessibility/roles-exposed-expected.txt: Updated for added elements.
  • platform/mac-mavericks/accessibility/roles-exposed-expected.txt: Updated for added elements.
  • platform/mac-mountainlion/accessibility/roles-exposed-expected.txt: Updated for added elements.
  • platform/mac/accessibility/roles-exposed-expected.txt: Updated for added elements.
10:31 AM Changeset in webkit [177024] by dino@apple.com
  • 4 edits in trunk/Source

[Apple] Use Accelerate framework to speed-up FEGaussianBlur
https://bugs.webkit.org/show_bug.cgi?id=139310

Unreviewed followup, after comments by Andreas Kling.

It was pointed out that we already have a USE(ACCELERATE), so
we don't need a HAVE(ACCELERATE) :)

Source/WebCore:

  • platform/graphics/filters/FEGaussianBlur.cpp:

(WebCore::FEGaussianBlur::platformApplyGeneric):
(WebCore::FEGaussianBlur::platformApply):

Source/WTF:

  • wtf/Platform.h:
10:21 AM Changeset in webkit [177023] by berto@igalia.com
  • 2 edits in trunk/Source/WTF

Undefined Symbol build error "_objc_registerThreadWithCollector" when building WebKit GTK Mac OS X on Snow Leopard
https://bugs.webkit.org/show_bug.cgi?id=58737

Reviewed by Darin Adler.

Replace OS(MAC_OS_X) with PLATFORM(MAC) to prevent using
osx-specific code in WebKitGTK+ builds.

  • wtf/ThreadingPthreads.cpp:

(WTF::initializeCurrentThreadInternal):

9:53 AM Changeset in webkit [177022] by berto@igalia.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Style fix following r177019.

Use nullptr instead of 0.

  • bindings/gobject/ConvertToUTF8String.cpp:

(convertToUTF8String):

9:44 AM Changeset in webkit [177021] by jfernandez@igalia.com
  • 5 edits in trunk/Source/WebCore

Refactor of rebuildFloatingObjectSetFromIntrudingFloats function after r176957.
https://bugs.webkit.org/show_bug.cgi?id=139445

Reviewed by Darin Adler.

The function rebuildFloatingObjectSetFromIntrudingFloats would be clearer if
we use a helper function to locate the previous sibling with overhanging floats.

These changes has been suggested as part of the patch review for bug #139150, which
landed in r176957.

No new tests, no behavior change.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::avoidsFloats):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::previousSiblingWithOverhangingFloats):
(WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats):

  • rendering/RenderBlockFlow.h:
  • rendering/RenderBox.h:

(WebCore::RenderBox::isGridItem):

9:16 AM Changeset in webkit [177020] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit2

Give WebsiteDataStore a unique ID
https://bugs.webkit.org/show_bug.cgi?id=139448

Reviewed by Andreas Kling.

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::creationParameters):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::generateIdentifier):
(WebKit::WebsiteDataStore::WebsiteDataStore):

  • UIProcess/WebsiteData/WebsiteDataStore.h:

(WebKit::WebsiteDataStore::identifier):

9:12 AM WebKitGTK/2.6.x edited by berto@igalia.com
(diff)
9:11 AM Changeset in webkit [177019] by berto@igalia.com
  • 4 edits in trunk

convertToUTF8String converts null string to empty string
https://bugs.webkit.org/show_bug.cgi?id=133904

Reviewed by Carlos Garcia Campos.

Source/WebCore:

Test added to Tools/TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp

Return 0 if the string is null.

  • bindings/gobject/ConvertToUTF8String.cpp:

(convertToUTF8String):

Tools:

Test that trying to get the value of a non-existent attribute
returns 0 instead of an empty string.

  • TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp:

(WebKitDOMNodeTest::testInsertion):

7:57 AM Changeset in webkit [177018] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Build fix.

  • UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
4:43 AM Changeset in webkit [177017] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

When invalidating fullscreen, cancel instead of stop optimizedFullscfreen.
https://bugs.webkit.org/show_bug.cgi?id=139145

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-12-09
Reviewed by Eric Carlson.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::invalidate): call cancel instead of stop

  • platform/spi/ios/AVKitSPI.h: add -cancelOptimizedFullscreen.
2:22 AM WebKitGTK/2.6.x edited by Ting-Wei Lan
(diff)
2:20 AM Changeset in webkit [177016] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] LDFLAGS is ignored when running g-ir-scanner
https://bugs.webkit.org/show_bug.cgi?id=138832

Patch by Ting-Wei Lan <Ting-Wei Lan> on 2014-12-09
Reviewed by Carlos Garcia Campos.

GTK+ requires libintl on FreeBSD because there is no gettext
implementation in FreeBSD libc. In order to link to libintl, which is
not located in the default search path of the linker, we need to add
the required path via the linker command line. However, LDFLAGS is
ignored when running g-ir-scanner starting from r167873, so we have
to manually pick required flags from CMAKE_SHARED_LINKER_FLAGS and
put them in correct order to prevent g-ir-scanner from linking to
the installed version of libraries.

  • PlatformGTK.cmake:
2:04 AM Changeset in webkit [177015] by berto@igalia.com
  • 3 edits in trunk/Source/WebCore

[Media][GTK][EFL] Reduce style updates (painting) in controls
https://bugs.webkit.org/show_bug.cgi?id=137773

Reviewed by Carlos Garcia Campos.

Don't update media controls if they are not visible, and
initialize slider to a zero value.

  • Modules/mediacontrols/mediaControlsBase.js:

(Controller.prototype.createControls):
(Controller.prototype.handleDurationChange):
(Controller.prototype.updateProgress):
(Controller.prototype.updateTime):

  • Modules/mediacontrols/mediaControlsGtk.js:

(ControllerGtk.prototype.updateTime):

1:51 AM Changeset in webkit [177014] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Add video/mp2t as alternative mimetype for MPEG TS
https://bugs.webkit.org/show_bug.cgi?id=139433

Patch by Sebastian Dröge <sebastian@centricular.com> on 2014-12-09
Reviewed by Philippe Normand.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::mimeTypeCache):
It's used e.g. on http://www.jwplayer.com/html5/mediasource/ .

1:20 AM Changeset in webkit [177013] by jdiggs@igalia.com
  • 4 edits in trunk

[GTK] Bump minimum version of ATK used by jhbuild to at least 2.15.2
https://bugs.webkit.org/show_bug.cgi?id=139070

Reviewed by Carlos Garcia Campos.

Tools:

  • gtk/jhbuild.modules:

LayoutTests:

  • platform/gtk/accessibility/roles-exposed-expected.txt: Updated to reflect

the fact that the exposed role is STATIC and not UNKNOWN.

12:25 AM Changeset in webkit [177012] by commit-queue@webkit.org
  • 17 edits in trunk/Source

Enable activating optimized fullscreen mode from standard fulscreen mode.
https://bugs.webkit.org/show_bug.cgi?id=139137

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-12-09
Source/WebCore:

Reviewed by Jer Noble.

Going from standard fullscreen mode to optimized fullscreen mode requires the ability to
update the fullscreen mode in HTMLMediaElement and a new standard-and-optimized-fullscreen mode.

This change KVO observes AVKit's optimizedFullscreenActive and forwards the change down to HTMLMediaElement so it can adjust behavior appropriately.
It also hides the standard fullscreen window when going into this mode.
When exiting fullscreen from standard-and-optimized, first exit fullscreen immediately, then stopOptimizedFullscreen, and notify of completion when
optimizedFullscreen goes inactive.

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::fullscreenMode):

Treat VideoFullscreenModeStandardAndOptimized as a kind of optimized mode.

  • WebCore.exp.in: New export for WebVideoFullscreenModelVideoElement::fullscreenModeChanged
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::displayType):

Treat VideoFullscreenModeStandardAndOptimized as a kind of optimized mode.

  • html/HTMLMediaElement.h: Add new fullscreen mode.

(WebCore::HTMLMediaElement::fullscreenModeChanged): Update fullscreen mode so it does optimized fullscreen mode behaviors when applicable.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h: Declare setOptimizedActive
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVVideoLayer setPlayerViewController:]): observe optimizedFullscreenActive
(-[WebAVVideoLayer observeValueForKeyPath:ofObject:change:context:]): respond to changes to optimizedFullscreenActive
(WebVideoFullscreenInterfaceAVKit::WebVideoFullscreenInterfaceAVKit): Init members.
(WebVideoFullscreenInterfaceAVKit::playerController):

Give player controller a reference to the WebVideoFullscreenInterface so it can pass along mode change state.

(WebVideoFullscreenInterfaceAVKit::enterFullscreen): Handle new fullscreen modes.
(WebVideoFullscreenInterfaceAVKit::exitFullscreen): ditto
(WebVideoFullscreenInterfaceAVKit::invalidate): ditto
(WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): ditto
(WebVideoFullscreenInterfaceAVKit::setOptimizedActive): Handle changes to fullscreen mode.

Also handle the case that exiting fullscreen happend when optimized mode ends.

  • platform/ios/WebVideoFullscreenModel.h: declare fullscreenModeChanged()
  • platform/ios/WebVideoFullscreenModelVideoElement.h: declare fullscreenModeChanged()
  • platform/ios/WebVideoFullscreenModelVideoElement.mm: add fullscreenModeChanged()

(WebVideoFullscreenModelVideoElement::WebVideoFullscreenModelVideoElement): Init members.
(WebVideoFullscreenModelVideoElement::fullscreenModeChanged): Added. Update video element fullscreen mode.

Source/WebKit2:

Reviewed by Simon Fraser.

Going from standard fullscreen mode to optimized fullscreen mode requires the ability to
update the fullscreen mode and a new standard-and-optimized-fullscreen mode.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _isPlayingFullscreenOptimizedVideo]):
Treat new standard-and-optimized as a kind of optimized.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.h: IPC fullscreen mode changes
  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm: ditto

(WebKit::WebVideoFullscreenManagerProxy::fullscreenModeChanged): dito

  • WebProcess/ios/WebVideoFullscreenManager.h: ditto
  • WebProcess/ios/WebVideoFullscreenManager.messages.in: ditto
  • WebProcess/ios/WebVideoFullscreenManager.mm: dito

(WebKit::WebVideoFullscreenManager::WebVideoFullscreenManager): ditto
(WebKit::WebVideoFullscreenManager::setFullscreenModeChanged): ditto

Dec 8, 2014:

11:26 PM Changeset in webkit [177011] by ap@apple.com
  • 2 edits in trunk/Source/WebKit/mac

REGRESSION (r158036): WebView cannot handle HTTP Basic Authentication challenge
https://bugs.webkit.org/show_bug.cgi?id=138843
rdar://problem/18793695

Reviewed by Dan Bernstein.

  • Panels/WebAuthenticationPanel.m:

(-[WebAuthenticationPanel cancel:]):
(-[WebAuthenticationPanel logIn:]):
Don't close the panel before using panel.sheetParent, because the parent becomes nil.
In fact, we don't need to close it at all, it's enough to call orderOut:, and even
that only when using an old NSWindow API.

9:53 PM Changeset in webkit [177010] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix EFL build fix since r177001
https://bugs.webkit.org/show_bug.cgi?id=139428

Unreviewed, EFL build fix.

Do not inherit duplicated class. ExpressionNode is already
child of ParserArenaFreeable class.

  • parser/Nodes.h:
9:24 PM Changeset in webkit [177009] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix Build Warning in JavaScriptCore ControlFlowProfiler::dumpData() api.
https://bugs.webkit.org/show_bug.cgi?id=139384

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-12-08
Reviewed by Mark Lam.

Fix Build Warning by using dataLog() function instead of dataLogF() function.

  • runtime/ControlFlowProfiler.cpp:

(JSC::ControlFlowProfiler::dumpData):

9:02 PM Changeset in webkit [177008] by saambarati1@gmail.com
  • 4 edits in trunk/Source/JavaScriptCore

Web Inspector: Enable runtime API for JSC's control flow profiler
https://bugs.webkit.org/show_bug.cgi?id=139346

Reviewed by Joseph Pecoraro.

This patch creates an API that the Web Inspector can use
to get information about which basic blocks have exectued
from JSC's control flow profiler.

  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::getBasicBlocks):

  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/protocol/Runtime.json:
8:56 PM Changeset in webkit [177007] by ljaehun.lim@samsung.com
  • 2 edits in trunk/Source/WebKit2

[EFL] Use DependenciesEFL instead of Dependencies

Unreviewed, fix simple typo.

  • PlatformEfl.cmake:
7:10 PM Changeset in webkit [177006] by mmaxfield@apple.com
  • 3 edits in trunk/LayoutTests

Rebaseline Mavericks test results after r176978.

Unreviewed.

  • platform/mac-mavericks/fast/forms/search-vertical-alignment-expected.png:
  • platform/mac-mavericks/fast/forms/search-vertical-alignment-expected.txt:
6:57 PM Changeset in webkit [177005] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.3-branch/Source

Versioning.

6:50 PM Changeset in webkit [177004] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.3.11

New Tag.

6:24 PM Changeset in webkit [177003] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix the iOS build after r177002

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-12-08

  • platform/graphics/opengl/Extensions3DOpenGL.cpp:

(WebCore::Extensions3DOpenGL::supportsExtension):

6:04 PM Changeset in webkit [177002] by roger_fong@apple.com
  • 19 edits
    3 adds in trunk

Implementation EXT_sRGB as a WebGL1 extension.
https://bugs.webkit.org/show_bug.cgi?id=109332.
<rdar://problem/17363470>
Reviewed by Dean Jackson.
Tested by:
webgl/1.0.3/conformance/webgl/ext-sRGB.html
fast/canvas/webgl/constants.html
This patch implements the SRGB extension for WebGL1.
Details of the extension specification are outlined here:
https://www.khronos.org/registry/webgl/extensions/EXT_sRGB/

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::toJS):

  • html/canvas/EXTsRGB.cpp: Added.

(WebCore::EXTsRGB::EXTsRGB):
(WebCore::EXTsRGB::~EXTsRGB):
(WebCore::EXTsRGB::getName):

  • html/canvas/EXTsRGB.h: Added.
  • html/canvas/EXTsRGB.idl: Added.
  • html/canvas/WebGLExtension.h:
  • html/canvas/WebGLFramebuffer.cpp:

(WebCore::WebGLFramebuffer::checkStatus):

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
(WebCore::WebGLRenderingContext::renderbufferStorage):
(WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):

  • html/canvas/WebGLRenderingContext.h:
  • html/canvas/WebGLRenderingContext.idl:
  • platform/graphics/Extensions3D.h:
  • platform/graphics/GraphicsContext3D.cpp:

(WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
(WebCore::GraphicsContext3D::getClearBitsByFormat):
(WebCore::GraphicsContext3D::getChannelBitsByFormat):

  • platform/graphics/opengl/Extensions3DOpenGL.cpp:

(WebCore::Extensions3DOpenGL::supportsExtension):

  • platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:

(WebCore::GraphicsContext3D::texImage2D):

5:53 PM Changeset in webkit [177001] by ggaren@apple.com
  • 16 edits
    1 delete in trunk

Source/JavaScriptCore:
Removed some allocation and cruft from the parser
https://bugs.webkit.org/show_bug.cgi?id=139416

Reviewed by Mark Lam.

Now, the only AST nodes that require a destructor are the ones that
relate to pickling a function's arguments -- which will required some
deeper thinking to resolve.

This is a < 1% parser speedup.

was unused.

  • bytecompiler/NodesCodegen.cpp:

(JSC::CommaNode::emitBytecode):
(JSC::SourceElements::lastStatement):
(JSC::SourceElements::emitBytecode): Updated for interface change to linked list.

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::ASTBuilder):
(JSC::ASTBuilder::varDeclarations):
(JSC::ASTBuilder::funcDeclarations):
(JSC::ASTBuilder::createFuncDeclStatement):
(JSC::ASTBuilder::addVar): Removed the ParserArenaData abstraction because
it wasn't buying us anything. We can just use Vector directly.

(JSC::ASTBuilder::createCommaExpr):
(JSC::ASTBuilder::appendToCommaExpr): Changed to use a linked list instead
of a vector, to avoid allocating a vector with inline capacity in the
common case in which an expression is not followed by a vector.

(JSC::ASTBuilder::Scope::Scope): Use Vector directly to avoid new'ing
up a Vector*.

(JSC::ASTBuilder::appendToComma): Deleted.
(JSC::ASTBuilder::combineCommaNodes): Deleted.

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

(JSC::StatementNode::StatementNode):
(JSC::CommaNode::CommaNode):
(JSC::SourceElements::SourceElements): Updated for interface change to linked list.

  • parser/NodeInfo.h: Removed.
  • parser/Nodes.cpp:

(JSC::SourceElements::append):
(JSC::SourceElements::singleStatement): Use a linked list instead of a
vector to track the statements in a list. This removes some allocation
and it means that we don't need a destructor anymore.

(JSC::ScopeNode::ScopeNode):
(JSC::ProgramNode::ProgramNode):
(JSC::EvalNode::EvalNode):
(JSC::FunctionNode::FunctionNode): Updated for interface change to reference,
since these values are never null.

  • parser/Nodes.h:

(JSC::StatementNode::next):
(JSC::StatementNode::setNext):
(JSC::CommaNode::append): Deleted. Updated for interface change to linked list.

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::didFinishParsing): Updated for interface change to reference.

(JSC::Parser<LexerType>::parseVarDeclarationList):
(JSC::Parser<LexerType>::parseExpression): Track comma expressions as
an explicit list of CommaNodes, removing a use of vector and a destructor.

  • parser/Parser.h:

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

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createCommaExpr):
(JSC::SyntaxChecker::appendToCommaExpr):
(JSC::SyntaxChecker::appendToComma): Deleted. Updated for interface changes.

LayoutTests:
Removed the custom allocator for ParserArena
https://bugs.webkit.org/show_bug.cgi?id=139305

Reviewed by Mark Lam.

Added a test for something I messed up while writing this patch.

  • js/basic-strict-mode-expected.txt:
  • js/script-tests/basic-strict-mode.js:
5:31 PM Changeset in webkit [177000] by dino@apple.com
  • 6 edits
    1 add in trunk

[Apple] Use Accelerate framework to speed-up FEGaussianBlur
https://bugs.webkit.org/show_bug.cgi?id=139310
<rdar://problem/18434594>

PerformanceTests:

Reviewed by Simon Fraser.

Add an interactive performance test that measures the speed of a set
of blur operations on a generated images.

  • Interactive/blur-filter-timing.html: Added.

Source/WebCore:

<rdar://problem/18434594>

Reviewed by Simon Fraser.

Using Apple's Accelerate framework provides faster blurs
than the parallel jobs approach, especially since r168577
which started performing retina-accurate filters.

Using Accelerate.framework to replace the existing box blur (what
we use to approximate Gaussian blurs) gets about a 20% speedup on
desktop class machines, but between a 2x-6x speedup on iOS hardware.
Obviously this depends on the size of the content being blurred,
but it is still good.

The change is to intercept the platformApply function on
FEGaussianBlur and send it off to Accelerate.

There is an interactive performance test: PerformanceTests/Interactive/blur-filter-timing.html

  • platform/graphics/filters/FEGaussianBlur.cpp:

(WebCore::kernelPosition): Move this to a file static function from the .h.
(WebCore::accelerateBoxBlur): The Accelerate implementation.
(WebCore::standardBoxBlur): The default generic/standard implementation.
(WebCore::FEGaussianBlur::platformApplyGeneric): Use accelerate or the default form.
(WebCore::FEGaussianBlur::platformApply): Don't try the parallelJobs approach if Accelerate is available.

  • platform/graphics/filters/FEGaussianBlur.h:

(WebCore::FEGaussianBlur::kernelPosition): Deleted. Move into the .cpp.

Source/WTF:

<rdar://problem/18434594>

Reviewed by Simon Fraser.

Add a HAVE_ACCELERATE flag, true on Apple platforms.

  • wtf/Platform.h:
5:29 PM Changeset in webkit [176999] by Beth Dakin
  • 12 edits in trunk/Source

Copy and Lookup menu items should be disabled when something is not copyable
https://bugs.webkit.org/show_bug.cgi?id=139423

Reviewed by Tim Horton.

Source/WebCore:

New function allowCopy() indicates whether the HitTestResult would allow itself to
be copied onto the pasteboard.

  • WebCore.exp.in:
  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::allowsCopy):

  • rendering/HitTestResult.h:

Source/WebKit/mac:

Disable both lookup and copy when a HitTestResult does not allow copy.

  • WebView/WebActionMenuController.mm:

Set autoenablesItems to NO. It’s messing with our ability to control the enable/
disable state otherwise.

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):

Source/WebKit2:

Add allowsCopy to the WebHitTestResult.

  • Shared/WebHitTestResult.cpp:

(WebKit::WebHitTestResult::Data::Data):
(WebKit::WebHitTestResult::Data::encode):
(WebKit::WebHitTestResult::Data::decode):

  • Shared/WebHitTestResult.h:

(WebKit::WebHitTestResult::allowsCopy):

Set autoenablesItems to NO. It’s messing with our ability to control the enable/
disable state otherwise.

  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:context:configuration:webView:]):

Disable both lookup and copy when a WebHitTestResult does not allow copy.

  • UIProcess/mac/WKActionMenuController.mm:
5:28 PM Changeset in webkit [176998] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Move 'text-shadow' check from RenderStyle::changeRequiresLayout() to changeAffectsVisualOverflow()
https://bugs.webkit.org/show_bug.cgi?id=139420

Reviewed by Simon Fraser.

Move 'text-shadow' check from RenderStyle::changeRequiresLayout() to
changeAffectsVisualOverflow(). This has no behavior change as
changeRequiresLayout() calls changeAffectsVisualOverflow(). However,
this is clearer as text-shadow affects the visual overflow (similarly
to box-shadow).

No new tests, no behavior change.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeAffectsVisualOverflow):
(WebCore::RenderStyle::changeRequiresLayout):

5:26 PM Changeset in webkit [176997] by commit-queue@webkit.org
  • 4 edits
    2 deletes in trunk/Source/JavaScriptCore

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

"New JSC test in this patch is failing" (Requested by mlam on
#webkit).

Reverted changeset:

"Fixes operationPutByIds such that they check that the put
didn't"
https://bugs.webkit.org/show_bug.cgi?id=139196
http://trac.webkit.org/changeset/176979

5:20 PM Changeset in webkit [176996] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

<rdar://problem/18905383> [iOS] Crash due to null m_webPageProxyForBackForwardListForCurrentSwipe in ViewGestureController::endSwipeGesture
https://bugs.webkit.org/show_bug.cgi?id=138750

Reviewed by Tim Horton.

The snapshot for the current gesture was being removed mid-gesture by the callback from
dispatchAfterEnsuringDrawing scheduled by the previous gesture. The fix is to ignore the
callback for a gesture if it is made after the snapshot for that gesture has already been
removed (which can happen as a result of the watchdog timer firing).

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::ViewGestureController): Initialize new member variable.
(WebKit::addLogEntry): Fixed the log message format.
(WebKit::ViewGestureController::endSwipeGesture): When dispatchAfterEnsuringDrawing() calls
us back, bail out if the gesture snapshot has already been removed.
(WebKit::ViewGestureController::removeSwipeSnapshot): Increment
m_gesturePendingSnapshotRemoval.

  • UIProcess/mac/ViewGestureController.h: Added m_gesturePendingSnapshotRemoval member

variable.

5:17 PM Changeset in webkit [176995] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Fix typo.

  • storage/StorageNamespaceImpl.cpp:

(WebCore::localStorageNamespaceMap):

5:05 PM Changeset in webkit [176994] by matthew_hanson@apple.com
  • 4 edits
    4 deletes in branches/safari-600.3-branch/Tools

Rollout r176959. rdar://problem/19179009

4:48 PM Changeset in webkit [176993] by matthew_hanson@apple.com
  • 4 edits
    4 adds in branches/safari-600.3-branch/Tools

Merged r176959. rdar://problems/19179009

4:28 PM Changeset in webkit [176992] by andersca@apple.com
  • 10 edits in trunk/Source

WebStorageNamespaceProvider should create StorageNamespaceImpls
https://bugs.webkit.org/show_bug.cgi?id=139419

Reviewed by Andreas Kling.

Source/WebCore:

  • WebCore.exp.in:

Export new symbols.

  • WebCore.xcodeproj/project.pbxproj:

Make StorageNamespaceImpl.h a private header.

  • storage/StorageNamespaceImpl.cpp:

(WebCore::localStorageNamespaceMap):
Use NeverDestroyed.

(WebCore::StorageNamespaceImpl::createSessionStorageNamespace):
(WebCore::StorageNamespaceImpl::getOrCreateLocalStorageNamespace):
Add new functions for creating namespaces.

(WebCore::StorageNamespaceImpl::localStorageNamespace):
(WebCore::StorageNamespaceImpl::sessionStorageNamespace):
Call the new functions.

  • storage/StorageNamespaceImpl.h:

Add new members, make sure to deprecate the ones we don't want anyone calling.

  • storage/StorageNamespaceProvider.cpp:

(WebCore::StorageNamespaceProvider::localStorageNamespace):
(WebCore::StorageNamespaceProvider::transientLocalStorageNamespace):

  • storage/StorageNamespaceProvider.h:

Pass the quota when creating storage namespaces.

Source/WebKit:

  • Storage/WebStorageNamespaceProvider.cpp:

(WebStorageNamespaceProvider::createLocalStorageNamespace):
(WebStorageNamespaceProvider::createTransientLocalStorageNamespace):
Create StorageNamespaceImpls.

(WebStorageNamespaceProvider::createSessionStorageNamespace): Deleted.
Delete this for now.

  • Storage/WebStorageNamespaceProvider.h:
4:23 PM Changeset in webkit [176991] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit/mac

Adding user content to a group should force that group to be created
https://bugs.webkit.org/show_bug.cgi?id=139421
rdar://problem/19180108

Reviewed by Sam Weinig.

  • WebCoreSupport/WebViewGroup.h:

Store the local storage database path in the group.

  • WebCoreSupport/WebViewGroup.mm:

(WebViewGroup::getOrCreate):
If we have an existing group that hasn't had its storage namespace provider created, and the path passed is not empty,
set it. This will ensure that getOrCreate will still work when creating a storage namspace provider.

(WebViewGroup::WebViewGroup):
Initialize the new member variable.

(WebViewGroup::storageNamespaceProvider):
Create the namespace provider lazily.

  • WebView/WebView.mm:

(+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]):
(+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]):
Use getOrCreate instead of get.

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

REGRESSION (173394): Support for webcam is broken
https://bugs.webkit.org/show_bug.cgi?id=139313

Test by Antti Koivisto, reviewed and tweaked by Alexey Proskuryakov.

  • http/tests/multipart/multipart-image-expected.html: Added.
  • http/tests/multipart/multipart-image.html: Added.
  • http/tests/multipart/resources/multipart.php: Multiopart boundary must start on

a new line, so make it so. In newwer OS versions, CFNetwork has a workaround that
makes invalid multipart response work, which is why the test was passing locally.

4:10 PM Changeset in webkit [176989] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176883. rdar://problems/19158331

4:10 PM Changeset in webkit [176988] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merged r176856. rdar://problems/19157955

4:10 PM Changeset in webkit [176987] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176870. rdar://problems/19052381

4:10 PM Changeset in webkit [176986] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r176116. <rdar://problem/19052381>

3:57 PM Changeset in webkit [176985] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Move the new :nth-child() and :nth-last-child() out of experimental
https://bugs.webkit.org/show_bug.cgi?id=139329

Reviewed by Andreas Kling.

The code is stable.
Feedback has only been positive.
All the known issues have been reported to the CSS WG.

The #ifdef don't really work anymore anyway for :nth-child() and :nth-last-child().

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::selectorText):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

3:56 PM Changeset in webkit [176984] by benjamin@webkit.org
  • 3 edits
    6 adds in trunk

A selector should not match anything if there is a subselector after a non-scrollbar pseudo element
https://bugs.webkit.org/show_bug.cgi?id=139336
Source/WebCore:

rdar://problem/19051623

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-12-08
Reviewed by Andreas Kling.

Tests: fast/css/duplicated-after-pseudo-element.html

fast/css/duplicated-before-pseudo-element.html
fast/css/simple-selector-after-pseudo-element.html

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::constructFragments):
The code filtering out simple selectors was only considering
the relation CSSSelector::SubSelector. That comes from SelectorChecker where
the relation considered is the one from the previous selector.

In this case, the relation is the extracted from the current simple selector,
which is the relation with the following selector.

When a single simple selector was following a pseudo element, the relation evaluated
to descendant/adjacent/direct-adjacent and we were skipping the early return.
That simple selector was evaluated as a regular filter on the element.

In the CSS JIT, we can just remove that test altogether. Fragments are built one after
the other. By definition, the evaluated simple selector belong to the current fragment.

LayoutTests:

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-12-08
Reviewed by Andreas Kling.

  • fast/css/duplicated-after-pseudo-element-expected.html: Added.
  • fast/css/duplicated-after-pseudo-element.html: Added.
  • fast/css/duplicated-before-pseudo-element-expected.html: Added.
  • fast/css/duplicated-before-pseudo-element.html: Added.
  • fast/css/simple-selector-after-pseudo-element-expected.html: Added.
  • fast/css/simple-selector-after-pseudo-element.html: Added.
3:55 PM Changeset in webkit [176983] by benjamin@webkit.org
  • 9 edits in trunk

Fix the parsing of advanced :lang() after r176902
https://bugs.webkit.org/show_bug.cgi?id=139379

Reviewed by Andreas Kling.

Source/WebCore:

There were two mistakes that were only caught in debug:

The lexer was not calling isIdentifierStart() before parseIdentifier().
Some identifier we were parsing should have been invalid.
This was caught with an assertion in parseIdentifier().

The other issue is that we were accumulating pointer to freed memory.
The tokenizer for LANGRANGE was creating a new string with a StringBuilder.
The problem is that CSSParserString does not keep the source string alive.
Consequently, the list of language range was accumulating pointers to dead
StringImpls.

The fix there is to simply extend the token to take the original asterisk character
from the input. That is not elegant but that's efficient and we know
the buffer lifetime.

  • css/CSSParser.cpp:

(WebCore::CSSParser::realLex):

  • css/CSSGrammar.y.in: Fix the indentation of a language range rule.

LayoutTests:

Unskip and update the tests.

All the interesting cases were covered, I just had to update
the expectations.

  • TestExpectations:
  • 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:
3:34 PM Changeset in webkit [176982] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WTF

Fix iOS build after r176971.

I had previously modified the WTF forwarding header instead of modifying the real source.

  • wtf/unicode/CharacterNames.h:
3:14 PM Changeset in webkit [176981] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Try to fix the 32-bit build.

  • WebCore.exp.in:
3:14 PM Changeset in webkit [176980] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

The website data store should know all its associated pages
https://bugs.webkit.org/show_bug.cgi?id=139411

Reviewed by Tim Horton.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::close):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::~WebsiteDataStore):
(WebKit::WebsiteDataStore::addWebPage):
(WebKit::WebsiteDataStore::removeWebPage):

  • UIProcess/WebsiteData/WebsiteDataStore.h:
3:11 PM Changeset in webkit [176979] by mmirman@apple.com
  • 4 edits
    2 adds in trunk/Source/JavaScriptCore

Fixes operationPutByIds such that they check that the put didn't
change the structure of the object who's property access is being
cached.
https://bugs.webkit.org/show_bug.cgi?id=139196

Reviewed by Filip Pizlo.

  • jit/JITOperations.cpp:

(JSC::operationGetByIdOptimize): changed get to getPropertySlot
(JSC::operationPutByIdStrictBuildList): saved the structure before the put.
(JSC::operationPutByIdNonStrictBuildList): ditto.
(JSC::operationPutByIdDirectStrictBuildList): ditto.
(JSC::operationPutByIdDirectNonStrictBuildList): ditto.

  • jit/Repatch.cpp:

(JSC::tryCachePutByID): fixed structure() to use the existant vm.
(JSC::tryBuildPutByIdList): Added a check that the old structure's id
is the same as the new.
(JSC::buildPutByIdList): Added an argument

  • jit/Repatch.h:

(JSC::buildPutByIdList): Added an argument

  • tests/stress/put-by-id-build-list-order-recurse.js: Test that failed before the change
  • tests/stress/put-by-id-strict-build-list-order.js: Added.
3:10 PM Changeset in webkit [176978] by mmaxfield@apple.com
  • 22 edits
    3 adds
    1 delete in trunk

Inline elements whose parents have small line-height are laid out too low
https://bugs.webkit.org/show_bug.cgi?id=139375

Reviewed by Dave Hyatt.

Source/WebCore:

This is a port of the Blink patch at
https://src.chromium.org/viewvc/blink?revision=155253&view=revision.

When laying out inline elements, we try to align leaf children's parents'
baselines across the entire line. However, if you set line-height: 0px on a
span, the entire InlineBox which represents that span will have a height of
0, and therefore be laid out entirely on the baseline. In addition, we will
try to vertically center the leaf text in the span's InlineBox, which means
the leaf text will be vertically centered on the baseline. All the other
major browsers do not have this behavior; instead, they line up the boxes
as you would expect.

This bug led to a rendering problem on the front page of the New York Times.

Here is the ChangeLog from the Blink patch:

Fix baseline position when it is outside the element's box

Specifically, we shouldn't force the baseline to be inside the element. IE
and FF don't do this, and it's incompatible with the CSS 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

It doesn't have a special case for "baseline is outside of the element's
margin box".

Test: fast/text/small-line-height.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::baselinePosition):

LayoutTests:

Add fast/text/small-line-height.html for a simple example. In addition, update
existing tests.

  • fast/forms/textfield-overflow-by-value-update-expected.txt:
  • fast/regions/cssom/client-rects-inline-complex.html:
  • fast/regions/overflow/overflow-region-inline-expected.html:
  • fast/text/small-line-height-expected.html: Added.
  • fast/text/small-line-height.html: Added.
  • platform/mac/fast/box-sizing/box-sizing-expected.png:
  • platform/mac/fast/box-sizing/box-sizing-expected.txt:
  • platform/mac/fast/forms/search-vertical-alignment-expected.png:
  • platform/mac/fast/forms/search-vertical-alignment-expected.txt:
  • platform/mac/fast/forms/textfield-overflow-by-value-update-expected.png: Removed.
  • platform/mac/fast/multicol/client-rects-expected.png:
  • platform/mac/fast/multicol/client-rects-expected.txt:
  • platform/mac/fast/multicol/client-rects-spanners-complex-expected.png:
  • platform/mac/fast/multicol/client-rects-spanners-complex-expected.txt:
  • platform/mac/fast/multicol/client-rects-spanners-expected.png:
  • platform/mac/fast/multicol/client-rects-spanners-expected.txt:
  • platform/mac/fast/multicol/layers-split-across-columns-expected.png:
  • platform/mac/fast/multicol/layers-split-across-columns-expected.txt:
  • platform/mac/fast/multicol/newmulticol/client-rects-expected.png:
  • platform/mac/fast/multicol/newmulticol/client-rects-expected.txt:
2:56 PM Changeset in webkit [176977] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] YouTube plug-in replacement should support partial urls
https://bugs.webkit.org/show_bug.cgi?id=139400

Reviewed by Alexey Proskuryakov.

  • Modules/plugins/YouTubePluginReplacement.cpp:

(WebCore::YouTubePluginReplacement::youTubeURL): Call Document::completeURL.

2:39 PM Changeset in webkit [176976] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit

WebStorageNamespaceProvider should know about its local storage database path
https://bugs.webkit.org/show_bug.cgi?id=139413

Reviewed by Andreas Kling.

Source/WebKit:

  • Storage/WebStorageNamespaceProvider.cpp:

(WebStorageNamespaceProvider::create):
(WebStorageNamespaceProvider::WebStorageNamespaceProvider):

  • Storage/WebStorageNamespaceProvider.h:

Source/WebKit/mac:

  • WebCoreSupport/WebViewGroup.h:
  • WebCoreSupport/WebViewGroup.mm:

(WebViewGroup::getOrCreate):
(WebViewGroup::WebViewGroup):

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
(-[WebView setGroupName:]):
(-[WebView groupName]): Deleted.

2:38 PM Changeset in webkit [176975] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix.

  • platform/network/soup/CookieJarSoup.cpp:

(WebCore::deleteAllCookiesModifiedSince):

2:17 PM Changeset in webkit [176974] by akling@apple.com
  • 8 edits in trunk/Source/WebCore

Roll out r175352.
<https://webkit.org/b/139146>

This change caused some unexpected assertions in line box teardown.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::willBeDestroyed):

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::willBeDestroyed):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::willBeRemovedFromTree):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::willBeDestroyed):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::willBeDestroyed):

  • rendering/RenderReplaced.h:
2:17 PM Changeset in webkit [176973] by andersca@apple.com
  • 9 edits in trunk/Source

Change WTF::currentCPUTime to return std::chrono::microseconds and get rid of currentCPUTimeMS
https://bugs.webkit.org/show_bug.cgi?id=139410

Reviewed by Andreas Kling.

Source/JavaScriptCore:

  • API/JSContextRef.cpp:

(JSContextGroupSetExecutionTimeLimit):
(JSContextGroupClearExecutionTimeLimit):

  • runtime/Watchdog.cpp:

(JSC::Watchdog::setTimeLimit):
(JSC::Watchdog::didFire):
(JSC::Watchdog::startCountdownIfNeeded):
(JSC::Watchdog::startCountdown):

  • runtime/Watchdog.h:
  • runtime/WatchdogMac.cpp:

(JSC::Watchdog::startTimer):

Source/WTF:

  • wtf/CurrentTime.cpp:

(WTF::currentCPUTime):
(WTF::currentCPUTimeMS): Deleted.

  • wtf/CurrentTime.h:
2:12 PM Changeset in webkit [176972] by mark.lam@apple.com
  • 3 edits
    3 adds in trunk

CFA wrongly assumes that a speculation for SlowPutArrayStorageShape disallows ArrayStorageShape arrays.
<https://webkit.org/b/139327>

Reviewed by Michael Saboff.

Source/JavaScriptCore:

The code generator and runtime slow paths expects otherwise. This patch fixes
CFA to match the code generator's expectation.

  • dfg/DFGArrayMode.h:

(JSC::DFG::ArrayMode::arrayModesThatPassFiltering):
(JSC::DFG::ArrayMode::arrayModesWithIndexingShapes):

LayoutTests:

  • js/dfg-slow-put-array-storage-spec-should-allow-fast-array-storage-expected.txt: Added.
  • js/dfg-slow-put-array-storage-spec-should-allow-fast-array-storage.html: Added.
  • js/script-tests/dfg-slow-put-array-storage-spec-should-allow-fast-array-storage.js: Added.

(foo):
(test):

2:10 PM Changeset in webkit [176971] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

[iOS] Narrow non-breaking space does not fall back to a correct font
https://bugs.webkit.org/show_bug.cgi?id=139335

Reviewed by Enrica Casucci.

Source/WebCore:

Test: fast/text/narrow-non-breaking-space.html

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::requiresCustomFallbackFont):
(WebCore::FontCache::getCustomFallbackFont):

LayoutTests:

  • fast/text/narrow-non-breaking-space-expected.html: Added.
  • fast/text/narrow-non-breaking-space.html: Added.
2:06 PM Changeset in webkit [176970] by dbates@webkit.org
  • 4 edits in trunk/Source

[iOS] Fix the WebKit build with the public SDK

Source/WebCore:

Include header UIKit.h.

  • platform/spi/ios/MediaPlayerSPI.h:

Source/WebKit/mac:

Include header NSURLDownloadSPI.h.

  • WebCoreSupport/WebFrameLoaderClient.mm:
1:53 PM Changeset in webkit [176969] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

<rdar://problem/18046692> [iOS] Safari crashes at -[_NSUndoStack popAndInvoke] when trying to undo typing on closed tab
https://bugs.webkit.org/show_bug.cgi?id=139408

Reviewed by Anders Carlsson.

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView undoManager]): Override to initialize if necessary and return a unique undo
manager for this instance. This ensures that undoable operations for this webview don’t get
put in other undo managers, and matches UIWebView behavior.

1:10 PM Changeset in webkit [176968] by bshafiei@apple.com
  • 5 edits in tags/Safari-600.3.10.2/Source

Versioning.

1:08 PM Changeset in webkit [176967] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.11.2/Source

Versioning.

1:01 PM Changeset in webkit [176966] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.11.2

New tag.

1:00 PM Changeset in webkit [176965] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.3.10.2

New tag.

12:40 PM Changeset in webkit [176964] by Chris Dumez
  • 23 edits in trunk/Source

Revert r176293 & r176275

Unreviewed, revert r176293 & r176275 changing the Vector API to use unsigned type
instead of size_t. There is some disagreement regarding the long-term direction
of the API and we shouldn’t leave the API partly transitioned to unsigned type
while making a decision.

Source/JavaScriptCore:

  • bytecode/PreciseJumpTargets.cpp:
  • replay/EncodedValue.h:

Source/WebCore:

  • WebCore.exp.in:
  • bindings/js/JSDOMBinding.h:

(WebCore::jsArray):

  • bindings/js/JSWebGLRenderingContextCustom.cpp:
  • cssjit/SelectorCompiler.cpp:
  • editing/TextIterator.cpp:

(WebCore::SearchBuffer::append):
(WebCore::SearchBuffer::prependContext):
(WebCore::SearchBuffer::search):
(WebCore::SearchBuffer::length):

  • html/HTMLFormElement.cpp:

(WebCore::removeFromVector):

  • html/parser/HTMLParserIdioms.h:
  • html/parser/XSSAuditor.cpp:
  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::duplicateDataBufferIfNecessary):

Source/WebKit2:

  • Platform/IPC/ArgumentCoders.h:
  • Platform/IPC/DataReference.h:

Source/WTF:

  • wtf/Forward.h:
  • wtf/Vector.h:

(WTF::VectorTypeOperations::compare):
(WTF::VectorBufferBase::allocateBuffer):
(WTF::VectorBufferBase::tryAllocateBuffer):
(WTF::VectorBufferBase::shouldReallocateBuffer):
(WTF::VectorBufferBase::reallocateBuffer):
(WTF::VectorBufferBase::capacity):
(WTF::VectorBufferBase::VectorBufferBase):
(WTF::VectorBuffer::VectorBuffer):
(WTF::VectorBuffer::allocateBuffer):
(WTF::VectorBuffer::tryAllocateBuffer):
(WTF::VectorBuffer::shouldReallocateBuffer):
(WTF::VectorBuffer::reallocateBuffer):
(WTF::VectorBuffer::swap):
(WTF::VectorBuffer::swapInlineBuffer):
(WTF::VectorBuffer::swapInlineBuffers):
(WTF::Vector::Vector):
(WTF::Vector::capacity):
(WTF::Vector::at):
(WTF::Vector::operator[]):
(WTF::OverflowHandler>::find):
(WTF::OverflowHandler>::reverseFind):
(WTF::OverflowHandler>::fill):
(WTF::OverflowHandler>::expandCapacity):
(WTF::OverflowHandler>::tryExpandCapacity):
(WTF::OverflowHandler>::resize):
(WTF::OverflowHandler>::resizeToFit):
(WTF::OverflowHandler>::shrink):
(WTF::OverflowHandler>::grow):
(WTF::OverflowHandler>::reserveCapacity):
(WTF::OverflowHandler>::tryReserveCapacity):
(WTF::OverflowHandler>::reserveInitialCapacity):
(WTF::OverflowHandler>::shrinkCapacity):
(WTF::OverflowHandler>::append):
(WTF::OverflowHandler>::tryAppend):
(WTF::OverflowHandler>::insert):
(WTF::OverflowHandler>::insertVector):
(WTF::OverflowHandler>::remove):
(WTF::OverflowHandler>::reverse):
(WTF::OverflowHandler>::checkConsistency):

  • wtf/text/AtomicString.h:
  • wtf/text/StringImpl.h:

(WTF::StringImpl::adopt):
(WTF::equalIgnoringNullity):

  • wtf/text/StringView.h:

(WTF::append):

  • wtf/text/WTFString.h:
12:36 PM Changeset in webkit [176963] by andersca@apple.com
  • 18 edits in trunk/Source

Make deleting all cookies after a given date a little more sane
https://bugs.webkit.org/show_bug.cgi?id=139409

Reviewed by Antti Koivisto.

Source/WebCore:

  • WebCore.exp.in:

Update exports.

  • platform/network/PlatformCookieJar.h:
  • platform/network/cf/CookieJarCFNet.cpp:
  • platform/network/curl/CookieJarCurl.cpp:
  • platform/network/soup/CookieJarSoup.cpp:

Rename deleteAllCookiesModifiedAfterDate to deleteAllCookiesModifiedSince and change it
to take an std::chrono::system_clock::time_point instead.

  • platform/network/mac/CookieJarMac.mm:

(WebCore::cookieStorage):
Helper function that returns an NSHTTPCookieStorage given a network session.

(WebCore::deleteAllCookiesModifiedSince):
Get the cookie storage from the network storage instead of just getting the global one.

Source/WebKit2:

Change all the doubles to std::chrono::system_clock::time_points instead.

  • Platform/IPC/ArgumentCoders.cpp:

(IPC::ArgumentCoder<std::chrono::system_clock::time_point>::encode):
(IPC::ArgumentCoder<std::chrono::system_clock::time_point>::decode):

  • Platform/IPC/ArgumentCoders.h:
  • Scripts/webkit/messages.py:

(headers_for_type):

  • UIProcess/API/C/WKCookieManager.cpp:

(WKCookieManagerDeleteAllCookiesModifiedAfterDate):

  • UIProcess/API/C/WKCookieManager.h:
  • UIProcess/WebCookieManagerProxy.cpp:

(WebKit::WebCookieManagerProxy::deleteAllCookiesModifiedSince):
(WebKit::WebCookieManagerProxy::deleteAllCookiesModifiedAfterDate): Deleted.

  • UIProcess/WebCookieManagerProxy.h:
  • WebProcess/Cookies/WebCookieManager.cpp:

(WebKit::WebCookieManager::deleteAllCookiesModifiedSince):
(WebKit::WebCookieManager::deleteAllCookiesModifiedAfterDate): Deleted.

  • WebProcess/Cookies/WebCookieManager.h:
  • WebProcess/Cookies/WebCookieManager.messages.in:
12:34 PM Changeset in webkit [176962] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176596. rdar://problems/19176127

12:23 PM Changeset in webkit [176961] by bshafiei@apple.com
  • 5 edits in branches/safari-600.3-branch/Source

Versioning.

12:07 PM Changeset in webkit [176960] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Move the callback invocation outside of the loop.

Rubber-stamped by Tim Horton.

  • UIProcess/WebKeyValueStorageManager.cpp:

(WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin):

11:40 AM Changeset in webkit [176959] by timothy_horton@apple.com
  • 4 edits
    4 adds in trunk/Tools

Add action menu tests
https://bugs.webkit.org/show_bug.cgi?id=139156

Reviewed by Dean Jackson.

  • TestWebKitAPI/PlatformWebView.h:
  • TestWebKitAPI/mac/PlatformWebViewMac.mm:

(TestWebKitAPI::PlatformWebView::PlatformWebView):
Add a mechanism allowing tests to provide their own WKView subclass.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/action-menu-targets.html: Added.

Add a file with lots of menu targets.

  • TestWebKitAPI/Tests/WebKit2ObjC/ActionMenus.mm: Added.

(-[ActionMenusTestWKView _actionMenuItemsForHitTestResult:withType:defaultActionMenuItems:userData:]):
(-[ActionMenusTestWKView runMenuSequenceAtPoint:preMenuNeedsUpdateHandler:preWillOpenMenuHandler:preDidCloseMenuHandler:]):
(-[ActionMenusTestWKView runMenuSequenceAtPoint:preDidCloseMenuHandler:]):
Run through the normal sequence of callbacks, recording what items and type were returned, and give clients a chance to do work at various points in the process.

(-[ActionMenusTestWKView _setOverrideActionMenuItems:]):

(TestWebKitAPI::didFinishLoadForFrameCallback):
(TestWebKitAPI::didFinishDownloadCallback):
(TestWebKitAPI::didCreateDownloadDestinationCallback):
Watch downloads and ensure that they match the content we expect.

(TestWebKitAPI::watchPasteboardForString):
(TestWebKitAPI::watchPasteboardForImage):
(TestWebKitAPI::JavaScriptStringCallbackContext::JavaScriptStringCallbackContext):
(TestWebKitAPI::JavaScriptBoolCallbackContext::JavaScriptBoolCallbackContext):
(TestWebKitAPI::javaScriptStringCallback):
(TestWebKitAPI::javaScriptBoolCallback):
(TestWebKitAPI::callJavaScriptReturningString):
(TestWebKitAPI::callJavaScriptReturningBool):
(TestWebKitAPI::watchEditableAreaForString):
(TestWebKitAPI::waitForVideoReady):
(TestWebKitAPI::retrieveSelection):
(TestWebKitAPI::retrieveSelectionInElement):
(TestWebKitAPI::performMenuItemAtIndexOfTypeAsync):
(TestWebKitAPI::ensureMenuItemAtIndexOfTypeIsDisabled):
Add many helpers for testing, especially to make asynchronous things synchronous.

(TestWebKitAPI::windowPointForTarget):
(TestWebKitAPI::inset8):
Hard-code points in action-menu-targets.html for hit testing.

(TestWebKitAPI::TEST):
Add a suite of tests for WebKit2 action menus.

  • TestWebKitAPI/Tests/WebKit2ObjC/ActionMenusBundle.mm: Added.

(TestWebKitAPI::createActionContextForPhoneNumber):
(TestWebKitAPI::ActionMenuTest::ActionMenuTest):
(TestWebKitAPI::ActionMenuTest::prepareForActionMenu):
(TestWebKitAPI::ActionMenuTest::actionContextForResultAtPoint):
(TestWebKitAPI::ActionMenuTest::drawRect):
(TestWebKitAPI::ActionMenuTest::didCreatePage):
Add a bundle with a PageOverlay and a actionContextForResultAtPoint override,
so that we can test that infrastructure.

11:30 AM Changeset in webkit [176958] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

URTBF after r176953, add an unreachable return to make GCC happy.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::subresourceCachePolicy):

11:13 AM Changeset in webkit [176957] by jfernandez@igalia.com
  • 10 edits
    4 adds in trunk

[CSS Grid Layout] Grid items must set a new formatting context.
https://bugs.webkit.org/show_bug.cgi?id=139150

Reviewed by David Hyatt.

Source/WebCore:

Grid item's margins must not collapse even when they may be adjoining to
its content's margins. Also, setting a new formatting context prevents any
'float' protruding content on the adjoining grid items.

This patch also renames the expandsToEncloseOverhangingFloats to be more generic now,
determining whether a new formatting context is set or not. This affects not only to
how floats behave, but whether margins should collapse or not.

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

fast/css-grid-layout/grid-item-margins-not-collapse.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::avoidsFloats): Using the new createsNewFormattingContext function.
(WebCore::RenderBlock::expandsToEncloseOverhangingFloats): Deleted.

  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::MarginInfo::MarginInfo): Using the new createsNewFormattingContext function.
(WebCore::RenderBlockFlow::rebuildFloatingObjectSetFromIntrudingFloats): Using the new createsNewFormattingContext function.
(WebCore::RenderBlockFlow::layoutBlock): Using the new createsNewFormattingContext function.
(WebCore::RenderBlockFlow::computeOverflow): Using the new createsNewFormattingContext function.
(WebCore::RenderBlockFlow::addOverhangingFloats): Using the new createsNewFormattingContext function.
(WebCore::RenderBlockFlow::needsLayoutAfterRegionRangeChange): Using the new createsNewFormattingContext function.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::createsNewFormattingContext): Added.
(WebCore::RenderBox::avoidsFloats): Removed checks already defined in the new createsNewFormattingContext function.

  • rendering/RenderBox.h:

(WebCore::RenderBox::isGridItem): Added.

LayoutTests:

Test to verify that grid items's margin don't collapese with its parent's margin
and there is no 'float' protruding content on the adjoining grid items.

I had to rebaseline the form-hides-table.html test because table-caption, which
is supposed to establish a new formatting context, does not allow margins collapsing.

  • fast/css-grid-layout/float-not-protruding-into-next-grid-item-expected.html: Added.
  • fast/css-grid-layout/float-not-protruding-into-next-grid-item.html: Added.
  • fast/css-grid-layout/grid-item-margins-not-collapse-expected.html: Added.
  • fast/css-grid-layout/grid-item-margins-not-collapse.html: Added.
  • platform/gtk/fast/forms/form-hides-table-expected.txt: Rebaseline needed.
  • platform/mac/fast/forms/form-hides-table-expected.txt: Rebaseline needed.
  • platform/efl/TestExpectations: Mark fast/forms/form-hides-table-expected as failure.
10:50 AM Changeset in webkit [176956] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Add a stub implementation of WebsiteDataStore::removeDataModifiedSince
https://bugs.webkit.org/show_bug.cgi?id=139406

Reviewed by Antti Koivisto.

Change _WKWebsiteDataStore to call the newly added function.

  • UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:

(toWebsiteDataTypes):
(toSystemClockTime):
(-[_WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::removeDataModifiedSince):

  • UIProcess/WebsiteData/WebsiteDataStore.h:
10:47 AM Changeset in webkit [176955] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

[iOS] Attempt to fix the public SDK build after <https://trac.webkit.org/r176841>
(https://bugs.webkit.org/show_bug.cgi?id=139227)

  • platform/spi/ios/AVKitSPI.h:
10:46 AM Changeset in webkit [176954] by yoon@igalia.com
  • 14 edits in trunk/Source/WebKit2

[GTK] Let DrawingArea manages setAcceleratedCompositingWindowId
https://bugs.webkit.org/show_bug.cgi?id=117230

Reviewed by Anders Carlsson.

This is a preparation patch for Threaded Coordinated Graphics.

LayerTreeHostGtk uses a native window handle to make glContext for
accelerated compositing. Therefore it is natural for DrawingArea to take
responsibility for the native window handle. And, in Coordinated
Graphics case, WebPage creates LayerTreeHost before receiving a native
window handle from UIProcess. It means we need a method to pass the
native window handle to already created LayerTreeHost.

This patch uses DrawingAreaProxy::setNativeSurfaceHandleForCompositing
instead of WebCoreProxy::setAcceleratedCompositingWindowId to set window
ID for accelerated compositing.

Also, this patch renames the setAcceleratedCompositingWindowId with a
more generic name, setNativeSurfaceHandleForCompositing.

No new tests. No change in functionality.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseCreateWebPage):

  • UIProcess/DrawingAreaProxyImpl.cpp:

(WebKit::DrawingAreaProxyImpl::setNativeSurfaceHandleForCompositing):

  • UIProcess/DrawingAreaProxyImpl.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/gtk/WebPageProxyGtk.cpp:

(WebKit::WebPageProxy::setAcceleratedCompositingWindowId): Deleted.

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::nativeSurfaceHandleForCompositing):

  • WebProcess/WebPage/DrawingArea.messages.in:
  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::setNativeSurfaceHandleForCompositing):

  • WebProcess/WebPage/DrawingAreaImpl.h:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::glContext):
(WebKit::LayerTreeHostGtk::initialize):

  • WebProcess/WebPage/gtk/WebPageGtk.cpp:

(WebKit::WebPage::platformInitialize):
(WebKit::WebPage::setAcceleratedCompositingWindowId): Deleted.

10:42 AM Changeset in webkit [176953] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Stop using ResourceRequest::cachePolicy() in FrameLoader::subresourceCachePolicy()
https://bugs.webkit.org/show_bug.cgi?id=139350

Reviewed by Antti Koivisto.

Stop using ResourceRequest::cachePolicy() in FrameLoader::subresourceCachePolicy()
and use m_loadType instead. ResourceRequest::cachePolicy() is meant to be passed
to the network stack, and isn't supposed to be used as input inside WebCore.

No new tests, no behavior change.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::subresourceCachePolicy):

10:14 AM Changeset in webkit [176952] by Philippe Normand
  • 16 edits
    3 adds in trunk

[GTK] UserMedia Permission Request API
https://bugs.webkit.org/show_bug.cgi?id=136449

Reviewed by Carlos Garcia Campos.

Source/WebCore:

Very basic constraints validation support in the GStreamer
MediaStreamCenter. This is needed so the GTK C API tests using the
getUserMedia() API would not time out.

  • platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:

(WebCore::MediaStreamCenterGStreamer::~MediaStreamCenterGStreamer):
(WebCore::MediaStreamCenterGStreamer::validateRequestConstraints):
(WebCore::MediaStreamCenterGStreamer::createMediaStream):

Source/WebKit2:

  • PlatformGTK.cmake: GTK-specific new files.
  • UIProcess/API/gtk/WebKitUIClient.cpp: DecidePolicy handler

implementation for UserMediaPermissionRequest.

  • UIProcess/API/gtk/WebKitUserMediaPermissionRequest.cpp: Added,

WebKitGTK API for UserMediaPermissionRequest, very similar to the
one used for Geolocation.
(webkitUserMediaPermissionRequestAllow):
(webkitUserMediaPermissionRequestDeny):
(webkit_permission_request_interface_init):
(webkitUserMediaPermissionRequestDispose):
(webkit_user_media_permission_get_media_types):
(webkitUserMediaPermissionRequestGetProperty):
(webkit_user_media_permission_request_class_init):
(webkitUserMediaPermissionRequestCreate):

  • UIProcess/API/gtk/WebKitUserMediaPermissionRequest.h: Added.
  • UIProcess/API/gtk/WebKitUserMediaPermissionRequestPrivate.h: Added.
  • UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Expose new API

in documentation.

  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto.
  • UIProcess/API/gtk/webkit2.h: Expose UserMediaPermissionRequest API.

Tools:

The GTK version of the MiniBrowser has gained UserMedia permission
request support.

  • MiniBrowser/gtk/BrowserWindow.c: Show a popup when the page

requires user permission to access audio/video devices.
(permissionRequestDialogCallback):
(webViewDecidePermissionRequest):
(geolocationRequestDialogCallback): Deleted.

10:05 AM Changeset in webkit [176951] by andersca@apple.com
  • 6 edits in trunk

Add a stubbed out method for clearing out the website data store
https://bugs.webkit.org/show_bug.cgi?id=139404

Reviewed by Antti Koivisto.

Source/WebKit2:

Add stubbed out method that just calls the completion handler.

  • UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:

(-[_WKWebsiteDataStore removeDataOfTypes:modifiedSince:completionHandler:]):

Tools:

Add a debug menu item for testing clearing of website data.

  • MiniBrowser/mac/MainMenu.xib:
  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController clearWebsiteData:]):

9:27 AM Changeset in webkit [176950] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] Change expectations for two accessibility layout tests.
https://bugs.webkit.org/show_bug.cgi?id=139399

Unreviewed gardening.

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-12-08

  • platform/efl/accessibility/roles-exposed-expected.txt:
  • platform/efl/accessibility/table-sections-expected.txt:
8:57 AM Changeset in webkit [176949] by andersca@apple.com
  • 7 edits in trunk/Source/WebCore

Remove ResourceHandle::loadsBlocked()
https://bugs.webkit.org/show_bug.cgi?id=139401

Reviewed by Daniel Bates.

This hasn't returned true since Leopard, so get rid of it.

  • page/Chrome.cpp:

(WebCore::Chrome::canRunModalNow):

  • platform/network/ResourceHandle.h:
  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::loadsBlocked): Deleted.

  • platform/network/curl/ResourceHandleCurl.cpp:

(WebCore::ResourceHandle::loadsBlocked): Deleted.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::loadsBlocked): Deleted.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::ResourceHandle::loadsBlocked): Deleted.

8:12 AM Changeset in webkit [176948] by Chris Fleizach
  • 4 edits in trunk/Source/WebCore

AX: iOS: VoiceOver gets hung on some websites consistently.
https://bugs.webkit.org/show_bug.cgi?id=139331

Reviewed by Mario Sanchez Prada.

iFrames are attachments on iOS, but they do not have attachment views. As a result,
WebCore would return incorrect information for the element count and index of children elements.

No tests. Bug only manifests itself when iOS accessibility frameworks call into WebCore.

  • accessibility/AccessibilityMockObject.h:

(WebCore::AccessibilityMockObject::isDetachedFromParent):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::isDetachedFromParent):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityElementCount]):
(-[WebAccessibilityObjectWrapper accessibilityElementAtIndex:]):
(-[WebAccessibilityObjectWrapper indexOfAccessibilityElement:]):
(-[WebAccessibilityObjectWrapper accessibilityContainer]):

4:59 AM Changeset in webkit [176947] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit2

REGRESSION (173394): Support for webcam is broken
https://bugs.webkit.org/show_bug.cgi?id=139313

Reviewed by Alexey Proskuryakov.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didReceiveResponseAsync):

Don't buffer when handling multipart/x-mixed-replace. Multiple calls to didReceiveResponseAsync break assumptions.

4:09 AM Changeset in webkit [176946] by yoon@igalia.com
  • 2 edits
    4 moves in trunk/Source/WebKit2

[CoordinatedGraphics] Move CoordinatedBackingStore and CoordinatedGraphicsScene to Shared
https://bugs.webkit.org/show_bug.cgi?id=139385

Reviewed by Martin Robinson.

For the Threaded Compositor, CoordinatedBackingStore and
CoordinatedGraphicsScene should be placed at the Shared instead of
UIProcess because it can be used in the WebProcess also.

No new tests because there is no behavior change.

  • PlatformEfl.cmake:
  • Shared/CoordinatedGraphics/CoordinatedBackingStore.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp.
  • Shared/CoordinatedGraphics/CoordinatedBackingStore.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h.
  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.cpp.
  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.h.
3:44 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
3:34 AM Changeset in webkit [176945] by berto@igalia.com
  • 2 edits in trunk/Source/WebCore

Webkit using Harfbuzz does not display Arabic script correctly
https://bugs.webkit.org/show_bug.cgi?id=136337

Patch by Doron Wloschowsky <doron_wloschowsky@scee.net> on 2014-12-08
Reviewed by Carlos Garcia Campos.

Using reinterpret_cast to convert hb_codepoint_t* into UChar*
doesn't work on big endian systems.

  • platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:

(WebCore::harfBuzzGetGlyph):

3:33 AM Changeset in webkit [176944] by berto@igalia.com
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

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

Patch by Nilamdyuti Goswami <nilamdyuti@gmail.com> on 2014-12-08
Reviewed by Carlos Garcia Campos.

  • as.po:
3:28 AM WebKitGTK/2.6.x edited by berto@igalia.com
(diff)
1:34 AM Changeset in webkit [176943] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[GStreamer] Major cleanup of AudioDestination implementation
https://bugs.webkit.org/show_bug.cgi?id=139370

Patch by Sebastian Dröge <sebastian@centricular.com> on 2014-12-08
Reviewed by Philippe Normand.

  • platform/audio/gstreamer/AudioDestinationGStreamer.cpp:

(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
Add an audioresample element before the audio sink. The audio sink
might not be able to handle our sampling rate.

(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
(WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
(WebCore::AudioDestinationGStreamer::stop):
(WebCore::AudioDestinationGStreamer::finishBuildingPipelineAfterWavParserPadReady): Deleted.
Don't use a wavparse element but directly link the raw audio from
the source to the audio sink.

(WebCore::AudioDestinationGStreamer::start):
Catch errors when going to PLAYING early, we might not get an error
message.

  • platform/audio/gstreamer/AudioDestinationGStreamer.h:
  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

(getGStreamerMonoAudioCaps):
(webKitWebAudioSrcConstructed):
(webKitWebAudioSrcChangeState):
Don't use a WAV encoder but directly output raw audio. Also don't
include a unneeded audioconvert element before the interleave.

(webKitWebAudioSrcLoop):
Add timestamps and durations to the output buffers, map them in
READWRITE mode and actually keep them mapped until we're sure
nothing is actually writing into them.

(webKitWebAudioSrcLoop):
Pause the task on errors instead of continuously calling it again
immediately.

1:28 AM Changeset in webkit [176942] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Use gst_message_parse_buffering()
https://bugs.webkit.org/show_bug.cgi?id=139365

Patch by Sebastian Dröge <sebastian@centricular.com> on 2014-12-08
Reviewed by Philippe Normand.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::processBufferingStats):
Use gst_message_parse_buffering() instead of manually getting
the percentage from the message's structure. While the latter
is supposed to work and part of the ABI stability guarantee,
it's just not nice and overly complicated.

1:26 AM Changeset in webkit [176941] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Minor cleanup of the AudioFileReader implementation
https://bugs.webkit.org/show_bug.cgi?id=139367

Patch by Sebastian Dröge <sebastian@centricular.com> on 2014-12-08
Reviewed by Philippe Normand.

  • platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:

(WebCore::AudioFileReader::~AudioFileReader):
Don't call gst_bus_remove_signal_watch(), the source was already
destroyed together with the main context and doing it again here
will give a g_critical().

(WebCore::AudioFileReader::handleSample):
Calculate the number of samples from the actual buffer size
and the bytes-per-frame instead of the buffer duration. Using
the buffer duration can lead to rounding errors and might cause
too few samples to be copied over later.

(WebCore::AudioFileReader::handleMessage):
Set the pipeline to GST_STATE_NULL immediately when receiving
errors to prevent other follow-up error messages from propagating
through the bus and spamming the user's terminal with g_warnings().

(WebCore::AudioFileReader::handleNewDeinterleavePad):
Sync the state of the queue and sink after deinterleave with
the parent state instead of just setting them to READY. That
way we potentially go to PAUSED state a bit earlier already
and prevent a potential race condition that could cause buffers
to arrive in the new elements in READY state already (which would
fail).

(WebCore::AudioFileReader::plugDeinterleave):
Handle multiple decodebin source pads by ignoring all following
ones just in case there are multiple for whatever reason.

(WebCore::AudioFileReader::decodeAudioForBusCreation):
Catch errors from going to PAUSED state early. We might not
get a error message at all if we're unlucky.

(WebCore::AudioFileReader::plugDeinterleave):
(WebCore::AudioFileReader::createBus):
(WebCore::AudioFileReader::handleSample):
Downmix to mono if required instead of just using the front
left channel and claiming it is mono. Downmixing from stereo
to mono will mix both channels instead of just taking the left.

1:25 AM Changeset in webkit [176940] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Handle CLOCK_LOST and LATENCY messages
https://bugs.webkit.org/show_bug.cgi?id=139341

Patch by Sebastian Dröge <sebastian@centricular.com> on 2014-12-08
Reviewed by Philippe Normand.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
Handle CLOCK_LOST message by shortly going back to PAUSED state
and then to PLAYING again to let the pipeline select a new clock
for us.
This can happen if the stream that ends in a sink that provides
the current clock disappears, for example if the audio sink
provides the clock and the audio stream is disabled. It also
happens relatively often with HTTP adaptive streams when switching
between different variants of a stream.

Also handle the LATENCY message by triggering the default GStreamer
mechanism to update the latency. This can happen if the latency of
live elements changes, or for one reason or another a new live element
is added or removed from the pipeline.

1:23 AM Changeset in webkit [176939] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Use audio-filter property on GStreamer >= 1.4.2
https://bugs.webkit.org/show_bug.cgi?id=139360

Patch by Sebastian Dröge <sebastian@centricular.com> on 2014-12-08
Reviewed by Philippe Normand.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
Since 1.4.0 there is an audio-filter property we can use to place
the pitch-preserving filter at a more canonical position inside
the pipeline. Since 1.4.2 this property also handles all necessary
conversions for us.
This simplifies our sink code a bit because we don't have to create
a custom sink bin anymore.

1:22 AM Changeset in webkit [176938] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Add video/flv to the list of supported mimetypes
https://bugs.webkit.org/show_bug.cgi?id=139344

Patch by Sebastian Dröge <sebastian@centricular.com> on 2014-12-08
Reviewed by Gustavo Noronha Silva.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::mimeTypeCache):
Add video/flv additional to video/x-flv to the list of supported
mimetypes. It's used on some websites, e.g.
http://www.jwplayer.com/html5/formats/

1:19 AM Changeset in webkit [176937] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[GStreamer] Remove GStreamer 0.10 #ifdefs.
https://bugs.webkit.org/show_bug.cgi?id=138921

Patch by Sebastian Dröge <sebastian@centricular.com> on 2014-12-08
Reviewed by Philippe Normand.

  • platform/graphics/gstreamer/GStreamerUtilities.cpp:

(WebCore::initializeGStreamer):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::buffered):
Remove GStreamer 0.10 #ifdefs, we depend on >= 1.0.3 at least.

1:18 AM Changeset in webkit [176936] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Add application/x-mpegurl to the list of supported mimetypes.
https://bugs.webkit.org/show_bug.cgi?id=139343

Patch by Sebastian Dröge <sebastian@centricular.com> on 2014-12-08
Reviewed by Gustavo Noronha Silva.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::mimeTypeCache):
It's an alternative mimetype for the already supported
application/vnd.apple.mpegurl (aka HLS) and adding it
allows all streams on http://www.jwplayer.com/html5/hls/
to be played.

1:15 AM Changeset in webkit [176935] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Fix build warning in WebKit2/UIProcess module.
https://bugs.webkit.org/show_bug.cgi?id=139386

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-12-08
Reviewed by Alexey Proskuryakov.

Fix build warning by removing unused parameter name from function

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::WebsiteDataStore):

Note: See TracTimeline for information about the timeline view.