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

Timeline



Jun 3, 2014:

9:47 PM Changeset in webkit [169584] by fpizlo@apple.com
  • 28 edits
    1 add
    5 deletes in branches/ftlopt/Source/JavaScriptCore

[ftlopt] Unreviewed, roll out r169578. The build system needs some more love.

  • InlineRuntimeSymbolTable.h: Removed.
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • build-symbol-table-index.py:
  • build-symbol-table-index.sh:
  • copy-llvm-ir-to-derived-sources.sh:
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleCall):

  • dfg/DFGNode.h:

(JSC::DFG::Node::canBeKnownFunction): Deleted.
(JSC::DFG::Node::hasKnownFunction): Deleted.
(JSC::DFG::Node::knownFunction): Deleted.
(JSC::DFG::Node::giveKnownFunction): Deleted.

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

(JSC::FTL::compile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::LowerDFGToLLVM):
(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::compileCallOrConstruct):
(JSC::FTL::LowerDFGToLLVM::possiblyCompileInlineableNativeCall): Deleted.
(JSC::FTL::LowerDFGToLLVM::getFunctionBySymbol): Deleted.
(JSC::FTL::LowerDFGToLLVM::getModuleByPathForSymbol): Deleted.
(JSC::FTL::LowerDFGToLLVM::isInlinableSize): Deleted.

  • ftl/FTLState.cpp:

(JSC::FTL::State::State):

  • ftl/FTLState.h:
  • heap/HandleStack.h:
  • llvm/InitializeLLVM.h:
  • llvm/InitializeLLVMMac.cpp: Removed.
  • llvm/InitializeLLVMMac.mm: Added.

(JSC::initializeLLVMImpl):

  • llvm/LLVMAPIFunctions.h:
  • llvm/LLVMHeaders.h:
  • runtime/BundlePath.h: Removed.
  • runtime/BundlePath.mm: Removed.
  • runtime/DateConversion.h:
  • runtime/DateInstance.h:
  • runtime/ExceptionHelpers.h:
  • runtime/JSArray.h:
  • runtime/JSCJSValue.h:

(JSC::JSValue::toFloat):

  • runtime/JSDateMath.h:
  • runtime/JSObject.h:
  • runtime/JSWrapperObject.h:
  • runtime/Options.h:
  • runtime/RegExp.h:
  • runtime/StringObject.h:
  • runtime/Structure.h:
  • tested-symbols.symlst: Removed.
9:34 PM Changeset in webkit [169583] by dburkart@apple.com
  • 1 copy in tags/Safari-538.38

Tagging Safari-538.38

9:28 PM Changeset in webkit [169582] by fpizlo@apple.com
  • 7 edits
    2 moves
    2 adds
    7 deletes in branches/ftlopt

[ftlopt] FTL native inlining tests take far too long
https://bugs.webkit.org/show_bug.cgi?id=133498

Unreviewed test gardening.

Source/JavaScriptCore:
Added a new exceptions test since the other one appears to not work.

  • tests/stress/ftl-library-exception.js:
  • tests/stress/ftl-library-inline-gettimezoneoffset.js: Added.

(foo):

  • tests/stress/ftl-library-inlining-exceptions-dataview.js: Added.

(foo):

  • tests/stress/ftl-library-inlining-exceptions.js: Copied from LayoutTests/js/regress/script-tests/ftl-library-inlining-exceptions.js.
  • tests/stress/ftl-library-inlining-loops.js: Copied from LayoutTests/js/regress/script-tests/ftl-library-inlining-loops.js.
  • tests/stress/ftl-library-inlining-random.js:
  • tests/stress/ftl-library-substring.js:

LayoutTests:
Move long-running tests that focus on correctness into JSC/tests/stress.
Speed up the performance tests by reducing allocation and call overhead.

  • js/regress/ftl-library-inlining-exceptions-expected.txt: Removed.
  • js/regress/ftl-library-inlining-exceptions.html: Removed.
  • js/regress/ftl-library-inlining-folding-expected.txt: Removed.
  • js/regress/ftl-library-inlining-folding.html: Removed.
  • js/regress/ftl-library-inlining-loops-expected.txt: Removed.
  • js/regress/ftl-library-inlining-loops.html: Removed.
  • js/regress/script-tests/ftl-library-inlining-dataview.js:

(foo): Deleted.

  • js/regress/script-tests/ftl-library-inlining-exceptions.js: Removed.
  • js/regress/script-tests/ftl-library-inlining-folding.js: Removed.
  • js/regress/script-tests/ftl-library-inlining-loops.js: Removed.
  • js/regress/script-tests/ftl-library-inlining.js:

(foo): Deleted.

9:22 PM Changeset in webkit [169581] by dburkart@apple.com
  • 5 edits in branches/safari-537.77-branch/Source

Version bump.

9:12 PM Changeset in webkit [169580] by dburkart@apple.com
  • 1 copy in tags/Safari-537.77.4

Tagging

8:33 PM Changeset in webkit [169579] by gyuyoung.kim@samsung.com
  • 11 edits in trunk

Need to check invalid scheme in navigator content utils
https://bugs.webkit.org/show_bug.cgi?id=133296

Reviewed by Darin Adler.

Source/WebCore:

  • Modules/navigatorcontentutils/NavigatorContentUtils.cpp:

(WebCore::verifyProtocolHandlerScheme): Just fix a wrong typo.

LayoutTests:
Add tests that check that schemes with colons in their names are rejected.
Spec: http://www.whatwg.org/specs/web-apps/current-work/#custom-handlers

  • fast/dom/NavigatorContentUtils/is-protocol-handler-registered-expected.txt:
  • fast/dom/NavigatorContentUtils/is-protocol-handler-registered.html:
  • fast/dom/NavigatorContentUtils/register-protocol-handler-expected.txt:
  • fast/dom/NavigatorContentUtils/register-protocol-handler.html:
  • fast/dom/NavigatorContentUtils/unregister-protocol-handler-expected.txt:
  • fast/dom/NavigatorContentUtils/unregister-protocol-handler.html:
  • platform/efl/fast/dom/NavigatorContentUtils/register-protocol-handler-expected.txt:
  • platform/efl/fast/dom/NavigatorContentUtils/unregister-protocol-handler-expected.txt:
7:50 PM Changeset in webkit [169578] by fpizlo@apple.com
  • 29 edits
    23 adds
    1 delete in branches/ftlopt

[ftlopt] Added system for inlining native functions via the FTL.
https://bugs.webkit.org/show_bug.cgi?id=131515

Patch by Matthew Mirman <mmirman@apple.com> on 2014-06-03
Reviewed by Filip Pizlo.

Source/JavaScriptCore:
Also fixed the build to not compress the bitcode and to
include all of the relevant runtime. With GCC_GENERATE_DEBUGGING_SYMBOLS = NO,
the produced bitcode files are a 100th the size they were before.
Now we can include all of the relevant runtime files with only a 3mb overhead.
This is the same overhead as for two compressed files before,
but done more efficiently (on both ends) and with less code.

Deciding whether to inline native functions is left up to LLVM.
The entire module containing the function is linked into the current
compiled JS so that inlining the native functions shouldn't make them smaller.

