Timeline



Dec 13, 2014:

10:44 PM Changeset in webkit [177258] by Alan Bujtas
  • 3 edits
    2 adds in trunk

https://bugs.webkit.org/show_bug.cgi?id=139597
rdar://problem/19237334
Fixed positioned pseudo content does not get composited.

Reviewed by Simon Fraser.

This patch ensures that adjustRenderStyle() can access to settings even when Element* is null.

Source/WebCore:

Test: compositing/fixed-positioned-pseudo-content-no-compositing.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle):

LayoutTests:

  • compositing/fixed-positioned-pseudo-content-no-compositing-expected.txt: Added.
  • compositing/fixed-positioned-pseudo-content-no-compositing.html: Added.
5:33 PM Changeset in webkit [177257] by bshafiei@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebCore

Merged r177254. rdar://problem/19189948

1:22 AM Changeset in webkit [177256] by g.czajkowski@samsung.com
  • 2 edits in trunk/Tools

[EFL] MiniBrowser's window_create may return NULL
https://bugs.webkit.org/show_bug.cgi?id=139585

Reviewed by Gyuyoung Kim.

Move NULL checking before using object which window_create
returns.

  • MiniBrowser/efl/main.c:

(elm_main):

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

Note: See TracTimeline for information about the timeline view.