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

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.

Note: See TracTimeline for information about the timeline view.