Rather than loading Runtime.symtbl at runtime FTLState.cpp now includes a file
InlineRuntimeSymbolTable.h which statically builds the symbol table hash table.
Currently build-symbol-table-index.py updates this file from the
contents of tested-symbols.symlst when done building as a matter of convenience.
However, in order to include the new contents of the file in the build
you'd need to build twice. This will be fixed in future versions.

  • JavaScriptCore.xcodeproj/project.pbxproj: Added back runtime files to compile.
  • build-symbol-table-index.py: Changed bitcode suffix.

Added inclusion of only tested symbols.
Added output to InlineRuntimeSymbolTable.h.

  • build-symbol-table-index.sh: Changed bitcode suffix.
  • copy-llvm-ir-to-derived-sources.sh: Removed gzip compression.
  • tested-symbols.symlst: Added.
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleCall):
Now sets the knownFunction of the call node if such a function exists
and emits a check that during runtime the callee is in fact known.

  • dfg/DFGNode.h:

Added functions to set the known function of a call node.
(JSC::DFG::Node::canBeKnownFunction): Added.
(JSC::DFG::Node::hasKnownFunction): Added.
(JSC::DFG::Node::knownFunction): Added.
(JSC::DFG::Node::giveKnownFunction): Added.

  • ftl/FTLAbbreviatedTypes.h: Added a typedef for LLVMMemoryBufferRef
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::isInlinableSize): Added. Hardcoded threshold to 275.
(JSC::FTL::LowerDFGToLLVM::getModuleByPathForSymbol): Added.
(JSC::FTL::LowerDFGToLLVM::getFunctionBySymbol): Added.
(JSC::FTL::LowerDFGToLLVM::possiblyCompileInlineableNativeCall): Added.
(JSC::FTL::LowerDFGToLLVM::compileCallOrConstruct):
Added call to possiblyCompileInlineableNativeCall

  • ftl/FTLOutput.h:

(JSC::FTL::Output::allocaName): Added. Useful for debugging.

  • ftl/FTLState.cpp:

(JSC::FTL::State::State): Added an include for InlineRuntimeSymbolTable.h

  • ftl/FTLState.h: Added symbol table hash table.
  • ftl/FTLCompile.cpp:

(JSC::FTL::compile): Added inlining and dead function elimination passes.

  • heap/HandleStack.h: Added JS_EXPORT_PRIVATE to a few functions to get inlining to compile.
  • InlineRuntimeSymbolTable.h: Added.
  • llvm/InitializeLLVMMac.mm: Deleted.
  • llvm/InitializeLLVMMac.cpp: Added.
  • llvm/LLVMAPIFunctions.h: Added macros to include Bitcode parsing and linking functions.
  • llvm/LLVMHeaders.h: Added includes for Bitcode parsing and linking.
  • runtime/BundlePath.h: Added.
  • runtime/BundlePath.mm: Added.
  • runtime/DateInstance.h: Added JS_EXPORT_PRIVATE to a few functions to get inlining to compile.
  • runtime/DateInstance.h: ditto.
  • runtime/DateConversion.h: ditto.
  • runtime/ExceptionHelpers.h: ditto.
  • runtime/JSCJSValue.h: ditto.
  • runtime/JSArray.h: ditto.
  • runtime/JSDateMath.h: ditto.
  • runtime/JSObject.h: ditto.
  • runtime/JSObject.h: ditto.
  • runtime/RegExp.h: ditto.
  • runtime/Structure.h: ditto.
  • runtime/Options.h: Added maximumLLVMInstructionCountForNativeInlining.
  • tests/stress/ftl-library-inlining-random.js: Added.
  • tests/stress/ftl-library-substring.js: Added.

LayoutTests:
Adds microbenchmarks.

  • js/regress/script-tests/ftl-library-inlining.js: Added.
  • js/regress/ftl-library-inlining-expected.txt: Added.
  • js/regress/ftl-library-inlining.html: Added.
  • js/regress/script-tests/ftl-library-inlining-dataview.js: Added.
  • js/regress/ftl-library-inlining-dataview-expected.txt: Added.
  • js/regress/ftl-library-inlining-dataview.html: Added.
  • js/regress/script-tests/ftl-library-inlining-exceptions.js: Added.
  • js/regress/ftl-library-inlining-exceptions-expected.txt: Added.
  • js/regress/ftl-library-inlining-exceptions.html: Added.
  • js/regress/script-tests/ftl-library-inlining-folding.js: Added.
  • js/regress/ftl-library-inlining-folding-expected.txt: Added.
  • js/regress/ftl-library-inlining-folding-expected.html: Added.
  • js/regress/script-tests/ftl-library-inlining-loops.js: Added.
  • js/regress/ftl-library-inlining-loops-expected.txt: Added.
  • js/regress/ftl-library-inlining-loops.html: Added.
7:08 PM Changeset in webkit [169577] by dburkart@apple.com
  • 5 edits in branches/safari-537.77-branch/Source

Bump version to 537.77.4

6:27 PM Changeset in webkit [169576] by timothy_horton@apple.com
  • 5 edits in trunk/Source

WebKit2 View Gestures (Zoom): Can show unpainted regions when zoom-pinching-out
https://bugs.webkit.org/show_bug.cgi?id=133472
<rdar://problem/15686848>

Reviewed by Simon Fraser.

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

(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
(WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToLayers):
(WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
Use prepopulateRect() when zooming out to ensure that we have tiles for the current exposed area.

Factor applyTransientZoomToLayers out of adjustTransientZoom, so that
flushLayers can call applyTransientZoomToLayers without ending up calling prepopulateRect()
during layer flushing, which causes trouble.

It is OK to populate layers at the current scale even when zooming out, because the overdraw
already covers most of the zoomed out area, and we're only adding a few more tiles at worst.

  • WebCore.exp.in:
4:01 PM Changeset in webkit [169575] by dburkart@apple.com
  • 9 edits in branches/safari-537.77-branch/Source/WebCore

Back out r169227

3:50 PM Changeset in webkit [169574] by yoav@yoav.ws
  • 2 edits in trunk/Tools

Add myself (yoav@yoav.ws) to contributors.json

3:44 PM Changeset in webkit [169573] by yoav@yoav.ws
  • 9 edits
    2 adds in trunk/Source/WebCore

Refactor the srcset parser into its own file
https://bugs.webkit.org/show_bug.cgi?id=133480

Reviewed by Andreas Kling.

No new tests, since this patch doesn't change the parser's behavior.

This patch moves the srcset parser into its own file,
in order to prepare the code for alignment with recent spec changes.

  • CMakeLists.txt:
  • html/HTMLImageElement.cpp:
  • html/parser/HTMLParserIdioms.cpp:

(WebCore::compareByScaleFactor): Deleted.
(WebCore::parseDescriptors): Deleted.
(WebCore::parseImagesWithScaleFromSrcsetAttribute): Deleted.
(WebCore::bestFitSourceForImageAttributes): Deleted.

  • html/parser/HTMLParserIdioms.h:

(WebCore::ImageWithScale::ImageWithScale): Deleted.
(WebCore::ImageWithScale::imageURL): Deleted.
(WebCore::ImageWithScale::scaleFactor): Deleted.

  • html/parser/HTMLPreloadScanner.cpp:
  • html/parser/HTMLSrcsetParser.cpp: Added.

(WebCore::compareByScaleFactor):
(WebCore::parseDescriptors):
(WebCore::parseImagesWithScaleFromSrcsetAttribute):
(WebCore::bestFitSourceForImageAttributes):

  • html/parser/HTMLSrcsetParser.h: Added.

(WebCore::ImageWithScale::ImageWithScale):
(WebCore::ImageWithScale::imageURL):
(WebCore::ImageWithScale::scaleFactor):

2:38 PM Changeset in webkit [169572] by mario.prada@samsung.com
  • 2 edits in trunk/Source/WebCore

[ATK] accessibility/textarea-selected-text-range.html is failing
https://bugs.webkit.org/show_bug.cgi?id=133479

Reviewed by Chris Fleizach.

Implement atk_text_set_caret_offset() in terms of
atk_text_set_selection() for zero-length selections.

No new tests needed, the following test should just start
passing again now: accessibility/textarea-selected-text-range.html.

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(webkitAccessibleTextSetCaretOffset): Reimplemented this function
in terms of webkitAccessibleTextSetSelection().

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

Corrected arm64 assertion in css jit.

Rubber stamped by Benjamin Poulain.

  • cssjit/StackAllocator.h:

(WebCore::StackAllocator::pop):
Changed assertion from incorrectly matching x86_64 to using the correct minimum offset,
taking into account that a stackUnitInBytes is used for two registers on arm64
except the last stack unit, which could only be used for one register if there are
an odd number of registers.

2:31 PM Changeset in webkit [169570] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

[iOS] Start ignoring common bogus viewport parameters
https://bugs.webkit.org/show_bug.cgi?id=133466
<rdar://problem/16203396>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-06-03
Reviewed by Sam Weinig.

Incorrect viewports are spreading really quickly lately. We have to start ignoring
some combinations of arguments as they are almost always used incorrectly, causing
a poor user experience on those websites.

  • dom/ViewportArguments.cpp:

(WebCore::finalizeViewportArguments):

2:26 PM Changeset in webkit [169569] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

CSS JIT: add support for the "any" pseudo class
https://bugs.webkit.org/show_bug.cgi?id=133473

Patch by Yusuke Suzuki <Yusuke Suzuki> on 2014-06-03
Reviewed by Benjamin Poulain.

Add support for the :any pseudo class.

Source/WebCore:
Test: fast/selectors/pseudo-class-any.html

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::minimumRegisterRequirements):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesAnyPseudoClass):

LayoutTests:

  • fast/selectors/pseudo-class-any-expected.txt: Added.
  • fast/selectors/pseudo-class-any.html: Added.
2:09 PM Changeset in webkit [169568] by jer.noble@apple.com
  • 17 edits in trunk

Update PlatformTimeRanges to use MediaTime rather than doubles for time values.
https://bugs.webkit.org/show_bug.cgi?id=133454

Reviewed by Eric Carlson.

Source/WebCore:
PlatformTimeRanges will now use MediaTime, so operations at the platform level won't
lose precision when converting to and from doubles and rational time values like CMTime.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::currentTimeFudgeFactor):
(WebCore::SourceBuffer::hasCurrentTime):
(WebCore::SourceBuffer::hasFutureTime):
(WebCore::SourceBuffer::canPlayThrough):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/TimeRanges.cpp:

(WebCore::TimeRanges::TimeRanges):
(WebCore::TimeRanges::start):
(WebCore::TimeRanges::end):
(WebCore::TimeRanges::add):
(WebCore::TimeRanges::contain):
(WebCore::TimeRanges::find):
(WebCore::TimeRanges::nearest):
(WebCore::TimeRanges::totalDuration):

  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::seekable):

  • platform/graphics/PlatformTimeRanges.cpp:

(WebCore::PlatformTimeRanges::create):
(WebCore::PlatformTimeRanges::PlatformTimeRanges):
(WebCore::PlatformTimeRanges::invert):
(WebCore::PlatformTimeRanges::start):
(WebCore::PlatformTimeRanges::end):
(WebCore::PlatformTimeRanges::add):
(WebCore::PlatformTimeRanges::contain):
(WebCore::PlatformTimeRanges::find):
(WebCore::PlatformTimeRanges::nearest):
(WebCore::PlatformTimeRanges::totalDuration):

  • platform/graphics/PlatformTimeRanges.h:

(WebCore::PlatformTimeRanges::Range::Range):
(WebCore::PlatformTimeRanges::Range::isPointInRange):

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::extraMemoryCost):

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::MediaPlayerPrivateAVFoundationCF::platformBufferedTimeRanges):

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::platformBufferedTimeRanges):

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekable):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::buffered): Deleted.

  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::MediaPlayerPrivateQTKit::buffered):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::buffered):

  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::advanceCurrentTime):

LayoutTests:
Update the video-pause-immediately to allow for small floating point differences.

  • media/video-pause-immediately-expected.txt:
  • media/video-pause-immediately.html:
1:59 PM Changeset in webkit [169567] by benjamin@webkit.org
  • 7 edits in trunk/Source

[iOS][WK2] Align the highlight rects with device pixels
https://bugs.webkit.org/show_bug.cgi?id=133464

Source/WebCore:

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-06-03
Reviewed by Enrica Casucci.

Add utility functions to pixel align points and rects.

  • WebCore.exp.in:
  • platform/graphics/FloatPoint.h:

(WebCore::flooredToDevicePixels):
(WebCore::ceiledToDevicePixels):

  • platform/graphics/FloatRect.cpp:

(WebCore::enclosingRectExtendedToDevicePixels):

  • platform/graphics/FloatRect.h:

Source/WebKit2:
<rdar://problem/16708861>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-06-03
Reviewed by Enrica Casucci.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _showTapHighlightWithColor:WebCore::quads:WebCore::topLeftRadius:WebCore::topRightRadius:WebCore::bottomLeftRadius:WebCore::bottomRightRadius:WebCore::]):

1:13 PM Changeset in webkit [169566] by Manuel Rego Casasnovas
  • 2 edits in trunk/Websites/planet.webkit.org

Add Igalia WebKit blog to the planet
https://bugs.webkit.org/show_bug.cgi?id=133446

Reviewed by Bem Jones-Bey.

  • config.ini: Add Igalia WebKit blog to the planet and remove Martin's

and Xan's blogs as they will be included there.

11:59 AM Changeset in webkit [169565] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebCore

Prepopulated tiles may never be unparented from TileGrids with aggressive tile retention on
https://bugs.webkit.org/show_bug.cgi?id=133471

Reviewed by Simon Fraser.

  • platform/graphics/ca/mac/TileController.h:
  • platform/graphics/ca/mac/TileGrid.h:

(WebCore::TileGrid::TileCohortInfo::TileCohortInfo):

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

(WebCore::TileGrid::TileCohortInfo::timeUntilExpiration):
(WebCore::TileGrid::cohortRemovalTimerFired):
Factor timeUntilExpiration() out of cohortRemovalTimerFired().

(WebCore::TileGrid::revalidateTiles):
Ensure that secondary tiles that never touch the primary coverage rect
are still unparented eventually (after 2 seconds, the same lifetime we use
for cohorts in non-aggressive retention).
Schedule another revalidateTiles if we left parented secondary tiles behind.

11:13 AM Changeset in webkit [169564] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

TileGrid::prepopulateRect populates the wrong tiles if scale != 1
https://bugs.webkit.org/show_bug.cgi?id=133470

Reviewed by Simon Fraser.

  • page/FrameView.cpp:

(WebCore::FrameView::requestScrollPositionUpdate):

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

(WebCore::TileGrid::prepopulateRect):
(WebCore::TileGrid::revalidateTiles):
prepopulateRect takes rects in "content" coordinates, but when later passed to
ensureTilesForRect, they're expected to be in the same coordinate space as the layer's
visible rect, and are scaled up. So, apply the inverse scale to counter that.

11:12 AM Changeset in webkit [169563] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebCore

Minor TileCoverageMap refinements
https://bugs.webkit.org/show_bug.cgi?id=133468

Reviewed by Simon Fraser.

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

(WebCore::TileController::setContentsScale):

  • platform/graphics/ca/mac/TileCoverageMap.h:
  • platform/graphics/ca/mac/TileCoverageMap.mm:

(WebCore::TileCoverageMap::TileCoverageMap):
(WebCore::TileCoverageMap::setDeviceScaleFactor):
Keep the TileCoverageMap's contentsScale at the device scale factor, so that it
looks sharp on non-1x displays.

(WebCore::TileCoverageMap::update):
Decrease the height available for the TileCoverageMap by the topContentInset;
it's already being vertically offset by the topContentInset, but the height was
not adjusted, so it would run off the bottom of the window.

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

(WebCore::TileGrid::drawTileMapContents):
If using aggressive tile retention (and thus not coloring tiles based on age),
dim tiles that aren't in the visible cohort.

11:11 AM Changeset in webkit [169562] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebCore

Fix a typo, TileGrid::updateTilerLayerProperties
https://bugs.webkit.org/show_bug.cgi?id=133474

Reviewed by Anders Carlsson.

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

(WebCore::TileController::setAcceleratesDrawing):
(WebCore::TileController::setTilesOpaque):
(WebCore::TileController::setTileDebugBorderWidth):
(WebCore::TileController::setTileDebugBorderColor):

  • platform/graphics/ca/mac/TileGrid.h:
  • platform/graphics/ca/mac/TileGrid.mm:

(WebCore::TileGrid::updateTileLayerProperties):
(WebCore::TileGrid::updateTilerLayerProperties):
s/updateTilerLayerProperties/updateTileLayerProperties/g

10:52 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
9:42 AM Changeset in webkit [169561] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

LLVM soft-linking should be truly fail-silent
https://bugs.webkit.org/show_bug.cgi?id=133482

Reviewed by Mark Lam.

  • llvm/InitializeLLVMPOSIX.cpp:

(JSC::initializeLLVMPOSIX): Missing return statement in the dlsym() returning null case.

5:04 AM Changeset in webkit [169560] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[SOUP] ResourceLoadTiming.responseStart is always 0
https://bugs.webkit.org/show_bug.cgi?id=133469

Reviewed by Sergio Villar Senin.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::sendRequestCallback): Record the responseStart time.

4:40 AM Changeset in webkit [169559] by commit-queue@webkit.org
  • 8 edits in trunk

REGRESSION(r169092 and r169102): Skip failing JSC tests poperly on non-x86 Darwin platforms
https://bugs.webkit.org/show_bug.cgi?id=133149

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-06-03
Reviewed by Csaba Osztrogonác.

PerformanceTests/SunSpider:

  • profiler-test.yaml: Skip profiler tests only if the architecture isn't x86 and the host is Darwin.

Source/JavaScriptCore:

  • tests/mozilla/mozilla-tests.yaml: Skip js1_5/Regress/regress-159334.js only if the architecture isn't x86 and the host is Darwin.

Tools:

  • Scripts/run-jsc-stress-tests: Added determineOS to determine the host operating system the script run on.

LayoutTests:

  • js/script-tests/function-apply-many-args.js: Skip it only if the architecture isn't x86 and the host is Darwin.

Jun 2, 2014:

11:51 PM Changeset in webkit [169558] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Add a verbose flag to binding tests
https://bugs.webkit.org/show_bug.cgi?id=122303

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

This patch will:

  • Add a verbose keyword argument to the BindingsTests constructor,
  • Add --no-verbose option to the run-bindigs-test.

Verbose mode, which is on by default, prints positive results to stdout as before.
When the --no-verbose option added to run-bindings-tests, positive results are not printed at all.

Original patch from Matthew Hanson <matthew_hanson@apple.com>

  • Scripts/run-bindings-tests:

(main):

  • Scripts/webkitpy/bindings/main.py:

(BindingsTests.init):
(BindingsTests.detect_changes):

10:47 PM Changeset in webkit [169557] by jinwoo7.song@samsung.com
  • 11 edits in trunk/LayoutTests

Unreviewed EFL gardening. Rebaseline after r169522.

  • platform/efl/svg/W3C-SVG-1.1/animate-elem-32-t-expected.png:
  • platform/efl/svg/W3C-SVG-1.1/shapes-circle-02-t-expected.png:
  • platform/efl/svg/W3C-SVG-1.1/shapes-ellipse-02-t-expected.png:
  • platform/efl/svg/W3C-SVG-1.1/shapes-intro-01-t-expected.png:
  • platform/efl/svg/W3C-SVG-1.1/shapes-rect-02-t-expected.png:
  • svg/W3C-SVG-1.1/animate-elem-32-t-expected.txt:
  • svg/W3C-SVG-1.1/shapes-circle-02-t-expected.txt:
  • svg/W3C-SVG-1.1/shapes-ellipse-02-t-expected.txt:
  • svg/W3C-SVG-1.1/shapes-intro-01-t-expected.txt:
  • svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt:
9:59 PM Changeset in webkit [169556] by jinwoo7.song@samsung.com
  • 5 edits in trunk/LayoutTests

Unreviewed EFL gardening. Rebaseline.

  • platform/efl/mathml/opentype/large-operators-LatinModern-expected.txt:
  • platform/efl/mathml/opentype/opentype-stretchy-expected.txt:
  • platform/efl/mathml/opentype/vertical-LatinModern-expected.txt:
  • platform/efl/mathml/presentation/mo-stretch-expected.txt:
7:04 PM Changeset in webkit [169555] by jinwoo7.song@samsung.com
  • 1 edit
    1 move in trunk/LayoutTests

Unreviewed EFL gardening.

Move the EFL specific test result to platform directory.

  • platform/efl/fast/events/ghostly-mousemoves-in-subframe-expected.txt: Renamed from LayoutTests/fast/events/ghostly-mousemoves-in-subframe-expected.txt.
6:59 PM Changeset in webkit [169554] by jinwoo7.song@samsung.com
  • 1 edit
    3 adds in trunk/LayoutTests

Unreviewed EFL gardening.

Added expectation result after r167684, r169257, and r169390.

  • fast/events/ghostly-mousemoves-in-subframe-expected.txt: Added.
  • platform/efl/fast/box-shadow/hidpi-webkit-box-shadow-subpixel-position-expected.txt: Added.
  • platform/efl/fast/multicol/pagination/nested-transforms-expected.txt: Added.
6:26 PM Changeset in webkit [169553] by enrica@apple.com
  • 3 edits in trunk/Source/WebKit2

REGRESSION (iOS WebKit2): Single tap in pages with focus on load will clear the selection after the keyboard appears.
https://bugs.webkit.org/show_bug.cgi?id=133465
<rdar://problem/17059189>

Reviewed by Benjamin Poulain.

If a page focuses an input field on load we don't bring the keyboard on screen
since the keyboard is only shown when the user interacts with the page with gestures.
Still the WebProcess sets the focus and the selection according to the rules.
We need to make sure the UI process doesn't accidentally clear this selection
when the user starts the interaction with the page.
This patch also improves the function that retrieves the autocorrection data
to be returned to the keyboard, making sure that we always send back a reply
even when we don't have a valid selection.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _singleTapCommited:]):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::requestAutocorrectionData):

6:15 PM Changeset in webkit [169552] by ddkilzer@apple.com
  • 2 edits in trunk/WebKitLibraries

Error running copy-webkitlibraries-to-product-directory
<http://webkit.org/b/133449>
<rdar://problem/17047638>

Reviewed by Filip Pizlo.

  • Makefile: Ignore the mysterious future. Use "@true" to

suppress the annoying "Nothing to be done for `libs'." message.

5:37 PM Changeset in webkit [169551] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] WebCore fails to build: platform/network/mac/ResourceHandleMac.mm:729:62: error: use of undeclared identifier '_CFURLConnectionCopyTimingData'
<http://webkit.org/b/133445>
<rdar://problem/17090035>

Reviewed by Alexey Proskuryakov.

  • platform/network/mac/ResourceHandleMac.mm: Attempt to fix the

build by including a private header and local declaration.

4:44 PM Changeset in webkit [169550] by andersca@apple.com
  • 25 edits in trunk/Source

Change DeferrableOneShotTimer to use std::function instead of being a class template
https://bugs.webkit.org/show_bug.cgi?id=133423

Reviewed by Antti Koivisto.

Source/WebCore:
Also, add a new constructor to DeferrableOneShotTimer that takes an std::function. Change the callback
to not pass a DeferrableOneShotTimer& anymore. Change the delay parameter to use std::chrono::milliseconds.

  • css/CSSImageGeneratorValue.cpp:

(WebCore::CSSImageGeneratorValue::CachedGeneratedImage::CachedGeneratedImage):
(WebCore::CSSImageGeneratorValue::CachedGeneratedImage::evictionTimerFired):

  • css/CSSImageGeneratorValue.h:
  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::simulatedMouseClickTimerFired):

  • html/HTMLPlugInImageElement.h:
  • loader/cache/CachedResource.cpp:

(WebCore::deadDecodedDataDeletionIntervalForResourceType):
(WebCore::CachedResource::destroyDecodedDataIfNeeded):
(WebCore::CachedResource::decodedDataDeletionTimerFired):

  • loader/cache/CachedResource.h:
  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::MemoryCache):

  • loader/cache/MemoryCache.h:

(WebCore::MemoryCache::setDeadDecodedDataDeletionInterval):
(WebCore::MemoryCache::deadDecodedDataDeletionInterval):

  • platform/Timer.h:

(WebCore::Timer::Timer):
(WebCore::DeferrableOneShotTimer::DeferrableOneShotTimer):

  • platform/graphics/cg/SubimageCacheWithTimer.cpp:

(WebCore::SubimageCacheWithTimer::invalidateCacheTimerFired):

  • platform/graphics/cg/SubimageCacheWithTimer.h:

Source/WebKit/mac:

  • WebView/WebView.mm:

(+[WebView _setCacheModel:]):

Source/WebKit2:

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformSetCacheModel):

  • Shared/CacheModel.cpp:

(WebKit::calculateCacheSizes):

  • Shared/CacheModel.h:
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::pluginSnapshotTimerFired):

  • WebProcess/Plugins/PluginView.h:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformSetCacheModel):

3:18 PM Changeset in webkit [169549] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Round the UIScrollView content size to device pixel
https://bugs.webkit.org/show_bug.cgi?id=133417
<rdar://problem/15922440>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-06-02
Reviewed by Simon Fraser.

We should really have the scaled content size floored to device pixels, but that will be for another
time.
This patch ensure the content size as seen by the API is rounded to device pixels. The value is floored
to avoid showing partial pixels when the content is stable.

  • UIProcess/API/Cocoa/WKWebView.mm:

(floorFloatToPixels):
(roundScrollViewCountentSize):
(-[WKWebView _setHasCustomContentView:loadedMIMEType:WTF::]):
(-[WKWebView _didCommitLayerTree:WebKit::]):
(-[WKWebView scrollView:contentSizeForZoomScale:withProposedSize:]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _endAnimatedResize]):

3:13 PM Changeset in webkit [169548] by oliver@apple.com
  • 2 edits in trunk/Source/WebKit2

Move ifdef to the right place.

3:07 PM Changeset in webkit [169547] by benjamin@webkit.org
  • 8 edits
    2 adds in trunk

Make pseudo element matching for style resolution more JIT friendly
https://bugs.webkit.org/show_bug.cgi?id=133441

Reviewed by Antti Koivisto.

Source/WebCore:
Sharing pseudo elements is a complicated mess shared between the SelectorChecker
and the RuleCollector.

For compiling pseudo element matching, it would be best if all the complexity could
be moved to compile time instead of runtime. It is also preferable to keep the compiler
independant of the RuleCollector implementation's detail.

This patch is a first step toward that goal. The main objective here is to make
"dynamicPseudo" completely internal to the SelectorChecker.
This is mostly a mechanical change, it is likely PseudoElement matching could be simplified
further but that is not attempted here.

Test: fast/css/style-sharing-empty-rule-modification.html

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::ruleMatches):
The condition regarding pseudo element matching has been moved into SelectorChecker::match().

This creates an extra cost for querySelector(), but that should be fine since the vast majority
of selectors are JIT compiled and never use SelectorChecker in the first place.

(WebCore::ElementRuleCollector::collectMatchingRulesForList):
The loop is changed such that the tree marking (Style::setHasPseudoStyle) could be moved
to SelectorChecker.

The conditions about the security origin for getMatchedCSSRules() and the empty style rules
are moved prior to the call to ElementRuleCollector::ruleMatches(). This ensure we keep the same
behavior of not adding the pseudo style for empty rules (this could also help with tree marking
in general but empty rules are probably uncommon).

There is one behavior change from making this loop simpler: the SharingRules and StyleInvalidation
modes now update their ruleRange. It is useless but it is simpler.

  • css/ElementRuleCollector.h:
  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::matchRecursively):
The tree marking has been moved here.

  • css/SelectorChecker.h:

(WebCore::SelectorChecker::match):
The pseudo element matching has been moved here.

  • css/StyleResolver.h:

(WebCore::checkRegionSelector):

  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::selectorMatches):

LayoutTests:
Add more coverage for style sharing with empty rules, just in case.

  • fast/css/style-sharing-empty-rule-modification-expected.txt: Added.
  • fast/css/style-sharing-empty-rule-modification.html: Added.
2:54 PM Changeset in webkit [169546] by barraclough@apple.com
  • 3 edits in trunk/Source/WebKit2

Set default voucher for XPC client processes
https://bugs.webkit.org/show_bug.cgi?id=133458

Reviewed by Geoff Garen.

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:

(WebKit::XPCServiceInitializer):

  • add voucher_replace_default_voucher.
  • config.h:
    • add HAVE_VOUCHERS.
2:13 PM Changeset in webkit [169545] by commit-queue@webkit.org
  • 13 edits in trunk/Source

Send external playback properties to fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=133366

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-06-02
Reviewed by Simon Fraser.

Source/WebCore:
Refactor property updates in WebVideoFullscreenModelMediaElement and update
setExternalPlayback on webkitcurrentplaybacktargetiswirelesschangedEvent.

  • WebCore.exp.in: Add export for setExternalPlayback.
  • platform/ios/WebVideoFullscreenInterface.h: add setExternalPlayback
  • platform/ios/WebVideoFullscreenInterfaceAVKit.h: add setExternalPlayback
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerController isPlayingOnExternalScreen]): added
(+[WebAVPlayerController keyPathsForValuesAffectingPlayingOnExternalScreen]): added
(WebVideoFullscreenInterfaceAVKit::setExternalPlayback): added
(WebVideoFullscreenInterfaceAVKit::enterFullscreen): added

  • platform/ios/WebVideoFullscreenModelMediaElement.h: add updateForEventName
  • platform/ios/WebVideoFullscreenModelMediaElement.mm:

(WebVideoFullscreenModelMediaElement::setMediaElement): refactor property changes into updateForEventName()
(WebVideoFullscreenModelMediaElement::handleEvent): refactor property changes into updateForEventName()
(WebVideoFullscreenModelMediaElement::updateForEventName): remove duplicate code, implement for setExternalPlayback

Source/WebKit2:
Forward setExternalPlayback.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in: add setExternalPlaybackProperties
  • WebProcess/ios/WebVideoFullscreenManager.h: add setExternalPlaybackProperties
  • WebProcess/ios/WebVideoFullscreenManager.mm: add setExternalPlaybackProperties

(WebKit::WebVideoFullscreenManager::setExternalPlaybackProperties): added

1:53 PM Changeset in webkit [169544] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

WebCore build fix for webreplay
https://bugs.webkit.org/show_bug.cgi?id=133401

Patch by Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> on 2014-06-02
Reviewed by Darin Adler.

  • replay/MemoizedDOMResult.cpp:

(WebCore::MemoizedDOMResultBase::createFromEncodedResult):
Add a default nullptr return in order to avoid a gcc warning.
The warning is because of a non-void method that has a case which doesn't return.

  • replay/ReplayController.cpp:

(WebCore::ReplayController::setForceDeterministicSettings):
Guard the ScrollingCoordinator with the appropriate #ifdef.

  • replay/SerializationMethods.cpp:

Guard the KeypressCommand with COCOA as it is only present there.

1:42 PM Changeset in webkit [169543] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove unintentional changes to WKContentViewInteraction.mm
introduced in r169500.

Unreviewed.

  • UIProcess/ios/WKContentViewInteraction.mm:

(+[WKAutocorrectionContext autocorrectionContextWithData:markedText:selectedText:afterText:selectedRangeInMarkedText:]):

1:22 PM Changeset in webkit [169542] by ggaren@apple.com
  • 3 edits in trunk/Source/WebKit2

Address some review comments on bug 133408
https://bugs.webkit.org/show_bug.cgi?id=133410

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKBackForwardListItem.h:
  • UIProcess/API/Cocoa/WKUIDelegate.h:
1:08 PM Changeset in webkit [169541] by rniwa@webkit.org
  • 4 edits
    1 move in trunk

Rename DoYouEvenBench 0.17 to Speedometer 1.0 and add a new look.
https://bugs.webkit.org/show_bug.cgi?id=133455

Reviewed by Timothy Hatcher.

PerformanceTests:

  • Speedometer/: Renamed from DoYouEvenBench.
  • Skipped: Updated the path for InteractiveRunner.html

Tools:
Since the perf. dashboard doesn't support following renamed benchmarks,
keep reporting Speedometer results as DoYouEvenBench results.

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(_generate_results_dict):

12:57 PM Changeset in webkit [169540] by rniwa@webkit.org
  • 6 edits
    4 adds in trunk/PerformanceTests

Rename DoYouEvenBench 0.17 to Speedometer 1.0 and add a new look.
https://bugs.webkit.org/show_bug.cgi?id=133455

Reviewed by Timothy Hatcher.

Renamed the benchmark to Speedometer and added the new look designed by Timothy Hatcher.

Also changed the unit of measurements from milliseconds to runs-per-minute averaged over the number
of the benchmark suites (7 for 1.0). You can divide 420000 by the old benchmark score (in milliseconds)
to get the new value for the set of tests that are enabled by default in 1.0. You can continue to see
results in milliseconds on Full.html#ms.

  • DoYouEvenBench/Full.html: Added a bunch of sections and the description of the benchmark.
  • DoYouEvenBench/resources/benchmark-report.js: Remove the newly added content when ran inside a DRT or

WTR so that run-perf-tests wouldn't error.

  • DoYouEvenBench/resources/benchmark-runner.js:

(BenchmarkRunner.prototype._appendFrame): Call a newly added willAddTestFrame callback when it exists.

  • DoYouEvenBench/resources/gauge.png: Added.
  • DoYouEvenBench/resources/gauge@2x.png: Added.
  • DoYouEvenBench/resources/logo.png: Added.
  • DoYouEvenBench/resources/logo@2x.png: Added.
  • DoYouEvenBench/resources/main.css: Replaced the style.
  • DoYouEvenBench/resources/main.js:

(window.benchmarkClient.willAddTestFrame): Place the iframe right where #testContainer is shown.
(window.benchmarkClient.willRunTest): Show the name of the suite (e.g. EmberJS-TodoMVC) to run next.
(window.benchmarkClient.didRunSuites):
(window.benchmarkClient.willStartFirstIteration): Initialize _timeValues and _finishedTestCount now that
we have an UI to run the benchmark multiple times without reloading the page.
(window.benchmarkClient.didFinishLastIteration): Split into smaller pieces.
(window.benchmarkClient._computeResults): Computes the mean and the statistics for the given time values,
and also format them in a human readable form.
(window.benchmarkClient._computeResults.totalTimeInDisplayUnit): Converts ms to runs/min.
(window.benchmarkClient._computeResults.sigFigFromPercentDelta): Given a percentage error (e.g. 1%),
returns the number of significant digits required for the mean.
(window.benchmarkClient._computeResults.toSigFigPrecision): Calls toPrecision with the specified precision
constrained to be at least the number of non-decimal digits and at most 6.
(window.benchmarkClient._addDetailedResultsRow): Renamed from _addResult. It now takes the table to which
to add a row and the iteration number.
(window.benchmarkClient._updateGaugeNeedle): Added. Controls the angle of the speed indicator.
(window.benchmarkClient._populateDetailedResults): Added.
(window.benchmarkClient.prepareUI): Added. It adds an event listener to show a specified section when
the push state of the document changes, and shows a warning sign when the view port size is too small.
We do this inside a callback to avoid running it inside DRT / WTR.
(startBenchmark):
(showSection): Added.
(startTest): Added.
(showResultsSummary): Added.
(showResultDetails): Added.
(showAbout): Added.

12:57 PM Changeset in webkit [169539] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Further unreviewed GTK build fix after r169536.

Update the m_duration contructor in MediaSourceGStreamer.

  • platform/graphics/gstreamer/MediaSourceGStreamer.cpp:

(WebCore::MediaSourceGStreamer::MediaSourceGStreamer):

12:50 PM Changeset in webkit [169538] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] -[WKWebView activeURL] is unused
https://bugs.webkit.org/show_bug.cgi?id=133440

Reviewed by Mark Rowe.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView activeURL]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h: Removed the property declaration.
12:42 PM Changeset in webkit [169537] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

Unreviewed GTK build fix after r169536.

Update MediaSourceGStreamer to match new duration parameters.

  • platform/graphics/gstreamer/MediaSourceGStreamer.cpp:

(WebCore::MediaSourceGStreamer::setDuration): Ditto.

  • platform/graphics/gstreamer/MediaSourceGStreamer.h:
  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
11:58 AM Changeset in webkit [169536] by jer.noble@apple.com
  • 11 edits in trunk/Source/WebCore

[MSE][Mac] Media does not generate 'ended' event when playing to duration.
https://bugs.webkit.org/show_bug.cgi?id=133452

Reviewed by Eric Carlson.

Add a boundaryTimeObserver to the AVSampleBufferRenderSynchronizer to detect when
playback crosses the duration boundary, and pause in that event. Also refuse to begin
playback if the currentTime is beyond the duration. Also, pause playback if duration
becomes less than currentTime.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::~MediaPlayerPrivateMediaSourceAVFObjC):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentMediaTime):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentTimeDouble):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationChanged):

Update MediaSource::duration() and ::setDuration() to take and give MediaTimes rather than doubles:

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::duration): double -> MediaTime.
(WebCore::MediaSource::setDuration): Ditto.
(WebCore::MediaSource::streamEndedWithError): Ditto.

  • platform/graphics/MediaSourcePrivate.h: Ditto.
  • platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:

(WebCore::MediaSourcePrivateAVFObjC::MediaSourcePrivateAVFObjC): Ditto.
(WebCore::MediaSourcePrivateAVFObjC::duration): Ditto.
(WebCore::MediaSourcePrivateAVFObjC::setDuration): Ditto.

  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::MockMediaPlayerMediaSource): Ditto.
(WebCore::MockMediaPlayerMediaSource::maxTimeSeekableDouble): Ditto.
(WebCore::MockMediaPlayerMediaSource::durationDouble): Ditto.
(WebCore::MockMediaPlayerMediaSource::advanceCurrentTime): Ditto.
(WebCore::MockMediaPlayerMediaSource::updateDuration): Ditto.

  • platform/mock/mediasource/MockMediaPlayerMediaSource.h:
  • platform/mock/mediasource/MockMediaSourcePrivate.cpp:

(WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate): Ditto.
(WebCore::MockMediaSourcePrivate::duration): Ditto.
(WebCore::MockMediaSourcePrivate::setDuration): Ditto.

  • platform/mock/mediasource/MockMediaSourcePrivate.h:
11:19 AM Changeset in webkit [169535] by mhock@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed TestExpectations gardening after r169532.

Update fast/table/border-collapsing/collapsed-borders-adjoining-sections.html
from [ Failure ] to [ ImageOnlyFailure ].

10:39 AM Changeset in webkit [169534] by Alan Bujtas
  • 11 edits in trunk/Source/WebCore

Rename ImagePaintingContext to ImagePaintingOptions.
https://bugs.webkit.org/show_bug.cgi?id=133451

Reviewed by Simon Fraser.

No change in functionality.

  • WebCore.exp.in:
  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::paint):

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::drawImage):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawTiledImage):
(WebCore::GraphicsContext::drawImageBuffer):

  • platform/graphics/GraphicsContext.h:

(WebCore::ImagePaintingOptions::ImagePaintingOptions):
(WebCore::ImagePaintingContext::ImagePaintingContext): Deleted.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::paintSnapshotImage):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::paintIntoRect):

  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore::RenderSnapshottedPlugIn::paintSnapshot):

10:22 AM Changeset in webkit [169533] by oliver@apple.com
  • 6 edits
    5 adds
    1 delete in trunk/Source/WebKit2

Restructure initial distinct sandbox profiles
https://bugs.webkit.org/show_bug.cgi?id=133415

Reviewed by Alexey Proskuryakov.

Add support for manually instantiating the network and
content process sandboxes, and add initial profiles.
These profiles are completely generic so we can make sure
nothing is broken by enabling them.

This also adds a target to the WebKit2 project to correctly
process the profiles.

  • DatabaseProcess/ios/DatabaseProcessIOS.mm:

(WebKit::DatabaseProcess::initializeSandbox):

  • DatabaseProcess/ios/com.apple.WebKit.DatabasesIOS.sb: Removed.
  • NetworkProcess/ios/NetworkProcessIOS.mm:

(WebKit::NetworkProcess::initializeSandbox):

  • Resources/SandboxProfiles/ios/com.apple.WebKit.Databases.sb: Added.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: Added.
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb: Added.
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::initializeSandbox):

9:37 AM Changeset in webkit [169532] by Brent Fulgham
  • 4 edits in trunk

REGRESSION (r154622): Borders disappear when hovering over cells in table
https://bugs.webkit.org/show_bug.cgi?id=133057
<rdar://problem/15922359>

Reviewed by Tim Horton.

Source/WebCore:

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::paintCollapsedBorders): Revert recent
non-edge collapsed border optimization due to drawing
regressions.

LayoutTests:

until we provide a permanent fix.

9:05 AM Changeset in webkit [169531] by Alan Bujtas
  • 14 edits in trunk/Source/WebCore

Provide better encapsulation for image related painting properties.
https://bugs.webkit.org/show_bug.cgi?id=133434

Reviewed by Darin Adler.

Image related drawing property list keeps growing for the functions below and results in
multiple overloadings with seemingly random default parameters.

GraphicsContext::drawImage()
GraphicsContext::drawTiledImage()
GraphicsContext::drawImageBuffer()

This patch provides encapsulation for the image drawing properties. Encapsulation ensures that
introducing a new property does not result in yet another overloaded function.

No change in functionality.

  • WebCore.exp.in:
  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::paint):

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::compositeBuffer):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawTiledImage):
(WebCore::GraphicsContext::drawImageBuffer):

  • platform/graphics/GraphicsContext.h:

(WebCore::ImagePaintingContext::ImagePaintingContext):

  • platform/graphics/ShadowBlur.cpp:

(WebCore::ShadowBlur::endShadowLayer):

  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::ImageBuffer::draw):

  • platform/graphics/filters/FEComposite.cpp:

(WebCore::FEComposite::platformApplySoftware):

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRendererHelper::applyFilterEffect):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::paintSnapshotImage):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::paintReplaced):
(WebCore::RenderImage::paintIntoRect):

  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore::RenderSnapshottedPlugIn::paintSnapshot):

8:03 AM Changeset in webkit [169530] by commit-queue@webkit.org
  • 14 edits in trunk/Source/WebCore

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

caused assert in drawImage() (Requested by zalan on #webkit).

Reverted changeset:

"Provide better encapsulation for image related painting
properties."
https://bugs.webkit.org/show_bug.cgi?id=133434
http://trac.webkit.org/changeset/169529

7:23 AM Changeset in webkit [169529] by Alan Bujtas
  • 14 edits in trunk/Source/WebCore

Provide better encapsulation for image related painting properties.
https://bugs.webkit.org/show_bug.cgi?id=133434

Reviewed by Darin Adler.

Image related drawing property list keeps growing for the functions below and results in
multiple overloadings with seemingly random default parameters.

GraphicsContext::drawImage()
GraphicsContext::drawTiledImage()
GraphicsContext::drawImageBuffer()

This patch provides encapsulation for the image drawing properties. Encapsulation ensures that
introducing a new property does not result in yet another overloaded function.

No change in functionality.

  • WebCore.exp.in:
  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::paint):

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::compositeBuffer):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawTiledImage):
(WebCore::GraphicsContext::drawImageBuffer):

  • platform/graphics/GraphicsContext.h:

(WebCore::ImagePaintingContext::ImagePaintingContext):

  • platform/graphics/ShadowBlur.cpp:

(WebCore::ShadowBlur::endShadowLayer):

  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::ImageBuffer::draw):

  • platform/graphics/filters/FEComposite.cpp:

(WebCore::FEComposite::platformApplySoftware):

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRendererHelper::applyFilterEffect):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::paintSnapshotImage):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::paintReplaced):
(WebCore::RenderImage::paintIntoRect):

  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore::RenderSnapshottedPlugIn::paintSnapshot):

3:55 AM Changeset in webkit [169528] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk

Add mock DTMFSender support.
https://bugs.webkit.org/show_bug.cgi?id=133298

Patch by Kiran <kiran.guduru@samsung.com> on 2014-06-02
Reviewed by Eric Carlson.

Source/WebCore:
Implemented mock implementation for RTCPeerConnectionHandler. Now creating
RTCDTMFSenderHandlerMock and returning while creating DTMFSender instead of
returning null.

Test: fast/mediastream/RTCPeerConnection-dtmf.html.

  • CMakeLists.txt:
  • platform/mock/RTCDTMFSenderHandlerMock.cpp: Added.

(WebCore::RTCDTMFSenderHandlerMock::RTCDTMFSenderHandlerMock):
(WebCore::RTCDTMFSenderHandlerMock::setClient):
(WebCore::RTCDTMFSenderHandlerMock::insertDTMF):

  • platform/mock/RTCDTMFSenderHandlerMock.h: Added.
  • platform/mock/RTCPeerConnectionHandlerMock.cpp:

(WebCore::RTCPeerConnectionHandlerMock::createDTMFSender):

LayoutTests:

  • fast/mediastream/RTCPeerConnection-dtmf-expected.txt:
  • fast/mediastream/RTCPeerConnection-dtmf.html:
1:31 AM Changeset in webkit [169527] by calvaris@igalia.com
  • 2 edits in trunk/Source/WebCore

[GTK] media controls should prevent 'click' events from reaching the page
https://bugs.webkit.org/show_bug.cgi?id=133402

Reviewed by Eric Carlson.

When handling events, we events we need to return true in order
that the superclass gets the value and prevents the execution of
the default event handler in the page.

Test: media/media-controls-cancel-events.html

  • Modules/mediacontrols/mediaControlsGtk.js:

(ControllerGtk.prototype.handleMuteButtonMouseOver):
(ControllerGtk.prototype.handleVolumeBoxMouseOut):
(ControllerGtk.prototype.handleCaptionButtonClicked):
(ControllerGtk.prototype.handleCaptionButtonMouseOver):
(ControllerGtk.prototype.handleCaptionButtonShowMenu):
(ControllerGtk.prototype.handleCaptionButtonMouseOut):
(ControllerGtk.prototype.handleCaptionMouseOut): Return true to
prevent forwarding the event execution.

12:32 AM Changeset in webkit [169526] by jinwoo7.song@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Below test cases are passing after r169403.

  • fast/dom/webtiming-document-open.html
  • fast/dom/webtiming-navigate-within-document.html
  • platform/efl/TestExpectations:
12:00 AM Changeset in webkit [169525] by commit-queue@webkit.org
  • 3 edits
    8 adds in trunk

CSS JIT: add support for the "not" pseudo class
https://bugs.webkit.org/show_bug.cgi?id=133314

Source/WebCore:
Patch by Yusuke Suzuki <Yusuke Suzuki> on 2014-06-02
Reviewed by Benjamin Poulain.

Add :not pseudo class support to CSS JIT. Current implementation
doesn't support visitedMatchType. So when link pseudo class appears in
:not sub fragment, fallback to the non-JIT implementation.

Tests: fast/selectors/not-active-hover-quirks.html

fast/selectors/not-active-hover-strict.html
fast/selectors/pseudo-class-not.html

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::constructFragments):
(WebCore::SelectorCompiler::minimumRegisterRequirements):
(WebCore::SelectorCompiler::computeBacktrackingInformation):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::fragmentOnlyMatchesLinksInQuirksMode):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementDataMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesNotPseudoClass):
(WebCore::SelectorCompiler::SelectorCodeGenerator::computeBacktrackingInformation): Deleted.

LayoutTests:
Add :not pseudo class support to CSS JIT. Current implementation
doesn't support visitedMatchType. So when link pseudo class appears in
:not sub fragment, fallback to the non-JIT implementation.

Patch by Yusuke Suzuki <Yusuke Suzuki> on 2014-06-02
Reviewed by Benjamin Poulain.

  • fast/selectors/not-active-hover-quirks-expected.txt: Added.
  • fast/selectors/not-active-hover-quirks.html: Added.
  • fast/selectors/not-active-hover-strict-expected.txt: Added.
  • fast/selectors/not-active-hover-strict.html: Added.
  • fast/selectors/pseudo-class-not-expected.txt: Added.
  • fast/selectors/pseudo-class-not.html: Added.
  • fast/selectors/resources/not-hover-active-quirks-utility.js: Added.

(testQuerySelector):
(test):

  • fast/selectors/resources/not-hover-active-strict-utility.js: Added.

(testQuerySelector):
(test):

Note: See TracTimeline for information about the timeline view.