Timeline



Jun 27, 2014:

10:51 PM Changeset in webkit [170565] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

check-webkit-style should check the order of #imports as well as #includes
https://bugs.webkit.org/show_bug.cgi?id=134428

Reviewed by Dan Bernstein.

  • Scripts/webkitpy/style/checkers/cpp.py:

Allow "import" in addition to "include", so that the sort order of headers in ObjC files is checked.

10:43 PM Changeset in webkit [170564] by fpizlo@apple.com
  • 38 edits
    1 add
    2 deletes in branches/ftlopt

[ftlopt] If a CodeBlock is jettisoned due to a watchpoint then it should be possible to figure out something about that watchpoint
https://bugs.webkit.org/show_bug.cgi?id=134333

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

This is engineered to provide loads of information to the profiler without incurring any
costs when the profiler is disabled. It's the oldest trick in the book: the thing that
fires the watchpoint doesn't actually create anything to describe the reason why it was
fired; instead it creates a stack-allocated FireDetail subclass instance. Only if the
FireDetail::dump() virtual method is called does anything happen.

Currently we use this to produce very fine-grained data for Structure watchpoints and
some cases of variable watchpoints. For all other situations, the given reason is just a
string constant, by using StringFireDetail. If we find a situation where that string
constant is insufficient to diagnose an issue then we can change it to provide more
fine-grained information.

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::jettison):

  • bytecode/CodeBlock.h:
  • bytecode/CodeBlockJettisoningWatchpoint.cpp:

(JSC::CodeBlockJettisoningWatchpoint::fireInternal):

  • bytecode/CodeBlockJettisoningWatchpoint.h:
  • bytecode/ProfiledCodeBlockJettisoningWatchpoint.cpp: Removed.
  • bytecode/ProfiledCodeBlockJettisoningWatchpoint.h: Removed.
  • bytecode/StructureStubClearingWatchpoint.cpp:

(JSC::StructureStubClearingWatchpoint::fireInternal):

  • bytecode/StructureStubClearingWatchpoint.h:
  • bytecode/VariableWatchpointSet.h:

(JSC::VariableWatchpointSet::invalidate):
(JSC::VariableWatchpointSet::finalizeUnconditionally):

  • bytecode/VariableWatchpointSetInlines.h:

(JSC::VariableWatchpointSet::notifyWrite):

  • bytecode/Watchpoint.cpp:

(JSC::StringFireDetail::dump):
(JSC::WatchpointSet::fireAll):
(JSC::WatchpointSet::fireAllSlow):
(JSC::WatchpointSet::fireAllWatchpoints):
(JSC::InlineWatchpointSet::fireAll):

  • bytecode/Watchpoint.h:

(JSC::FireDetail::FireDetail):
(JSC::FireDetail::~FireDetail):
(JSC::StringFireDetail::StringFireDetail):
(JSC::Watchpoint::fire):
(JSC::WatchpointSet::fireAll):
(JSC::WatchpointSet::touch):
(JSC::WatchpointSet::invalidate):
(JSC::InlineWatchpointSet::fireAll):
(JSC::InlineWatchpointSet::touch):

  • dfg/DFGCommonData.h:
  • dfg/DFGOperations.cpp:
  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):

  • jsc.cpp:

(WTF::Masquerader::create):

  • profiler/ProfilerCompilation.cpp:

(JSC::Profiler::Compilation::setJettisonReason):
(JSC::Profiler::Compilation::toJS):

  • profiler/ProfilerCompilation.h:

(JSC::Profiler::Compilation::setJettisonReason): Deleted.

  • runtime/ArrayBuffer.cpp:

(JSC::ArrayBuffer::transfer):

  • runtime/ArrayBufferNeuteringWatchpoint.cpp:

(JSC::ArrayBufferNeuteringWatchpoint::fireAll):

  • runtime/ArrayBufferNeuteringWatchpoint.h:
  • runtime/CommonIdentifiers.h:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/Identifier.cpp:

(JSC::Identifier::dump):

  • runtime/Identifier.h:
  • runtime/JSFunction.cpp:

(JSC::JSFunction::put):
(JSC::JSFunction::defineOwnProperty):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::addFunction):
(JSC::JSGlobalObject::haveABadTime):

  • runtime/JSSymbolTableObject.cpp:

(JSC::VariableWriteFireDetail::dump):

  • runtime/JSSymbolTableObject.h:

(JSC::VariableWriteFireDetail::VariableWriteFireDetail):
(JSC::symbolTablePut):
(JSC::symbolTablePutWithAttributes):

  • runtime/PropertyName.h:

(JSC::PropertyName::dump):

  • runtime/Structure.cpp:

(JSC::Structure::notifyTransitionFromThisStructure):

  • runtime/Structure.h:

(JSC::Structure::notifyTransitionFromThisStructure): Deleted.

  • runtime/SymbolTable.cpp:

(JSC::SymbolTableEntry::notifyWriteSlow):
(JSC::SymbolTable::WatchpointCleanup::finalizeUnconditionally):

  • runtime/SymbolTable.h:

(JSC::SymbolTableEntry::notifyWrite):

  • runtime/VM.cpp:

(JSC::VM::addImpureProperty):

Source/WebCore:

No new tests because no change in behavior.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):

Tools:

  • Scripts/display-profiler-output:
6:34 PM Changeset in webkit [170563] by Alan Bujtas
  • 4 edits
    2 adds in trunk

Subpixel rendering: Background clipping with subpixel behaves differently when composited.
https://bugs.webkit.org/show_bug.cgi?id=134422

Reviewed by Simon Fraser.

Adjust cliprect with the subpixel offset from the graphics layer the same way we do it for painting.
It ensures that cliprect starts from the right position when graphics layer is not on the same
coordinates as the associated render layer.

Source/WebCore:
Test: compositing/hidpi-compositing-layer-with-subpixel-offset-accumulation-clipping.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::clipToRect):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::applyFilters):
(WebCore::RenderLayer::paintTransformedLayerIntoFragments):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::paintOverflowControlsForFragments):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h:

LayoutTests:

  • compositing/hidpi-compositing-layer-with-subpixel-offset-accumulation-clipping-expected.html: Added.
  • compositing/hidpi-compositing-layer-with-subpixel-offset-accumulation-clipping.html: Added.
5:19 PM Changeset in webkit [170562] by Brent Fulgham
  • 18 edits
    4 adds in trunk/Source

[Win] Implement parts of the AVFOUNDATION_LOADER_DELEGATE logic for Windows
https://bugs.webkit.org/show_bug.cgi?id=134418

Reviewed by Eric Carlson.

../WebCore:
Land an initial implementation of AVFOUNDATION_LOADER_DELEGATE for
Windows.

  • DerivedSources.cpp: Add new IDL files
  • DerivedSources.make: Add check for AVFOUNDATION_LOADER_DELEGATE.
  • Modules/encryptedmedia/CDMPrivateMediaPlayer.cpp: Added (ported from

Objective C.)

  • WebCore.vcxproj/WebCore.vcxproj: Update for new files.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.vcxproj/WebCoreCommon.props: Add new search paths.
  • WebCore.vcxproj/WebCoreTestSupport.vcxproj: Update for new files.
  • WebCore.vcxproj/WebCoreTestSupport.vcxproj.filters: Ditto.
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::extractKeyURIKeyIDAndCertificateFromInitData):
Moved from MediaPlayerPrivateAVFoundationObjC.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  • platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h:

Update for new API calls.

  • platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp: Added.
  • platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.h: Added.
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

Updated for new AVFOUNDATION_LOADER_DELEGATE methods.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
  • platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp: Added.
  • platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.h: Added.
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

Remove method that was moved to base class.

../WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Add new

export.

4:32 PM Changeset in webkit [170561] by benjamin@webkit.org
  • 5 edits in trunk/Source/WebCore

Remove BufferForAppendingHyphen
https://bugs.webkit.org/show_bug.cgi?id=134376

Reviewed by Darin Adler.

It is legacy, from a time when that code was using a Vector.

The problem is that StringBuilder's memory was also implicitly used to keep
the string alive for the lifespan of the TextRun. That seems quite dangerous
as changes in StringBuilder could have changed that.

To fix the lifetime issue, my first idea was to make it explicit by passing
a String reference to hold the memory alive, and a boolean to say if the text
need an hyphen. The problem with that is this code is very hot and I made things
worse.

The solution with this patch is to just pass a pointer to a String to do both
the buffer reference, and the decision to add the hyphen. Having a single
argument with 2 meanings is not pretty but that's not worse than the old buffer.

  • editing/TextIterator.cpp:
  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::localSelectionRect):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::constructTextRun):
(WebCore::adjustCharactersAndLengthForHyphen): Deleted.

  • rendering/InlineTextBox.h:

(WebCore::BufferForAppendingHyphen::BufferForAppendingHyphen): Deleted.

  • rendering/RenderText.cpp:
4:28 PM Changeset in webkit [170560] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Lazily link frameworks in WebVideoFullscreenInterfaceAVKit.
https://bugs.webkit.org/show_bug.cgi?id=134407

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-06-27
Reviewed by Eric Carlson.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerController init]):
Load AVPlayerController on use.
(WebVideoFullscreenInterfaceAVKit::WebVideoFullscreenInterfaceAVKit):
Remove loading on construction.
(WebVideoFullscreenInterfaceAVKit::setCurrentTime): Load AVValueTiming on use.
(WebVideoFullscreenInterfaceAVKit::setupFullscreen): Load several classes on use.
(WebVideoFullscreenInterfaceAVKit::exitFullscreen): Load UIColor on use.

3:29 PM Changeset in webkit [170559] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove extra operations from 64-bit or on armv7.
https://bugs.webkit.org/show_bug.cgi?id=134408

Patch by Alex Christensen <achristensen@webkit.org> on 2014-06-27
Reviewed by Geoffrey Garen.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::addFlagsToElementStyleFromContext):
Only do or operations if it would change values.
Often we're only setting one flag, so half the operations are not necessary.

3:12 PM Changeset in webkit [170558] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

ScrollView::rootViewToTotalContents() needs to take topContentInset into account
https://bugs.webkit.org/show_bug.cgi?id=134415
-and corresponding-
<rdar://problem/17473633>

Reviewed by Simon Fraser.

This affects hit testing in headers aka PageBanners.

The root view will be anchored above the start of the total contents if there is a
topContentInset, so the inset value should be subtracted to get into the right
coordinate space here.

  • platform/ScrollView.cpp:

(WebCore::ScrollView::rootViewToTotalContents):

2:58 PM Changeset in webkit [170557] by Antti Koivisto
  • 15 edits
    1 add in trunk/Source

Flush throttling with remote layers
https://bugs.webkit.org/show_bug.cgi?id=134398

Reviewed by Darin Adler.

Source/WebCore:
With remote layer trees the flush scheduling lives in the WebKit2 layer. The throttling code
needs to live there as well.

Add the required callbacks and disable the existing throttling code in RenderLayerCompositor
when remote layers are in use. Later we can get rid of the RenderLayerCompositor throttling code.

  • WebCore.xcodeproj/project.pbxproj:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadProgressingStatusChanged):

  • page/ChromeClient.h:

(WebCore::ChromeClient::adjustLayerFlushThrottling):

  • page/FrameView.cpp:

(WebCore::FrameView::disableLayerFlushThrottlingTemporarilyForInteraction):
(WebCore::FrameView::loadProgressingStatusChanged):

Factor the progress status change activities to a function.

(WebCore::FrameView::updateLayerFlushThrottling):
(WebCore::FrameView::setExposedRect):

Move the call to adjustTiledBackingCoverage from WebKit to here.

(WebCore::FrameView::updateLayerFlushThrottlingInAllFrames): Deleted.

  • page/FrameView.h:
  • page/LayerFlushThrottleState.h: Added.
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::RenderLayerCompositor):

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::adjustLayerFlushThrottling):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:
  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::adjustLayerFlushThrottling):

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

(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::updateScrolledExposedRect):
(WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):

Delay layer flushes during page loading.
If use interacts with the page the next flush in unthrottled even if loading is in progress.

(WebKit::RemoteLayerTreeDrawingArea::adjustLayerFlushThrottling):

Compute the new delay. The first visual flush uses a shorter delay.
Flush immediately when we are no longer throttling.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):

2:57 PM Changeset in webkit [170556] by msaboff@apple.com
  • 2 edits in branches/ftlopt/Source/JavaScriptCore

Unreviewed build fix after r169795.

Fixed ASSERT for 32 bit build.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::silentSavePlanForGPR):

2:44 PM Changeset in webkit [170555] by fpizlo@apple.com
  • 4 edits
    1 add in trunk/Source/JavaScriptCore

Don't fold a UInt32ToNumber with DoOverflow to Identity since that would result in an Identity that takes an Int32 and returns a DoubleRep
https://bugs.webkit.org/show_bug.cgi?id=134412

Reviewed by Mark Hahnenberg.

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::setReplacement):

  • dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::handleNode):

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validate):

  • tests/stress/uint32-to-number-fold-constant-with-do-overflow.js: Added.

(foo):
(bar):
(baz):

2:36 PM Changeset in webkit [170554] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[iOS][WK2] <select> tapping "next" does not save new picker value
https://bugs.webkit.org/show_bug.cgi?id=134409

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-06-27
Reviewed by Enrica Casucci.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView accessoryTab:]):
We know the assisted node will change, so call endEditing
before the assisted node changes in the WebProcess.

(-[WKContentView _stopAssistingNode]):
Ensure we call endEditing to trigger controlEndEditing.

  • UIProcess/ios/forms/WKFormSelectPicker.mm:

(-[WKMultipleSelectPicker initWithView:]):
(-[WKMultipleSelectPicker pickerView:row:column:checked:]):
(-[WKSelectSinglePicker dealloc]):
Style fixes.

2:11 PM Changeset in webkit [170553] by beidson@apple.com
  • 6 edits in trunk/Source/WebCore

The user pressing a button on a gamepad should cause gamepads to become visible to all NavigatorGamepads.
https://bugs.webkit.org/show_bug.cgi?id=134375

Reviewed by Darin Adler.

No new tests (Not yet a tested config)

  • Modules/gamepad/GamepadManager.cpp:

(WebCore::GamepadManager::platformGamepadConnected): Also call to makeGamepadsVisibileToBlindNavigators.
(WebCore::GamepadManager::platformGamepadDisconnected):
(WebCore::GamepadManager::platformGamepadInputActivity): Call makeGamepadsVisibileToBlindNavigators.
(WebCore::GamepadManager::makeGamepadsVisibileToBlindNavigators): Walk through each blind navigator

notifying it of each connected Gamepad.

(WebCore::GamepadManager::registerNavigator): Also add to the blind navigator set.
(WebCore::GamepadManager::unregisterNavigator): Also remove from the blind navigator set.

  • Modules/gamepad/GamepadManager.h:
  • platform/GamepadProviderClient.h: Added platformGamepadInputActivity.
  • platform/mac/HIDGamepadProvider.cpp:

(WebCore::HIDGamepadProvider::HIDGamepadProvider):
(WebCore::HIDGamepadProvider::valuesChanged): Set the input notification timer which will notify the clients

that a button was pressed.

(WebCore::HIDGamepadProvider::inputNotificationTimerFired): Perform that notification.

  • platform/mac/HIDGamepadProvider.h:
2:04 PM Changeset in webkit [170552] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit/mac

InfoClick (from Nisus Software) dies on viewing found items
<rdar://problem/17395601>
https://bugs.webkit.org/show_bug.cgi?id=134410

Reviewed by Andy Estes.

InfoClick was calling -[WebPreferences setPrivateBrowsingEnabled:] before
setting up a WebView (or anything else that would have set up WebKitSystemInterface),
which now requires a set up WebKitSystemInterface. We can fix this by initializing
it from +[WebPreferences initialize].

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
Add call to InitWebCoreSystemInterface().

(+[WebPreferences _switchNetworkLoaderToNewTestingSession]):
Remove now unnecessary call to InitWebCoreSystemInterface().

2:03 PM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
1:53 PM Changeset in webkit [170551] by beidson@apple.com
  • 3 edits in trunk/Source/WebCore

HIDGamepads should populate themselves with initial input values
https://bugs.webkit.org/show_bug.cgi?id=134381

Reviewed by Darin Adler.

No new tests (Not yet a tested config)

  • platform/mac/HIDGamepad.cpp:

(WebCore::HIDGamepad::getCurrentValueForElement):
(WebCore::HIDGamepad::initElements): Loop through all the saved elements to get current values.
(WebCore::HIDGamepad::maybeAddButton):
(WebCore::HIDGamepad::maybeAddAxis):

  • platform/mac/HIDGamepad.h:

(WebCore::HIDGamepadElement::HIDGamepadElement):
(WebCore::HIDGamepadButton::HIDGamepadButton):
(WebCore::HIDGamepadAxis::HIDGamepadAxis):

1:47 PM Changeset in webkit [170550] by commit-queue@webkit.org
  • 8 edits in trunk/Source

Source/JavaScriptCore: Add feature flag for link long-press gesture.

https://bugs.webkit.org/show_bug.cgi?id=134262

Reviewed by Enrica Casucci.

  • Configurations/FeatureDefines.xcconfig: Add ENABLE_LINK_LONG_PRESS.

Patch by Peyton Randolph <prandolph@apple.com> on 2014-06-27

Source/WebCore: Add feature flag for link long-press gesture.
https://bugs.webkit.org/show_bug.cgi?id=134262

Patch by Peyton Randolph <prandolph@apple.com> on 2014-06-27
Reviewed by Enrica Casucci.

  • Configurations/FeatureDefines.xcconfig:

Add ENABLE_LINK_LONG_PRESS.

Source/WebKit/mac: Add feature flag for link long-press gesture.
https://bugs.webkit.org/show_bug.cgi?id=134262

Patch by Peyton Randolph <prandolph@apple.com> on 2014-06-27
Reviewed by Enrica Casucci.

  • Configurations/FeatureDefines.xcconfig:

Add ENABLE_LINK_LONG_PRESS.

Source/WebKit2: Add feature flag for link long-press gesture.

https://bugs.webkit.org/show_bug.cgi?id=134262

Reviewed by Enrica Casucci.

  • Configurations/FeatureDefines.xcconfig: Add ENABLE_LINK_LONG_PRESS.

Patch by Peyton Randolph <prandolph@apple.com> on 2014-06-27

1:35 PM Changeset in webkit [170549] by beidson@apple.com
  • 4 edits in trunk/Source/WebCore

HIDGamepadProvider should only be active when someone is interested in Gamepads.
https://bugs.webkit.org/show_bug.cgi?id=134374

Reviewed by Darin Adler.

No new tests (Not yet a tested config)

  • Modules/gamepad/GamepadManager.cpp:

(WebCore::GamepadManager::registerNavigator): Add some logging.
(WebCore::GamepadManager::unregisterNavigator): Ditto.

  • platform/mac/HIDGamepadProvider.cpp:

(WebCore::HIDGamepadProvider::HIDGamepadProvider):
(WebCore::HIDGamepadProvider::connectionDelayTimerFired): Stop suppressing connection callbacks
(WebCore::HIDGamepadProvider::openAndScheduleManager):
(WebCore::HIDGamepadProvider::closeAndUnscheduleManager): Stop listening for gamepad events, and clear

all current gamepads.

(WebCore::HIDGamepadProvider::startMonitoringGamepads): If the first client, call openAndScheduleManager
(WebCore::HIDGamepadProvider::stopMonitoringGamepads): If the last client, call closeAndUnscheduleManager
(WebCore::HIDGamepadProvider::deviceAdded): If this callback came while we were suppressing connection

callbacks, it is a startup event for already-connected gamepads. Stop suppressing callbacks in a later
spin of the runloop.

(WebCore::HIDGamepadProvider::deviceRemoved):

  • platform/mac/HIDGamepadProvider.h:

(WebCore::HIDGamepadProvider::setShouldDispatchCallbacks): Deleted.

1:31 PM Changeset in webkit [170548] by achristensen@apple.com
  • 3 edits in trunk/Source/WebCore

Prevent unnecessary register saving in css jit.
https://bugs.webkit.org/show_bug.cgi?id=133955

Reviewed by Geoff Garen.

  • cssjit/FunctionCall.h:

(WebCore::FunctionCall::prepareAndCall):
(WebCore::FunctionCall::cleanupPostCall):
(WebCore::FunctionCall::saveAllocatedCallerSavedRegisters):
(WebCore::FunctionCall::restoreAllocatedCallerSavedRegisters):
(WebCore::FunctionCall::saveAllocatedRegisters): Renamed to saveAllocatedCallerSavedRegisters.
(WebCore::FunctionCall::restoreAllocatedRegisters): Renamed to restoreAllocatedCallerSavedRegisters.
Only push caller saved registers before function calls.

  • cssjit/RegisterAllocator.h:

(WebCore::RegisterAllocator::isValidRegister):
Corrected register ranges.
(WebCore::RegisterAllocator::isCallerSavedRegister): Added.

12:54 PM Changeset in webkit [170547] by jer.noble@apple.com
  • 35 edits in trunk/LayoutTests

Unreviewed gardening; fix whitespace issues in the W3C Media Source expected results.

  • http/tests/media/media-source/mediasource-addsourcebuffer-expected.txt:
  • http/tests/media/media-source/mediasource-append-buffer-expected.txt:
  • http/tests/media/media-source/mediasource-append-stream-expected.txt:
  • http/tests/media/media-source/mediasource-appendwindow-expected.txt:
  • http/tests/media/media-source/mediasource-buffered-expected.txt:
  • http/tests/media/media-source/mediasource-closed-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-a-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-av-audio-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-av-framesize-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-av-video-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-v-framerate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-v-framesize-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-a-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-av-audio-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-av-framesize-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-av-video-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-v-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-v-framerate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-v-framesize-expected.txt:
  • http/tests/media/media-source/mediasource-duration-expected.txt:
  • http/tests/media/media-source/mediasource-endofstream-invaliderror-expected.txt:
  • http/tests/media/media-source/mediasource-endofstream-invaliderror.html:
  • http/tests/media/media-source/mediasource-getvideoplaybackquality-expected.txt:
  • http/tests/media/media-source/mediasource-is-type-supported-expected.txt:
  • http/tests/media/media-source/mediasource-multiple-attach-expected.txt:
  • http/tests/media/media-source/mediasource-play-expected.txt:
  • http/tests/media/media-source/mediasource-play-then-seek-back-expected.txt:
  • http/tests/media/media-source/mediasource-redundant-seek-expected.txt:
  • http/tests/media/media-source/mediasource-remove-expected.txt:
  • http/tests/media/media-source/mediasource-seek-beyond-duration-expected.txt:
  • http/tests/media/media-source/mediasource-seek-during-pending-seek-expected.txt:
  • http/tests/media/media-source/mediasource-sourcebuffer-mode-expected.txt:
  • http/tests/media/media-source/mediasource-sourcebufferlist-expected.txt:
12:22 PM Changeset in webkit [170546] by Beth Dakin
  • 6 edits in trunk/Source/WebCore

Custom scrollbars should not create ScrollbarPainters on Mac
https://bugs.webkit.org/show_bug.cgi?id=134406
-and corresponding-
<rdar://problem/16178301>

Reviewed by Tim Horton.

The solution here is to return early in ScrollbarThemeMac::registerScrollbar() if
the scrollbar is custom. However, since this function is called during the
RenderScrollbar and Scrollbar constructor, we need to re-implement
Scrollbar::isCustomScrollbar() to return a member variable that is passed into the
constructor. Otherwise, we will get Scrollbar’s implementation is
isCustomScrollbar() wrongfully returning false since instead of the derived
class’s implementation.

Scrollbar constructor now has an option parameter isCustomScrollbar that defaults
to false. That value is returned by isCustomScrollbar()

  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::Scrollbar):

  • platform/Scrollbar.h:

Return early if this is a custom scrollbar since the rest of the function deals
with creating a native scrollbar and getting it in the right state.

  • platform/mac/ScrollbarThemeMac.mm:

(WebCore::ScrollbarThemeMac::registerScrollbar):

Send true to the Scrollbar constructor to indicate that this is a custom
scrollbar.

  • rendering/RenderScrollbar.cpp:

(WebCore::RenderScrollbar::RenderScrollbar):

  • rendering/RenderScrollbar.h:
12:17 PM Changeset in webkit [170545] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] AVMetadataKeySpaceISOUserData not defined on 10.8
https://bugs.webkit.org/show_bug.cgi?id=134401

Reviewed by Jer Noble.

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

(WebCore::metadataType): Use SOFT_LINK_POINTER_OPTIONAL for AVMetadataKeySpaceISOUserData

so we don't have problems on OS versions where it isn't defined.

11:55 AM Changeset in webkit [170544] by mhodovan.u-szeged@partner.samsung.com
  • 3 edits
    2 adds in trunk

REGRESSION (r168685): css calc() expression fails
https://bugs.webkit.org/show_bug.cgi?id=134059

Source/WebCore:
The expression 'calc((100% - 20px) / 3' did not work properly after r168685,
because primitiveType() function in CSSCalculationValue.cpp has handled
CalcPercentLength and CalcPercentNumber categories as if they were angles.
The patch fixes this incorrect behavior.

Reviewed by Simon Fraser.

Test: fast/css/calc-percentage-pixel.html

  • css/CSSCalculationValue.cpp:

LayoutTests:
Added test demonstrates that expressions like
'calc((100% - 20px) / 3' work correctly again.

Reviewed by Simon Fraser.

  • fast/css/calc-percentage-pixel-expected.html: Added.
  • fast/css/calc-percentage-pixel.html: Added.
11:45 AM Changeset in webkit [170543] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

[MSE] http/tests/media/media-source/mediasource-append-buffer.html is failing
https://bugs.webkit.org/show_bug.cgi?id=134389

Reviewed by Eric Carlson.

Two subtests in mediasource-append-buffer.html are failing. Bring setDuration() up to spec
by throwing an exception if the duration is called while any SourceBuffer is updating. Do
not cancel pending events when a SourceBuffer is removed from its MediaSource. And mark the
SourceBuffer as having pending activity if there are pending events to be fired.

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::setDuration):

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::removedFromMediaSource):
(WebCore::SourceBuffer::hasPendingActivity):

11:43 AM Changeset in webkit [170542] by jer.noble@apple.com
  • 47 edits
    22 copies
    46 adds
    44 deletes in trunk/LayoutTests

[MSE] Import latest Media Source tests from W3C test suite
https://bugs.webkit.org/show_bug.cgi?id=134388

Reviewed by Eric Carlson.

Import the most recent Media Source tests from the proposed W3C test suite:
<https://github.com/acolwell/web-platform-tests/tree/submission/acolwell/media-source/media-source>

No ports currently enable these tests, so update the expected results for each
test with the ideal expected result.

  • http/tests/media/media-source/mediasource-addsourcebuffer-expected.txt:
  • http/tests/media/media-source/mediasource-addsourcebuffer.html:
  • http/tests/media/media-source/mediasource-append-buffer-expected.txt:
  • http/tests/media/media-source/mediasource-append-buffer.html:
  • http/tests/media/media-source/mediasource-append-stream-expected.txt: Added.
  • http/tests/media/media-source/mediasource-append-stream.html: Added.
  • http/tests/media/media-source/mediasource-appendwindow-expected.txt: Added.
  • http/tests/media/media-source/mediasource-appendwindow.html: Added.
  • http/tests/media/media-source/mediasource-buffered-expected.txt:
  • http/tests/media/media-source/mediasource-buffered.html:
  • http/tests/media/media-source/mediasource-closed-expected.txt:
  • http/tests/media/media-source/mediasource-closed.html:
  • http/tests/media/media-source/mediasource-config-change-mp4-a-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-a-bitrate.html:
  • http/tests/media/media-source/mediasource-config-change-mp4-av-audio-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-av-audio-bitrate.html:
  • http/tests/media/media-source/mediasource-config-change-mp4-av-framesize-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-av-framesize.html:
  • http/tests/media/media-source/mediasource-config-change-mp4-av-video-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-av-video-bitrate.html:
  • http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate.html:
  • http/tests/media/media-source/mediasource-config-change-mp4-v-framerate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-v-framerate.html:
  • http/tests/media/media-source/mediasource-config-change-mp4-v-framesize-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-mp4-v-framesize.html:
  • http/tests/media/media-source/mediasource-config-change-webm-a-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-a-bitrate.html:
  • http/tests/media/media-source/mediasource-config-change-webm-av-audio-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-av-audio-bitrate.html:
  • http/tests/media/media-source/mediasource-config-change-webm-av-framesize-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-av-framesize.html:
  • http/tests/media/media-source/mediasource-config-change-webm-av-video-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-av-video-bitrate.html:
  • http/tests/media/media-source/mediasource-config-change-webm-v-bitrate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-v-bitrate.html:
  • http/tests/media/media-source/mediasource-config-change-webm-v-framerate-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-v-framerate.html:
  • http/tests/media/media-source/mediasource-config-change-webm-v-framesize-expected.txt:
  • http/tests/media/media-source/mediasource-config-change-webm-v-framesize.html:
  • http/tests/media/media-source/mediasource-config-changes.js:
  • http/tests/media/media-source/mediasource-duration-expected.txt: Added.
  • http/tests/media/media-source/mediasource-duration.html: Added.
  • http/tests/media/media-source/mediasource-endofstream-invaliderror-expected.txt: Added.
  • http/tests/media/media-source/mediasource-endofstream-invaliderror.html: Added.
  • http/tests/media/media-source/mediasource-getvideoplaybackquality-expected.txt: Added.
  • http/tests/media/media-source/mediasource-getvideoplaybackquality.html: Added.
  • http/tests/media/media-source/mediasource-is-type-supported-expected.txt:
  • http/tests/media/media-source/mediasource-is-type-supported.html:
  • http/tests/media/media-source/mediasource-multiple-attach-expected.txt:
  • http/tests/media/media-source/mediasource-multiple-attach.html:
  • http/tests/media/media-source/mediasource-play-expected.txt:
  • http/tests/media/media-source/mediasource-play-then-seek-back-expected.txt: Added.
  • http/tests/media/media-source/mediasource-play-then-seek-back.html: Added.
  • http/tests/media/media-source/mediasource-play.html:
  • http/tests/media/media-source/mediasource-redundant-seek-expected.txt: Added.
  • http/tests/media/media-source/mediasource-redundant-seek.html: Added.
  • http/tests/media/media-source/mediasource-remove-expected.txt: Added.
  • http/tests/media/media-source/mediasource-remove.html: Added.
  • http/tests/media/media-source/mediasource-seek-beyond-duration-expected.txt: Added.
  • http/tests/media/media-source/mediasource-seek-beyond-duration.html: Added.
  • http/tests/media/media-source/mediasource-seek-during-pending-seek-expected.txt: Added.
  • http/tests/media/media-source/mediasource-seek-during-pending-seek.html: Added.
  • http/tests/media/media-source/mediasource-sourcebuffer-mode-expected.txt: Added.
  • http/tests/media/media-source/mediasource-sourcebuffer-mode.html: Added.
  • http/tests/media/media-source/mediasource-sourcebufferlist-expected.txt:
  • http/tests/media/media-source/mediasource-sourcebufferlist.html:
  • http/tests/media/media-source/mediasource-util.js:
  • http/tests/media/media-source/mp4/test-a-128k-44100Hz-1ch-manifest.json: Added.
  • http/tests/media/media-source/mp4/test-a-128k-44100Hz-1ch.mp4: Added.
  • http/tests/media/media-source/mp4/test-a-192k-44100Hz-1ch-manifest.json: Added.
  • http/tests/media/media-source/mp4/test-a-192k-44100Hz-1ch.mp4: Added.
  • http/tests/media/media-source/mp4/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/mp4/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.mp4: Added.
  • http/tests/media/media-source/mp4/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/mp4/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.mp4: Added.
  • http/tests/media/media-source/mp4/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/mp4/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.mp4: Added.
  • http/tests/media/media-source/mp4/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/mp4/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.mp4: Added.
  • http/tests/media/media-source/mp4/test-v-128k-320x240-24fps-8kfr-manifest.json: Added.
  • http/tests/media/media-source/mp4/test-v-128k-320x240-24fps-8kfr.mp4: Added.
  • http/tests/media/media-source/mp4/test-v-128k-320x240-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/mp4/test-v-128k-320x240-30fps-10kfr.mp4: Added.
  • http/tests/media/media-source/mp4/test-v-128k-640x480-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/mp4/test-v-128k-640x480-30fps-10kfr.mp4: Added.
  • http/tests/media/media-source/mp4/test-v-256k-320x240-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/mp4/test-v-256k-320x240-30fps-10kfr.mp4: Added.
  • http/tests/media/media-source/mp4/test.mp4: Added.
  • http/tests/media/media-source/seek-to-end-after-duration-change-expected.txt: Removed.
  • http/tests/media/media-source/seek-to-end-after-duration-change.html: Removed.
  • http/tests/media/media-source/video-media-source-abort-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-abort.html: Removed.
  • http/tests/media/media-source/video-media-source-add-and-remove-buffers-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-add-and-remove-buffers.html: Removed.
  • http/tests/media/media-source/video-media-source-append-in-ended-state-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-append-in-ended-state.html: Removed.
  • http/tests/media/media-source/video-media-source-append-with-offset-in-ended-state-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-append-with-offset-in-ended-state.html: Removed.
  • http/tests/media/media-source/video-media-source-async-events-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-async-events.html: Removed.
  • http/tests/media/media-source/video-media-source-closed-on-htmlmediaelement-destruction-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-closed-on-htmlmediaelement-destruction.html: Removed.
  • http/tests/media/media-source/video-media-source-duration-boundaryconditions-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-duration-boundaryconditions.html: Removed.
  • http/tests/media/media-source/video-media-source-duration-changed-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-duration-changed.html: Removed.
  • http/tests/media/media-source/video-media-source-duration-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-duration.html: Removed.
  • http/tests/media/media-source/video-media-source-errors-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-errors.html: Removed.
  • http/tests/media/media-source/video-media-source-event-attributes-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-event-attributes.html: Removed.
  • http/tests/media/media-source/video-media-source-garbage-collection-before-sourceopen-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-garbage-collection-before-sourceopen.html: Removed.
  • http/tests/media/media-source/video-media-source-is-type-supported-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-is-type-supported.html: Removed.
  • http/tests/media/media-source/video-media-source-objects-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-objects.html: Removed.
  • http/tests/media/media-source/video-media-source-play-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-play.html: Removed.
  • http/tests/media/media-source/video-media-source-reject-append-after-reopening-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-reject-append-after-reopening.html: Removed.
  • http/tests/media/media-source/video-media-source-seek-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-seek.html: Removed.
  • http/tests/media/media-source/video-media-source-sourcebufferlist-crash-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-sourcebufferlist-crash.html: Removed.
  • http/tests/media/media-source/video-media-source-state-changes-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-state-changes.html: Removed.
  • http/tests/media/media-source/video-media-source-zero-byte-append-in-ended-state-expected.txt: Removed.
  • http/tests/media/media-source/video-media-source-zero-byte-append-in-ended-state.html: Removed.
  • http/tests/media/media-source/webm/segment-info.js: Added.
  • http/tests/media/media-source/webm/test-a-128k-44100Hz-1ch-manifest.json: Added.
  • http/tests/media/media-source/webm/test-a-128k-44100Hz-1ch.webm: Added.
  • http/tests/media/media-source/webm/test-a-192k-44100Hz-1ch-manifest.json: Added.
  • http/tests/media/media-source/webm/test-a-192k-44100Hz-1ch.webm: Added.
  • http/tests/media/media-source/webm/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/webm/test-av-384k-44100Hz-1ch-320x240-30fps-10kfr.webm: Added.
  • http/tests/media/media-source/webm/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/webm/test-av-384k-44100Hz-1ch-640x480-30fps-10kfr.webm: Added.
  • http/tests/media/media-source/webm/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/webm/test-av-448k-44100Hz-1ch-640x480-30fps-10kfr.webm: Added.
  • http/tests/media/media-source/webm/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/webm/test-av-640k-44100Hz-1ch-640x480-30fps-10kfr.webm: Added.
  • http/tests/media/media-source/webm/test-v-128k-320x240-24fps-8kfr-manifest.json: Added.
  • http/tests/media/media-source/webm/test-v-128k-320x240-24fps-8kfr.webm: Added.
  • http/tests/media/media-source/webm/test-v-128k-320x240-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/webm/test-v-128k-320x240-30fps-10kfr.webm: Added.
  • http/tests/media/media-source/webm/test-v-128k-640x480-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/webm/test-v-128k-640x480-30fps-10kfr.webm: Added.
  • http/tests/media/media-source/webm/test-v-256k-320x240-30fps-10kfr-manifest.json: Added.
  • http/tests/media/media-source/webm/test-v-256k-320x240-30fps-10kfr.webm: Added.
  • http/tests/media/media-source/webm/test-vp8-vorbis-webvtt.webm: Added.
  • http/tests/media/media-source/webm/test.webm: Added.
11:28 AM Changeset in webkit [170541] by Simon Fraser
  • 14 edits in trunk/Source

[iOS WK2] Fix touch-scrollable elements with overflow:scroll on just one axis, and RTL scrolling
https://bugs.webkit.org/show_bug.cgi?id=134377
<rdar://problem/16762224>

Reviewed by Tim Horton.

Source/WebCore:

Make -webkit-overflow-scrolling:touch scrolling work correctly when one axis
has overflow:scroll and the other overflow:hidden. Also fix scrolling in RTL
contexts.

An RTL scroller with overflow-x:hidden will have a non-zero scroll origin,
and needs to truncate the scrolled content on the left side. To pass the
correct geometry to the UI process, we need to introduce the concept of
"reachable" size as well as total content size; normally these are the same,
but will differ when scrolling is only allowed on one axis but there is overflow
on both axes.

To get the reachable size, add RenderLayer::scrollableContentsSize().

RenderLayer::visibleSize() was wrong; the function should return the size of the
scrollable portion, but used layer size which includes borders. Fix to use pixelSnappedClientWidth()/Height(),
which is what we use for scrollbar computations.

  • WebCore.exp.in:
  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::AsyncScrollingCoordinator::updateFrameScrollingNode):
(WebCore::AsyncScrollingCoordinator::updateOverflowScrollingNode):

  • page/scrolling/ScrollingCoordinator.h:
  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setReachableContentsSize):

  • page/scrolling/ScrollingStateScrollingNode.h:

(WebCore::ScrollingStateScrollingNode::reachableContentsSize):

  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):

  • page/scrolling/ScrollingTreeScrollingNode.h:

(WebCore::ScrollingTreeScrollingNode::reachableContentsSize):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::visibleSize):
(WebCore::RenderLayer::scrollableContentsSize):

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

(WebCore::updateScrollingLayerWithClient):
(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):

Source/WebKit2:

Make -webkit-overflow-scrolling:touch scrolling work correctly when one axis
has overflow:scroll and the other overflow:hidden. Also fix scrolling in RTL
contexts.

An RTL scroller with overflow-x:hidden will have a non-zero scroll origin,
and needs to truncate the scrolled content on the left side. To pass the
correct geometry to the UI process, we need to introduce the concept of
"reachable" size as well as total content size; normally these are the same,
but will differ when scrolling is only allowed on one axis but there is overflow
on both axes.

ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren() uses the total and
reachable content sizes to set a negative edge inset on the left (for RTL) or top
(for bottom-to-top) so prevent scrolling into these areas.

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:

(ArgumentCoder<ScrollingStateScrollingNode>::encode):
(ArgumentCoder<ScrollingStateScrollingNode>::decode):
(WebKit::RemoteScrollingTreeTextStream::dump):

  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:

(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren):

11:13 AM Changeset in webkit [170540] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebKit2

Fix various leaks, RetainPtrs should adopt allocs
https://bugs.webkit.org/show_bug.cgi?id=134308

Reviewed by Alexey Proskuryakov.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(-[WKWebProcessPlugInBrowserContextController _remoteObjectRegistry]):

11:13 AM Changeset in webkit [170539] by betravis@adobe.com
  • 4 edits in trunk/Source/WebCore

[Feature Queries] Fix feature queries build on Mac
https://bugs.webkit.org/show_bug.cgi?id=134359

Reviewed by Antti Koivisto.

Update the XCode project and Feature Queries code to build on Mac.

There are existing tests for supports in the LayoutTests/css3 directory.

  • WebCore.xcodeproj/project.pbxproj: Add the Feature Queries files

to the XCode project.

  • css/CSSGrammar.y.in: Update CSSParserExpression to CSSParserValueList.
  • css/DOMWindowCSS.idl: Add ImplementationLacksVTable metadata.
11:09 AM Changeset in webkit [170538] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove unused definitions that were mistakenly added back in r170323 and then again in r170329
https://bugs.webkit.org/show_bug.cgi?id=134397

Reviewed by Geoff Garen.

  • UIProcess/API/Cocoa/WKBackForwardList.mm:
11:08 AM Changeset in webkit [170537] by commit-queue@webkit.org
  • 17 edits
    7 adds in trunk/LayoutTests

[GTK] Unreviewed GTK gardening.

Rebaseline tests after r170207, r170249, r170304, r170418 and r170433.
Update expectations for new crashing tests.

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-06-27

  • platform/gtk/TestExpectations: Report and mark new crashing tests. Adjust some tests expectations.
  • platform/gtk/fast/canvas/canvas-blend-image-expected.txt: Rebaseline after r170433.
  • platform/gtk/fast/canvas/canvas-blend-solid-expected.txt: Rebaseline after r170433.
  • platform/gtk/fast/dom/navigator-detached-no-crash-expected.txt: Rebaseline after r170249.
  • platform/gtk/fast/dynamic/text-combine-expected.txt: Rebaseline after r170418.
  • platform/gtk/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.txt: Added. Add baseline after r170304.
  • platform/gtk/fast/regions/repaint/japanese-rl-selection-repaint-in-regions-expected.txt: Rebaseline after r170418.
  • platform/gtk/fast/repaint/japanese-rl-selection-clear-expected.txt: Added. Rebaseline after r170418.
  • platform/gtk/fast/repaint/japanese-rl-selection-repaint-expected.txt: Added. Rebaseline after r170418.
  • platform/gtk/fast/text/decorations-with-text-combine-expected.txt: Rebaseline after r170418.
  • platform/gtk/fast/text/emphasis-vertical-expected.txt: Rebaseline after r170418.
  • platform/gtk/fast/text/international/002-expected.txt: Rebaseline after r170418.
  • platform/gtk/fast/text/international/text-combine-image-test-expected.txt: Rebaseline after r170418.
  • platform/gtk/fast/text/international/text-spliced-font-expected.txt: Rebaseline after r170418.
  • platform/gtk/fast/text/international/wrap-CJK-001-expected.txt: Added. Rebaseline after r170418.
  • platform/gtk/fast/text/khmer-lao-font-expected.txt: Added. Add baseline after r170207.
  • platform/gtk/fast/writing-mode/border-vertical-lr-expected.txt: Rebaseline after r170418.
  • platform/gtk/fast/writing-mode/japanese-lr-selection-expected.txt: Rebaseline after r170418.
  • platform/gtk/fast/writing-mode/japanese-lr-text-expected.txt: Rebaseline after r170418.
  • platform/gtk/fast/writing-mode/japanese-rl-selection-expected.txt: Rebaseline after r170418.
  • platform/gtk/fast/writing-mode/japanese-rl-text-expected.txt: Rebaseline after r170418.
  • platform/gtk/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt: Added. Rebaseline after r170433.
  • platform/gtk/svg/filters/feBlend-all-blendmodes-expected.txt: Added. Add baseline after r170433.
11:06 AM Changeset in webkit [170536] by akling@apple.com
  • 2 edits in trunk/Source/WTF

[ARMv7] Skip one particularly expensive fastFree() alignment check.
<https://webkit.org/b/134402>

The size class alignment check in fastFree() was crazy expensive on ARMv7
due to its use of modulo. Disabling it shaves 470ms off of PLT main thread
time in the web process.

Note that this was very hard to identify in profiles due to TCO.

Reviewed by Gavin Barraclough.

  • wtf/FastMalloc.cpp:

(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):

10:50 AM Changeset in webkit [170535] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE] media/media-source/media-source-tracks.html is crashy
https://bugs.webkit.org/show_bug.cgi?id=134385

Reviewed by Eric Carlson.

Fix the refactoring error (self assignment) introduced by r170488.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):

10:49 AM Changeset in webkit [170534] by mhahnenberg@apple.com
  • 3 edits
    2 adds in trunk

XHR should keep attributes on instance
https://bugs.webkit.org/show_bug.cgi?id=134363

Reviewed by Sam Weinig.

Source/WebCore:
Test: js/dom/xhr-prototype-define-property.html

Having them on the prototype broke some sites due to the fact that these DOM attributes are currently
not configurable. Once we make them configurable, we can move XHR attributes back to the prototype.

  • bindings/scripts/CodeGeneratorJS.pm:

(InterfaceRequiresAttributesOnInstanceForCompatibility):

LayoutTests:
Added a new test for defining properties on XHR prototype.

  • js/dom/xhr-prototype-define-property-expected.txt: Added.
  • js/dom/xhr-prototype-define-property.html: Added.
10:06 AM Changeset in webkit [170533] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

removeCodedFrames should modify ref to TrackBuffer no a copy.
https://bugs.webkit.org/show_bug.cgi?id=134380

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-06-27
Reviewed by Daniel Bates.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::removeCodedFrames):
Iterate with a reference.

9:55 AM Changeset in webkit [170532] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Set cliprect radius unconditionally in RenderLayer.
https://bugs.webkit.org/show_bug.cgi?id=134396

Reviewed by Simon Fraser.

No change in functionality.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

9:41 AM Changeset in webkit [170531] by Manuel Rego Casasnovas
  • 8 edits
    4 adds in trunk

[CSS Grid Layout] Interaction between auto-placement and column / row spanning
https://bugs.webkit.org/show_bug.cgi?id=110633

Reviewed by Sergio Villar Senin.

Source/WebCore:
Modify auto-placement algorithm in order to support span in both
definite and automatic positions.

This patch fixes examples like:
grid-row: auto;
grid-column: 2 / span 3;

And also:
grid-row: auto;
grid-column: span 3;

Tests: fast/css-grid-layout/grid-item-auto-placement-automatic-span.html

fast/css-grid-layout/grid-item-auto-placement-definite-span.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::GridIterator::isEmptyAreaEnough): New method that
checks if a grid area is or not empty.
(WebCore::RenderGrid::GridIterator::nextEmptyGridArea): Updated method
that now receives two arguments with the span value in both directions.
(WebCore::RenderGrid::ensureGridSize): Renamed from gridRow(). Adapted
method to grow in both directions at the same time if needed. It ensures
that the grid is big enough to insert a new item.
(WebCore::RenderGrid::insertItemIntoGrid): Only leave the method that
receives a GridCoordinate. It uses ensureGridSize() before inserting the
item in the grid.
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator): Ensure that
the grid is big enough to place the largest span for auto-positioned
items.
(WebCore::RenderGrid::createEmptyGridAreaAtSpecifiedPositionsOutsideGrid):
New method that returns a GridCoordinate outside current grid with the
requested dimensions.
(WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid): Adapted
method to calculate the item's span and use the new version of
nextEmptyGridArea(). If an empty area is not found it uses
createEmptyGridAreaAtSpecifiedPositionsOutsideGrid() to place the item.
(WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid): Ditto.
(WebCore::RenderGrid::growGrid): Renamed to ensureGridSize().

  • rendering/RenderGrid.h: Modify methods headers and add new method

signature.

  • rendering/style/GridCoordinate.h:

(WebCore::GridSpan::integerSpan): Add new simple method to return the
span value of a position.

  • rendering/style/GridResolvedPosition.cpp:

(WebCore::GridResolvedPosition::resolveGridPositionsFromAutoPlacementPosition):
Implement method to take into account span in auto-placement algorithm.
(WebCore::GridResolvedPosition::adjustGridPositionsFromStyle): Add new
checks related with named grid line spans in auto-positioned items,
which is not allowed according to the spec.

  • rendering/style/GridResolvedPosition.h: Update method header.

LayoutTests:
Add new specific test cases for span in auto-placement algorithm.

  • fast/css-grid-layout/grid-item-auto-placement-automatic-span-expected.txt: Added.
  • fast/css-grid-layout/grid-item-auto-placement-automatic-span.html: Added.
  • fast/css-grid-layout/grid-item-auto-placement-definite-span-expected.txt: Added.
  • fast/css-grid-layout/grid-item-auto-placement-definite-span.html: Added.
  • fast/css-grid-layout/grid-item-spanning-resolution.html: Update test

case now that span in auto-positioned items is supported.

9:01 AM Changeset in webkit [170530] by commit-queue@webkit.org
  • 3 edits
    5 adds in trunk

[XHR] open method must uppercase only standard method types
https://bugs.webkit.org/show_bug.cgi?id=134264

Patch by Mahesh Kulkarni <mahesh.kk@samsung.com> on 2014-06-27
Reviewed by Darin Adler.

Source/WebCore:
As per step-5 of http://xhr.spec.whatwg.org/#the-open()-method only
DELETE, PUT, GET, POST, OPTIONS, HEAD are standard. Use other methods as is without case change.
All tests from w3c-test suite pass http://w3c-test.org/XMLHttpRequest/open-method-case-sensitive.htm.
This merges blink changes from r176592.

Tests: http/tests/xmlhttprequest/xmlhttprequest-open-method-allowed.html

http/tests/xmlhttprequest/xmlhttprequest-open-method-case-insensitive.html

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::uppercaseKnownHTTPMethod):

LayoutTests:
All tests from w3c-test suite pass http://w3c-test.org/XMLHttpRequest/open-method-case-sensitive.htm.
This merges blink changes from r176592.

  • http/tests/xmlhttprequest/resources/echo-request-method.php: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-open-method-allowed-expected.txt: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-open-method-allowed.html: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-open-method-case-insensitive-expected.txt: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-open-method-case-insensitive.html: Added.
8:51 AM Changeset in webkit [170529] by Andre Moreira Magalhaes
  • 2 edits in trunk/Source/WebCore

Increase priority on SharedTimer source.
http://bugs.webkit.org/show_bug.cgi?id=134109

While running webkit on a Debian virtual machine I stumbled upon an issue where JS
setTimeout callbacks were not being properly invoked due to machine limitations and the
usage of a low priority on setTimeout timers.

This patch increases the SharedTimer source priority to use the default glib priority which
fixes the issue, making setTimeout JS calls work properly on the test environment.

Reviewed by Gustavo Noronha Silva.

  • platform/gtk/SharedTimerGtk.cpp:

(WebCore::setSharedTimerFireInterval):

7:20 AM Changeset in webkit [170528] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Remove redundant offsetFromAncestor() call from RenderLayer::localClipRect().
https://bugs.webkit.org/show_bug.cgi?id=134378

Reviewed by Simon Fraser.

No change in functionality.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

7:00 AM Changeset in webkit [170527] by Michał Pakuła vel Rutka
  • 6 edits in trunk/Tools

[EFL] Remove efl-wk2 from baseline search path
https://bugs.webkit.org/show_bug.cgi?id=134391

Reviewed by Gyuyoung Kim.

As WebKit1 EFL is removed and platform/efl and platform/efl-wk2 baselines and test expectations files
are merged efl-wk2 search path should be removed.

  • Scripts/webkitpy/port/base.py:

(Port.test_expectations_file_postion): Added method to determine port test expectations file position in expectations_dict.

  • Scripts/webkitpy/port/efl.py:

(EflPort._search_paths): Changed baseline search paths from efl-wk2 -> wk2 -> efl -> generic is changed to: efl -> wk2 -> generic.
(EflPort.test_expectations_file_postion): Added method to determine EFL port specific test expectation file position.

  • Scripts/webkitpy/port/port_testcase.py:

(PortTestCase.test_expectations_ordering): Changed constant value to one returned from test_expectations_file_postion().

  • Scripts/webkitpy/style/checkers/test_expectations_unittest.py:

(TestExpectationsTestCase.test_determine_port_from_expectations_path): Removed efl-wk2 test case.

  • Scripts/webkitpy/tool/commands/rebaseline_unittest.py:

(TestRebaselineTest.test_baseline_directory): Changed directory name in assertion from platform/efl-wk2 to platform/efl.

5:10 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
4:33 AM WebKitGTK/2.4.x edited by Philippe Normand
(diff)
4:28 AM Changeset in webkit [170526] by Philippe Normand
  • 3 edits in trunk/Source/WebCore

[GTK] 8tracks.com triggers annoying pop-up window/installation of "About protocol source plugin" (GStreamer?)
https://bugs.webkit.org/show_bug.cgi?id=133605

Reviewed by Carlos Garcia Campos.

Don't attempt to load blank URLs with the GStreamer media
player. Those URLs trigger the codec installer which is useless in
this scenario. This patch also renames some of the variables of
the ::load method, as suggested by Carlos.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
Check video-sink validity before disconnecting its signal handlers.
(WebCore::MediaPlayerPrivateGStreamer::load): Don't load blank
URLs (about:blank).

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
Disconnect repaint handler only if it's valid.

12:28 AM Changeset in webkit [170525] by llango.u-szeged@partner.samsung.com
  • 7 edits in trunk/Source/JavaScriptCore

[JavaScriptCore] FTL buildfix for EFL platform.
https://bugs.webkit.org/show_bug.cgi?id=133546

Reviewed by Darin Adler.

  • ftl/FTLAbstractHeap.cpp:

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

  • ftl/FTLLocation.cpp:

(JSC::FTL::Location::forStackmaps):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::opposite):

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

  • ftl/FTLStackMaps.cpp:

(JSC::FTL::StackMaps::Constant::dump):

  • llvm/InitializeLLVMPOSIX.cpp:

(JSC::initializeLLVMPOSIX):

12:27 AM Changeset in webkit [170524] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

[GTK] Expose getter and setter functions for attributes named type
https://bugs.webkit.org/show_bug.cgi?id=134300

Reviewed by Martin Robinson.

We skip those because the getter conflicts with the get_type()
function of all GObjects. We should use a different name for them. As
a general rule we use the last word of the class name, something like:

webkit_dom_blob_get_type() -> webkit_dom_blob_get_blob_type()
webkit_dom_event_get_type() -> webkit_dom_event_get_event_type()

It's consistent with other existing DOM methods like
webkit_dom_xpath_result_get_result_type() or webkit_dom_css_value_get_css_value_type().
This patch also adds some exceptions for particular cases.

  • bindings/gobject/webkitdom.symbols: Add new public symbols.
  • bindings/scripts/CodeGeneratorGObject.pm:

(GetFunctionSigName): Helper function to return the function name
that takes into account all exceptions when generating getters and
setters of attributes named type. Otherwise the name is returned unmodified.
(GenerateFunction): Use GetFunctionSigName().
(GenerateFunctions): Do not skip functions for type attributes.

12:18 AM Changeset in webkit [170523] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove unnecessary #include in HistoryController
https://bugs.webkit.org/show_bug.cgi?id=134369

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2014-06-27
Reviewed by Daniel Bates.

After the landing of https://webkit.org/b/130099, HistoryController doesn't need
WebCore::Settings class. So we can remove the related header.

  • loader/HistoryController.cpp:

Jun 26, 2014:

11:16 PM Changeset in webkit [170522] by vivek.vg@samsung.com
  • 3 edits in trunk/Websites/webkit.org

Remove Qt instructions from http://www.webkit.org/building/tools.html
https://bugs.webkit.org/show_bug.cgi?id=134384

Reviewed by Tim Horton.

  • building/tools.html:
  • css/main.css:

(.mac-instructions, .unix-instructions, .windows-instructions, .gtk-instructions, .efl-instructions):
(.mac-instructions, .unix-instructions, .windows-instructions, .gtk-instructions, .qt-instructions, .efl-instructions): Deleted.

11:06 PM Changeset in webkit [170521] by mitz@apple.com
  • 2 edits in trunk/Tools

prepare-ChangeLog outputs (NS_ENUM): entries for Cocoa enums
https://bugs.webkit.org/show_bug.cgi?id=134387

Reviewed by Tim Horton.

  • Scripts/prepare-ChangeLog:

(get_function_line_ranges_for_cpp): Don’t consider {CF,NS}_{ENUM,OPTIONS} as function names.

10:35 PM Changeset in webkit [170520] by mitz@apple.com
  • 2 edits in trunk/Tools

prepare-ChangeLog mangles Objective-C selectors for methods with parameter types that contain colons
https://bugs.webkit.org/show_bug.cgi?id=134383

Reviewed by Tim Horton.

  • Scripts/prepare-ChangeLog:

(method_decl_to_selector): Strip out the return type and parameter types before splitting at
colons.

10:33 PM Changeset in webkit [170519] by dbates@webkit.org
  • 6 edits in trunk/Source/WebCore

REGRESSION (r170287): SVGDocumentExtensions::rebuildElements() called on removed element
https://bugs.webkit.org/show_bug.cgi?id=134304

Patch by Jeongeun Kim <je_julie.kim@samsung.com> on 2014-06-26
Reviewed by Daniel Bates.

Roll out <http://trac.webkit.org/170287> (https://bugs.webkit.org/show_bug.cgi?id=134186)
as it led to SVGDocumentExtensions::rebuildElements() being called on an element(s) that
may no longer be in the document.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::removeChild):
(WebCore::ContainerNode::removeChildren):

  • dom/Document.cpp:

(WebCore::Document::commonTeardown):
(WebCore::Document::implicitClose):

  • history/CachedFrame.cpp:

(WebCore::CachedFrameBase::restore):

  • svg/SVGDocumentExtensions.cpp:

(WebCore::SVGDocumentExtensions::startAnimations):
(WebCore::SVGDocumentExtensions::pauseAnimations):
(WebCore::SVGDocumentExtensions::unpauseAnimations):
(WebCore::SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements):
(WebCore::SVGDocumentExtensions::rebuildElements):

  • svg/SVGDocumentExtensions.h:
9:31 PM Changeset in webkit [170518] by dbates@webkit.org
  • 4 edits
    2 adds in trunk

[iOS][WK2] Distant focusable element may not be scrolled into view when focused using keyboard
https://bugs.webkit.org/show_bug.cgi?id=134309
<rdar://problem/17427385>

Reviewed by Darin Adler.

.:
Add a manual test to ensure that we scroll to a distant focused text field when it's focused
using the keyboard.

  • ManualTests/ios/scroll-to-distant-keyboard-focused-text-field.html: Added.

Source/WebKit2:
Fixes an issue where the focusable element may not be scrolled into view when it's focused by
using the keyboard accessory (i.e. the < and > buttons). In particular, we don't scroll a
keyboard focused text field into view when it's positioned significantly outside the visible region.

  • UIProcess/ios/WKContentViewInteraction.h: Added an instance variable called _didAccessoryTabInitiateFocus

to track whether an accessory tab initiated the focus of the focusable element.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView cleanupInteraction]): Clear _didAccessoryTabInitiateFocus so that we're in a good state
should the WebProcess crash between the time the UIProcess receives the accessory tab request and the
WebProcess calls back to the UIProcess to zoom/scroll to the newly focused element.
(-[WKContentView _displayFormNodeInputView]): Modified to pass an empty rectangle for the selection
rectangle to -_zoomToFocusRect to avoid constraining the scroll to the newly focused element when it
was focused using the keyboard accessory tab buttons
(-[WKContentView accessoryTab:]): Modified to set _didAccessoryTabInitiateFocus to YES. We'll set
this boolean to NO in -_displayFormNodeInputView.

8:20 PM Changeset in webkit [170517] by benjamin@webkit.org
  • 3 edits
    6 adds in trunk

iOS 8 beta 2 ES6 'Set' clear() broken
https://bugs.webkit.org/show_bug.cgi?id=134346

Reviewed by Oliver Hunt.

Source/JavaScriptCore:
The object map was not cleared :(.

Kudos to Ashley Gullen for tracking this and making a regression test.
Credit to Oliver for finding the missing code.

  • runtime/MapData.h:

(JSC::MapData::clear):

LayoutTests:

  • js/script-tests/set-clear.js: Added.
  • js/set-clear-expected.txt: Added.
  • js/set-clear.html: Added.
7:43 PM Changeset in webkit [170516] by beidson@apple.com
  • 2 edits in trunk/Tools

MiniBrowser should support a preference to override the default URL
https://bugs.webkit.org/show_bug.cgi?id=134373

Reviewed by Darin Adler.

  • MiniBrowser/mac/AppDelegate.m:

(-[BrowserAppDelegate applicationDidFinishLaunching:]): See if there’s a pref

overriding the default URL, and use it if there is.

7:11 PM Changeset in webkit [170515] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebKit2

[iOS][WK2] Implement WKPDFView smart magnification
https://bugs.webkit.org/show_bug.cgi?id=134269
<rdar://problem/17272825>

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _currentContentView]):
(contentZoomScale):
Factor _currentContentView out of contentZoomScale.

(-[WKWebView _zoomToRect:WebCore::atScale:origin:WebCore::]):
(-[WKWebView _scrollToRect:WebCore::origin:WebCore::minimumScrollDistance:]):
(-[WKWebView _contentRectForUserInteraction]):
Use it in a bunch more places so we query the right view when zooming/scrolling for smart magnification.

  • UIProcess/ios/WKPDFView.h:
  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView scrollViewDidScroll:]):
(-[WKPDFView _revalidateViews]):
(-[WKPDFView zoom:to:atPoint:kind:]):
(-[WKPDFView resetZoom:]):
Implement zoom:to:atPoint:kind: and resetZoom: UIPDFPageViewDelegate methods.
Convert the rects/points and forward them on to the WKWebView to do the zoom.
resetZoom: doesn't provide the gesture origin, so we zoom out using the view center as our origin.
Avoid parenting new UIPDFPageViews while starting a zoom; they'll end up with a bizarre
animation on them and go flying across the screen (even before _isAnimatingZoom is set).

7:05 PM Changeset in webkit [170514] by timothy_horton@apple.com
  • 5 edits in trunk/Source

[WK2] Pinch-zoom shadows can overlap headers and footers
https://bugs.webkit.org/show_bug.cgi?id=134372
<rdar://problem/16004095>

Reviewed by Simon Fraser.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::shadowLayerPositionForFrame):
(WebKit::shadowLayerBoundsForFrame):
Compute the initial shadow layer and shadow bounds exactly as RenderLayerCompositor does
(in updateRootLayerPosition and friends). Also, clip the shadow layer to the old document rect,
otherwise it can extend over top of the header/footers. The content is automatically clipped to
this rect by the root content layer, but the shadow is outside of that.

(WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToLayers):
(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
Pass all of the arguments to constrainScrollPositionForOverhang, not just half of them.
There's still a bug where we constrain incorrectly with header/footer layers, but that
will be addressed elsewhere.

(WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):
Make use of the new helpers.

  • WebCore.exp.in:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateLayerForHeader):
(WebCore::RenderLayerCompositor::updateLayerForFooter):
Put header/footer layers in front of the root content layer instead of behind.
Ideally nothing would ever overlap them, but this will give them precedence regardless.

6:10 PM Changeset in webkit [170513] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

[Win] Always NULL-terminate the string in createUTF8String()
<http://webkit.org/b/134353>
<rdar://problem/17471783>

Reviewed by Brent Fulgham.

  • plugins/PluginView.cpp:

(WebCore::createUTF8String): Pull out CString length into local
variable. Switch to use memcpy. Always NULL-terminate the
string.

5:28 PM Changeset in webkit [170512] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE][Mac] Crash in WebCore::MediaPlayerPrivateMediaSourceAVFObjC::buffered const + 13
https://bugs.webkit.org/show_bug.cgi?id=134367

Reviewed by Darin Adler.

Add a couple of null-checks to protect against methods being called in the brief time
between when the object is created and when it's asked to load.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationDouble):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::buffered):

5:27 PM Changeset in webkit [170511] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

Rearrange conditions to find invalid protocol in NavigatorContentUtils::verifyProtocolHandlerScheme()
https://bugs.webkit.org/show_bug.cgi?id=134289

Reviewed by Darin Adler.

If we do early return when there is invalid protocol, we're able to avoid unnecessary call flow.

No new tests, covered by existing tests.

  • Modules/navigatorcontentutils/NavigatorContentUtils.cpp:

(WebCore::verifyProtocolHandlerScheme):

4:59 PM Changeset in webkit [170510] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Fix potential buffer overrun in DLLLauncher
https://bugs.webkit.org/show_bug.cgi?id=134351
<rdar://problem/17469185>

Reviewed by Darin Adler.

  • win/DLLLauncher/DLLLauncherMain.cpp: Correct error

in end-of-buffer calculation.

4:54 PM Changeset in webkit [170509] by Lucas Forschler
  • 7 edits in tags/Safari-538.43/Source

Merged r170503. <rdar://problem/17271965>

4:53 PM Changeset in webkit [170508] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Don't leak WKBrowsingContextControllers
https://bugs.webkit.org/show_bug.cgi?id=134368
<rdar://problem/17476582>

Reviewed by Sam Weinig.

  • UIProcess/API/mac/WKView.mm:

(-[WKView browsingContextController]):
Adoption is important.

4:48 PM Changeset in webkit [170507] by Lucas Forschler
  • 2 edits in tags/Safari-538.43/Source/WebCore

Merged r170478. <rdar://problem/17309186>

4:44 PM Changeset in webkit [170506] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

[WK1] Use native touch event's timestamp for DOM touch event
https://bugs.webkit.org/show_bug.cgi?id=134326

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

  • platform/ios/PlatformEventFactoryIOS.mm:

(WebCore::PlatformTouchEventBuilder::PlatformTouchEventBuilder):
Use device event timestamp to get more accurate timing information. This also removes
the variance introduced by WebKit when computing velocity/acceleration/etc.

4:43 PM Changeset in webkit [170505] by Lucas Forschler
  • 2 edits in tags/Safari-538.43/Source/WebCore

Merged r170485. <rdar://problem/16853657>

4:17 PM Changeset in webkit [170504] by b.kelemen@samsung.com
  • 2 edits in trunk/Source/WebCore

Memcache migth not be pruned when it should for https pages
https://bugs.webkit.org/show_bug.cgi?id=134361

Reviewed by Geoffrey Garen.

There is no reason we should not try to prune in case of a https resource.

No observable change in behavior, no tests.

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::removeClient):
Call prune unconditionally and remove an unnecessary branch.

4:15 PM Changeset in webkit [170503] by ap@apple.com
  • 7 edits in trunk/Source

REGRESSION: Mountain Lion: Gmail's "in new window" view of mail threads is very slow to load its content
https://bugs.webkit.org/show_bug.cgi?id=133882
<rdar://problem/17271965>

Reviewed by Brady Eidson.

Source/WebCore:
This goes to pre-r161796 behavior on 10.8 and 10.9. We schedule the requests internally,
and only give 6 of them to CFNetwork at a time. Except for synchronous requests,
which still use the improved approach, and don't count against 6 connections.

  • loader/ResourceLoadScheduler.cpp:

(WebCore::ResourceLoadScheduler::scheduleLoad):

  • platform/network/cf/ResourceRequest.h:

(WebCore::ResourceRequest::resourcePrioritiesEnabled):

  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdateResourceRequest):
(WebCore::initializeMaximumHTTPConnectionCountPerHost): Deleted.

  • platform/network/mac/ResourceRequestMac.mm:

(WebCore::ResourceRequest::doUpdateResourceRequest):
(WebCore::ResourceRequest::doUpdatePlatformRequest):

Source/WebKit2:

  • NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm:

(WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost):
Same fix as in WebCore.

4:07 PM Changeset in webkit [170502] by tgergely.u-szeged@partner.samsung.com
  • 2 edits in trunk/Tools

[EFL] Missing dependency between freetype6 and fontconfig libs.
https://bugs.webkit.org/show_bug.cgi?id=134190

Reviewed by Gyuyoung Kim.

The external dependencies contain the freetype6 and the fontconfig libs.
The fontconfig lib requires freetype, but the dependency is not set in
the efl/jhbuild.modules file. So, during building the external libs,
fontconfig uses the freetype package of the system, while WebKit
binaries will use freetype from the WebKitBuild/Dependency directory.
There are more similar dependencies that were not indicated in the
jhbuild.modules file.

  • efl/jhbuild.modules: Added dependencies between libs.
4:03 PM Changeset in webkit [170501] by akling@apple.com
  • 2 edits in trunk/Source/WTF

Bump FastMalloc thread cache max size to 1MB on iOS.
<https://webkit.org/b/134365>

The previous limit (512kB) comes from the old days of very-low-memory
devices, and we can now afford to spend another 512kB here.
Note that we already have a mechanism to purge FastMalloc caches on
system memory pressure.

Looks like a ~400ms progression on PLT.

Reviewed by Geoff Garen.

  • wtf/FastMalloc.cpp:
3:37 PM Changeset in webkit [170500] by beidson@apple.com
  • 22 edits
    5 moves
    1 delete in trunk/Source

Remove use of PlatformStrategies for Gamepad API.
https://bugs.webkit.org/show_bug.cgi?id=134348

Source/WebCore:

Reviewed by Dean Jackson.

No new tests (Not yet a tested config)

Introduce a virtual GamepadProvider with a process-global shared provider.
The base implementation of the GamepadProvider does nothing.

  • platform/GamepadProvider.cpp: Renamed from Source/WebKit/mac/WebCoreSupport/WebHIDGamepadController.h.

(WebCore::GamepadProvider::shared):
(WebCore::GamepadProvider::setSharedProvider):
(WebCore::GamepadProvider::startMonitoringGamepads):
(WebCore::GamepadProvider::stopMonitoringGamepads):
(WebCore::GamepadProvider::platformGamepads):

  • platform/GamepadProvider.h: Renamed from Source/WebCore/platform/GamepadStrategy.h.

(WebCore::GamepadProvider::~GamepadProvider):

  • platform/GamepadProviderClient.h: Renamed from Source/WebCore/platform/GamepadStrategyClient.h.

(WebCore::GamepadProviderClient::~GamepadProviderClient):

GamepadManager is now a GamepadProviderClient:

  • Modules/gamepad/GamepadManager.cpp:

(WebCore::GamepadManager::GamepadManager):
(WebCore::GamepadManager::registerNavigator):
(WebCore::GamepadManager::unregisterNavigator):

  • Modules/gamepad/GamepadManager.h:

Remove the GamepadStrategy altogether:

  • platform/PlatformStrategies.h:

(WebCore::PlatformStrategies::PlatformStrategies):
(WebCore::PlatformStrategies::gamepadStrategy): Deleted.

Call to the shared GamepadProvider instead of the strategy:

  • Modules/gamepad/NavigatorGamepad.cpp:

(WebCore::NavigatorGamepad::gamepads):
(WebCore::NavigatorGamepad::gamepadsBecameVisible):
(WebCore::NavigatorGamepad::gamepadConnected):

HIDGamepadListener is now a subclass of GamepadProvider that implements the HID based management.
LegacyWebKit on Mac will install the shared HIDGamepadProvider instead of the default GamepadProvider:

  • platform/mac/HIDGamepadProvider.cpp: Renamed from Source/WebCore/platform/mac/HIDGamepadListener.cpp.

(WebCore::deviceMatchingDictionary):
(WebCore::deviceAddedCallback):
(WebCore::deviceRemovedCallback):
(WebCore::deviceValuesChangedCallback):
(WebCore::HIDGamepadProvider::shared):
(WebCore::HIDGamepadProvider::HIDGamepadProvider):
(WebCore::HIDGamepadProvider::indexForNewlyConnectedDevice):
(WebCore::HIDGamepadProvider::startMonitoringGamepads):
(WebCore::HIDGamepadProvider::stopMonitoringGamepads):
(WebCore::HIDGamepadProvider::deviceAdded):
(WebCore::HIDGamepadProvider::deviceRemoved):
(WebCore::HIDGamepadProvider::valuesChanged):
(WebCore::HIDGamepadProvider::removeGamepadForDevice):

  • platform/mac/HIDGamepadProvider.h: Renamed from Source/WebCore/platform/mac/HIDGamepadListener.h.

(WebCore::HIDGamepadProvider::platformGamepads):
(WebCore::HIDGamepadProvider::setShouldDispatchCallbacks):

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/mac/HIDGamepad.h: Fix incorrect comment

Source/WebKit:

Reviewed by Dean Jackson.

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

Reviewed by Dean Jackson.

Remove all the GamepadStrategy gunk:

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

(WebPlatformStrategies::createGamepadStrategy): Deleted.
(WebPlatformStrategies::startMonitoringGamepads): Deleted.
(WebPlatformStrategies::stopMonitoringGamepads): Deleted.
(WebPlatformStrategies::platformGamepads): Deleted.

Instead, install the HIDGamepadProvider as the shared GamepadProvider:

  • WebView/WebView.mm:

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

Source/WebKit/win:

Reviewed by Dean Jackson.

  • WebCoreSupport/WebPlatformStrategies.cpp:

(WebPlatformStrategies::createGamepadStrategy): Deleted.

  • WebCoreSupport/WebPlatformStrategies.h:
3:22 PM Changeset in webkit [170499] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Skip memcmp()ing fully downloaded resources after they become mmap()able.
<https://webkit.org/b/134362>

When we receive word that a downloaded resource is now available for mmap()ing
from the file system, we don't need to compare against the buffered data,
since even if there were a mismatch, the cached version should be the canonical one.

This was added as belt-and-suspenders while the supporting mechanism was being
developed in CFNetwork, and there's no evidence of a race today. This change
turns the runtime checks into debug-only assertions.

Saves ~300ms of main thread time on PLT.

Reviewed by Geoff Garen.

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::tryReplaceEncodedData):

3:18 PM Changeset in webkit [170498] by l.gombos@samsung.com
  • 2 edits in trunk/Source/WTF

Define TARGET_OS_IPHONE to 0 for non-darwin ports
https://bugs.webkit.org/show_bug.cgi?id=134347

Reviewed by Darin Adler.

A follow-up to r169880 to make it easier to reason about
the code. The purpose of this change to allow
"#if TARGET_OS_IPHONE" in public header files.

  • wtf/Platform.h:
3:15 PM Changeset in webkit [170497] by jonowells@apple.com
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Command-/ (slash) now auto-comments code via CodeMirror 4. Should remove as command to pause
https://bugs.webkit.org/show_bug.cgi?id=134313

Reviewed by Timothy Hatcher.

Changed alternate command to pause/resume from command-slash to command-backslash.
Command-slash sets/unsets comments in all code editors.

  • UserInterface/Models/KeyboardShortcut.js: Added Backslash.
  • UserInterface/Views/DebuggerSidebarPanel.js: Changed pauseOrResumeAlternateKeyboardShortcut to use Backslash instead of Slash.
3:12 PM Changeset in webkit [170496] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/mac

[iOS] Remove User Default for iOS TextField Debugging
https://bugs.webkit.org/show_bug.cgi?id=134356

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-06-26
Reviewed by Timothy Hatcher.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebView.mm:

(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

2:23 PM Changeset in webkit [170495] by mitz@apple.com
  • 6 edits in trunk/Source/WebKit2

[iOS] Add API for opting into character selection granularity
https://bugs.webkit.org/show_bug.cgi?id=134354

Reviewed by Geoff Garen.

  • Shared/API/Cocoa/WKFoundation.h: Added a definition of WK_ENUM_AVAILABLE_IOS.
  • UIProcess/API/Cocoa/WKWebViewConfiguration.h:

(WKSelectionGranularity): Added this enum with two values, one representing dynamic
granularity( the current, default behavior) and one representing character granularity.
Delcared new selectionGranularity property.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration copyWithZone:]): Copy the _selectionGranularity ivar.

  • UIProcess/ios/WKContentViewInteraction.mm:

(toUIWebSelectionMode): Added this helper function for mapping WKSelectionGranularity values
to UIWebSelectionMode values.
(-[WKContentView setupInteraction]): Use a selection assistant with the mode specified in
the configuration.
(-[WKContentView _stopAssistingKeyboard]): Ditto.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::selectWithGesture): Changed the behavior of the loupe gesture type in
non-editable text to select a word, rather than an empty range, matching the UITextView
behavior.

2:14 PM Changeset in webkit [170494] by dino@apple.com
  • 8 edits in tags/Safari-538.43/Source

Fix up for <rdar://problem/17446703>

2:07 PM Changeset in webkit [170493] by Lucas Forschler
  • 2 edits in tags/Safari-538.43/Source/WebKit2

Merged r170492.

1:37 PM Changeset in webkit [170492] by adachan@apple.com
  • 2 edits in trunk/Source/WebKit2

Change the target membership of WKBackForwardListPrivate.h from WebKit2 to WebKit.

Rubber-stamped by Dan Bernstein.

  • WebKit2.xcodeproj/project.pbxproj:
1:17 PM Changeset in webkit [170491] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

Remove a useless return in WebPageProxyIOS

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-06-26

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::updateVisibleContentRects):
Darin caught this mistake in r170460.

12:37 PM Changeset in webkit [170490] by fpizlo@apple.com
  • 25 edits
    7 adds in branches/ftlopt/Source/JavaScriptCore

Web Inspector: debugger should be able to show variable types
https://bugs.webkit.org/show_bug.cgi?id=133395

Patch by Saam Barati <sbarati@apple.com> on 2014-06-24
Reviewed by Filip Pizlo.

Increase the amount of type information the VM gathers when directed
to do so. This initial commit is working towards the goal of
capturing, and then showing (via the Web Inspector) type information for all
assignment and load operations. This patch doesn't have the feature fully
implemented, but it ensures the VM has no performance regressions
unless the feature is specifically turned on.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::finalizeUnconditionally):

  • bytecode/CodeBlock.h:
  • bytecode/Instruction.h:
  • bytecode/TypeLocation.h: Added.

(JSC::TypeLocation::TypeLocation):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitMove):
(JSC::BytecodeGenerator::emitProfileTypesWithHighFidelity):
(JSC::BytecodeGenerator::emitPutToScope):
(JSC::BytecodeGenerator::emitPutById):
(JSC::BytecodeGenerator::emitPutByVal):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::isProfilingTypesWithHighFidelity):

  • bytecompiler/NodesCodegen.cpp:

(JSC::PostfixNode::emitResolve):
(JSC::PrefixNode::emitResolve):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::ConstDeclNode::emitCodeSingle):
(JSC::ForInNode::emitBytecode):

  • heap/Heap.cpp:

(JSC::Heap::collect):

  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::getRuntimeTypeForVariableInTextRange):

  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/protocol/Runtime.json:
  • jsc.cpp:

(GlobalObject::finishCreation):
(functionDumpTypesForAllVariables):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::putToScopeCommon):

  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter.asm:
  • runtime/HighFidelityLog.cpp: Added.

(JSC::HighFidelityLog::initializeHighFidelityLog):
(JSC::HighFidelityLog::~HighFidelityLog):
(JSC::HighFidelityLog::recordTypeInformationForLocation):
(JSC::HighFidelityLog::processHighFidelityLog):
(JSC::HighFidelityLog::actuallyProcessLogThreadFunction):

  • runtime/HighFidelityLog.h: Added.

(JSC::HighFidelityLog::HighFidelityLog):

  • runtime/HighFidelityTypeProfiler.cpp: Added.

(JSC::HighFidelityTypeProfiler::getTypesForVariableInRange):
(JSC::HighFidelityTypeProfiler::getGlobalTypesForVariableInRange):
(JSC::HighFidelityTypeProfiler::getLocalTypesForVariableInRange):
(JSC::HighFidelityTypeProfiler::insertNewLocation):
(JSC::HighFidelityTypeProfiler::getLocationBasedHash):

  • runtime/HighFidelityTypeProfiler.h: Added.
  • runtime/Options.h:
  • runtime/Structure.cpp:

(JSC::Structure::toStructureShape):

  • runtime/Structure.h:
  • runtime/SymbolTable.cpp:

(JSC::SymbolTable::SymbolTable):
(JSC::SymbolTable::cloneCapturedNames):
(JSC::SymbolTable::uniqueIDForVariable):
(JSC::SymbolTable::uniqueIDForRegister):
(JSC::SymbolTable::globalTypeSetForRegister):
(JSC::SymbolTable::globalTypeSetForVariable):

  • runtime/SymbolTable.h:

(JSC::SymbolTable::add):
(JSC::SymbolTable::set):

  • runtime/TypeSet.cpp: Added.

(JSC::TypeSet::TypeSet):
(JSC::TypeSet::getRuntimeTypeForValue):
(JSC::TypeSet::addTypeForValue):
(JSC::TypeSet::removeDuplicatesInStructureHistory):
(JSC::TypeSet::seenTypes):
(JSC::TypeSet::dumpSeenTypes):
(JSC::StructureShape::StructureShape):
(JSC::StructureShape::markAsFinal):
(JSC::StructureShape::addProperty):
(JSC::StructureShape::propertyHash):
(JSC::StructureShape::leastUpperBound):
(JSC::StructureShape::stringRepresentation):

  • runtime/TypeSet.h: Added.

(JSC::StructureShape::create):
(JSC::TypeSet::create):

  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::VM::getTypesForVariableInRange):
(JSC::VM::updateHighFidelityTypeProfileState):
(JSC::VM::dumpHighFidelityProfilingTypes):

  • runtime/VM.h:

(JSC::VM::isProfilingTypesWithHighFidelity):
(JSC::VM::highFidelityLog):
(JSC::VM::highFidelityTypeProfiler):
(JSC::VM::nextLocation):
(JSC::VM::getNextUniqueVariableID):

12:21 PM Changeset in webkit [170489] by mark.lam@apple.com
  • 3 edits in branches/ftlopt/Source/JavaScriptCore

Remove unused instantiation of the WithScope structure.
<https://webkit.org/b/134331>

Reviewed by Oliver Hunt.

The WithScope structure instance is the VM is unused, and is now removed.

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:
11:49 AM Changeset in webkit [170488] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE] Refactoring: Use C++11 for-loops in SourceBuffer.
https://bugs.webkit.org/show_bug.cgi?id=134352

Reviewed by Darin Adler.

Use C++11 style for-loops where appropriate in SourceBuffer now that the
SampleMap ordered objects support them.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateSeekToTime):
(WebCore::SourceBuffer::sourceBufferPrivateFastSeekTimeForMediaTime):
(WebCore::SourceBuffer::sourceBufferPrivateAppendComplete):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
(WebCore::SourceBuffer::validateInitializationSegment):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):

11:32 AM Changeset in webkit [170487] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebCore

[iOS]: Tapping <button> outside of a form is no longer working
https://bugs.webkit.org/show_bug.cgi?id=134319
<rdar://problem/17213346>

Reviewed by Daniel Bates.

Restore behavior of allowing <button> clicks outside of <form>.
This used to be iOS behavior before it was removed in favor of the
OpenSource (Android?) behavior. Now, willRespondToMouseClickEvents
is only used by iOS, so lets restore the iOS behavior.

  • html/HTMLButtonElement.cpp:

(WebCore::HTMLButtonElement::willRespondToMouseClickEvents):

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

Unreviewed build-fix. Remove unintentionial rename of MediaTime.h -> MediaTimeHash.h.

  • Modules/mediasource/SampleMap.h:
11:29 AM Changeset in webkit [170485] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] no need to deactivate audio session
https://bugs.webkit.org/show_bug.cgi?id=134350

Reviewed by Jer Noble.

  • platform/audio/mac/MediaSessionManagerMac.cpp:

(MediaSessionManager::updateSessionState): Don't bother calling

AudioSession::setActive(false), WebCore's audio session will be deactivated
automatically if another application begins playing audio.

11:17 AM Changeset in webkit [170484] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebCore

[MSE] Refactoring: Differentiate between SampleMap decode and presentation order methods
https://bugs.webkit.org/show_bug.cgi?id=134349

Reviewed by Geoffrey Garen.

Refactor SampleMap to clarify the distinction between methods which return decode-order
iterators and ones which retun presentation-order iterators.

Add two classes, PresentationOrderSampleMap and DecodeOrderSampleMap, to contain the actual
MediaTime-to-Sample maps, and move the methods returning presentation-order and decode-order
iterators to each, respectively. Rename the {presentation,decode}{Begin,End}() methods to
begin() and end() so the objects can be used in C++11 for-loops.

Update all the call sites in SourceBuffer to use the new ordered objects.

  • Modules/mediasource/SampleMap.cpp:

(WebCore::SampleIsLessThanMediaTimeComparator::operator()): Use new ordered objects.
(WebCore::SampleIsGreaterThanMediaTimeComparator::operator()): Ditto.
(WebCore::SampleMap::clear): Ditto.
(WebCore::SampleMap::addSample): Ditto.
(WebCore::SampleMap::removeSample): Ditto.
(WebCore::PresentationOrderSampleMap::findSampleContainingPresentationTime): Renamed from SampleMap version.
(WebCore::PresentationOrderSampleMap::findSampleAfterPresentationTime): Ditto.
(WebCore::DecodeOrderSampleMap::findSampleWithDecodeTime): Ditto.
(WebCore::PresentationOrderSampleMap::reverseFindSampleContainingPresentationTime): Ditto.
(WebCore::PresentationOrderSampleMap::reverseFindSampleBeforePresentationTime): Ditto.
(WebCore::DecodeOrderSampleMap::reverseFindSampleWithDecodeTime): Ditto.
(WebCore::DecodeOrderSampleMap::findSyncSamplePriorToPresentationTime): Ditto.
(WebCore::DecodeOrderSampleMap::findSyncSamplePriorToDecodeIterator): Ditto.
(WebCore::DecodeOrderSampleMap::findSyncSampleAfterPresentationTime): Ditto.
(WebCore::DecodeOrderSampleMap::findSyncSampleAfterDecodeIterator): Ditto.
(WebCore::PresentationOrderSampleMap::findSamplesBetweenPresentationTimes): Ditto.
(WebCore::PresentationOrderSampleMap::findSamplesWithinPresentationRange): Ditto.
(WebCore::DecodeOrderSampleMap::findDependentSamples): Ditto.

  • Modules/mediasource/SampleMap.h:

(WebCore::PresentationOrderSampleMap::begin): Renamed from presentationBegin().
(WebCore::PresentationOrderSampleMap::end): Renamed from presentationEnd().
(WebCore::PresentationOrderSampleMap::rbegin): Renamed from reversePresentationBegin().
(WebCore::PresentationOrderSampleMap::rend): Renamed from reversePresentationEnd().
(WebCore::DecodeOrderSampleMap::begin): Renamed from decodeBegin().
(WebCore::DecodeOrderSampleMap::end): Renamed from decodeEnd().
(WebCore::DecodeOrderSampleMap::rbegin): Renamed from reverseDecodeBegin().
(WebCore::DecodeOrderSampleMap::rend): Renamed from reverseDecodeEnd().
(WebCore::SampleMap::SampleMap): Create new ordered objects.
(WebCore::SampleMap::sizeInBytes): Use new ordered objects.
(WebCore::SampleMap::decodeOrder): Simple accessor.
(WebCore::SampleMap::presentationOrder): Simple accessor.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateSeekToTime): Use new ordered objects.
(WebCore::SourceBuffer::sourceBufferPrivateFastSeekTimeForMediaTime): Ditto.
(WebCore::SourceBuffer::removeCodedFrames): Ditto.
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Ditto.
(WebCore::SourceBuffer::bufferedSamplesForTrackID): Ditto.

10:22 AM Changeset in webkit [170483] by Brent Fulgham
  • 18 edits in trunk

[Win] Expose Cache Information to WinLauncher
https://bugs.webkit.org/show_bug.cgi?id=134318

Reviewed by Dean Jackson.

Source/JavaScriptCore:

MemoryStatistics files to the WIndows build.

Source/WebKit:

  • WebKit.vcxproj/WebKit/WebKitPostBuild.cmd: Copy the

CFDictionaryPropertyBag header to WebKit API directory.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Expose the dictionary accessor for the CFDictionaryPropertyBag.

Source/WebKit/win:

  • Interfaces/IWebCoreStatistics.idl: Add missing

API added to WebKit since this was last updated.

  • WebCache.cpp:

(WebCache::statistics): Add missing elements for
purgable and purged data.

  • WebCoreStatistics.cpp: Provide implementaions.
  • WebCoreStatistics.h: Ditto.

Tools:

  • WinLauncher/Common.cpp: Update for new dialog.
  • WinLauncher/WinLauncher.cpp: Add support for WebCache

and WebCoreStatistics.

  • WinLauncher/WinLauncher.h:
  • WinLauncher/WinLauncher.vcxproj/WinLauncherLib.rc:

Update for new Cache Dialog.

  • WinLauncher/WinLauncher.vcxproj/WinLauncherLibCommon.props: Link to

WTF.lib

  • WinLauncher/WinLauncher.vcxproj/WinLauncherLibResource.h: Update

for new Dialog.

10:01 AM Changeset in webkit [170482] by Chris Fleizach
  • 7 edits
    1 delete in trunk/Source

Add an undo group for each dictated utterance in WebKit
https://bugs.webkit.org/show_bug.cgi?id=134086

Applied review comments from Sam Weinig.

Move the associated USE #define into Platform.h.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • editing/mac/TextUndoInsertionMarkup.h: Removed.
  • editing/mac/TextUndoInsertionMarkupMac.h:

Source/WebKit2:

  • UIProcess/PageClient.h:

Source/WTF:

  • wtf/Platform.h:
9:52 AM Changeset in webkit [170481] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Unreviewed gardening. Use consistent line-endings in file.

  • WinLauncher/WinLauncher.h: Use '\n' EOL marker, not DOS-style

'\r\n' EOL.

8:30 AM Changeset in webkit [170480] by ddkilzer@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFG::FunctionWhitelist::parseFunctionNamesInFile does not close file
<http://webkit.org/b/134343>
<rdar://problem/17459487>

Reviewed by Michael Saboff.

  • dfg/DFGFunctionWhitelist.cpp:

(JSC::DFG::FunctionWhitelist::parseFunctionNamesInFile):
Close the file handle, and log an error on failure.

8:00 AM Changeset in webkit [170479] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL][WK2] Fix Debug Build Error in Webcore module.
https://bugs.webkit.org/show_bug.cgi?id=134345

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-06-26
Reviewed by Zalan Bujtas.

Use static cast to change the type of variable to fix error

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::setDrawRange):

7:05 AM Changeset in webkit [170478] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] allow host application to canonicalize media urls
https://bugs.webkit.org/show_bug.cgi?id=134329

Reviewed by Dean Jackson.

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

(WebCore::canonicalURL): New, use NSURLProtocol to canonicalize a URL.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Call canonicalURL.

1:20 AM Changeset in webkit [170477] by Lucas Forschler
  • 8 edits in tags/Safari-538.43/Source

Merge patch for <rdar://problem/17446703>.

12:48 AM Changeset in webkit [170476] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GTK] Add padding for future expansion to WebKitDOMEventTargetIface
https://bugs.webkit.org/show_bug.cgi?id=134298

Reviewed by Martin Robinson.

  • bindings/gobject/WebKitDOMEventTarget.h:
12:45 AM Changeset in webkit [170475] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebCore

[GTK] Add support for constants in GObject DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=133983

Reviewed by Martin Robinson.

  • bindings/gobject/webkitdom.symbols: Add stable constants.
  • bindings/scripts/CodeGeneratorGObject.pm:

(GenerateHeader): Add constants to the header.
(Generate): Pass the interface object to GenerateHeader to get the constants
(IsInterfaceSymbol): Helper function that returns whether the given
symbol belongs to the interface. Check also constants now.
(ReadStableSymbols): Use IsInterfaceSymbol().

  • bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
  • bindings/scripts/test/GObject/WebKitDOMTestObj.h:
12:30 AM Changeset in webkit [170474] by Manuel Rego Casasnovas
  • 5 edits
    6 adds in trunk

[CSS Grid Layout] Properly support for z-index on grid items
https://bugs.webkit.org/show_bug.cgi?id=103329

Reviewed by Benjamin Poulain.

From Blink r157620 by <jchaffraix@chromium.org> and r172402 by
<wangxianzhu@chromium.org>.

Source/WebCore:
The specification says that grid should match flexbox and force
grid items to be stacking context if z-index is set, regardless
of 'position'. After this change, this is what happens.

Previously z-index changes of static positioned objects were ignored.
However, z-index is applicable for some static positioned objects,
such as grid items. Ignoring them makes the object not to be properly
painted on z-index change.

As StyleResolver has ensured that z-index is non-auto only if
applicable, RenderStyle::changeRequiresLayerRepaint() should not check
again (with inconsistent conditions).

Tests: fast/css-grid-layout/grid-item-z-index-change-repaint.html

fast/css-grid-layout/grid-item-z-index-stacking-context.html
fast/css-grid-layout/grid-item-z-index-support.html

  • css/StyleResolver.cpp:

(WebCore::isDisplayFlexibleOrGridBox): Add new method to check if parent
display is flexbox or grid.
(WebCore::StyleResolver::adjustRenderStyle): Use new method in z-index
condition.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayerRepaint): Move z-index checks
out of non-static positioned objects if.

LayoutTests:

  • css3/blending/repaint/blend-mode-turn-off-isolation-expected.txt: Test rebaseline.
  • fast/css-grid-layout/grid-item-z-index-change-repaint-expected.html: Added.
  • fast/css-grid-layout/grid-item-z-index-change-repaint.html: Added.
  • fast/css-grid-layout/grid-item-z-index-stacking-context-expected.html: Added.
  • fast/css-grid-layout/grid-item-z-index-stacking-context.html: Added.
  • fast/css-grid-layout/grid-item-z-index-support-expected.txt: Added.
  • fast/css-grid-layout/grid-item-z-index-support.html: Added.
12:25 AM Changeset in webkit [170473] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

12:24 AM Changeset in webkit [170472] by Lucas Forschler
  • 1 copy in tags/Safari-538.43

New Tag.

Jun 25, 2014:

11:45 PM Changeset in webkit [170471] by roger_fong@apple.com
  • 3 edits in trunk/Source/WebKit2

Don't allow sudden termination while writing to local storage.
https://bugs.webkit.org/show_bug.cgi?id=134254.
<rdar://problem/15093854>.

Reviewed by Darin Adler.

  • UIProcess/Storage/LocalStorageDatabase.cpp:

(WebKit::LocalStorageDatabase::scheduleDatabaseUpdate):
Disable sudden termination when a database update is scheduled.
(WebKit::LocalStorageDatabase::updateDatabase):
Re-enable sudden termination when the update completes.

  • UIProcess/Storage/LocalStorageDatabase.h:
11:41 PM Changeset in webkit [170470] by llango.u-szeged@partner.samsung.com
  • 4 edits in trunk/Tools

[JavaScriptCore] Make build-jsc output format better.
https://bugs.webkit.org/show_bug.cgi?id=133547

Reviewed by Ryosuke Niwa.

  • Scripts/build-jsc: Emit built time information on successful builds.

(writeCongrats):

  • Scripts/build-webkit: Move formatBuildTime function into webkitdirs.pm.

(cMakeArgsFromFeatures):
(formatBuildTime): Deleted.

  • Scripts/webkitdirs.pm:

(formatBuildTime):

11:35 PM Changeset in webkit [170469] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

HIDGamepad should use CFIndex when looping
https://bugs.webkit.org/show_bug.cgi?id=134337

Reviewed by Dan Bernstein.

  • platform/mac/HIDGamepad.cpp:

(WebCore::HIDGamepad::initElementsFromArray): Replace int with CFIndex, and use
a local variable for CFArrayCount.

10:28 PM Changeset in webkit [170468] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Build fix attempt after r170465.

  • platform/mac/HIDGamepad.cpp:

(WebCore::HIDGamepad::initElementsFromArray):

10:25 PM Changeset in webkit [170467] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] Radio buttons and checkboxes vanish when redrawn
https://bugs.webkit.org/show_bug.cgi?id=134335

Reviewed by Dan Bernstein.

I screwed up when landing r170343 by moving some code around
which broke the logic. We need to query the animation
state for controls after we draw (both statically and animated).

  • platform/mac/ThemeMac.mm:

(WebCore::paintToggleButton): We need to check the state of animation again, after
we draw.

10:00 PM Changeset in webkit [170466] by benjamin@webkit.org
  • 11 edits in trunk/Source/WebKit2

[iOS][WK2] Update the long press interactions correctly when an overflow scroll view scrolls
https://bugs.webkit.org/show_bug.cgi?id=134334

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

  • UIProcess/PageClient.h:
  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeDidScroll):

  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h:
  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:

(-[WKOverflowScrollViewDelegate scrollViewWillBeginDragging:]):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::overflowScrollViewWillStartPanGesture):
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::scrollViewWillStartPanGesture): Deleted.

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

(WebKit::PageClientImpl::overflowScrollViewWillStartPanGesture):
(WebKit::PageClientImpl::overflowScrollViewDidScroll):
(WebKit::PageClientImpl::scrollViewWillStartPanGesture): Deleted.

  • UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:

(WebKit::RemoteScrollingCoordinatorProxy::scrollingTreeNodeWillStartPanGesture):

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

(WebKit::WebPageProxy::overflowScrollViewWillStartPanGesture):
(WebKit::WebPageProxy::overflowScrollViewDidScroll):
(WebKit::WebPageProxy::scrollViewWillStartPanGesture): Deleted.

9:49 PM Changeset in webkit [170465] by beidson@apple.com
  • 12 edits
    4 copies
    4 adds in trunk/Source

Add HID-based gamepad implementation for Mac
https://bugs.webkit.org/show_bug.cgi?id=134324

Reviewed by Dean Jackson.

Source/WebCore:
No new tests (Not yet a tested config)

  • Modules/gamepad/Gamepad.cpp:

(WebCore::Gamepad::Gamepad):
(WebCore::Gamepad::updateFromPlatformGamepad): Update the Gamepad’s data from the passed-in PlatformGamepad.

  • Modules/gamepad/Gamepad.h:
  • Modules/gamepad/GamepadButton.h:

(WebCore::GamepadButton::create): Change to use Ref instead of RefPtr.

GamepadManager is a GamepadStrategyClient that receives notifications from the platform gamepad implementation
and forwards them to NavigatorGamepad objects. In the future it will also handle event dispatch and exposing
gamepads to the API layer when a button is pressed:

  • Modules/gamepad/GamepadManager.cpp: Added.

(WebCore::GamepadManager::shared):
(WebCore::GamepadManager::GamepadManager):
(WebCore::GamepadManager::platformGamepadConnected):
(WebCore::GamepadManager::platformGamepadDisconnected):
(WebCore::GamepadManager::registerNavigator):
(WebCore::GamepadManager::unregisterNavigator):

  • Modules/gamepad/GamepadManager.h:

The NavigatorGamepad supplement actually manages visibility of Gamepads on a per-DOMWindow basis:

  • Modules/gamepad/NavigatorGamepad.cpp:

(WebCore::NavigatorGamepad::NavigatorGamepad):
(WebCore::NavigatorGamepad::~NavigatorGamepad):
(WebCore::NavigatorGamepad::from):
(WebCore::NavigatorGamepad::gamepads):
(WebCore::NavigatorGamepad::gamepadsBecameVisible):
(WebCore::NavigatorGamepad::gamepadConnected):
(WebCore::NavigatorGamepad::gamepadDisconnected):

  • Modules/gamepad/NavigatorGamepad.h:

(WebCore::NavigatorGamepad::navigationStart):

HIDGamepad is a PlatformGamepad that wraps an IOHIDDeviceRef and keeps input values updated:

  • platform/mac/HIDGamepad.cpp: Added.

(WebCore::HIDGamepad::HIDGamepad):
(WebCore::HIDGamepad::initElements):
(WebCore::HIDGamepad::initElementsFromArray):
(WebCore::HIDGamepad::maybeAddButton):
(WebCore::HIDGamepad::maybeAddAxis):
(WebCore::HIDGamepad::valueChanged):

  • platform/mac/HIDGamepad.h: Added.

(WebCore::HIDGamepadElement::HIDGamepadElement):
(WebCore::HIDGamepadElement::~HIDGamepadElement):
(WebCore::HIDGamepadElement::isButton):
(WebCore::HIDGamepadElement::isAxis):
(WebCore::HIDGamepadButton::HIDGamepadButton):
(WebCore::HIDGamepadAxis::HIDGamepadAxis):
(WebCore::HIDGamepad::hidDevice):

HIDGamepadListener wraps an IOHIDManagerRef and continuously listens for changes to Gamepad-type
devices plugged in to the system:

  • platform/mac/HIDGamepadListener.cpp: Added.

(WebCore::deviceMatchingDictionary):
(WebCore::deviceAddedCallback):
(WebCore::deviceRemovedCallback):
(WebCore::deviceValuesChangedCallback):
(WebCore::HIDGamepadListener::shared):
(WebCore::HIDGamepadListener::HIDGamepadListener):
(WebCore::HIDGamepadListener::indexForNewlyConnectedDevice):
(WebCore::HIDGamepadListener::deviceAdded):
(WebCore::HIDGamepadListener::deviceRemoved):
(WebCore::HIDGamepadListener::valuesChanged):
(WebCore::HIDGamepadListener::removeGamepadForDevice):

  • platform/mac/HIDGamepadListener.h: Copied from Source/WebCore/Modules/gamepad/NavigatorGamepad.cpp.

(WebCore::HIDGamepadListenerClient::~HIDGamepadListenerClient):
(WebCore::HIDGamepadListener::setClient):
(WebCore::HIDGamepadListener::platformGamepads):
(WebCore::HIDGamepadListener::setShouldDispatchCallbacks):

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:
Add a class that acts as an intermediary between the GamepadStrategyClient
and the HIDGamepadListener:

  • WebCoreSupport/WebHIDGamepadController.h:
  • WebCoreSupport/WebHIDGamepadController.mm:

(WebHIDGamepadController::shared):
(WebHIDGamepadController::WebHIDGamepadController):
(WebHIDGamepadController::gamepadConnected):
(WebHIDGamepadController::gamepadDisconnected):
(WebHIDGamepadController::registerGamepadStrategyClient):
(WebHIDGamepadController::unregisterGamepadStrategyClient):

Implement the strategies by using the HIDGamepadListener:

  • WebCoreSupport/WebPlatformStrategies.mm:

(WebPlatformStrategies::startMonitoringGamepads):
(WebPlatformStrategies::stopMonitoringGamepads):
(WebPlatformStrategies::platformGamepads):

9:44 PM Changeset in webkit [170464] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

WebProgressTracker updates progress too frequently
https://bugs.webkit.org/show_bug.cgi?id=134185

Reviewed by Tim Horton.

The old code throttled the progress update to when either 100ms has passed or the delta is at least 2%
but this was still not enough in pages that loaded in sub-seconds. The new code always throttles it at 200ms.

  • loader/ProgressTracker.cpp:

(WebCore::ProgressTracker::ProgressTracker):
(WebCore::ProgressTracker::incrementProgress):

  • loader/ProgressTracker.h:
9:15 PM Changeset in webkit [170463] by Simon Fraser
  • 4 edits in trunk/Source/WebKit2

[iOS WK2] Page jumps when rubber-banding on azuremagazine.com
https://bugs.webkit.org/show_bug.cgi?id=134238
<rdar://problem/16918228>

Reviewed by Benjamin Poulain.

If the scroll view is in the process of rubber-banding when -setContentSize: is called,
it clamps the scroll offsets between zero and the max value, which visibly interrupts the
rubberband. This can easily happen now that we continually send scroll events to the page
on scrolling, especially when pages like azuremagazine.com do fake sticky by toggling
in-flow elements into position:fixed.

Fix by computing the amount of rubber-band before calling -setContentSize:, and then
restoring the contentOffset with the same amount of rubber-band even when the content size
is different, for top/left rubberbands.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didCommitLayerTree:WebKit::]):

  • UIProcess/ios/WKScrollView.h:
  • UIProcess/ios/WKScrollView.mm:

(-[WKScrollView _currentTopLeftRubberbandAmount]):
(-[WKScrollView _restoreContentOffsetWithRubberbandAmount:]):
(-[WKScrollView _setContentSizePreservingContentOffsetDuringRubberband:]):

9:15 PM Changeset in webkit [170462] by Simon Fraser
  • 8 edits in trunk/Source

[iOS WK2] Fixed position elements jump around when zooming
https://bugs.webkit.org/show_bug.cgi?id=134328
<rdar://problem/17447048>

Reviewed by Zalan Bujtas.

If a given remote layer tree commit contains changes of layers for viewport-constrained
objects, then the associated scrolling tree also needs to show that the layers changed,
since we need to re-run the "viewport changed" logic in the UI process to get the
layers correctly positioned for the current zoom level.

The bug was that page scale changes resulted in small "pixel alignment" position
changes which touched layers, but we didn't commit any scrolling tree changes. So
the scrolling tree commit would result in visibly stale layer positions, with no scrolling tree
update to adjust them for the current transient zoom.

Fix by making use of the existing "alignment offset" field in the ViewportConstraints
data, and having RemoteScrollingCoordinatorProxy::connectStateNodeLayers() note that
fixed or sticky layers changed if any properties of fixed or sticky scrolling tree
nodes were updated.

Source/WebCore:

  • page/scrolling/ScrollingConstraints.h:

(WebCore::StickyPositionViewportConstraints::operator==):

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::pixelAlignmentOffset):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::updateGeometry):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
(WebCore::RenderLayerCompositor::computeStickyViewportConstraints):

Source/WebKit2:

  • UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:

(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):

9:15 PM Changeset in webkit [170461] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

[iOS WK2] Tweak the logic used to choose the scale at which position:fixed gets pushed out of view
https://bugs.webkit.org/show_bug.cgi?id=134323

Reviewed by Benjamin Poulain.

Previously we used a fixed scale (1.2x) at which we'd start pushing position:fixed elements
out of the viewport. This worked well on iPad, but terribly on iPhone. Instead, choose a scale
relative to how much of the page is visible width-wise, the threshold being 2/3 of the page width.
The width is clamped to get reasonable behavior on wide pages.

  • page/FrameView.cpp:

(WebCore::FrameView::rectForViewportConstrainedObjects):

9:15 PM Changeset in webkit [170460] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebKit2

REGRESSION (r170325): UI process crashes in lastCommittedLayerTreeTransactionID() when the Web Content process crashes
https://bugs.webkit.org/show_bug.cgi?id=134284

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

The crash was caused by the access to the Drawing Area after the crash.
This lead to discovering another bug: m_lastVisibleContentRectUpdate could have been updated after WebPageProxy::resetState(),
which in turn would prevent valid updates when a new WebProcess is created.

This patch fixes both issues by moving the VisibleContentRectUpdateInfo to be internal to WebPageProxy,
then early return if we get there in an invalid state.

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

(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::updateVisibleContentRects):

8:59 PM Changeset in webkit [170459] by beidson@apple.com
  • 14 edits
    3 adds in trunk/Source

Add new platform gamepad abstractions
https://bugs.webkit.org/show_bug.cgi?id=134325

Reviewed by Dean Jackson.

Source/WebCore:
No new tests (Not yet a tested config)

  • GamepadStrategy lets ports customize the 3 basic behaviors needed for a gamepad implementation to feed the API in WebCore.
  • GamepadStrategyClient gives arbitrary objects in WebCore the ability to register for callbacks with the GamepadStrategy.
  • PlatformGamepad is a platform-agnostic object that represents the data that feeds into the Gamepad object that is exposed to web content.

The code in this patch is dead as-is, but https://bugs.webkit.org/show_bug.cgi?id=134324
will contain an immediate follow-up patch that uses it.

Makes sense to review them separately.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/GamepadStrategy.h: Added.

(WebCore::GamepadStrategy::~GamepadStrategy):

  • platform/GamepadStrategyClient.h: Added.

(WebCore::GamepadStrategyClient::~GamepadStrategyClient):

  • platform/PlatformGamepad.h: Added.

(WebCore::PlatformGamepad::~PlatformGamepad):
(WebCore::PlatformGamepad::id):
(WebCore::PlatformGamepad::lastUpdateTime):
(WebCore::PlatformGamepad::connectTime):
(WebCore::PlatformGamepad::PlatformGamepad):

  • platform/PlatformStrategies.h:

(WebCore::PlatformStrategies::gamepadStrategy):
(WebCore::PlatformStrategies::PlatformStrategies):

Source/WebKit/mac:

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

(WebPlatformStrategies::createGamepadStrategy):
(WebPlatformStrategies::startMonitoringGamepads):
(WebPlatformStrategies::stopMonitoringGamepads):
(WebPlatformStrategies::platformGamepads):

Source/WebKit/win:

  • WebCoreSupport/WebPlatformStrategies.cpp:

(WebPlatformStrategies::createGamepadStrategy):

  • WebCoreSupport/WebPlatformStrategies.h:

Source/WebKit2:

  • NetworkProcess/NetworkProcessPlatformStrategies.cpp:

(WebKit::NetworkProcessPlatformStrategies::createGamepadStrategy):

  • NetworkProcess/NetworkProcessPlatformStrategies.h:

Actually return a GamepadStrategy in WK2 with no implementation for now:

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::createGamepadStrategy):
(WebKit::WebPlatformStrategies::startMonitoringGamepads):
(WebKit::WebPlatformStrategies::stopMonitoringGamepads):
(WebKit::WebPlatformStrategies::platformGamepads):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:
7:39 PM Changeset in webkit [170458] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

Assertion failed: CGPathAddRoundedRect asserts on non-renderable rounded rectangle.
https://bugs.webkit.org/show_bug.cgi?id=134288

Reviewed by Simon Fraser.

Speculative fix. This changeset attempts to address a possible mantissa overflow of radius
when checking whether the rounded rectangle is renderable.
We convert both the radius and the rectangle values to CGFloat(float/double) to perform
this renderable check, instead of always using float.

  • platform/graphics/FloatRoundedRect.cpp:

(WebCore::FloatRoundedRect::Radii::scale): Move scale(float, float) from RoundedRect to FloatRoundedRect.
(WebCore::FloatRoundedRect::isRenderable): Add check if radius is >= 0.

  • platform/graphics/FloatRoundedRect.h:
  • platform/graphics/RoundedRect.cpp:

(WebCore::RoundedRect::Radii::scale):
(WebCore::RoundedRect::pixelSnappedRoundedRectForPainting): use FloatRoundeRect::Radii.

  • platform/graphics/RoundedRect.h:
  • platform/graphics/cg/PathCG.cpp:

(WebCore::Path::platformAddPathForRoundedRect): use epsilon() to ensure width/height is always >= even with mantissa overflow.

7:10 PM Changeset in webkit [170457] by ljaehun.lim@samsung.com
  • 3 edits in trunk/Source/WebKit2

Unreviewed, CMake build fix after r170450

  • CMakeLists.txt: Add ProcessAssertion.cpp and ProcessThrottler.cpp.
  • UIProcess/ProcessAssertion.cpp: Replace #import with #include.
6:34 PM Changeset in webkit [170456] by jonowells@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Rules panel's strikethrough gets confused at -webkit-align-items: flex-start;
https://bugs.webkit.org/show_bug.cgi?id=133515

Reviewed by Timothy Hatcher.

The CSS style declaration text editor uses the author's shortest instance of prefix whitespace
to create an indentation baseline for the style editor. This needs to consider the possibility
that there is no whitespace prefixing one of the rules. Also clarified a FIXME line.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js: Account for zero-length whitespace.
6:22 PM Changeset in webkit [170455] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE] removeCodedFrames() can remove more than it should
https://bugs.webkit.org/show_bug.cgi?id=134320

Reviewed by Geoff Garen.

removeCodedFrames() can remove more samples than it should because it compares an iterator
in presentation timespace to one in decode timespace. Clean up this code by removing frames
in decode order. Rename variables and add comments to make explicit which timespace defines
the iterators being used.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::removeCodedFrames):

6:04 PM Changeset in webkit [170454] by mmaxfield@apple.com
  • 6 edits in trunk/LayoutTests

compositing/visible-rect/iframe-no-layers.html is broken and confusing
https://bugs.webkit.org/show_bug.cgi?id=134317

Reviewed by Simon Fraser.

The test doesn't wait for scrolling to occur and has unnecessary style stanzas.

  • compositing/visible-rect/iframe-no-layers.html:
  • compositing/visible-rect/resources/subframe-with-layers.html:
  • platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt:
  • platform/ios-sim/compositing/visible-rect/iframe-no-layers-expected.txt:
  • platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:
5:55 PM Changeset in webkit [170453] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[WK2] Shadow layer is in the wrong place while pinch-zooming
https://bugs.webkit.org/show_bug.cgi?id=134321

Reviewed by Dan Bernstein.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToLayers):
(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
(WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):
The anchor point of the shadow layer changed, so we no longer need to shift our position to the center.

5:52 PM Changeset in webkit [170452] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Fixed crashes after r170450.

Reviewed by Tim Horton.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::WebProcessProxy): Removed iOS platform #ifdef around
initialization of m_throttler.

5:51 PM Changeset in webkit [170451] by Beth Dakin
  • 19 edits in trunk/Source

Crash in ScrollingTree::isRubberBandInProgress()
https://bugs.webkit.org/show_bug.cgi?id=134316
-and corresponding-
<rdar://problem/16247911>

Reviewed by Geoffrey Garen.

Source/WebCore:
This crash appears to have been caused by http://trac.webkit.org/changeset/161276
which moved the ScrollingNode creation code from ScrollingTree over to
ScrollingCoordinator. This creates a thread safety issue. In the crashing case, we
believe that the ScrollingCoordinator's ScrollingTree pointer had been null-ed out
even though the ScrollingTree was kept alive by the bind call to propagate
commitNewTreeState() over to the scrolling thread. The fix is to move node
creation back to the ScrollingTree and to use the this pointer to create new
nodes rather than the ScrollingCoordinator's ScrollingTree pointer.

Don't allow ScrollingCoordinator to handle ScrollingTreeNode creation.

  • page/scrolling/AsyncScrollingCoordinator.h:

Re-name createNode to createScrollingTreeNode().

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::updateTreeFromStateNode):

  • page/scrolling/ScrollingTree.h:

Remove this implementation of createNode that called into the
ScrollingCoordinator.

  • page/scrolling/ThreadedScrollingTree.cpp:

(WebCore::ThreadedScrollingTree::createNode): Deleted.

  • page/scrolling/ThreadedScrollingTree.h:

Don't allow ScrollingCoordinator to handle ScrollingTreeNode creation.

  • page/scrolling/ios/ScrollingCoordinatorIOS.h:
  • page/scrolling/ios/ScrollingCoordinatorIOS.mm:

(WebCore::ScrollingCoordinatorIOS::createScrollingTreeNode): Deleted.

Re-name createNode to createScrollingTreeNode, and actually create the nodes here.

  • page/scrolling/ios/ScrollingTreeIOS.cpp:

(WebCore::ScrollingTreeIOS::createScrollingTreeNode):
(WebCore::ScrollingTreeIOS::createNode): Deleted.

  • page/scrolling/ios/ScrollingTreeIOS.h:

Don't allow ScrollingCoordinator to handle ScrollingTreeNode creation.

  • page/scrolling/mac/ScrollingCoordinatorMac.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::createScrollingTreeNode): Deleted.

Add the implementation of createScrollingTreeNode() for the Mac to
ScrollingTreeMac since it can create Mac-specific nodes.

  • page/scrolling/mac/ScrollingTreeMac.cpp:

(ScrollingTreeMac::createScrollingTreeNode):

  • page/scrolling/mac/ScrollingTreeMac.h:

Source/WebKit2:
Move all ScrollingTreeNode creation from ScrollingCoordinator subclasses into
ScrollingTree subclasses.

  • UIProcess/Scrolling/RemoteScrollingTree.cpp:

(WebKit::RemoteScrollingTree::createScrollingTreeNode):
(WebKit::RemoteScrollingTree::createNode): Deleted.

  • UIProcess/Scrolling/RemoteScrollingTree.h:
  • WebProcess/Scrolling/RemoteScrollingCoordinator.h:
  • WebProcess/Scrolling/RemoteScrollingCoordinator.mm:

(WebKit::RemoteScrollingCoordinator::createScrollingTreeNode): Deleted.

5:34 PM Changeset in webkit [170450] by mitz@apple.com
  • 14 edits
    1 copy
    4 moves in trunk/Source/WebKit2

Web process should become active when sent a message that requires a callback
https://bugs.webkit.org/show_bug.cgi?id=134315

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]): Removed one-off code to
acquire an activity token, now that WebPageProxy::takeSnapshot does it automatically for us.

  • UIProcess/GenericCallback.h:

(WebKit::CallbackBase::CallbackBase): Made this constructor take and adopt an activity
token.
(WebKit::GenericCallback::create): Added an optional activity token parameter.
(WebKit::GenericCallback::GenericCallback): Pass the activity token to the CallbackBase
constructor.
(WebKit::CallbackMap::put): Added an activity token parameter, which is passed along to
GenericCallback::create.

  • UIProcess/ProcessAssertion.cpp: Moved from Source/WebKit2/UIProcess/ios/ProcessAssertion.mm.

This copy includes generic no-op implementations for platforms that don’t have assertions.
(WebKit::ProcessAssertion::ProcessAssertion):
(WebKit::ProcessAssertion::setState):

  • UIProcess/ProcessAssertion.h: Moved from Source/WebKit2/UIProcess/ios/ProcessAssertion.h.

Changed platform #ifdefs to make this usable by all platforms.

  • UIProcess/ProcessThrottler.cpp: Moved from Source/WebKit2/UIProcess/ios/ProcessThrottler.mm.

Removed iOS platform #ifdef.

  • UIProcess/ProcessThrottler.h: Moved from Source/WebKit2/UIProcess/ios/ProcessThrottler.h.

Ditto.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::validateCommand): Create a background activity token and pass it
along to CallbackMap::put.
(WebKit::WebPageProxy::runJavaScriptInMainFrame): Ditto.
(WebKit::WebPageProxy::getRenderTreeExternalRepresentation): Ditto.
(WebKit::WebPageProxy::getSourceForFrame): Ditto.
(WebKit::WebPageProxy::getContentsAsString): Ditto.
(WebKit::WebPageProxy::getBytecodeProfile): Ditto.
(WebKit::WebPageProxy::getSelectionOrContentsAsString): Ditto.
(WebKit::WebPageProxy::getSelectionAsWebArchiveData): Ditto.
(WebKit::WebPageProxy::getMainResourceDataOfFrame): Ditto.
(WebKit::WebPageProxy::getResourceDataFromFrame): Ditto.
(WebKit::WebPageProxy::getWebArchiveOfFrame): Ditto.
(WebKit::WebPageProxy::getMarkedRangeAsync): Ditto.
(WebKit::WebPageProxy::getSelectedRangeAsync): Ditto.
(WebKit::WebPageProxy::characterIndexForPointAsync): Ditto.
(WebKit::WebPageProxy::firstRectForCharacterRangeAsync): Ditto.
(WebKit::WebPageProxy::takeSnapshot): Ditto.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::sendProcessWillSuspend): Moved from WebProcessProxyIOS.mm.
(WebKit::WebProcessProxy::sendCancelProcessWillSuspend): Ditto.
(WebKit::WebProcessProxy::processReadyToSuspend): Ditto.
(WebKit::WebProcessProxy::didCancelProcessSuspension): Ditto.

  • UIProcess/WebProcessProxy.h: Removed iOS platform #ifdef.
  • UIProcess/WebProcessProxy.messages.in: Ditto.
  • UIProcess/ios/ProcessAssertionIOS.mm: Renamed from Source/WebKit2/UIProcess/ios/ProcessAssertion.mm.
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::selectWithGesture): Changed to pass the function directly to
CallbackMap::put, along with a background activity token.
(WebKit::WebPageProxy::updateSelectionWithTouches): Ditto.
(WebKit::WebPageProxy::requestAutocorrectionData): Ditto.
(WebKit::WebPageProxy::applyAutocorrection): Ditto.
(WebKit::WebPageProxy::requestDictationContext): Ditto.
(WebKit::WebPageProxy::requestAutocorrectionContext): Ditto.
(WebKit::WebPageProxy::selectWithTwoTouches): Ditto.

  • UIProcess/ios/WebProcessProxyIOS.mm:

(WebKit::WebProcessProxy::sendProcessWillSuspend): Moved to WebProcessProxy.cpp.
(WebKit::WebProcessProxy::sendCancelProcessWillSuspend): Ditto.
(WebKit::WebProcessProxy::processReadyToSuspend): Ditto.
(WebKit::WebProcessProxy::didCancelProcessSuspension): Ditto.

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::attributedSubstringForCharacterRangeAsync): Create a background
activity token and pass it along to CallbackMap::put.

  • WebKit2.xcodeproj/project.pbxproj: Updated for moves and copies.
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess): Moved iOS platform #ifdef.

  • WebProcess/WebProcess.h: Ditto.
  • WebProcess/WebProcess.messages.in: Ditto.
5:33 PM Changeset in webkit [170449] by enrica@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build fix after http://trac.webkit.org/changeset/170447.
Unreviewed.

  • editing/mac/TextUndoInsertionMarkup.h:
4:58 PM Changeset in webkit [170448] by barraclough@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Should _updateVisibilityState on view hide/unhide.
https://bugs.webkit.org/show_bug.cgi?id=134314
rdar://17171803

Reviewed by Sam Weinig.

  • WebView/WebView.mm:

(-[WebView viewDidHide]):
(-[WebView viewDidUnhide]):

4:50 PM Changeset in webkit [170447] by Chris Fleizach
  • 21 edits
    3 adds in trunk

Add an undo group for each dictated utterance in WebKit
https://bugs.webkit.org/show_bug.cgi?id=134086

Reviewed by Enrica Casucci.

Source/WebCore:
Provide a mechanism for ending the current undo group on a text insertion.
This allows a stream of text, that is normally part of one undo group, to be
broken up so that subsequent undo commands will only undo portions of the text stream.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • editing/mac/TextUndoInsertionMarkup.h: Added.
  • editing/mac/TextUndoInsertionMarkup.mm: Added.

(WebCore::shouldRegisterInsertionUndoGroup):
(WebCore::registerInsertionUndoGrouping):

Source/WebKit/mac:

  • WebView/WebHTMLView.mm:

(-[WebHTMLView validAttributesForMarkedText]):
(-[WebHTMLView insertText:]):

Source/WebKit2:

  • UIProcess/API/mac/WKView.mm:

(-[WKView insertText:replacementRange:]):
(-[WKView validAttributesForMarkedText]):

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::registerInsertionUndoGrouping):
(WebKit::WebPageProxy::insertTextAsync):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::registerInsertionUndoGrouping):

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

(WebKit::PageClientImpl::registerInsertionUndoGrouping):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::insertDictatedTextAsync):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::insertTextAsync):

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

(WebKit::WebPage::insertDictatedTextAsync):

Tools:
Create a method for creating attributed strings with the undo insertion marker.

  • DumpRenderTree/mac/TextInputController.m:

(+[TextInputController isSelectorExcludedFromWebScript:]):
(+[TextInputController webScriptNameForSelector:]):
(-[TextInputController stringWithUndoGroupingInsertion:]):

4:41 PM Changeset in webkit [170446] by Brent Fulgham
  • 2 edits in trunk/Websites/webkit.org

[Win] Whoops! DirectX SDK is still needed.

  • building/tools.html: Put DirectX instruction back.
4:13 PM Changeset in webkit [170445] by commit-queue@webkit.org
  • 21 edits
    2 adds in trunk/Source

[iOS]: WK2 Inspector Node Search
https://bugs.webkit.org/show_bug.cgi?id=134279

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-06-25
Reviewed by Benjamin Poulain.

Source/WebCore:

  • WebCore.exp.in:

Export Node::inspect for WebKit2.

Source/WebKit2:

  • UIProcess/ios/WKInspectorNodeSearchGestureRecognizer.h: Added.
  • UIProcess/ios/WKInspectorNodeSearchGestureRecognizer.mm: Added.

(-[WKInspectorNodeSearchGestureRecognizer locationInView:]):
(-[WKInspectorNodeSearchGestureRecognizer _processTouches:state:]):
(-[WKInspectorNodeSearchGestureRecognizer touchesBegan:withEvent:]):
(-[WKInspectorNodeSearchGestureRecognizer touchesMoved:withEvent:]):
(-[WKInspectorNodeSearchGestureRecognizer touchesEnded:withEvent:]):
(-[WKInspectorNodeSearchGestureRecognizer touchesCancelled:withEvent:]):
(-[WKInspectorNodeSearchGestureRecognizer reset]):
Gesture recognizer that tracks a single touch, updates as that touch
moves, and ends when that touch is cancelled or ends. The location
of the gesture recognizer is the location of the touch it was tracking.

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

(-[WKContentView cleanupInteraction]):
Handle the inspector node search gesture recognizer if needed.

(-[WKContentView _removeDefaultGestureRecognizers]):
(-[WKContentView _addDefaultGestureRecognizers]):
Helpers to add and remove the default gestures.

(-[WKContentView _enableInspectorNodeSearch]):
(-[WKContentView _disableInspectorNodeSearch]):
When node search is enabled, remove all gesture recognizers and
replace with a single inspector node search gesture recognizer.
Likewise, inverse that when disabled.

(-[WKContentView _inspectorNodeSearchRecognized:]):
Notify the WebProcess of new touch positions during node search.

(-[WKContentView hasSelectablePositionAtPoint:]):
When inspector node search is enabled, disable selection.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::inspectorNodeSearchMovedToPosition):
Send a mouse move to the new location. WebCore will update the highlight.

(WebKit::WebPage::inspectorNodeSearchEndedAtPosition):
Inspect the node at the location.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _enableInspectorNodeSearch]):
(-[WKWebView _disableInspectorNodeSearch]):

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::enableInspectorNodeSearch):
(WebKit::PageClientImpl::disableInspectorNodeSearch):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::inspectorNodeSearchMovedToPosition):
(WebKit::WebPageProxy::inspectorNodeSearchEndedAtPosition):
(WebKit::WebPageProxy::enableInspectorNodeSearch):
(WebKit::WebPageProxy::disableInspectorNodeSearch):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebInspectorClient.cpp:

(WebKit::WebInspectorClient::didSetSearchingForNode):

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

(WebKit::WebPage::enableInspectorNodeSearch):
(WebKit::WebPage::disableInspectorNodeSearch):
Pass the inspector node search state up from the WebProcess
to the WKContentView in the UIProcess. Likewise some messages
in the reverse direction.

3:58 PM Changeset in webkit [170444] by dburkart@apple.com
  • 10 edits in trunk/Source

Add support for 5-tuple versioning.

Reviewed by David Farler.

3:45 PM Changeset in webkit [170443] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE][Mac] REGRESSION(r170336) - zero tolerance seeks are ignored.
https://bugs.webkit.org/show_bug.cgi?id=134310

Reviewed by Brent Fulgham.

Tests for zero tolerance seeks were inadvertantly reversed in r170336.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):

3:37 PM Changeset in webkit [170442] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

<rdar://problem/17448049> REGRESSION (r170254): Input methods don’t work
https://bugs.webkit.org/show_bug.cgi?id=134311

Reviewed by Tim Horton.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::getSelectedRangeAsync): Removed code that accidentally put the
callback function into a throwaway EditingRangeCallback.

2:59 PM Changeset in webkit [170441] by ggaren@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

2014-06-25 Geoffrey Garen <ggaren@apple.com>

Build fix.

Unreviewed.

  • runtime/JSDateMath.cpp: (JSC::parseDateFromNullTerminatedCharacters):
  • runtime/VM.cpp: (JSC::VM::resetDateCache): Use std::numeric_limits instead of QNaN constant since that constant doesn't exist anymore.
2:51 PM Changeset in webkit [170440] by ggaren@apple.com
  • 9 edits
    3 deletes in trunk

Unreviewed, rolling out r166876.

Caused some ECMA test262 failures

Reverted changeset:

"Date object needs to check for ES5 15.9.1.14 TimeClip limit."
https://bugs.webkit.org/show_bug.cgi?id=131248
http://trac.webkit.org/changeset/166876

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

[iOS][WK2] Rotating a zoomed PDF leads to weird scrolling behavior
https://bugs.webkit.org/show_bug.cgi?id=134286

Reviewed by Benjamin Poulain.

  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView _computePageAndDocumentFrames]):
The WKPDFView frame and scroll view content size need to be scaled.

(-[WKPDFView web_setScrollView:]): Deleted.

(-[WKPDFView web_initWithFrame:webView:]):
Get rid of _documentFrame, and don't set it at initWithFrame: time (it's not useful yet).

2:32 PM Changeset in webkit [170438] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

[MSE][Mac] Pause playback when readyState drops below HAVE_FUTURE_DATA, and do not complete seek until it rises above HAVE_METADATA.
https://bugs.webkit.org/show_bug.cgi?id=134306

Reviewed by Eric Carlson.

Pause the synchronizer before seeking, and do not resume the synchronizer until it both reports that the seek completed,
and that the readyState rises above HAVE_METADATA. In every other location where we change the rate of the synchronizer,
gate that rate change on the above.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC): Check shouldBePlaying().
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance): Unset m_seekCompleted.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal): Pause the synchronizer.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setRateDouble): Check shouldBePlaying().
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::shouldBePlaying): Test m_seeking, !m_seekCompleted, and the readyState.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setReadyState): Set m_seekCompleted; check shouldBePlaying() and play if appropriate.

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

[MSE] Update monitorSourceBuffers to match recent spec changes
https://bugs.webkit.org/show_bug.cgi?id=134305

Reviewed by Eric Carlson.

In W3C bug #24347, the text for the third clause of Source Buffer Monitoring was updated. Update our
implementation to match the new text.

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::monitorSourceBuffers):

2:15 PM Changeset in webkit [170436] by mhahnenberg@apple.com
  • 5 edits in branches/ftlopt/Source/JavaScriptCore

Structure bit fields should have a consistent format
https://bugs.webkit.org/show_bug.cgi?id=134307

Reviewed by Filip Pizlo.

Currently we use C-style bit fields for a number of member variables in Structure to save space.
This makes it difficult to load these fields in the JIT. We should instead use our own bitfield
format to make it easy to load and test these variables in JIT code.

  • runtime/JSObject.cpp:

(JSC::JSObject::putDirectNonIndexAccessor):
(JSC::JSObject::reifyStaticFunctionsForDelete):

  • runtime/Structure.cpp:

(JSC::StructureTransitionTable::contains):
(JSC::StructureTransitionTable::get):
(JSC::StructureTransitionTable::add):
(JSC::Structure::Structure):
(JSC::Structure::materializePropertyMap):
(JSC::Structure::addPropertyTransition):
(JSC::Structure::despecifyFunctionTransition):
(JSC::Structure::toDictionaryTransition):
(JSC::Structure::freezeTransition):
(JSC::Structure::preventExtensionsTransition):
(JSC::Structure::takePropertyTableOrCloneIfPinned):
(JSC::Structure::nonPropertyTransition):
(JSC::Structure::flattenDictionaryStructure):
(JSC::Structure::addPropertyWithoutTransition):
(JSC::Structure::pin):
(JSC::Structure::allocateRareData):
(JSC::Structure::cloneRareDataFrom):
(JSC::Structure::getConcurrently):
(JSC::Structure::putSpecificValue):
(JSC::Structure::getPropertyNamesFromStructure):
(JSC::Structure::visitChildren):
(JSC::Structure::checkConsistency):

  • runtime/Structure.h:

(JSC::Structure::isExtensible):
(JSC::Structure::isDictionary):
(JSC::Structure::isUncacheableDictionary):
(JSC::Structure::propertyAccessesAreCacheable):
(JSC::Structure::previousID):
(JSC::Structure::setHasGetterSetterPropertiesWithProtoCheck):
(JSC::Structure::setContainsReadOnlyProperties):
(JSC::Structure::disableSpecificFunctionTracking):
(JSC::Structure::objectToStringValue):
(JSC::Structure::setObjectToStringValue):
(JSC::Structure::setPreviousID):
(JSC::Structure::clearPreviousID):
(JSC::Structure::previous):
(JSC::Structure::rareData):
(JSC::Structure::didTransition): Deleted.
(JSC::Structure::hasGetterSetterProperties): Deleted.
(JSC::Structure::hasReadOnlyOrGetterSetterPropertiesExcludingProto): Deleted.
(JSC::Structure::setHasGetterSetterProperties): Deleted.
(JSC::Structure::hasNonEnumerableProperties): Deleted.
(JSC::Structure::staticFunctionsReified): Deleted.
(JSC::Structure::setStaticFunctionsReified): Deleted.

  • runtime/StructureInlines.h:

(JSC::Structure::setEnumerationCache):
(JSC::Structure::enumerationCache):
(JSC::Structure::checkOffsetConsistency):

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

And peavo@outlook.com <peavo@outlook.com>

Use references instead of pointers in RenderTheme.
https://bugs.webkit.org/show_bug.cgi?id=134261

Reviewed by Zalan Bujtas.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::shouldHaveSpinButton):

  • html/shadow/SliderThumbElement.cpp:

(WebCore::RenderSliderThumb::updateAppearance):

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::adjustSizeConstraints):
(WebCore::RenderThemeEfl::applyEdjeRTLState):
(WebCore::RenderThemeEfl::isControlStyled):
(WebCore::RenderThemeEfl::paintThemePart):
(WebCore::RenderThemeEfl::supportsFocusRing):
(WebCore::RenderThemeEfl::adjustSliderTrackStyle):
(WebCore::RenderThemeEfl::adjustSliderThumbStyle):
(WebCore::RenderThemeEfl::adjustSliderThumbSize):
(WebCore::RenderThemeEfl::adjustCheckboxStyle):
(WebCore::RenderThemeEfl::adjustRadioStyle):
(WebCore::RenderThemeEfl::adjustButtonStyle):
(WebCore::RenderThemeEfl::adjustMenuListStyle):
(WebCore::RenderThemeEfl::adjustMenuListButtonStyle):
(WebCore::RenderThemeEfl::adjustTextFieldStyle):
(WebCore::RenderThemeEfl::adjustTextAreaStyle):
(WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
(WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationPartStyle):
(WebCore::RenderThemeEfl::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderThemeEfl::adjustSearchFieldStyle):
(WebCore::RenderThemeEfl::adjustInnerSpinButtonStyle):
(WebCore::RenderThemeEfl::adjustProgressBarStyle):
(WebCore::RenderThemeEfl::animationRepeatIntervalForProgressBar):
(WebCore::RenderThemeEfl::animationDurationForProgressBar):

  • platform/efl/RenderThemeEfl.h:
  • platform/gtk/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::supportsFocusRing):
(WebCore::RenderThemeGtk::adjustButtonStyle):
(WebCore::RenderThemeGtk::adjustMenuListStyle):
(WebCore::RenderThemeGtk::adjustMenuListButtonStyle):
(WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle):
(WebCore::adjustSearchFieldIconStyle):
(WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationPartStyle):
(WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderThemeGtk::adjustSearchFieldStyle):
(WebCore::RenderThemeGtk::adjustSliderTrackStyle):
(WebCore::RenderThemeGtk::adjustSliderThumbStyle):
(WebCore::borderRadiiFromStyle):
(WebCore::RenderThemeGtk::paintMediaSliderTrack):
(WebCore::RenderThemeGtk::paintMediaSliderThumb):
(WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack):
(WebCore::RenderThemeGtk::adjustProgressBarStyle):
(WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar):
(WebCore::RenderThemeGtk::animationDurationForProgressBar):
(WebCore::RenderThemeGtk::calculateProgressRect):

  • platform/gtk/RenderThemeGtk.h:
  • platform/gtk/RenderThemeGtk2.cpp:

(WebCore::setToggleSize):
(WebCore::RenderThemeGtk::setCheckboxSize):
(WebCore::RenderThemeGtk::setRadioSize):
(WebCore::RenderThemeGtk::comboBoxArrowSize):
(WebCore::RenderThemeGtk::getComboBoxPadding):
(WebCore::RenderThemeGtk::popupInternalPaddingLeft):
(WebCore::RenderThemeGtk::popupInternalPaddingRight):
(WebCore::RenderThemeGtk::popupInternalPaddingTop):
(WebCore::RenderThemeGtk::popupInternalPaddingBottom):
(WebCore::RenderThemeGtk::paintMenuList):
(WebCore::RenderThemeGtk::adjustSliderThumbSize):
(WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):

  • platform/gtk/RenderThemeGtk3.cpp:

(WebCore::setToggleSize):
(WebCore::RenderThemeGtk::setCheckboxSize):
(WebCore::RenderThemeGtk::setRadioSize):
(WebCore::getComboBoxMetrics):
(WebCore::RenderThemeGtk::popupInternalPaddingLeft):
(WebCore::RenderThemeGtk::popupInternalPaddingRight):
(WebCore::RenderThemeGtk::popupInternalPaddingTop):
(WebCore::RenderThemeGtk::popupInternalPaddingBottom):
(WebCore::RenderThemeGtk::adjustSliderThumbSize):
(WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):

  • rendering/RenderButton.cpp:

(WebCore::RenderButton::layout):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::paintOutline):

  • rendering/RenderMediaControls.cpp:

(WebCore::RenderMediaControls::adjustMediaSliderThumbSize):

  • rendering/RenderMediaControls.h:
  • rendering/RenderMenuList.cpp:

(WebCore::RenderMenuList::adjustInnerStyle):
(RenderMenuList::computeIntrinsicLogicalWidths):
(RenderMenuList::menuStyle):

  • rendering/RenderMeter.cpp:

(WebCore::RenderMeter::updateLogicalWidth):
(WebCore::RenderMeter::computeLogicalHeight):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::paintOutline):

  • rendering/RenderProgress.cpp:

(WebCore::RenderProgress::updateAnimationState):

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::layout):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::isControlStyled):
(WebCore::RenderTheme::supportsFocusRing):
(WebCore::RenderTheme::stateChanged):
(WebCore::RenderTheme::adjustCheckboxStyle):
(WebCore::RenderTheme::adjustRadioStyle):
(WebCore::RenderTheme::adjustButtonStyle):
(WebCore::RenderTheme::adjustInnerSpinButtonStyle):
(WebCore::RenderTheme::adjustTextFieldStyle):
(WebCore::RenderTheme::adjustTextAreaStyle):
(WebCore::RenderTheme::adjustMenuListStyle):
(WebCore::RenderTheme::adjustInputFieldSpeechButtonStyle):
(WebCore::RenderTheme::adjustMeterStyle):
(WebCore::RenderTheme::meterSizeForBounds):
(WebCore::RenderTheme::animationRepeatIntervalForProgressBar):
(WebCore::RenderTheme::animationDurationForProgressBar):
(WebCore::RenderTheme::adjustProgressBarStyle):
(WebCore::RenderTheme::shouldHaveSpinButton):
(WebCore::RenderTheme::adjustMediaControlStyle):
(WebCore::RenderTheme::adjustSliderTrackStyle):
(WebCore::RenderTheme::adjustSliderThumbStyle):
(WebCore::RenderTheme::adjustSliderThumbSize):
(WebCore::RenderTheme::adjustSearchFieldStyle):
(WebCore::RenderTheme::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderTheme::adjustSearchFieldDecorationPartStyle):
(WebCore::RenderTheme::adjustSearchFieldResultsDecorationPartStyle):
(WebCore::RenderTheme::adjustSearchFieldResultsButtonStyle):

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::supportsHover):
(WebCore::RenderTheme::minimumMenuListSize):
(WebCore::RenderTheme::popupInternalPaddingLeft):
(WebCore::RenderTheme::popupInternalPaddingRight):
(WebCore::RenderTheme::popupInternalPaddingTop):
(WebCore::RenderTheme::popupInternalPaddingBottom):
(WebCore::RenderTheme::popupMenuSize):
(WebCore::RenderTheme::setCheckboxSize):
(WebCore::RenderTheme::setRadioSize):
(WebCore::RenderTheme::setButtonSize):

  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::adjustCheckboxStyle):
(WebCore::RenderThemeIOS::isControlStyled):
(WebCore::RenderThemeIOS::adjustRadioStyle):
(WebCore::RenderThemeIOS::popupInternalPaddingRight):
(WebCore::RenderThemeIOS::adjustRoundBorderRadius):
(WebCore::RenderThemeIOS::adjustMenuListButtonStyle):
(WebCore::RenderThemeIOS::adjustSliderTrackStyle):
(WebCore::RenderThemeIOS::adjustSliderThumbSize):
(WebCore::RenderThemeIOS::animationRepeatIntervalForProgressBar):
(WebCore::RenderThemeIOS::animationDurationForProgressBar):
(WebCore::RenderThemeIOS::adjustSearchFieldStyle):
(WebCore::RenderThemeIOS::adjustButtonStyle):
(WebCore::RenderThemeIOS::setButtonSize):
(WebCore::RenderThemeIOS::shouldHaveSpinButton):

  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::isControlStyled):
(WebCore::RenderThemeMac::controlSizeForFont):
(WebCore::RenderThemeMac::sizeForFont):
(WebCore::RenderThemeMac::sizeForSystemFont):
(WebCore::RenderThemeMac::setSizeFromFont):
(WebCore::RenderThemeMac::setFontFromControlSize):
(WebCore::RenderThemeMac::controlSizeForSystemFont):
(WebCore::RenderThemeMac::adjustTextFieldStyle):
(WebCore::RenderThemeMac::adjustTextAreaStyle):
(WebCore::RenderThemeMac::paintMenuList):
(WebCore::RenderThemeMac::meterSizeForBounds):
(WebCore::RenderThemeMac::paintMeter):
(WebCore::RenderThemeMac::levelIndicatorFor):
(WebCore::RenderThemeMac::progressBarRectForBounds):
(WebCore::RenderThemeMac::minimumProgressBarHeight):
(WebCore::RenderThemeMac::animationRepeatIntervalForProgressBar):
(WebCore::RenderThemeMac::animationDurationForProgressBar):
(WebCore::RenderThemeMac::adjustProgressBarStyle):
(WebCore::RenderThemeMac::paintProgressBar):
(WebCore::RenderThemeMac::adjustMenuListStyle):
(WebCore::RenderThemeMac::popupInternalPaddingLeft):
(WebCore::RenderThemeMac::popupInternalPaddingRight):
(WebCore::RenderThemeMac::popupInternalPaddingTop):
(WebCore::RenderThemeMac::popupInternalPaddingBottom):
(WebCore::RenderThemeMac::popupMenuSize):
(WebCore::RenderThemeMac::minimumMenuListSize):
(WebCore::RenderThemeMac::adjustSliderTrackStyle):
(WebCore::RenderThemeMac::adjustSliderThumbStyle):
(WebCore::RenderThemeMac::setSearchCellState):
(WebCore::RenderThemeMac::setSearchFieldSize):
(WebCore::RenderThemeMac::adjustSearchFieldStyle):
(WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderThemeMac::adjustSearchFieldDecorationPartStyle):
(WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationPartStyle):
(WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle):
(WebCore::RenderThemeMac::adjustSliderThumbSize):

  • rendering/RenderThemeSafari.cpp:

(WebCore::RenderThemeSafari::isControlStyled):
(WebCore::RenderThemeSafari::adjustRepaintRect):
(WebCore::RenderThemeSafari::baselinePosition):
(WebCore::RenderThemeSafari::controlSizeForFont):
(WebCore::RenderThemeSafari::sizeForFont):
(WebCore::RenderThemeSafari::sizeForSystemFont):
(WebCore::RenderThemeSafari::setSizeFromFont):
(WebCore::RenderThemeSafari::setFontFromControlSize):
(WebCore::RenderThemeSafari::controlSizeForSystemFont):
(WebCore::RenderThemeSafari::paintCheckbox):
(WebCore::RenderThemeSafari::setCheckboxSize):
(WebCore::RenderThemeSafari::paintRadio):
(WebCore::RenderThemeSafari::setRadioSize):
(WebCore::RenderThemeSafari::setButtonPaddingFromControlSize):
(WebCore::RenderThemeSafari::adjustButtonStyle):
(WebCore::RenderThemeSafari::setButtonSize):
(WebCore::RenderThemeSafari::adjustTextFieldStyle):
(WebCore::RenderThemeSafari::adjustTextAreaStyle):
(WebCore::RenderThemeSafari::paintMenuList):
(WebCore::RenderThemeSafari::adjustMenuListStyle):
(WebCore::RenderThemeSafari::popupInternalPaddingLeft):
(WebCore::RenderThemeSafari::popupInternalPaddingRight):
(WebCore::RenderThemeSafari::popupInternalPaddingTop):
(WebCore::RenderThemeSafari::popupInternalPaddingBottom):
(WebCore::RenderThemeSafari::adjustMenuListButtonStyle):
(WebCore::RenderThemeSafari::minimumMenuListSize):
(WebCore::RenderThemeSafari::adjustSliderThumbStyle):
(WebCore::RenderThemeSafari::adjustSliderThumbSize):
(WebCore::RenderThemeSafari::setSearchFieldSize):
(WebCore::RenderThemeSafari::adjustSearchFieldStyle):
(WebCore::RenderThemeSafari::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderThemeSafari::adjustSearchFieldDecorationPartStyle):
(WebCore::RenderThemeSafari::adjustSearchFieldResultsDecorationPartStyle):
(WebCore::RenderThemeSafari::adjustSearchFieldResultsButtonStyle):
(WebCore::RenderThemeSafari::adjustMeterStyle):
(WebCore::RenderThemeSafari::meterSizeForBounds):
(WebCore::RenderThemeSafari::paintMeter):

  • rendering/RenderThemeSafari.h:
  • rendering/RenderThemeWin.cpp:

(WebCore::RenderThemeWin::supportsHover):
(WebCore::RenderThemeWin::supportsFocusRing):
(WebCore::RenderThemeWin::adjustInnerSpinButtonStyle):
(WebCore::RenderThemeWin::setCheckboxSize):
(WebCore::RenderThemeWin::paintTextField):
(WebCore::RenderThemeWin::paintMenuList):
(WebCore::RenderThemeWin::adjustMenuListStyle):
(WebCore::RenderThemeWin::adjustMenuListButtonStyle):
(WebCore::RenderThemeWin::adjustSliderThumbSize):
(WebCore::RenderThemeWin::adjustSearchFieldStyle):
(WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderThemeWin::adjustSearchFieldDecorationPartStyle):
(WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationPartStyle):
(WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
(WebCore::RenderThemeWin::adjustMeterStyle):
(WebCore::RenderThemeWin::meterSizeForBounds):
(WebCore::RenderThemeWin::paintMeter):

  • rendering/RenderThemeWin.h:

(WebCore::RenderThemeWin::paintCheckbox):
(WebCore::RenderThemeWin::paintRadio):
(WebCore::RenderThemeWin::setRadioSize):
(WebCore::RenderThemeWin::paintTextArea):
(WebCore::RenderThemeWin::popupOptionSupportsTextIndent):
(WebCore::RenderThemeWin::paintSearchFieldDecorationPart):
(WebCore::RenderThemeWin::adjustButtonStyle):
(WebCore::RenderThemeWin::adjustTextFieldStyle):
(WebCore::RenderThemeWin::adjustTextAreaStyle):
(WebCore::RenderThemeWin::shouldShowPlaceholderWhenFocused):

1:42 PM Changeset in webkit [170434] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

[Mac] Update the time base of event's timestamp when the system time changes
https://bugs.webkit.org/show_bug.cgi?id=134293

Reviewed by Anders Carlsson.

  • platform/mac/PlatformEventFactoryMac.mm:

(WebCore::cachedStartupTimeIntervalSince1970): Since events timestamps are absolute time, they also
need to be updated if the system clock changes.

12:03 PM Changeset in webkit [170433] by krit@webkit.org
  • 20 edits
    3 adds in trunk

Add all blend modes to feBlend

feBlend should support all blend modes from CSS and Canvas
https://bugs.webkit.org/show_bug.cgi?id=134296

Source/WebCore:
Reviewed by Dean Jackson.

Add all blend modes to <feBlend> (the SVG filter primitive) that are also
supported by HTML Canvas and CSS.

In addition, add "normal" blend mode to HTML Canvas as requested by the
CSS Compositing and Blending specification. (Referenced from HTML Canvas.)
With this change, SVG, CSS and Canvas truly share the same blend modes and
even the same keywords. This is much easier to for web authors.

http://www.w3.org/TR/2014/CR-compositing-1-20140220/#ltblendmodegt

Test: svg/filters/feBlend-all-blendmodes.svg

  • platform/graphics/GraphicsTypes.cpp: Reorder blend mode text streams to match

enumeration order. Add a new function to parse blend modes independent of
compositing modes. Add a string "normal" that is supported by CSS, feBlend and
HTML Canvas now.

(WebCore::parseBlendMode):
(WebCore::parseCompositeAndBlendOperator):

  • platform/graphics/GraphicsTypes.h: Reorder BlendMode enumeration values to match the SVG JS enumeration for blend modes.
  • platform/graphics/cpu/arm/filters/FEBlendNEON.h: Move all software code that is no

longer required by the software path but still used by NEON here.

(WebCore::FEBlend::platformApplySoftware):
(WebCore::FEBlend::platformApplyNEON):

  • platform/graphics/filters/FEBlend.cpp:

Use drawImageBuffer() to blend the results of previous filter primitives. This
allows removing more than 60% of the code.

(WebCore::FEBlend::FEBlend):
(WebCore::FEBlend::create):
(WebCore::FEBlend::blendMode):
(WebCore::FEBlend::setBlendMode):
(WebCore::FEBlend::platformApplySoftware):
(WebCore::FEBlend::dump):
(WebCore::FEBlend::externalRepresentation):
(WebCore::feBlendNormal): Deleted.
(WebCore::feBlendMultiply): Deleted.
(WebCore::feBlendScreen): Deleted.
(WebCore::feBlendDarken): Deleted.
(WebCore::feBlendLighten): Deleted.
(WebCore::feBlendUnknown): Deleted.
(WebCore::platformApply): Deleted.
(WebCore::FEBlend::platformApplyGeneric): Deleted.
(WebCore::operator<<): Deleted.

  • platform/graphics/filters/FEBlend.h:
  • svg/SVGAnimatedEnumeration.cpp: Use the global BlendMode enumeration.

(WebCore::enumerationValueForTargetAttribute):

  • svg/SVGFEBlendElement.cpp:

(WebCore::SVGFEBlendElement::SVGFEBlendElement): Use the global BlendMode enumeration.

No new enumeration values added or exposed to SVG DOM as requested by SVG WG.

(WebCore::SVGFEBlendElement::parseAttribute):

  • svg/SVGFEBlendElement.h: Replace BlendModeType with global BlendMode enumeration. Remove

blend mode parsing code and use the code in GraphicsTypes instead.

(WebCore::SVGPropertyTraits<BlendMode>::highestEnumValue):
(WebCore::SVGPropertyTraits<BlendMode>::toString):
(WebCore::SVGPropertyTraits<BlendModeType>::highestEnumValue): Deleted.
(WebCore::SVGPropertyTraits<BlendModeType>::toString): Deleted.
(WebCore::SVGPropertyTraits<BlendModeType>::fromString): Deleted.

LayoutTests:
Added tests for new blend modes in feBlend as well as a test for 'normal' blend mode
on HTML Canvas.

Reviewed by Dean Jackson.

  • fast/canvas/canvas-blend-image-expected.txt:
  • fast/canvas/canvas-blend-solid-expected.txt:
  • fast/canvas/script-tests/canvas-blend-image.js: Test 'normal' blend mode in Canvas.

(prepareTestScenario):

  • fast/canvas/script-tests/canvas-blend-solid.js: Ditto.

(prepareTestScenario):

  • platform/mac/svg/W3C-SVG-1.1/filters-blend-01-b-expected.png:
  • platform/mac/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt: DRT output is lowercase now.
  • platform/mac/svg/filters/feBlend-all-blendmodes-expected.png: Added.
  • platform/mac/svg/filters/feBlend-all-blendmodes-expected.txt: Added.
  • svg/filters/feBlend-all-blendmodes.svg: Added. Tests all blend modes now supported by feBlend.
  • svg/filters/feBlend-invalid-mode.xhtml: Add an upper bound check as well.
10:34 AM Changeset in webkit [170432] by msaboff@apple.com
  • 2 edits in trunk/Tools

Provide javascript aware backtrace script for lldb
https://bugs.webkit.org/show_bug.cgi?id=134276

Reviewed by Jer Noble.

  • lldb/lldb_webkit.py:

(lldb_init_module):
(btjs): New scripted command to display a backtrace that shows JavaScript frames with details.

10:24 AM Changeset in webkit [170431] by Brent Fulgham
  • 2 edits in trunk/Source/JavaScriptCore

[Win] Unreviewed gardening.

put various files in proper IDE categories.

10:00 AM Changeset in webkit [170430] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Unreviewed iOS build fix after r170425.

  • accessibility/AccessibilityProgressIndicator.cpp:
  • accessibility/AccessibilityProgressIndicator.h:
9:56 AM Changeset in webkit [170429] by Chris Fleizach
  • 5 edits
    2 adds in trunk

AX: Crash at com.apple.WebCore: WebCore::AlternativeTextController::removeDictationAlternativesForMarker + 43
https://bugs.webkit.org/show_bug.cgi?id=134226

Reviewed by Enrica Casucci.

Source/WebCore:
Unchecked access of details pointer in the Document marker led to the crash.
It seems erroneous to allow creation of a DocumentMarker without details when one is expected, because it
carries the dictation context (not just the description).
Also, add in ASSERTs to catch scenarios where a nullptr might be passed in.

Test: platform/mac/editing/input/crash-for-empty-text-alternative.html

  • dom/DocumentMarker.cpp:

(WebCore::DocumentMarker::DocumentMarker):

  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::removeDictationAlternativesForMarker):

LayoutTests:

  • platform/mac-wk2/TestExpectations:

Skip test on wk2 because dictation related tests are not yet supported (89401)

  • platform/mac/editing/input/crash-for-empty-text-alternative-expected.txt: Added.
  • platform/mac/editing/input/crash-for-empty-text-alternative.html: Added.
9:37 AM Changeset in webkit [170428] by commit-queue@webkit.org
  • 18 edits
    1 add in trunk/Source

[Win64] ASM LLINT is not enabled.
https://bugs.webkit.org/show_bug.cgi?id=130638

Source/JavaScriptCore:
This patch adds a new LLINT assembler backend for Win64, and implements it.
It makes adjustments to follow the Win64 ABI spec. where it's found to be needed.
Also, LLINT and JIT is enabled for Win64.

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-06-25
Reviewed by Mark Lam.

  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Added JITStubsMSVC64.asm.
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Ditto.
  • JavaScriptCore/JavaScriptCore.vcxproj/jsc/jscCommon.props: Increased stack size to avoid stack overflow in tests.
  • JavaScriptCore.vcxproj/LLInt/LLIntAssembly/build-LLIntAssembly.sh: Generate assembler source file for Win64.
  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::call): Follow Win64 ABI spec.

  • jit/JITStubsMSVC64.asm: Added.
  • jit/Repatch.cpp:

(JSC::emitPutTransitionStub): Compile fix.

  • jit/ThunkGenerators.cpp:

(JSC::nativeForGenerator): Follow Win64 ABI spec.

  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions): Ditto.

  • llint/LLIntOfflineAsmConfig.h: Enable new llint backend for Win64.
  • llint/LowLevelInterpreter.asm: Implement new Win64 backend, and follow Win64 ABI spec.
  • llint/LowLevelInterpreter64.asm: Ditto.
  • offlineasm/asm.rb: Compile fix.
  • offlineasm/backends.rb: Add new llint backend for Win64.
  • offlineasm/settings.rb: Compile fix.
  • offlineasm/x86.rb: Implement new llint Win64 backend.

Source/WTF:
Patch by peavo@outlook.com <peavo@outlook.com> on 2014-06-25
Reviewed by Mark Lam.

  • wtf/Platform.h: Enable LLINT and JIT for Win64.
8:09 AM Changeset in webkit [170427] by Michał Pakuła vel Rutka
  • 2 edits in trunk/Tools

REGRESSION (r170426) Broke two python tests
https://bugs.webkit.org/show_bug.cgi?id=134299

Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/port/efl.py:

(EflPort._search_paths): Added search path for efl-wk2.

5:25 AM Changeset in webkit [170426] by Michał Pakuła vel Rutka
  • 6 edits in trunk/Tools

[EFL] Remove WebKit1 related code from scripts
https://bugs.webkit.org/show_bug.cgi?id=134195

Reviewed by Laszlo Gombos.

After removing WebKit1 from EFL port, still there is some code left related to DumpRenderTree,
EWebLauncher. Also running layout tests does not require adding -2/--webkit-test-runner switch.

  • Scripts/run-launcher: MiniBrowser now runs as default without -2 switch.
  • Scripts/webkitdirs.pm:

(builtDylibPathForName): Remove reference to libewebkit.so

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(_set_up_derived_options): Script runs WKTR by default.

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner.init): Ditto.

  • Scripts/webkitpy/port/efl.py:

(EflPort._search_paths): Remove efl-wk2 from baseline search path.
(EflPort.show_results_html_file): Run MiniBrowser as result viewer.

5:04 AM Changeset in webkit [170425] by l.gombos@samsung.com
  • 50 edits in trunk

Remove build guard for progress element
https://bugs.webkit.org/show_bug.cgi?id=134292

Reviewed by Benjamin Poulain.

.:
The build flag is no longer needed as it is always on.

  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:
The build flag is no longer needed as it is always on.

No new tests as there is no new behaviour.

  • Configurations/FeatureDefines.xcconfig:
  • DerivedSources.make:
  • accessibility/AXObjectCache.cpp:

(WebCore::createFromRenderer):

  • accessibility/AccessibilityProgressIndicator.cpp:

(WebCore::AccessibilityProgressIndicator::create):
(WebCore::AccessibilityProgressIndicator::valueForRange):
(WebCore::AccessibilityProgressIndicator::maxValueForRange):
(WebCore::AccessibilityProgressIndicator::minValueForRange):
(WebCore::AccessibilityProgressIndicator::progressElement):

  • accessibility/AccessibilityProgressIndicator.h:
  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::sharingCandidateHasIdenticalStyleAffectingAttributes):

  • css/html.css:

(progress::-webkit-progress-value):

  • html/HTMLProgressElement.cpp:
  • html/HTMLProgressElement.h:
  • html/HTMLProgressElement.idl:
  • html/HTMLTagNames.in:
  • html/shadow/ProgressShadowElement.cpp:
  • html/shadow/ProgressShadowElement.h:
  • platform/efl/DefaultTheme/CMakeLists.txt:
  • platform/efl/DefaultTheme/default.edc:
  • platform/efl/RenderThemeEfl.cpp:

(WebCore::toEdjeGroup):
(WebCore::RenderThemeEfl::applyEdjeRTLState):
(WebCore::RenderThemeEfl::paintProgressBar):

  • platform/efl/RenderThemeEfl.h:
  • platform/gtk/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::calculateProgressRect):

  • platform/gtk/RenderThemeGtk.h:
  • platform/gtk/RenderThemeGtk2.cpp:

(WebCore::RenderThemeGtk::paintProgressBar):

  • platform/gtk/RenderThemeGtk3.cpp:

(WebCore::RenderThemeGtk::paintProgressBar):

  • rendering/RenderObject.h:

(WebCore::RenderObject::isSnapshottedPlugIn):
(WebCore::RenderObject::isProgress):

  • rendering/RenderProgress.cpp:
  • rendering/RenderProgress.h:
  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
(WebCore::RenderTheme::progressBarRectForBounds):

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::paintProgressBar):

  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintProgressBar):

  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintProgressBar):

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:
The build flag is no longer needed as it is always on.

  • wtf/FeatureDefines.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.props:
  • win/tools/vsprops/FeatureDefinesCairo.props:

LayoutTests:
Remove PROGRESS_ELEMENT from the comment to reflect the change.

  • fast/dom/wrapper-classes.html:
3:43 AM Changeset in webkit [170424] by Carlos Garcia Campos
  • 19 edits in trunk/Source/WebCore

Unreviewed. Update GObject DOM bindings test results after r170422.

  • bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:

(WebKit::wrapTestActiveDOMObject):

  • bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:

(WebKit::wrapTestCallback):

  • bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp:

(WebKit::wrapTestCustomNamedGetter):

  • bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:

(WebKit::wrapTestEventConstructor):

  • bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:

(WebKit::wrapTestEventTarget):

  • bindings/scripts/test/GObject/WebKitDOMTestException.cpp:

(WebKit::wrapTestException):

  • bindings/scripts/test/GObject/WebKitDOMTestGenerateIsReachable.cpp:

(WebKit::wrapTestGenerateIsReachable):

  • bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:

(WebKit::wrapTestInterface):

  • bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:

(WebKit::wrapTestMediaQueryListListener):

  • bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp:

(WebKit::wrapTestNamedConstructor):

  • bindings/scripts/test/GObject/WebKitDOMTestNode.cpp:

(WebKit::wrapTestNode):

  • bindings/scripts/test/GObject/WebKitDOMTestNondeterministic.cpp:

(WebKit::wrapTestNondeterministic):

  • bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:

(WebKit::wrapTestObj):

  • bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.cpp:

(WebKit::wrapTestOverloadedConstructors):

  • bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:

(WebKit::wrapTestSerializedScriptValueInterface):

  • bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp:

(WebKit::wrapTestTypedefs):

  • bindings/scripts/test/GObject/WebKitDOMattribute.cpp:

(WebKit::wrapattribute):

  • bindings/scripts/test/GObject/WebKitDOMreadonly.cpp:

(WebKit::wrapreadonly):

3:38 AM Changeset in webkit [170423] by Carlos Garcia Campos
  • 19 edits in trunk/Source/WebKit2

[GTK] Windowed plugins visibility doesn't work
https://bugs.webkit.org/show_bug.cgi?id=131487

Reviewed by Anders Carlsson.

Implement plugins visibility changes and add a new message to
notify the UI process when a windowed plugin is shown/hidden to
show/hide the plugin widget.

  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::visibilityDidChange): Add
implementation to notify the plugin about visibility change.
(WebKit::PluginControllerProxy::windowedPluginVisibilityDidChange):
Send WindowedPluginVisibilityDidChange to the plugin proxy.

  • PluginProcess/PluginControllerProxy.h:
  • PluginProcess/PluginControllerProxy.messages.in: Add VisibilityDidChange message.
  • UIProcess/WebPageProxy.h: Add windowedPluginVisibilityDidChange

to handle WindowedPluginVisibilityDidChange message.

  • UIProcess/WebPageProxy.messages.in: Add WindowedPluginVisibilityDidChange message.
  • UIProcess/efl/WebPageProxyEfl.cpp:

(WebKit::WebPageProxy::windowedPluginVisibilityDidChange):

  • UIProcess/gtk/WebPageProxyGtk.cpp:

(WebKit::WebPageProxy::createPluginContainer): Do not show the
plugins by default.
(WebKit::WebPageProxy::windowedPluginVisibilityDidChange): Show or hide the plugin widget.

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::NetscapePlugin): Initialize m_isVisible.
(WebKit::NetscapePlugin::visibilityDidChange): Add visible parameter and save it in m_isVisible
member, calling platformVisibilityDidChange() only when it has actually changed.

  • WebProcess/Plugins/Netscape/NetscapePlugin.h:
  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:

(WebKit::NetscapePlugin::platformVisibilityDidChange): Notify the controller about visibility change.

  • WebProcess/Plugins/PDF/PDFPlugin.h:
  • WebProcess/Plugins/Plugin.h:
  • WebProcess/Plugins/PluginController.h:
  • WebProcess/Plugins/PluginProxy.cpp:

(WebKit::PluginProxy::visibilityDidChange): Send VisibilityDidChange message to the plugin controller proxy.
(WebKit::PluginProxy::windowedPluginVisibilityDidChange): Notify the controller about visibility change.

  • WebProcess/Plugins/PluginProxy.h:
  • WebProcess/Plugins/PluginProxy.messages.in: Add WindowedPluginVisibilityDidChange message.
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::didInitializePlugin): Also call viewVisibilityDidChange() when the plugin is initialized.
(WebKit::PluginView::setParentVisible): Override this Widget method to update the plugin visibility when parent
widget is shown/hidden.
(WebKit::PluginView::viewVisibilityDidChange): Pass visible parameter to visibilityDidChange().
(WebKit::PluginView::windowedPluginVisibilityDidChange): Send WindowedPluginVisibilityDidChange message to the UI process.

  • WebProcess/Plugins/PluginView.h:

Jun 24, 2014:

11:54 PM Changeset in webkit [170422] by commit-queue@webkit.org
  • 48 edits in trunk

[GTK] Some of DOM bindings macros are misnamed
https://bugs.webkit.org/show_bug.cgi?id=121543

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

As we are using WebKitDOM as a namespace we should unify all type macros
to have WEBKIT_DOM_TYPE prefix instead of WEBKIT_TYPE_DOM. Also add
more exceptions to decamelize function in GObject bindings generator
to fix the names of bindings for BR, HR, UL, OL, DL and LI elements.

Source/WebCore:

  • bindings/gobject/GObjectEventListener.cpp:

(WebCore::GObjectEventListener::handleEvent):

  • bindings/gobject/WebKitDOMEventTarget.h:
  • bindings/gobject/WebKitDOMNodeFilter.h:
  • bindings/gobject/WebKitDOMObject.h:
  • bindings/gobject/webkitdom.symbols:
  • bindings/scripts/CodeGeneratorGObject.pm:

(decamelize):
(GetParentGObjType):
(GenerateProperty):
(GenerateHeader):
(GenerateCFile):
(GenerateEventTargetIface):

  • bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:

(WebKit::wrapFloat64Array):

  • bindings/scripts/test/GObject/WebKitDOMFloat64Array.h:
  • bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:

(WebKit::wrapTestActiveDOMObject):

  • bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
  • bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:

(WebKit::wrapTestCallback):

  • bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
  • bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp:

(WebKit::wrapTestCustomNamedGetter):

  • bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h:
  • bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:

(WebKit::wrapTestEventConstructor):

  • bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h:
  • bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:

(WebKit::wrapTestEventTarget):

  • bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
  • bindings/scripts/test/GObject/WebKitDOMTestException.cpp:

(WebKit::wrapTestException):

  • bindings/scripts/test/GObject/WebKitDOMTestException.h:
  • bindings/scripts/test/GObject/WebKitDOMTestGenerateIsReachable.cpp:

(WebKit::wrapTestGenerateIsReachable):

  • bindings/scripts/test/GObject/WebKitDOMTestGenerateIsReachable.h:
  • bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:

(WebKit::wrapTestInterface):
(webkit_dom_test_interface_class_init):

  • bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
  • bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:

(WebKit::wrapTestMediaQueryListListener):

  • bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
  • bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp:

(WebKit::wrapTestNamedConstructor):

  • bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.h:
  • bindings/scripts/test/GObject/WebKitDOMTestNode.cpp:

(WebKit::wrapTestNode):

  • bindings/scripts/test/GObject/WebKitDOMTestNode.h:
  • bindings/scripts/test/GObject/WebKitDOMTestNondeterministic.cpp:

(WebKit::wrapTestNondeterministic):

  • bindings/scripts/test/GObject/WebKitDOMTestNondeterministic.h:
  • bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:

(WebKit::wrapTestObj):
(webkit_dom_test_obj_class_init):

  • bindings/scripts/test/GObject/WebKitDOMTestObj.h:
  • bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.cpp:

(WebKit::wrapTestOverloadedConstructors):

  • bindings/scripts/test/GObject/WebKitDOMTestOverloadedConstructors.h:
  • bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:

(WebKit::wrapTestSerializedScriptValueInterface):
(webkit_dom_test_serialized_script_value_interface_class_init):

  • bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
  • bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp:

(WebKit::wrapTestTypedefs):
(webkit_dom_test_typedefs_class_init):

  • bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
  • bindings/scripts/test/GObject/WebKitDOMattribute.cpp:

(WebKit::wrapattribute):

  • bindings/scripts/test/GObject/WebKitDOMattribute.h:
  • bindings/scripts/test/GObject/WebKitDOMreadonly.cpp:

(WebKit::wrapreadonly):

  • bindings/scripts/test/GObject/WebKitDOMreadonly.h:

Tools:

  • TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeFilterTest.cpp:
  • gtk/webkitdom.py:

(WebKitDOMDocGeneratorSections._dom_class_decamelize):
(WebKitDOMDocGeneratorSections.write_section):

11:45 PM Changeset in webkit [170421] by msaboff@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Add support routines to provide descriptive JavaScript backtraces
https://bugs.webkit.org/show_bug.cgi?id=134278

Reviewed by Mark Lam.

  • interpreter/CallFrame.cpp:

(JSC::CallFrame::dump):
(JSC::CallFrame::describeFrame):

  • interpreter/CallFrame.h:
  • runtime/JSCJSValue.cpp:

(JSC::JSValue::dumpForBacktrace):

  • runtime/JSCJSValue.h:
11:44 PM Changeset in webkit [170420] by akling@apple.com
  • 2 edits in trunk/Source/WTF

Run the FastMalloc scavenger thread on iOS as well.
<https://webkit.org/b/134287>
<rdar://problem/17446198>

Reviewed by Gavin Barraclough.

  • wtf/FastMalloc.cpp:
11:31 PM Changeset in webkit [170419] by fred.wang@free.fr
  • 2 edits in trunk/Tools

[EFL] Install Latin Modern Math on the bots
https://bugs.webkit.org/show_bug.cgi?id=134153

Reviewed by Gyuyoung Kim.

9:56 PM Changeset in webkit [170418] by fred.wang@free.fr
  • 13 edits in trunk

Tools: [EFL] [GTK] Use Latin Modern Math in the jhbuild environments.
https://bugs.webkit.org/show_bug.cgi?id=134153

Reviewed by Martin Robinson.

  • efl/jhbuild.modules: Use webkitgtk-test-fonts.git instead of the zip archive and upgrade to 0.0.5.
  • gtk/jhbuild.modules: Upgrade webkitgtk-test-fonts to 0.0.5.

LayoutTests: [EFL] [GTK] Update the MathML test references.
https://bugs.webkit.org/show_bug.cgi?id=134153

Reviewed by Martin Robinson.

We update the GTK references after the move to Latin Modern Math.

  • mathml/presentation/bug95015-expected.html: hide the base X since it is causing antialiasing diff.
  • mathml/presentation/bug95015.html: ditto
  • platform/efl/TestExpectations: enable some tests again (the references must be updated).
  • platform/gtk/TestExpectations: enable OpenType MATH test again, mark mo-stacked-glyphs as failing.
  • platform/gtk/mathml/presentation/menclose-notation-default-longdiv-expected.txt: update reference.
  • platform/gtk/mathml/presentation/mo-stretch-expected.png: ditto
  • platform/gtk/mathml/presentation/mo-stretch-expected.txt: ditto
  • platform/gtk/mathml/presentation/roots-expected.png: ditto
  • platform/gtk/mathml/presentation/roots-expected.txt: ditto
9:30 PM Changeset in webkit [170417] by commit-queue@webkit.org
  • 4 edits
    2 deletes in trunk

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

the patch added a test that fails on almost every Mac tester
(Requested by rniwa on #webkit).

Reverted changeset:

"Tiles on bottom of screen are not always allocated when
necessary"
https://bugs.webkit.org/show_bug.cgi?id=134272
http://trac.webkit.org/changeset/170414

8:13 PM Changeset in webkit [170416] by jonowells@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: clicking "Show All Nodes" button throws TypeError
https://bugs.webkit.org/show_bug.cgi?id=133701

Reviewed by Timothy Hatcher.

The method used for isEventWithinDisclosureTriangle needs to consider the possibility that the
targeted TreeElement isn't contained within the visible DOM, for instance in the case of the
"Show All Nodes" button immediately after it is pressed.

  • UserInterface/Views/TreeOutline.js:

(TreeElement.prototype.isEventWithinDisclosureTriangle): Check to make sure TreeElement node is in the visible DOM.

6:28 PM Changeset in webkit [170415] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Tools

Unreviewed, update my speciality.

  • Scripts/webkitpy/common/config/contributors.json:
6:25 PM Changeset in webkit [170414] by mmaxfield@apple.com
  • 4 edits
    2 adds in trunk

Tiles on bottom of screen are not always allocated when necessary
https://bugs.webkit.org/show_bug.cgi?id=134272

Reviewed by Simon Fraser.

Source/WebCore:
The initial visibleRect is in the coordinate of the root layer, so its origin
is at the top left of the view. The initial rect we were using doesn't
include the contents inset, so it was too short, which was causing tiles near
the bottom of the screen to not always be allocated if the tile threshold was
close to the bottom of the view. Instead, we want to include the contents
inset size so the visible rect includes the entire view.
GraphicsLayerCA::recursiveCommitChanges() takes care of mapping and cropping
the visible rect into the tiled layer's coordinate system, at which point it
is used for visible tile logic.

Test: platform/mac-wk2/tiled-drawing/visible-rect-content-inset.html

  • platform/graphics/ca/TileCoverageMap.cpp:

(WebCore::TileCoverageMap::update):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::flushPendingLayerChanges):

LayoutTests:
Apply a content inset, then dump visible rects.

  • platform/mac-wk2/tiled-drawing/visible-rect-content-inset-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/visible-rect-content-inset.html: Added.
6:19 PM Changeset in webkit [170413] by mmaxfield@apple.com
  • 4 edits in trunk/Source/WebCore

InlineTextBox's m_len can be an unsigned (rather than an unsigned short)
https://bugs.webkit.org/show_bug.cgi?id=134173

Reviewed by Daniel Bates.

After Zalan's talks with Kling, it seems that the simple line layout code
might alleviate the need for the space savings in InlineTextBox. Given this,
it would be beneficial to be a little more safe by using unsigneds throughout.

For example, we have code like "void setLen(unsigned len) { m_len = len; }"
which might silently break if given particular inputs.

No new tests because there is no behavior change.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::isSelected):
(WebCore::InlineTextBox::localSelectionRect):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::selectionStartEnd):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintCompositionBackground):
(WebCore::InlineTextBox::paintDocumentMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::computeRectForReplacementMarker):

  • rendering/InlineTextBox.h:

(WebCore::InlineTextBox::truncation):

  • rendering/RenderTextLineBoxes.cpp:

(WebCore::ellipsisRectForBox):

5:56 PM Changeset in webkit [170412] by Samuel White
  • 5 edits in trunk/LayoutTests

AX: Remove tight platform expectation coupling form roles-exposed layout test.
https://bugs.webkit.org/show_bug.cgi?id=134123

Reviewed by Chris Fleizach.

Don't enforce platform specific differences in the test itself. This is what the various expectation files are for.

  • accessibility/roles-exposed-expected.txt:
  • accessibility/roles-exposed.html:
  • platform/mac-mountainlion/accessibility/roles-exposed-expected.txt:
  • platform/mac/accessibility/roles-exposed-expected.txt:
5:53 PM Changeset in webkit [170411] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Speculative 32-bit Mac build fix after r170402.

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::advanceByCombiningCharacterSequence):

5:36 PM Changeset in webkit [170410] by Brent Fulgham
  • 3 edits in trunk/Websites/webkit.org

[Win] Remove some out-of-date stuff from our instructions.
https://bugs.webkit.org/show_bug.cgi?id=134282

Reviewed by Tim Horton.

  • building/build.html: Remove reference to "Platform SDK" which we don't manuall

install anymore (it's part of Visual Studio 2013).

  • building/tools.html: We no longer need QuickTime SDK, QuickTime Player, or

the DirectX SDK.

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

[iOS][WK2] We should not start potential tap activation unless the tap gesture recognizer succeed
https://bugs.webkit.org/show_bug.cgi?id=134277
<rdar://problem/17439973>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-06-24
Reviewed by Anders Carlsson.

  • UIProcess/ios/WKSyntheticClickTapGestureRecognizer.m:

(-[WKSyntheticClickTapGestureRecognizer setState:]):
We were calling the _gestureRecognizedAction even for failure states. The potential activation work
is not light on the Web Process, we should not start if we don't care about the result.

5:15 PM Changeset in webkit [170408] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebKit2

[iOS][WK2] Adopt the C API of UIWebTouchEventsGestureRecognizer for touch event mapping
https://bugs.webkit.org/show_bug.cgi?id=134234

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-06-24
Reviewed by Tim Horton.

The C API is more efficient and expose properties we will need for other patches. This patch moves from
getting each value independently on UIWebTouchEventsGestureRecognizer to the single structure exposed
by _UIWebTouchEvent.

  • Shared/NativeWebTouchEvent.h:
  • Shared/ios/NativeWebTouchEventIOS.mm:

(WebKit::convertTouchPhase):
(WebKit::extractWebTouchPoint):
(WebKit::NativeWebTouchEvent::NativeWebTouchEvent):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _webTouchEventsRecognized:]):

5:13 PM Changeset in webkit [170407] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

WK1 WebFrameNetworkingContext cleanup: do not instanciate an empty NSString to create an empty WTF::String
https://bugs.webkit.org/show_bug.cgi?id=134222

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-06-24
Reviewed by Andreas Kling.

  • WebCoreSupport/WebFrameNetworkingContext.mm:

(WebFrameNetworkingContext::sourceApplicationIdentifier):

4:50 PM Changeset in webkit [170406] by commit-queue@webkit.org
  • 27 edits in trunk/Source

[iOS]: WK2 Inspector Node Highlighting
https://bugs.webkit.org/show_bug.cgi?id=134257

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-06-24
Reviewed by Timothy Hatcher.

Source/WebCore:
Some clients want to get highlights with the scroll applied,
others do not. Provide a CoordinateSpace param to be used for
getting a highlight (only used on iOS).

  • WebCore.exp.in:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::getHighlight):

  • inspector/InspectorController.h:
  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::getHighlight):
(WebCore::buildObjectForRendererFragments):

  • inspector/InspectorOverlay.h:

(WebCore::Highlight::Highlight):

  • testing/Internals.cpp:

(WebCore::Internals::inspectorHighlightRects):

Source/WebKit/mac:

  • WebInspector/WebNodeHighlightView.mm:

(-[WebNodeHighlightView layoutSublayers:]):

Source/WebKit2:

  • Scripts/webkit2/messages.py:

(struct_or_class):
(headers_for_type):

  • Shared/WebCoreArgumentCoders.h:
  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<Highlight>::encode):
(IPC::ArgumentCoder<Highlight>::decode):
Add a way to encode a WebCore::Highlight struct.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _showInspectorHighlight:WebCore::]):
(-[WKWebView _hideInspectorHighlight]):

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::showInspectorHighlight):
(WebKit::PageClientImpl::hideInspectorHighlight):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::showInspectorHighlight):
(WebKit::WebPageProxy::hideInspectorHighlight):

  • WebProcess/WebCoreSupport/WebInspectorClient.cpp:

(WebKit::WebInspectorClient::highlight):
(WebKit::WebInspectorClient::hideHighlight):

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

(WebKit::WebPage::showInspectorHighlight):
(WebKit::WebPage::hideInspectorHighlight):
Send web process highlight / hideHighlight messages up to
the UIProcess so it can highlight in the WKContentView.
Pass up a WebCore::Highlight in Document coordinates.

  • UIProcess/ios/WKContentView.h:
  • UIProcess/ios/WKContentView.mm:

(-[WKInspectorHighlightView initWithFrame:]):
(-[WKInspectorHighlightView dealloc]):
(-[WKInspectorHighlightView _removeAllLayers]):
(-[WKInspectorHighlightView _createLayers:]):
(findIntersectionOnLineBetweenPoints):
(quadIntersection):
(layerPathWithHole):
(layerPath):
(-[WKInspectorHighlightView _layoutForNodeHighlight:]):
(-[WKInspectorHighlightView _layoutForRectsHighlight:]):
(-[WKInspectorHighlightView update:]):
Reuse the WebKit1 code to turn highlight float quads into CAShapeLayers.

(-[WKContentView _showInspectorHighlight:WebCore::]):
(-[WKContentView _hideInspectorHighlight]):
Show and hide the highlight view with the respective WebCore::Highlight.

4:39 PM Changeset in webkit [170405] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE][Mac] Uncaught exception when deallocating AVSampleBufferDisplayLayer
https://bugs.webkit.org/show_bug.cgi?id=134281

Reviewed by Brent Fulgham.

AVSampleBufferDisplayLayer is throwing an exception from its -dealloc method because KVO observers exist
at the time of dealloc. Remove the observer for outputObscuredDueToInsufficientExternalProtection inside
-stopObservingLayer.

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

(-[WebAVSampleBufferErrorListener stopObservingLayer:]):

4:33 PM Changeset in webkit [170404] by mrowe@apple.com
  • 3 edits
    4 adds in trunk

WKContextHistoryClient::didNavigateWithNavigationData is passed incorrect URL when history.pushState is used
<https://webkit.org/b/134271> / <rdar://problem/16270167>

Reviewed by Brady Eidson.

Source/WebCore:
Tests: http/tests/globalhistory/history-delegate-pushstate.html

http/tests/globalhistory/history-delegate-replacestate.html

  • page/History.cpp:

(WebCore::History::stateObjectAdded): Call HistoryController after updating the document's URL so that the
URL will reflect the destination of the navigation when FrameLoaderClient::updateGlobalHistory is called.

LayoutTests:

  • http/tests/globalhistory/history-delegate-pushstate-expected.txt: Added.
  • http/tests/globalhistory/history-delegate-pushstate.html: Added.
  • http/tests/globalhistory/history-delegate-replacestate-expected.txt: Added.
  • http/tests/globalhistory/history-delegate-replacestate.html: Added.
4:33 PM Changeset in webkit [170403] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Simplify decodeLegacySessionState
https://bugs.webkit.org/show_bug.cgi?id=134280

Reviewed by Andreas Kling.

There's no need to use a LegacySessionStateDecoder object with a single member,
just make all functions static and only export a single entry point; decodeLegacySessionState.

No functionality change, just moving code around.

  • UIProcess/API/C/WKSessionStateRef.cpp:

(WKSessionStateCreateFromData):

  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::decodeSessionHistoryEntryData):
(WebKit::decodeSessionHistoryEntry):
(WebKit::decodeSessionHistoryEntries):
(WebKit::decodeV0SessionHistory):
(WebKit::decodeV1SessionHistory):
(WebKit::decodeSessionHistory):
(WebKit::decodeLegacySessionState):
(WebKit::LegacySessionStateDecoder::LegacySessionStateDecoder): Deleted.
(WebKit::LegacySessionStateDecoder::~LegacySessionStateDecoder): Deleted.
(WebKit::LegacySessionStateDecoder::decodeSessionState): Deleted.
(WebKit::LegacySessionStateDecoder::decodeSessionHistory): Deleted.
(WebKit::LegacySessionStateDecoder::decodeV0SessionHistory): Deleted.
(WebKit::LegacySessionStateDecoder::decodeV1SessionHistory): Deleted.
(WebKit::LegacySessionStateDecoder::decodeSessionHistoryEntries): Deleted.
(WebKit::LegacySessionStateDecoder::decodeSessionHistoryEntry): Deleted.
(WebKit::LegacySessionStateDecoder::decodeSessionHistoryEntryData): Deleted.

  • UIProcess/mac/LegacySessionStateCoding.h:
4:32 PM Changeset in webkit [170402] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

advanceByCombiningCharacterSequence() can be simplified
https://bugs.webkit.org/show_bug.cgi?id=133591

Reviewed by Dean Jackson.

Use U16_NEXT() because it already does what we're trying to do.

No new tests because there is no behavior change.

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::advanceByCombiningCharacterSequence):

4:18 PM Changeset in webkit [170401] by bshafiei@apple.com
  • 2 edits in tags/Safari-538.42.1/Source/WebKit2

Merged r170385. <rdar://problem/17427740>

4:17 PM Changeset in webkit [170400] by beidson@apple.com
  • 24 edits in trunk/Source

Enable GAMEPAD in the Mac build, but disabled at runtime.
https://bugs.webkit.org/show_bug.cgi?id=134255

Reviewed by Dean Jackson.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:
  • runtime/JSObject.h: Export JSObject::removeDirect() to allow disabling functions at runtime.

Source/WebCore:
No new tests (No changes to a tested config).

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation): Add the ability to have a function be EnabledAtRuntime by

removing such functions from the prototype if they are disabled.

Change the three new objects and the one new function to be EnabledAtRuntime

  • Modules/gamepad/Gamepad.idl:
  • Modules/gamepad/GamepadButton.idl:
  • Modules/gamepad/GamepadEvent.idl:
  • Modules/gamepad/NavigatorGamepad.idl:

Add a RuntimeEnabledFeature for Gamepads:

  • bindings/generic/RuntimeEnabledFeatures.cpp:

(WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):

  • bindings/generic/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setGamepadsEnabled):
(WebCore::RuntimeEnabledFeatures::gamepadsEnabled):

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:
  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(-[WebPreferences gamepadsEnabled]):
(-[WebPreferences setGamepadsEnabled:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetGamepadsEnabled):
(WKPreferencesGetGamepadsEnabled):

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

(WebKit::WebPage::updatePreferences):

4:16 PM Changeset in webkit [170399] by mark.lam@apple.com
  • 10 edits
    2 moves
    1 delete in branches/ftlopt/Source

[ftlopt] Renamed DebuggerActivation to DebuggerScope.
<https://webkit.org/b/134273>

Reviewed by Michael Saboff.

Source/JavaScriptCore:

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • debugger/DebuggerActivation.cpp: Removed.
  • debugger/DebuggerActivation.h: Removed.
  • debugger/DebuggerScope.cpp: Copied from ../../trunk/Source/JavaScriptCore/debugger/DebuggerActivation.cpp.

(JSC::DebuggerScope::DebuggerScope):
(JSC::DebuggerScope::finishCreation):
(JSC::DebuggerScope::visitChildren):
(JSC::DebuggerScope::className):
(JSC::DebuggerScope::getOwnPropertySlot):
(JSC::DebuggerScope::put):
(JSC::DebuggerScope::deleteProperty):
(JSC::DebuggerScope::getOwnPropertyNames):
(JSC::DebuggerScope::defineOwnProperty):
(JSC::DebuggerActivation::DebuggerActivation): Deleted.
(JSC::DebuggerActivation::finishCreation): Deleted.
(JSC::DebuggerActivation::visitChildren): Deleted.
(JSC::DebuggerActivation::className): Deleted.
(JSC::DebuggerActivation::getOwnPropertySlot): Deleted.
(JSC::DebuggerActivation::put): Deleted.
(JSC::DebuggerActivation::deleteProperty): Deleted.
(JSC::DebuggerActivation::getOwnPropertyNames): Deleted.
(JSC::DebuggerActivation::defineOwnProperty): Deleted.

  • debugger/DebuggerScope.h: Copied from ../../trunk/Source/JavaScriptCore/debugger/DebuggerActivation.h.

(JSC::DebuggerScope::create):
(JSC::DebuggerActivation::create): Deleted.

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

Source/WebCore:
No new tests.

  • ForwardingHeaders/debugger/DebuggerActivation.h: Removed.
  • Removed because this is not used.

Source/WebKit/mac:

  • WebView/WebScriptDebugDelegate.mm:
  • Removed unneeded #include.
3:56 PM Changeset in webkit [170398] by Yusuke Suzuki
  • 3 edits
    2 adds in trunk

CSS JIT: Add positionInRootFragments to SelectorFragment
https://bugs.webkit.org/show_bug.cgi?id=133609

Reviewed by Benjamin Poulain.

Some non-backtrack-related predicates use relationToRightFragment information
to decide whether checkingContext->elementStyle should be refered.
To make it works correctly, add the positionInRootFragments field to SelectorFragment.
When positionInRootFragments == Rightmost and relationToRightFragment == Rightmost,
we should see checkingContext->elementStyle.

Source/WebCore:
Test: fast/selectors/first-child-update-with-renderer.html

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::shouldUseRenderStyleFromCheckingContext):
(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::constructFragments):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsActive):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsHovered):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsLastChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsOnlyChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):

LayoutTests:

  • fast/selectors/first-child-update-with-renderer-expected.txt: Added.
  • fast/selectors/first-child-update-with-renderer.html: Added.
3:38 PM Changeset in webkit [170397] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[Fullscreen][Mac] WKView is not firstResponder after entering fullscreen mode
https://bugs.webkit.org/show_bug.cgi?id=134270

Reviewed by Jon Honeycutt.

The WebCoreFullScreenWindow's firstResponder is reset when the full screen animation completes and
the window's style is changed to a fullscreen style. Save the firstResponder, and if it's still in
the window's view hierarchy after the style changes, reset it to the firstResponder.

  • platform/mac/WebCoreFullScreenWindow.mm:

(-[WebCoreFullScreenWindow setStyleMask:]):

3:33 PM Changeset in webkit [170396] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE][Mac] Pass AVSampleBufferDisplayLayer HDCP status through to EME
https://bugs.webkit.org/show_bug.cgi?id=134221

Reviewed by Eric Carlson.

Pass the outputObscuredDueToInsufficientExternalProtection property of AVSampleBufferDisplayLayer
as an error to the associated MediaKeySession object.

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

(-[WebAVSampleBufferErrorListener invalidate]):
(-[WebAVSampleBufferErrorListener beginObservingLayer:]):
(-[WebAVSampleBufferErrorListener observeValueForKeyPath:ofObject:change:context:]):

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

Add support for v0 legacy decoding
https://bugs.webkit.org/show_bug.cgi?id=134275

Reviewed by Andreas Kling.

  • Shared/SessionState.h:
  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::LegacySessionStateDecoder::decodeV0SessionHistory):
(WebKit::LegacySessionStateDecoder::decodeV1SessionHistory):

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

Add SPI for clearing an entire back-forward list
https://bugs.webkit.org/show_bug.cgi?id=134274

Reviewed by Dan Bernstein.

Add -[WKBackForwardList _clear] which only clears the back-forward items, and
change -[WKBackForwardList _removeAllItems] to remove all items including the current one.

  • UIProcess/API/Cocoa/WKBackForwardList.mm:

(-[WKBackForwardList _removeAllItems]):
(-[WKBackForwardList _clear]):

  • UIProcess/API/Cocoa/WKBackForwardListPrivate.h:
  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::removeAllItems):

  • UIProcess/WebBackForwardList.h:
3:02 PM Changeset in webkit [170393] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Add iOS specific frame state member variables
https://bugs.webkit.org/show_bug.cgi?id=134268

Reviewed by Andreas Kling.

  • Shared/SessionState.cpp:

(WebKit::FrameState::encode):
(WebKit::FrameState::decode):

  • Shared/SessionState.h:
  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::HistoryEntryDataDecoder::operator>>):
(WebKit::decodeBackForwardTreeNode):

  • WebProcess/WebCoreSupport/SessionStateConversion.cpp:

(WebKit::toFrameState):
(WebKit::applyFrameState):

2:18 PM Changeset in webkit [170392] by bshafiei@apple.com
  • 5 edits in tags/Safari-538.42.1/Source

Versioning.

2:16 PM Changeset in webkit [170391] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.42.1

New tag.

2:04 PM Changeset in webkit [170390] by mmaxfield@apple.com
  • 36 edits in trunk/Source/WebCore

Use unsigneds instead of ints for indexes into a string in text layout code
https://bugs.webkit.org/show_bug.cgi?id=133592

Reviewed by Zalan Bujtas.

Migrate much of the text-handling code to use unsigneds for indexes into a string.

No new tests because there is no behavior change.

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

(WebCore::Font::drawText):
(WebCore::Font::drawEmphasisMarks):
(WebCore::Font::adjustSelectionRectForText):
(WebCore::computeUnderlineType):

  • platform/graphics/Font.h:
  • platform/graphics/FontFastPath.cpp:

(WebCore::Font::getGlyphsAndAdvancesForSimpleText):
(WebCore::Font::drawSimpleText):
(WebCore::Font::drawEmphasisMarksForSimpleText):
(WebCore::Font::drawGlyphBuffer):
(WebCore::Font::drawEmphasisMarks):
(WebCore::Font::adjustSelectionRectForSimpleText):

  • platform/graphics/GlyphBuffer.h:

(WebCore::GlyphBuffer::size):
(WebCore::GlyphBuffer::glyphs):
(WebCore::GlyphBuffer::advances):
(WebCore::GlyphBuffer::fontDataAt):
(WebCore::GlyphBuffer::advanceAt):
(WebCore::GlyphBuffer::offsetAt):
(WebCore::GlyphBuffer::reverse):
(WebCore::GlyphBuffer::offsetInString):
(WebCore::GlyphBuffer::swap):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::TextRunIterator::atEnd):

  • platform/graphics/Latin1TextIterator.h:

(WebCore::Latin1TextIterator::Latin1TextIterator):
(WebCore::Latin1TextIterator::currentCharacter):

  • platform/graphics/SimpleFontData.h:
  • platform/graphics/SurrogatePairAwareTextIterator.cpp:

(WebCore::SurrogatePairAwareTextIterator::SurrogatePairAwareTextIterator):

  • platform/graphics/SurrogatePairAwareTextIterator.h:

(WebCore::SurrogatePairAwareTextIterator::currentCharacter):

  • platform/graphics/TextRun.h:

(WebCore::TextRun::length):
(WebCore::TextRun::charactersLength):

  • platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::glyphDataForCharacter):
(WebCore::applyFontTransforms):
(WebCore::WidthIterator::advanceInternal):
(WebCore::WidthIterator::advance):
(WebCore::WidthIterator::advanceOneCharacter):

  • platform/graphics/WidthIterator.h:
  • platform/graphics/cairo/FontCairo.cpp:

(WebCore::Font::drawGlyphs):

  • platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:

(WebCore::Font::drawComplexText):
(WebCore::Font::drawEmphasisMarksForComplexText):
(WebCore::Font::adjustSelectionRectForComplexText):

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::setNormalizedBuffer):

  • platform/graphics/mac/FontComplexTextMac.cpp:

(WebCore::Font::adjustSelectionRectForComplexText):
(WebCore::Font::getGlyphsAndAdvancesForComplexText):
(WebCore::Font::drawComplexText):
(WebCore::Font::drawEmphasisMarksForComplexText):

  • platform/graphics/mac/FontMac.mm:

(WebCore::Font::drawGlyphs):

  • platform/graphics/win/FontCGWin.cpp:

(WebCore::Font::drawGlyphs):

  • platform/graphics/win/FontWin.cpp:

(WebCore::Font::adjustSelectionRectForComplexText):
(WebCore::Font::getGlyphsAndAdvancesForComplexText):
(WebCore::Font::drawComplexText):
(WebCore::Font::drawEmphasisMarksForComplexText):

  • platform/graphics/wince/FontWinCE.cpp:

(WebCore::Font::drawGlyphs):
(WebCore::Font::drawComplexText):
(WebCore::Font::drawEmphasisMarksForComplexText):
(WebCore::Font::selectionRectForComplexText):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::isSelected):
(WebCore::InlineTextBox::selectionState):
(WebCore::adjustCharactersAndLengthForHyphen):
(WebCore::InlineTextBox::localSelectionRect):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::selectionStartEnd):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintCompositionBackground):
(WebCore::InlineTextBox::paintDocumentMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::computeRectForReplacementMarker):
(WebCore::InlineTextBox::paintCompositionUnderline):
(WebCore::InlineTextBox::positionForOffset):
(WebCore::InlineTextBox::constructTextRun):

  • rendering/InlineTextBox.h:
  • rendering/RenderCombineText.cpp:

(WebCore::RenderCombineText::getStringToRender):

  • rendering/RenderCombineText.h:
  • rendering/svg/SVGInlineFlowBox.cpp:

(WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::positionForOffset):
(WebCore::SVGInlineTextBox::localSelectionRect):
(WebCore::SVGInlineTextBox::paintSelectionBackground):
(WebCore::SVGInlineTextBox::mapStartEndPositionsIntoFragmentCoordinates):
(WebCore::SVGInlineTextBox::paintText):

  • rendering/svg/SVGInlineTextBox.h:
  • rendering/svg/SVGTextMetricsBuilder.cpp:

(WebCore::SVGTextMetricsBuilder::currentCharacterStartsSurrogatePair):
(WebCore::SVGTextMetricsBuilder::advance):

  • rendering/svg/SVGTextQuery.cpp:

(WebCore::SVGTextQuery::mapStartEndPositionsIntoFragmentCoordinates):
(WebCore::SVGTextQuery::modifyStartEndPositionsRespectingLigatures):
(WebCore::SVGTextQuery::subStringLengthCallback):
(WebCore::SVGTextQuery::startPositionOfCharacterCallback):
(WebCore::SVGTextQuery::endPositionOfCharacterCallback):
(WebCore::SVGTextQuery::rotationOfCharacterCallback):
(WebCore::SVGTextQuery::extentOfCharacterCallback):
(WebCore::SVGTextQuery::characterNumberAtPositionCallback):

  • rendering/svg/SVGTextQuery.h:
  • rendering/svg/SVGTextRunRenderingContext.cpp:

(WebCore::SVGGlyphToPathTranslator::SVGGlyphToPathTranslator):
(WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):

  • rendering/svg/SVGTextRunRenderingContext.h:
  • svg/SVGFontData.cpp:

(WebCore::SVGFontData::applySVGGlyphSelection):

  • svg/SVGFontData.h:
1:59 PM Changeset in webkit [170389] by jonowells@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: TypeError when hovering over "Show All Nodes" button in the Dom Tree inspector
https://bugs.webkit.org/show_bug.cgi?id=133699

Reviewed by Geoffrey Garen.

The call to element._createTooltipForNode() was failing because element was sometimes not a
DOMTreeOutline but rather only a TreeElement (in the case of the "Show All Nodes" button specifically).
A check for type fixes this issue.

  • UserInterface/Views/DOMTreeOutline.js:

(WebInspector.DOMTreeOutline.prototype._onmousemove): Check for presence of _createTooltipForNode.

1:56 PM WebKitGTK/2.4.x edited by Jarek Czekalski
added changeset links for recent entries (diff)
1:45 PM Changeset in webkit [170388] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

iOS WebKit2: block selection tends to prefer block to single words even when the page is zoomed.
https://bugs.webkit.org/show_bug.cgi?id=134267
<rdar://problem/17138059>

Reviewed by Benjamin Poulain.

When trying to find the best selection match for the position where the tap occurs,
we need to take into account the page scale. This patch applies the scale factor
to the selection rect before comparing it with the desired size.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::rangeForWebSelectionAtPosition):

1:40 PM Changeset in webkit [170387] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add code to convert HistoryItem to PageState
https://bugs.webkit.org/show_bug.cgi?id=134263

Reviewed by Andreas Kling.

  • WebProcess/WebCoreSupport/SessionStateConversion.cpp:

(WebKit::toHTTPBody):
(WebKit::toFrameState):
(WebKit::toPageState):

  • WebProcess/WebCoreSupport/SessionStateConversion.h:
1:29 PM Changeset in webkit [170386] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

REGRESSION (r169703): Invalid cast in JSC::asGetterSetter / JSC::JSObject::defineOwnNonIndexProperty
https://bugs.webkit.org/show_bug.cgi?id=134046

Reviewed by Filip Pizlo.

  • runtime/GetterSetter.h:

(JSC::asGetterSetter):

  • runtime/JSObject.cpp:

(JSC::JSObject::defineOwnNonIndexProperty): We need to check for a CustomGetterSetter here as well as
a normal GetterSetter. If we encounter a CustomGetterSetter, we delete it, create a new normal GetterSetter,
and insert it like normal. We also need to check for CustomAccessors when checking for unconfigurable properties.

1:18 PM Changeset in webkit [170385] by akling@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS WebKit2] Disable screen font substitution by default.
<https://webkit.org/b/134266>
<rdar://problem/17427740>

Just like OS X >= 10.9, screen font substitution should be disabled
by default in WebKit2 for iOS.

Reviewed by Anders Carlsson.

  • Shared/WebPreferencesDefinitions.h:
12:59 PM Changeset in webkit [170384] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:

(WebCore::InbandTextTrackPrivateAVF::processNativeSamples): Cast variadic argument to int.

12:52 PM Changeset in webkit [170383] by fpizlo@apple.com
  • 2 edits in branches/ftlopt/Source/JavaScriptCore

[ftlopt] PutByIdFlush can also be converted to a PutByOffset so don't assert otherwise
https://bugs.webkit.org/show_bug.cgi?id=134265

Reviewed by Geoffrey Garen.

More assertion fallout from the PutById folding work.

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToPutByOffset):

12:51 PM Changeset in webkit [170382] by fpizlo@apple.com
  • 12 edits
    2 adds in branches/ftlopt/Source/JavaScriptCore

[ftlopt] GC should notify us if it resets to_this
https://bugs.webkit.org/show_bug.cgi?id=128231

Reviewed by Geoffrey Garen.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/BytecodeList.json:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::finalizeUnconditionally):

  • bytecode/Instruction.h:
  • bytecode/ToThisStatus.cpp: Added.

(JSC::merge):
(WTF::printInternal):

  • bytecode/ToThisStatus.h: Added.
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):

  • dfg/DFGByteCodeParser.cpp:

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

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

12:49 PM Changeset in webkit [170381] by Brent Fulgham
  • 31 edits in trunk/Source

[Win] MSVC mishandles enums in bitfields
https://bugs.webkit.org/show_bug.cgi?id=134237

Reviewed by Michael Saboff.

Replace uses of enum types in bit fields with unsigned to
avoid losing a bit to hold the sign value. This can result
in Windows interpreting the value of the field improperly.

../JavaScriptCore:

  • bytecode/StructureStubInfo.h:
  • parser/Nodes.h:

../WebCore:

  • loader/ResourceLoaderOptions.h:
  • platform/network/ResourceRequestBase.h:
  • platform/network/cf/ResourceResponse.h:
  • rendering/RenderLayer.h:
  • rendering/RenderMarquee.h:
12:38 PM WebKitGTK/2.4.x edited by Jarek Czekalski
Added 2 AX ATK bugs: 132349, 130941, with necessary 132527. (diff)
12:38 PM Changeset in webkit [170380] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Try to fix build.

  • WebCore.exp.in: Remove duplicate export, this should be in the iOS section only.
12:35 PM Changeset in webkit [170379] by eric.carlson@apple.com
  • 28 edits
    2 adds in trunk/Source/WebCore

[Mac] process raw VTT in-band captions
https://bugs.webkit.org/show_bug.cgi?id=134178

Reviewed by Jer Noble.

  • CMakeLists.txt: Add ISOVTTCue.cpp|h.
  • WebCore.vcxproj/WebCore.vcxproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • html/track/BufferedLineReader.h:

(WebCore::BufferedLineReader::reset): New, empty the input buffer.

Make it possible to process WebVTT captions.

  • html/track/InbandGenericTextTrack.cpp:

(WebCore::InbandGenericTextTrack::parser): Allocate, if necessary, and return a WebVTT parser.
(WebCore::InbandGenericTextTrack::parseWebVTTCueData): Pass a cue to the parser.
(WebCore::InbandGenericTextTrack::parseWebVTTFileHeader): Pass a VTT file header to the parser.
(WebCore::InbandGenericTextTrack::newCuesParsed): Parser callback.
(WebCore::InbandGenericTextTrack::newRegionsParsed): Ditto.
(WebCore::InbandGenericTextTrack::fileFailedToParse): Ditto.

  • html/track/InbandGenericTextTrack.h:
  • html/track/InbandTextTrack.h:
  • html/track/InbandWebVTTTextTrack.cpp:

(WebCore::InbandWebVTTTextTrack::parser): New, parser accessor.
(WebCore::InbandWebVTTTextTrack::parseWebVTTCueData): New, parse VTT data in an ISOWebVTTCue

object.

(WebCore::InbandWebVTTTextTrack::newCuesParsed): Cleanup.
(WebCore::InbandWebVTTTextTrack::newRegionsParsed): Implement.
(WebCore::InbandWebVTTTextTrack::fileFailedToParse): Change the error message.

  • html/track/InbandWebVTTTextTrack.h:
  • html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGenericBoxElement::TextTrackCueGenericBoxElement): Change cue parameter

from a pointer to a reference.

(WebCore::TextTrackCueGeneric::createDisplayTree): Ditto.

  • html/track/VTTCue.cpp:

(WebCore::VTTCueBox::create): Change cue parameter from a pointer to a reference.
(WebCore::VTTCueBox::VTTCueBox): Ditto.
(WebCore::VTTCueBox::getCue): Return a reference.
(WebCore::VTTCueBox::applyCSSProperties): m_cue is a reference, not a pointer.
(WebCore::VTTCue::create): New, create a VTTCue from WebVTTCueData.
(WebCore::VTTCue::VTTCue): New, internal constructor that takes a WebVTTCueData.
(WebCore::VTTCue::initialize): New, shared constructor initialization.
(WebCore::VTTCue::createDisplayTree): m_cue is a reference, not a pointer.
(WebCore::VTTCue::markFutureAndPastNodes): Ditto.
(WebCore::VTTCue::setCueSettings): Ditto.

  • html/track/VTTCue.h:

(WebCore::VTTCueBox::create): Deleted.
(WebCore::VTTCue::create): Deleted.

  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::parseFileHeader): New. Reset the line reader buffer and parser state,

call the parser.

(WebCore::WebVTTParser::parseCueData): Create a cue from ISOWebVTTCue.
(WebCore::WebVTTParser::collectTimingsAndSettings): Return immediately if the string is empty.
(WebCore::WebVTTParser::collectTimeStamp): Ditto.

  • html/track/WebVTTParser.h:

(WebCore::WebVTTCueData::originalStartTime): New.
(WebCore::WebVTTCueData::setOriginalStartTime): New.
(WebCore::WebVTTCueData::WebVTTCueData):

  • loader/TextTrackLoader.cpp:

(WebCore::TextTrackLoader::getNewCues): Cleanup, use the new VTTCue::create.

Parse ISO WebVTT cue boxes.

  • platform/graphics/ISOVTTCue.cpp: Added.

(WebCore::ISOBox::ISOBox):
(WebCore::ISOBox::peekType):
(WebCore::ISOBox::peekLength):
(WebCore::ISOBox::peekString):
(WebCore::vttCueBoxType):
(WebCore::vttIdBoxType):
(WebCore::vttSettingsBoxType):
(WebCore::vttPayloadBoxType):
(WebCore::vttCurrentTimeBoxType):
(WebCore::vttCueSourceIDBoxType):
(WebCore::ISOWebVTTCue::boxType):
(WebCore::ISOWebVTTCue::ISOWebVTTCue):

  • platform/graphics/ISOVTTCue.h: Added.

(WebCore::ISOBox::boxHeaderSize):
(WebCore::ISOBox::length):
(WebCore::ISOBox::type):
(WebCore::ISOWebVTTCue::presentationTime):
(WebCore::ISOWebVTTCue::duration):
(WebCore::ISOWebVTTCue::sourceID):
(WebCore::ISOWebVTTCue::id):
(WebCore::ISOWebVTTCue::originalStartTime):
(WebCore::ISOWebVTTCue::settings):
(WebCore::ISOWebVTTCue::cueText):

  • platform/graphics/InbandTextTrackPrivateClient.h:

(WebCore::InbandTextTrackPrivateClient::parseWebVTTFileHeader): New.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:

(WebCore::InbandTextTrackPrivateAVF::InbandTextTrackPrivateAVF): Add a cue format parameter.
(WebCore::InbandTextTrackPrivateAVF::processCue): Call processNativeSamples.
(WebCore::InbandTextTrackPrivateAVF::processAttributedStrings): Add logging. Minor cleanup.
(WebCore::InbandTextTrackPrivateAVF::processNativeSamples): New, process an array of

CMSampleBuffers, create ISOWebVTTCue from the sample data.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
  • platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp:

(WebCore::InbandTextTrackPrivateAVCF::InbandTextTrackPrivateAVCF):

  • platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.h:

(WebCore::InbandTextTrackPrivateAVCF::create):

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

(WebCore::MediaPlayerPrivateAVFoundationCF::processMediaSelectionOptions):
(WebCore::LegibleOutputData::LegibleOutputData):
(WebCore::AVFWrapper::processCue):
(WebCore::AVFWrapper::legibleOutputCallback):

  • platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h:

(WebCore::InbandTextTrackPrivateAVFObjC::create): Add a cue format parameter.

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

(WebCore::InbandTextTrackPrivateAVFObjC::InbandTextTrackPrivateAVFObjC): Ditto.

  • platform/graphics/avfoundation/InbandTextTrackPrivateLegacyAVFObjC.cpp:

(WebCore::InbandTextTrackPrivateLegacyAVFObjC::InbandTextTrackPrivateLegacyAVFObjC): Pass cue

format to base class.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Improve logging.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Don't leak an NSDictionary.
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Don't process media selection

options until we have tracks.

(WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions):
(WebCore::MediaPlayerPrivateAVFoundationObjC::processCue): Pass native samples as well as

attributed strings to track.

(-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):

  • platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h:

(WebCore::OutOfBandTextTrackPrivateAVF::OutOfBandTextTrackPrivateAVF):

  • platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h:

(WebCore::OutOfBandTextTrackPrivateAVF::OutOfBandTextTrackPrivateAVF):

12:18 PM Changeset in webkit [170378] by andersca@apple.com
  • 6 edits
    2 adds in trunk/Source

Add PageState to HistoryItem conversion code
https://bugs.webkit.org/show_bug.cgi?id=134259

Reviewed by Andreas Kling.

Source/WebKit2:

  • Shared/SessionState.h:
  • UIProcess/mac/LegacySessionStateCoding.cpp:

(WebKit::decodeBackForwardTreeNode):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/SessionStateConversion.cpp: Added.

(WebKit::toFormData):
(WebKit::applyFrameState):
(WebKit::toHistoryItem):

  • WebProcess/WebCoreSupport/SessionStateConversion.h: Added.

Source/WTF:

  • wtf/Optional.h:

(WTF::Optional::valueOr):

12:09 PM Changeset in webkit [170377] by Antti Koivisto
  • 4 edits in trunk/Source

Only flush layers when the exposed rect actually changes
https://bugs.webkit.org/show_bug.cgi?id=134248

Reviewed by Anders Carlsson.

Source/WebCore:

  • WebCore.exp.in:

Source/WebKit2:

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::setExposedContentRect):

12:06 PM Changeset in webkit [170376] by fpizlo@apple.com
  • 2 edits in branches/ftlopt/Source/JavaScriptCore

[ftlopt] StructureAbstractValue::onlyStructure() should return nullptr if isClobbered()
https://bugs.webkit.org/show_bug.cgi?id=134256

Reviewed by Michael Saboff.

This isn't testable right now (i.e. it's benign) but we should get it right anyway. The
point is to be able to precisely model what goes on in the snippets of code between a
side-effect and an InvalidationPoint.

This patch also cleans up onlyStructure() by delegating more work to
StructureSet::onlyStructure().

  • dfg/DFGStructureAbstractValue.h:

(JSC::DFG::StructureAbstractValue::onlyStructure):

12:04 PM Changeset in webkit [170375] by fpizlo@apple.com
  • 2 edits in branches/ftlopt/Source/JavaScriptCore

[ftlopt][REGRESSION] PutById AI is introducing watchable structures without watching them
https://bugs.webkit.org/show_bug.cgi?id=134260

Reviewed by Geoffrey Garen.

This was causing loads of assertion failures in debug builds.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

11:23 AM Changeset in webkit [170374] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

Remove references to "Shader.h" which doesn't currently exist in the project.

Rubberstamped by Andreas Kling.

  • WebCore.xcodeproj/project.pbxproj:
10:44 AM Changeset in webkit [170373] by mhock@apple.com
  • 6 edits in trunk/Source

[iOS] DOMWindow::outerWidth and outerHeight don't return useful values, so return 0.
Also, revert r169281.
https://bugs.webkit.org/show_bug.cgi?id=134233
<rdar://problem/17060183>

Reviewed by Benjamin Poulain.

Source/WebCore:

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::outerHeight):
(WebCore::DOMWindow::outerWidth):

Source/WebKit2:

  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::UIClient::windowFrame): Deleted.

  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::convertToUserSpace):

10:29 AM Changeset in webkit [170372] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Fixed the iOS build after r170358.

  • WebView/WebView.mm:

(kit):

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

Initialize WKWebViewConfiguration properties to their default values.
https://bugs.webkit.org/show_bug.cgi?id=134216

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-06-24
Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration init]):
add -init method to initialize _mediaPlaybackRequiresUserAction and _mediaPlaybackAllowsAirPlay.

10:20 AM Changeset in webkit [170370] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Don't set AudioSession active while interrupted.
https://bugs.webkit.org/show_bug.cgi?id=134239

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-06-24
Reviewed by Eric Carlson.

To activate the AudioSession there must be a session with audio or video
and being playing or paused.

  • platform/audio/MediaSessionManager.cpp:

(WebCore::MediaSessionManager::hasActive): added
(WebCore::MediaSessionManager::beginInterruption): updateSessionState
(WebCore::MediaSessionManager::sessionWillBeginPlayback): updateSessionState

  • platform/audio/MediaSessionManager.h: declare hasActive()
  • platform/audio/mac/MediaSessionManagerMac.cpp:

(MediaSessionManager::updateSessionState): use hasActive()

10:18 AM Changeset in webkit [170369] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Add missing semicolon.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _updateVisibleContentRects]):

10:17 AM Changeset in webkit [170368] by andersca@apple.com
  • 9 edits in trunk/Source/WebKit/mac

Remove unused history visit code from WebHistoryItem
https://bugs.webkit.org/show_bug.cgi?id=134201

Reviewed by Sam Weinig.

  • History/HistoryPropertyList.h:
  • History/HistoryPropertyList.mm:

(HistoryPropertyListWriter::HistoryPropertyListWriter):
(HistoryPropertyListWriter::writeHistoryItem):

  • History/WebHistory.mm:

(-[WebHistoryPrivate visitedURL:withTitle:]):
(-[WebHistoryPrivate addItem:discardDuplicate:]):
(-[WebHistory _visitedURL:withTitle:method:wasFailure:]):
(-[WebHistoryPrivate visitedURL:withTitle:increaseVisitCount:]): Deleted.
(-[WebHistory _visitedURL:withTitle:method:wasFailure:increaseVisitCount:]): Deleted.

  • History/WebHistoryInternal.h:
  • History/WebHistoryItem.mm:

(-[WebHistoryItem copyWithZone:]):
(-[WebHistoryItem initFromDictionaryRepresentation:]):
(-[WebHistoryItem _visitedWithTitle:]):
(-[WebHistoryItem setVisitCount:]): Deleted.
(-[WebHistoryItem _mergeAutoCompleteHints:]): Deleted.
(-[WebHistoryItem _visitedWithTitle:increaseVisitCount:]): Deleted.
(-[WebHistoryItem _recordInitialVisit]): Deleted.
(timeToDay): Deleted.
(-[WebHistoryItem _padDailyCountsForNewVisit:]): Deleted.
(-[WebHistoryItem _collapseDailyVisitsToWeekly]): Deleted.
(-[WebHistoryItem _recordVisitAtTime:increaseVisitCount:]): Deleted.
(-[WebHistoryItem _setLastVisitedTimeInterval:]): Deleted.

  • History/WebHistoryItemInternal.h:
  • History/WebHistoryItemPrivate.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::updateGlobalHistory):

10:05 AM Changeset in webkit [170367] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r170336): Crash in HTMLMediaElement::seekTimerFired()
https://bugs.webkit.org/show_bug.cgi?id=134253

Rubber-stamped by Eric Carlson.

Now that seekWithTolerance() has been split up into an asyncronous section, the null-checks in seekWithTolerance()
need to be re-performed in seekTimerFired(), in case the m_player has been cleared between when the seek was initiated
and when the asynchronous section is performed.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::seekTimerFired):

9:47 AM Changeset in webkit [170366] by mahesh.kulkarni@nokia.com
  • 1 edit in trunk/Tools/Scripts/webkitpy/common/config/contributors.json

Unreviewed, update my list of email addresses.

9:18 AM Changeset in webkit [170365] by Brent Fulgham
  • 7 edits
    5 copies in trunk/Tools

[Win] Clean up and refactor WinLauncher
https://bugs.webkit.org/show_bug.cgi?id=134209

Reviewed by Tim Thorton.

Relanding r170339 and r170340 with correct WinLauncher.h file.

  • WinLauncher/Common.cpp: Copied from WinLauncher/WinLauncher.cpp.

(PrintView):
(ToggleMenuItem):
(WndProc):
(BackButtonProc):
(ForwardButtonProc):
(loadURL):
(shouldUseFullDesktop): Deleted.
(SimpleEventListener::SimpleEventListener): Deleted.
(SimpleEventListener::handleEvent): Deleted.
(WinLauncherWebHost::updateAddressBar): Deleted.
(WinLauncherWebHost::didFailProvisionalLoadWithError): Deleted.
(WinLauncherWebHost::QueryInterface): Deleted.
(WinLauncherWebHost::AddRef): Deleted.
(WinLauncherWebHost::Release): Deleted.
(updateMenuItemForHistoryItem): Deleted.
(showLastVisitedSites): Deleted.
(WinLauncherWebHost::didFinishLoadForFrame): Deleted.
(resizeSubViews): Deleted.
(setToDefaultPreferences): Deleted.
(wWinMain): Deleted.
(MyRegisterClass): Deleted.
(LaunchInspector): Deleted.
(NavigateForwardOrBackward): Deleted.
(NavigateToHistory): Deleted.

  • WinLauncher/DOMDefaultImpl.cpp: Copied from WinLauncher/DOMDefaultImpl.h.

(DOMEventListener::Release):
(WebScriptObject::WebScriptObject): Deleted.
(WebScriptObject::~WebScriptObject): Deleted.
(WebScriptObject::throwException): Deleted.
(WebScriptObject::callWebScriptMethod): Deleted.
(WebScriptObject::evaluateWebScript): Deleted.
(WebScriptObject::removeWebScriptKey): Deleted.
(WebScriptObject::stringRepresentation): Deleted.
(WebScriptObject::webScriptValueAtIndex): Deleted.
(WebScriptObject::setWebScriptValueAtIndex): Deleted.
(WebScriptObject::setException): Deleted.
(DOMEventListener::throwException): Deleted.
(DOMEventListener::callWebScriptMethod): Deleted.
(DOMEventListener::evaluateWebScript): Deleted.
(DOMEventListener::removeWebScriptKey): Deleted.
(DOMEventListener::stringRepresentation): Deleted.
(DOMEventListener::webScriptValueAtIndex): Deleted.
(DOMEventListener::setWebScriptValueAtIndex): Deleted.
(DOMEventListener::setException): Deleted.
(DOMEventListener::handleEvent): Deleted.

  • WinLauncher/DOMDefaultImpl.h:

(WebScriptObject::QueryInterface): Deleted.
(WebScriptObject::AddRef): Deleted.
(WebScriptObject::Release): Deleted.
(DOMObject::QueryInterface): Deleted.
(DOMEventListener::QueryInterface): Deleted.
(DOMEventListener::AddRef): Deleted.
(DOMEventListener::Release): Deleted.

  • WinLauncher/WinLauncher.cpp:

(WinLauncher::WinLauncher):
(WinLauncher::init):
(WinLauncher::prepareViews):
(WinLauncher::setFrameLoadDelegate):
(WinLauncher::setUIDelegate):
(WinLauncher::setAccessibilityDelegate):
(WinLauncher::mainFrame):
(WinLauncher::seedInitialDefaultPreferences):
(WinLauncher::setToDefaultPreferences):
(updateMenuItemForHistoryItem):
(WinLauncher::showLastVisitedSites):
(WinLauncher::launchInspector):
(WinLauncher::navigateForwardOrBackward):
(WinLauncher::navigateToHistory):
(WinLauncher::goBack):
(WinLauncher::goForward):
(WinLauncher::loadURL):
(shouldUseFullDesktop): Deleted.
(SimpleEventListener::SimpleEventListener): Deleted.
(SimpleEventListener::handleEvent): Deleted.
(WinLauncherWebHost::updateAddressBar): Deleted.
(WinLauncherWebHost::didFailProvisionalLoadWithError): Deleted.
(WinLauncherWebHost::QueryInterface): Deleted.
(WinLauncherWebHost::AddRef): Deleted.
(WinLauncherWebHost::Release): Deleted.
(showLastVisitedSites): Deleted.
(WinLauncherWebHost::didFinishLoadForFrame): Deleted.
(resizeSubViews): Deleted.
(subclassForLayeredWindow): Deleted.
(computeFullDesktopFrame): Deleted.
(DllMain): Deleted.
(getAppDataFolder): Deleted.
(setToDefaultPreferences): Deleted.
(setCacheFolder): Deleted.
(createCrashReport): Deleted.
(wWinMain): Deleted.
(MyRegisterClass): Deleted.
(AbortProc): Deleted.
(getPrinterDC): Deleted.
(initDocStruct): Deleted.
(PrintView): Deleted.
(ToggleMenuItem): Deleted.
(LaunchInspector): Deleted.
(NavigateForwardOrBackward): Deleted.
(NavigateToHistory): Deleted.
(WndProc): Deleted.
(EditProc): Deleted.
(BackButtonProc): Deleted.
(ForwardButtonProc): Deleted.
(About): Deleted.
(loadURL): Deleted.
(dllLauncherEntryPoint): Deleted.

  • WinLauncher/WinLauncher.h:

(WinLauncher::standardPreferences):
(WinLauncher::privatePreferences):
(WinLauncher::hasWebView):
(WinLauncher::usesLayeredWebView):
(WinLauncherWebHost::WinLauncherWebHost): Deleted.
(WinLauncherWebHost::didStartProvisionalLoadForFrame): Deleted.
(WinLauncherWebHost::didReceiveServerRedirectForProvisionalLoadForFrame): Deleted.
(WinLauncherWebHost::didCommitLoadForFrame): Deleted.
(WinLauncherWebHost::didReceiveTitle): Deleted.
(WinLauncherWebHost::didChangeIcons): Deleted.
(WinLauncherWebHost::didReceiveIcon): Deleted.
(WinLauncherWebHost::didFailLoadWithError): Deleted.
(WinLauncherWebHost::didChangeLocationWithinPageForFrame): Deleted.
(WinLauncherWebHost::willPerformClientRedirectToURL): Deleted.
(WinLauncherWebHost::didCancelClientRedirectForFrame): Deleted.
(WinLauncherWebHost::willCloseFrame): Deleted.
(WinLauncherWebHost::windowScriptObjectAvailable): Deleted.
(WinLauncherWebHost::didClearWindowObject): Deleted.

  • WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj:
  • WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj.filters:
  • WinLauncher/WinLauncherReplace.h:

(processCrashReport):

  • WinLauncher/WinLauncherWebHost.cpp: Copied from WinLauncher/WinLauncher.cpp.

(WinLauncherWebHost::updateAddressBar):
(WinLauncherWebHost::QueryInterface):
(WinLauncherWebHost::AddRef):
(WinLauncherWebHost::Release):
(WinLauncherWebHost::didFinishLoadForFrame):
(shouldUseFullDesktop): Deleted.
(updateMenuItemForHistoryItem): Deleted.
(showLastVisitedSites): Deleted.
(resizeSubViews): Deleted.
(subclassForLayeredWindow): Deleted.
(computeFullDesktopFrame): Deleted.
(DllMain): Deleted.
(getAppDataFolder): Deleted.
(setToDefaultPreferences): Deleted.
(setCacheFolder): Deleted.
(createCrashReport): Deleted.
(wWinMain): Deleted.
(MyRegisterClass): Deleted.
(AbortProc): Deleted.
(getPrinterDC): Deleted.
(initDocStruct): Deleted.
(PrintView): Deleted.
(ToggleMenuItem): Deleted.
(LaunchInspector): Deleted.
(NavigateForwardOrBackward): Deleted.
(NavigateToHistory): Deleted.
(WndProc): Deleted.
(EditProc): Deleted.
(BackButtonProc): Deleted.
(ForwardButtonProc): Deleted.
(About): Deleted.
(loadURL): Deleted.
(dllLauncherEntryPoint): Deleted.

  • WinLauncher/WinLauncherWebHost.h: Copied from WinLauncher/WinLauncher.h.

(WinLauncherWebHost::WinLauncherWebHost):
(WinLauncherWebHost::didStartProvisionalLoadForFrame):
(WinLauncherWebHost::didReceiveServerRedirectForProvisionalLoadForFrame):
(WinLauncherWebHost::didCommitLoadForFrame):
(WinLauncherWebHost::didReceiveTitle):
(WinLauncherWebHost::didChangeIcons):
(WinLauncherWebHost::didReceiveIcon):
(WinLauncherWebHost::didFailLoadWithError):
(WinLauncherWebHost::didChangeLocationWithinPageForFrame):
(WinLauncherWebHost::willPerformClientRedirectToURL):
(WinLauncherWebHost::didCancelClientRedirectForFrame):
(WinLauncherWebHost::willCloseFrame):
(WinLauncherWebHost::windowScriptObjectAvailable):
(WinLauncherWebHost::didClearWindowObject):

  • WinLauncher/WinMain.cpp: Copied from WinLauncher/WinLauncher.cpp.

(wWinMain):
(MyRegisterClass):
(shouldUseFullDesktop): Deleted.
(SimpleEventListener::SimpleEventListener): Deleted.
(SimpleEventListener::handleEvent): Deleted.
(WinLauncherWebHost::updateAddressBar): Deleted.
(WinLauncherWebHost::didFailProvisionalLoadWithError): Deleted.
(WinLauncherWebHost::QueryInterface): Deleted.
(WinLauncherWebHost::AddRef): Deleted.
(WinLauncherWebHost::Release): Deleted.
(updateMenuItemForHistoryItem): Deleted.
(showLastVisitedSites): Deleted.
(WinLauncherWebHost::didFinishLoadForFrame): Deleted.
(resizeSubViews): Deleted.
(subclassForLayeredWindow): Deleted.
(computeFullDesktopFrame): Deleted.
(DllMain): Deleted.
(getAppDataFolder): Deleted.
(setToDefaultPreferences): Deleted.
(setCacheFolder): Deleted.
(createCrashReport): Deleted.
(AbortProc): Deleted.
(getPrinterDC): Deleted.
(initDocStruct): Deleted.
(PrintView): Deleted.
(ToggleMenuItem): Deleted.
(LaunchInspector): Deleted.
(NavigateForwardOrBackward): Deleted.
(NavigateToHistory): Deleted.
(WndProc): Deleted.
(EditProc): Deleted.
(BackButtonProc): Deleted.
(ForwardButtonProc): Deleted.
(About): Deleted.
(loadURL): Deleted.
(dllLauncherEntryPoint): Deleted.

9:18 AM Changeset in webkit [170364] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Fix unused parameter warnings if inspector is disabled
https://bugs.webkit.org/show_bug.cgi?id=134244

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-06-24
Reviewed by Zalan Bujtas.

Source/WebCore:
No new tests, no behavior change.

  • inspector/InspectorConsoleInstrumentation.h:

(WebCore::InspectorInstrumentation::startProfiling):
(WebCore::InspectorInstrumentation::stopProfiling):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didFinishXHRLoading):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::shouldContinueAfterNotifyingLoadedFromMemoryCache):

Source/WebKit2:

  • WebProcess/InjectedBundle/API/c/WKBundleInspector.cpp:

(WKBundleInspectorShow):
(WKBundleInspectorClose):
(WKBundleInspectorEvaluateScriptForTest):
(WKBundleInspectorSetPageProfilingEnabled):

9:14 AM Changeset in webkit [170363] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE] Add null-check in sourceBufferPrivateAppendComplete().
https://bugs.webkit.org/show_bug.cgi?id=133230

Reviewed by Eric Carlson.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateAppendComplete): Bail early if the

SourceBuffer has been removed from the MediaSource.

9:05 AM Changeset in webkit [170362] by mmaxfield@apple.com
  • 2 edits in trunk/Tools

[iOS] getsectdata() is deprecated and we use it in DRT
https://bugs.webkit.org/show_bug.cgi?id=134122

Reviewed by Alexey Proskuryakov.

Migrate to using magic linker symbols.

No tests because there should be no behavior change

  • DumpRenderTree/mac/DumpRenderTree.mm:

(activateFontsIOS):

7:38 AM Changeset in webkit [170361] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit2

WKWebView doesn't respect -[UIScrollView contentInset]
https://bugs.webkit.org/show_bug.cgi?id=134230
<rdar://problem/17429107>

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _setHasCustomContentView:loadedMIMEType:WTF::]):
Call initWithFrame and pass the WKWebView along.

(-[WKWebView _adjustedContentOffset:]):
New helper method that takes a content offset as a CGPoint and offsets it by the computed content inset.

(-[WKWebView _computedContentInset]):
New helper method that returns the _obscuredInsets, or if it's zero, the scroll view's content inset.

(-[WKWebView _processDidExit]):
Use _computedContentInset.

(-[WKWebView _didCommitLayerTree:WebKit::]):
use _computedContentInset.

(-[WKWebView _dynamicViewportUpdateChangedTargetToScale:position:]):
Use _computedContentInset.

(-[WKWebView _scrollToContentOffset:WebCore::]):
Use _computedContentInset.

(-[WKWebView _updateVisibleContentRects]):
If we have a custom content view, call web_computedContentInsetDidChange.

(-[WKWebView _setObscuredInsets:]):
Don't call web_setObscuredInsets: if we have a custom content view.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:

Add new methods.

  • UIProcess/Cocoa/WKWebViewContentProvider.h:

Add new methods.

  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView web_initWithFrame:webView:]):
Set the _webView and _scrollView ivars.

(-[WKPDFView _offsetForPageNumberIndicator]):
Get the computed content offset from the WKWebView.

(-[WKPDFView web_computedContentInsetDidChange]):
Update the page indicator.

(-[WKPDFView initWithFrame:]): Deleted.
(-[WKPDFView web_setObscuredInsets:]): Deleted.

  • UIProcess/ios/WKScrollView.mm:

(-[WKScrollView setContentInset:]):
Call _updateVisibleContentRects.

7:24 AM Changeset in webkit [170360] by commit-queue@webkit.org
  • 36 edits in trunk/Source/WebCore

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

caused 3 layout tests to crash on debug. (Requested by zalan
on #webkit).

Reverted changeset:

"Use unsigneds instead of ints for indexes into a string in
text layout code"
https://bugs.webkit.org/show_bug.cgi?id=133592
http://trac.webkit.org/changeset/170337

4:09 AM Changeset in webkit [170359] by commit-queue@webkit.org
  • 5 edits in trunk

Source/WebCore: [ATK] Don't ignore links rendered as blocks.
https://bugs.webkit.org/show_bug.cgi?id=130941

Patch by Jarek Czekalski <Jarek Czekalski> on 2014-06-24
Reviewed by Mario Sanchez Prada.

  • /m/usr/src/webkit-trunk/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(WebCore::AccessibilityObject::objectFocusedAndCaretOffsetUnignored): Don't ignore links
when they are renderered with display:block.

LayoutTests: [ATK] Extended the test for accessibility of text inside "span" block in "a" block
with the tests for caret movements in these cases.
https://bugs.webkit.org/show_bug.cgi?id=130941

Patch by Jarek Czekalski <Jarek Czekalski> on 2014-06-24
Reviewed by Mario Sanchez Prada.

  • platform/gtk/accessibility/text-in-span-block-in-a-block-expected.txt:
  • platform/gtk/accessibility/text-in-span-block-in-a-block.html:

Added testing for text-caret-moved signal. Added one more "a" element to the set.

4:02 AM Changeset in webkit [170358] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

REGRESSION(r170235): Remove incorrect ifdef guard
https://bugs.webkit.org/show_bug.cgi?id=134246

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

  • WebView/WebView.mm:

(-[WebView _visibilityState]):

3:09 AM Changeset in webkit [170357] by jfernandez@igalia.com
  • 2 edits in trunk/Tools

Name moving. Unreviewed.

  • Scripts/webkitpy/common/config/contributors.json:
2:22 AM Changeset in webkit [170356] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Tools

Remove EFL WK1 watch category
https://bugs.webkit.org/show_bug.cgi?id=134231

Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/common/config/watchlist: Removed EFL WK1 category.
2:15 AM Changeset in webkit [170355] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

Unreviewed. Update GObject DOM bindings test results after r170351.

  • bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp:
  • bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
2:02 AM Changeset in webkit [170354] by Michał Pakuła vel Rutka
  • 3 edits in trunk/LayoutTests

[EFL] Merge efl-wk2 and efl test expectations files
https://bugs.webkit.org/show_bug.cgi?id=134245

Unreviewed gardening after removing WebKit1.

  • platform/efl-wk2/TestExpectations: An empty file left, as deleting it may break flakiness dashboard.
  • platform/efl/TestExpectations: Merged with platform/efl-wk2/TestExpectations.
1:36 AM Changeset in webkit [170353] by llango.u-szeged@partner.samsung.com
  • 2 edits in trunk/Source/WTF

[JavaScriptCore] Enable concurrent JIT on EFL.
https://bugs.webkit.org/show_bug.cgi?id=134242

Reviewed by Csaba Osztrogonác.

  • wtf/Platform.h:
1:09 AM Changeset in webkit [170352] by k.czech@samsung.com
  • 1 edit
    1 delete in trunk/Tools

[ATK] Remove some unused code from DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=134191

Reviewed by Chris Fleizach.

DumpRenderTree's accessibility code could be removed since GTK and EFL has stopped supporting WK1.

  • DumpRenderTree/atk/AccessibilityCallbacks.h: Removed.
  • DumpRenderTree/atk/AccessibilityCallbacksAtk.cpp: Removed.
  • DumpRenderTree/atk/AccessibilityControllerAtk.cpp: Removed.
  • DumpRenderTree/atk/AccessibilityNotificationHandlerAtk.cpp: Removed.
  • DumpRenderTree/atk/AccessibilityNotificationHandlerAtk.h: Removed.
  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp: Removed.
12:14 AM Changeset in webkit [170351] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix GTK+ build after r170309.

Skip functions returning arrays in GObject DOM bindings.

  • bindings/scripts/CodeGeneratorGObject.pm:

(SkipFunction):

Jun 23, 2014:

11:55 PM Changeset in webkit [170350] by rniwa@webkit.org
  • 2 edits in trunk/Websites/webkit.org

Drop the cross organizational support requirement from reviewer nomination policy
https://bugs.webkit.org/show_bug.cgi?id=134240

Reviewed by Gyuyoung Kim.

Removed.

  • coding/commit-review-policy.html:
11:34 PM Changeset in webkit [170349] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Search field is not shown properly on doing ctrl+f on Minibrowser.
https://bugs.webkit.org/show_bug.cgi?id=134025

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-06-23
Reviewed by Gyuyoung Kim.

Use EVAS_HINT_FILL in evas_object_size_hint_align_set() api.

  • MiniBrowser/efl/main.c:

(window_create):

11:15 PM Changeset in webkit [170348] by ljaehun.lim@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed, fix build warning.

Source/WebKit2/WebProcess/WebPage/DrawingArea.h:117:18: warning: unused parameter ‘wantsDidUpdateViewState’ [-Wunused-parameter]

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::viewStateDidChange):

11:12 PM Changeset in webkit [170347] by ryuan.choi@samsung.com
  • 16 edits
    3 deletes in trunk

[EFL] Replace RefPtr<Evas_Object> with UniquePtrEfl
https://bugs.webkit.org/show_bug.cgi?id=134236

Reviewed by Gyuyoung Kim.

Source/WebCore:

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::ThemePartCacheEntry::create):
(WebCore::RenderThemeEfl::loadTheme):
(WebCore::RenderThemeEfl::applyPartDescriptionsFrom):

  • platform/efl/RenderThemeEfl.h:
  • platform/graphics/efl/CairoUtilitiesEfl.cpp:

(WebCore::evasObjectFromCairoImageSurface):

  • platform/graphics/efl/CairoUtilitiesEfl.h:
  • platform/graphics/efl/ImageEfl.cpp:

(WebCore::BitmapImage::getEvasObject):

Source/WebKit2:

  • PlatformEfl.cmake:
  • UIProcess/API/efl/EwkView.cpp:

(EwkView::updateCursor):

  • UIProcess/API/efl/EwkView.h:
  • UIProcess/API/efl/SnapshotImageGL.cpp:
  • UIProcess/API/efl/ewk_favicon_database.cpp:

(ewk_favicon_database_icon_get):

  • UIProcess/API/efl/tests/test_ewk2_refptr_evas_object.cpp: Removed.

Source/WTF:
Although there are ref/unref for Evas_Object, it's bit odd so we should call evas_object_del to destroy it.
So, this patch replaced RefPtr<Evas_Object> with UniquePtrEfl for the simplicity.

  • wtf/PlatformEfl.cmake: Removed RefPtrEfl.cpp from source list.
  • wtf/efl/RefPtrEfl.cpp: Removed.
  • wtf/efl/RefPtrEfl.h: Removed.

Tools:

  • ImageDiff/efl/ImageDiff.cpp:

(calculateDifference):
(printImageDifferences):
(readImageFromStdin):
(main):

10:45 PM Changeset in webkit [170346] by dbates@webkit.org
  • 6 edits
    1 add
    5 deletes in trunk/Tools

Rolling out r170340 and r170339.

Changeset r170339 broke the Apple Windows Debug and Release builds.

Reverted changesets:

"[Win] Build fix after r134209"
http://trac.webkit.org/changeset/170340

"[Win] Clean up and refactor WinLauncher"
https://bugs.webkit.org/show_bug.cgi?id=134209
http://trac.webkit.org/changeset/170339

9:38 PM Changeset in webkit [170345] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Chapter forward/backward should seek to beginning/end.
https://bugs.webkit.org/show_bug.cgi?id=134225

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-06-23
Reviewed by Eric Carlson.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerController seekChapterBackward:]): forwards to -seekToBeginning
(-[WebAVPlayerController seekChapterForward:]): forwards to -seekToEnd

9:12 PM Changeset in webkit [170344] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] REGRESSION (r169324): Page jumps to top when you type into a text field
https://bugs.webkit.org/show_bug.cgi?id=134219
<rdar://problem/17279113>

Reviewed by Benjamin Poulain.

Fixes an issue where typing into a text field may cause a noticeable jump to the top of
the page.

Currently when updating the visual content rectangles we always constrain the scroll offset
(s_x, s_y) such that 0 <= s_x <= "content width" - "visible width" and 0 <= s_y <= "content height" - "visible height".
However the UIProcess may want to scroll the page by an offset outside of this range to
create a visually pleasing result. In particular, on iOS we may scroll the page slightly
outside of this range (e.g. s_y > 0 = "content height" - "visible height") when a form
control is focused so as to be consistent with platform convention.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::updateVisibleContentRects): Temporarily disable content edge constraint when
updating scroll offset.

7:24 PM Changeset in webkit [170343] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] Don't draw focus rings if we are animating controls
https://bugs.webkit.org/show_bug.cgi?id=134232
<rdar://problem/17381121>

Reviewed by Tim Horton.

Controls in native apps do not draw their focus rings as they
animate (in Yosemite). Turn this off for WebKit too. It turns
out that when we were drawing them, they were in the wrong
place anyway.

Since we don't animate controls when testing, we can't really test this.

  • platform/mac/ThemeMac.mm:

(WebCore::paintToggleButton): Only draw the focus ring if the
NSButtonCell is not animating.

7:18 PM Changeset in webkit [170342] by k.czech@samsung.com
  • 3 edits in trunk/Source/WebCore

[ATK] Remove some unnecessary code from WebKitAccessibleWrapperAtk
https://bugs.webkit.org/show_bug.cgi?id=134193

Reviewed by Gyuyoung Kim.

It was used along with DRT. Since we have stopped support WK1/DRT, it won't be needed.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetFocusedElement): Deleted.

  • accessibility/atk/WebKitAccessibleWrapperAtk.h:
6:23 PM Changeset in webkit [170341] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

<rdar://problem/17413374> [iOS] Application cache size per origin is not limited
https://bugs.webkit.org/show_bug.cgi?id=134229

Reviewed by Anders Carlsson.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::createNewWebProcess): Set the default quota per origin to the same
value it is set in Legacy WebKit.

5:56 PM Changeset in webkit [170340] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Build fix after r134209

  • WinLauncher/WinMain.cpp: Must include the resources file

before Common.cpp.

5:51 PM Changeset in webkit [170339] by Brent Fulgham
  • 6 edits
    1 copy
    1 move
    3 adds in trunk/Tools

[Win] Clean up and refactor WinLauncher
https://bugs.webkit.org/show_bug.cgi?id=134209

Reviewed by Tim Horton.

Make WinLauncher a class, and move all non-class driver functions
into "Common.cpp" and "WinMain.cpp". These files are distinct
to allow some internal tools to reuse the code in 'Common'.

  • WinLauncher/Common.cpp: Added. Consists of code moved from

'WinLauncher.cpp' that can be reused for other tools.
(subclassForLayeredWindow):
(computeFullDesktopFrame):
(DllMain):
(getAppDataFolder):
(setCacheFolder):
(createCrashReport):
(AbortProc):
(getPrinterDC):
(initDocStruct):
(PrintView):
(ToggleMenuItem):
(WndProc):
(EditProc):
(BackButtonProc):
(ForwardButtonProc):
(About):
(loadURL):
(dllLauncherEntryPoint):

  • WinLauncher/DOMDefaultImpl.cpp: Copied from WinLauncher/DOMDefaultImpl.h.

(DOMEventListener::Release):
(WebScriptObject::WebScriptObject): Deleted.
(WebScriptObject::~WebScriptObject): Deleted.
(WebScriptObject::throwException): Deleted.
(WebScriptObject::callWebScriptMethod): Deleted.
(WebScriptObject::evaluateWebScript): Deleted.
(WebScriptObject::removeWebScriptKey): Deleted.
(WebScriptObject::stringRepresentation): Deleted.
(WebScriptObject::webScriptValueAtIndex): Deleted.
(WebScriptObject::setWebScriptValueAtIndex): Deleted.
(WebScriptObject::setException): Deleted.
(DOMEventListener::throwException): Deleted.
(DOMEventListener::callWebScriptMethod): Deleted.
(DOMEventListener::evaluateWebScript): Deleted.
(DOMEventListener::removeWebScriptKey): Deleted.
(DOMEventListener::stringRepresentation): Deleted.
(DOMEventListener::webScriptValueAtIndex): Deleted.
(DOMEventListener::setWebScriptValueAtIndex): Deleted.
(DOMEventListener::setException): Deleted.
(DOMEventListener::handleEvent): Deleted.

  • WinLauncher/DOMDefaultImpl.h:

(WebScriptObject::QueryInterface): Deleted.
(WebScriptObject::AddRef): Deleted.
(WebScriptObject::Release): Deleted.
(DOMObject::QueryInterface): Deleted.
(DOMEventListener::QueryInterface): Deleted.
(DOMEventListener::AddRef): Deleted.
(DOMEventListener::Release): Deleted.

  • WinLauncher/WinLauncher.cpp: Converted stand-alone implementation

into a C++ class and removed WinAPI code.
(WinLauncher::WinLauncher):
(WinLauncher::init):
(WinLauncher::prepareViews):
(WinLauncher::setFrameLoadDelegate):
(WinLauncher::setUIDelegate):
(WinLauncher::setAccessibilityDelegate):
(WinLauncher::mainFrame):
(WinLauncher::seedInitialDefaultPreferences):
(WinLauncher::setToDefaultPreferences):
(updateMenuItemForHistoryItem):
(WinLauncher::showLastVisitedSites):
(WinLauncher::launchInspector):
(WinLauncher::navigateForwardOrBackward):
(WinLauncher::navigateToHistory):
(WinLauncher::goBack):
(WinLauncher::goForward):
(WinLauncher::loadURL):
(shouldUseFullDesktop): Deleted.
(SimpleEventListener::SimpleEventListener): Deleted.
(SimpleEventListener::handleEvent): Deleted.
(WinLauncherWebHost::updateAddressBar): Deleted.
(WinLauncherWebHost::didFailProvisionalLoadWithError): Deleted.
(WinLauncherWebHost::QueryInterface): Deleted.
(WinLauncherWebHost::AddRef): Deleted.
(WinLauncherWebHost::Release): Deleted.
(showLastVisitedSites): Deleted.
(WinLauncherWebHost::didFinishLoadForFrame): Deleted.
(resizeSubViews): Deleted.
(subclassForLayeredWindow): Deleted.
(computeFullDesktopFrame): Deleted.
(DllMain): Deleted.
(getAppDataFolder): Deleted.
(setToDefaultPreferences): Deleted.
(setCacheFolder): Deleted.
(createCrashReport): Deleted.
(wWinMain): Deleted.
(MyRegisterClass): Deleted.
(AbortProc): Deleted.
(getPrinterDC): Deleted.
(initDocStruct): Deleted.
(PrintView): Deleted.
(ToggleMenuItem): Deleted.
(LaunchInspector): Deleted.
(NavigateForwardOrBackward): Deleted.
(NavigateToHistory): Deleted.
(WndProc): Deleted.
(EditProc): Deleted.
(BackButtonProc): Deleted.
(ForwardButtonProc): Deleted.
(About): Deleted.
(loadURL): Deleted.
(dllLauncherEntryPoint): Deleted.

  • WinLauncher/WinLauncher.h: Removed.
  • WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj:
  • WinLauncher/WinLauncher.vcxproj/WinLauncherLib.vcxproj.filters:
  • WinLauncher/WinLauncherReplace.h:

(processCrashReport):

  • WinLauncher/WinLauncherWebHost.cpp: Added.

(SimpleEventListener::SimpleEventListener):
(SimpleEventListener::handleEvent):
(WinLauncherWebHost::updateAddressBar):
(WinLauncherWebHost::didFailProvisionalLoadWithError):
(WinLauncherWebHost::QueryInterface):
(WinLauncherWebHost::AddRef):
(WinLauncherWebHost::Release):
(WinLauncherWebHost::didFinishLoadForFrame):

  • WinLauncher/WinLauncherWebHost.h: Copied from WinLauncher/WinLauncher.h.

Moved WinLauncherWebHost implementation from WinLauncher.cpp into
its own set of files.
(WinLauncherWebHost::WinLauncherWebHost):
(WinLauncherWebHost::didStartProvisionalLoadForFrame):
(WinLauncherWebHost::didReceiveServerRedirectForProvisionalLoadForFrame):
(WinLauncherWebHost::didCommitLoadForFrame):
(WinLauncherWebHost::didReceiveTitle):
(WinLauncherWebHost::didChangeIcons):
(WinLauncherWebHost::didReceiveIcon):
(WinLauncherWebHost::didFailLoadWithError):
(WinLauncherWebHost::didChangeLocationWithinPageForFrame):
(WinLauncherWebHost::willPerformClientRedirectToURL):
(WinLauncherWebHost::didCancelClientRedirectForFrame):
(WinLauncherWebHost::willCloseFrame):
(WinLauncherWebHost::windowScriptObjectAvailable):
(WinLauncherWebHost::didClearWindowObject):

  • WinLauncher/WinMain.cpp: Added. This consists of code from

WinLauncher that is unique to the WinLauncher utility, and is
not part of the WinLauncher class.
(wWinMain):
(MyRegisterClass):

5:49 PM Changeset in webkit [170338] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed, EFL build fix after r170330.

  • WebProcess/WebPage/WebPage.cpp: Guard WKStringCF.h with PLATFORM(COCOA) macro.
5:29 PM Changeset in webkit [170337] by mmaxfield@apple.com
  • 36 edits in trunk/Source/WebCore

Use unsigneds instead of ints for indexes into a string in text layout code
https://bugs.webkit.org/show_bug.cgi?id=133592

Reviewed by Zalan Bujtas.

Migrate much of the text-handling code to use unsigneds for indexes into a string.

No new tests because there is no behavior change.

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

(WebCore::Font::drawText):
(WebCore::Font::drawEmphasisMarks):
(WebCore::Font::adjustSelectionRectForText):
(WebCore::computeUnderlineType):

  • platform/graphics/Font.h:
  • platform/graphics/FontFastPath.cpp:

(WebCore::Font::getGlyphsAndAdvancesForSimpleText):
(WebCore::Font::drawSimpleText):
(WebCore::Font::drawEmphasisMarksForSimpleText):
(WebCore::Font::drawGlyphBuffer):
(WebCore::Font::drawEmphasisMarks):
(WebCore::Font::adjustSelectionRectForSimpleText):

  • platform/graphics/GlyphBuffer.h:

(WebCore::GlyphBuffer::size):
(WebCore::GlyphBuffer::glyphs):
(WebCore::GlyphBuffer::advances):
(WebCore::GlyphBuffer::fontDataAt):
(WebCore::GlyphBuffer::advanceAt):
(WebCore::GlyphBuffer::offsetAt):
(WebCore::GlyphBuffer::reverse):
(WebCore::GlyphBuffer::offsetInString):
(WebCore::GlyphBuffer::swap):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::TextRunIterator::atEnd):

  • platform/graphics/Latin1TextIterator.h:

(WebCore::Latin1TextIterator::Latin1TextIterator):
(WebCore::Latin1TextIterator::currentCharacter):

  • platform/graphics/SimpleFontData.h:
  • platform/graphics/SurrogatePairAwareTextIterator.cpp:

(WebCore::SurrogatePairAwareTextIterator::SurrogatePairAwareTextIterator):

  • platform/graphics/SurrogatePairAwareTextIterator.h:

(WebCore::SurrogatePairAwareTextIterator::currentCharacter):

  • platform/graphics/TextRun.h:

(WebCore::TextRun::length):
(WebCore::TextRun::charactersLength):

  • platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::glyphDataForCharacter):
(WebCore::applyFontTransforms):
(WebCore::WidthIterator::advanceInternal):
(WebCore::WidthIterator::advance):
(WebCore::WidthIterator::advanceOneCharacter):

  • platform/graphics/WidthIterator.h:
  • platform/graphics/cairo/FontCairo.cpp:

(WebCore::Font::drawGlyphs):

  • platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:

(WebCore::Font::drawComplexText):
(WebCore::Font::drawEmphasisMarksForComplexText):
(WebCore::Font::adjustSelectionRectForComplexText):

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::setNormalizedBuffer):

  • platform/graphics/mac/FontComplexTextMac.cpp:

(WebCore::Font::adjustSelectionRectForComplexText):
(WebCore::Font::getGlyphsAndAdvancesForComplexText):
(WebCore::Font::drawComplexText):
(WebCore::Font::drawEmphasisMarksForComplexText):

  • platform/graphics/mac/FontMac.mm:

(WebCore::Font::drawGlyphs):

  • platform/graphics/win/FontCGWin.cpp:

(WebCore::Font::drawGlyphs):

  • platform/graphics/win/FontWin.cpp:

(WebCore::Font::adjustSelectionRectForComplexText):
(WebCore::Font::getGlyphsAndAdvancesForComplexText):
(WebCore::Font::drawComplexText):
(WebCore::Font::drawEmphasisMarksForComplexText):

  • platform/graphics/wince/FontWinCE.cpp:

(WebCore::Font::drawGlyphs):
(WebCore::Font::drawComplexText):
(WebCore::Font::drawEmphasisMarksForComplexText):
(WebCore::Font::selectionRectForComplexText):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::isSelected):
(WebCore::InlineTextBox::selectionState):
(WebCore::adjustCharactersAndLengthForHyphen):
(WebCore::InlineTextBox::localSelectionRect):
(WebCore::InlineTextBox::paint):
(WebCore::InlineTextBox::selectionStartEnd):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintCompositionBackground):
(WebCore::InlineTextBox::paintDocumentMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::computeRectForReplacementMarker):
(WebCore::InlineTextBox::paintCompositionUnderline):
(WebCore::InlineTextBox::positionForOffset):
(WebCore::InlineTextBox::constructTextRun):

  • rendering/InlineTextBox.h:
  • rendering/RenderCombineText.cpp:

(WebCore::RenderCombineText::getStringToRender):

  • rendering/RenderCombineText.h:
  • rendering/svg/SVGInlineFlowBox.cpp:

(WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::positionForOffset):
(WebCore::SVGInlineTextBox::localSelectionRect):
(WebCore::SVGInlineTextBox::paintSelectionBackground):
(WebCore::SVGInlineTextBox::mapStartEndPositionsIntoFragmentCoordinates):
(WebCore::SVGInlineTextBox::paintText):

  • rendering/svg/SVGInlineTextBox.h:
  • rendering/svg/SVGTextMetricsBuilder.cpp:

(WebCore::SVGTextMetricsBuilder::currentCharacterStartsSurrogatePair):
(WebCore::SVGTextMetricsBuilder::advance):

  • rendering/svg/SVGTextQuery.cpp:

(WebCore::SVGTextQuery::mapStartEndPositionsIntoFragmentCoordinates):
(WebCore::SVGTextQuery::modifyStartEndPositionsRespectingLigatures):
(WebCore::SVGTextQuery::subStringLengthCallback):
(WebCore::SVGTextQuery::startPositionOfCharacterCallback):
(WebCore::SVGTextQuery::endPositionOfCharacterCallback):
(WebCore::SVGTextQuery::rotationOfCharacterCallback):
(WebCore::SVGTextQuery::extentOfCharacterCallback):
(WebCore::SVGTextQuery::characterNumberAtPositionCallback):

  • rendering/svg/SVGTextQuery.h:
  • rendering/svg/SVGTextRunRenderingContext.cpp:

(WebCore::SVGGlyphToPathTranslator::SVGGlyphToPathTranslator):
(WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):

  • rendering/svg/SVGTextRunRenderingContext.h:
  • svg/SVGFontData.cpp:

(WebCore::SVGFontData::applySVGGlyphSelection):

  • svg/SVGFontData.h:
5:08 PM Changeset in webkit [170336] by jer.noble@apple.com
  • 7 edits
    2 adds in trunk

HTMLMediaElement seek algorithm should allow cancelling previous seeks.
https://bugs.webkit.org/show_bug.cgi?id=134116

Reviewed by Eric Carlson.

Source/WebCore:
Test: media/video-seek-double.html

Fulfill the requirement of the §4.7.14.9 seeking algorithm to do steps 5+ asynchronously and cancel
previous instances of the algorithm.

For the html/ parts of the algorithm, implement this by adding a seek timer, which when fired will
issue steps 5-12. MediaPlayerPrivateAVFoundation will already coalesce multiple seek operations, so nothing
additional needs be done there. However, MediaPlayerPrivateMediaSourceAVFObjC needs to implement the same
pending seek logic in case additional seeks were issued after the html/ algorithm reached step 12.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement): Initialize the new m_seekTimer.
(WebCore::HTMLMediaElement::parseAttribute): Clear the seek timer.
(WebCore::HTMLMediaElement::seekInternal): Differentiate between DOM seeks and internal seeks.
(WebCore::HTMLMediaElement::seekWithTolerance:) Split into the seekTimerFired() method.
(WebCore::HTMLMediaElement::seekTimerFired:) Added, split from seekWithTolerance().

  • html/HTMLMediaElement.h:
  • html/MediaController.cpp:

(MediaController::bringElementUpToSpeed): Call seekInternal().
(WebCore::HTMLMediaElement::PendingSeek::PendingSeek): Added convenience struct for storing seek requests.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::PendingSeek::PendingSeek): Ditto.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC): Modify the time jumped

handler to not clear the m_seeking flag if another seek request is pending.

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):

LayoutTests:

  • media/video-seek-double-expected.txt: Added.
  • media/video-seek-double.html: Added.
5:03 PM Changeset in webkit [170335] by timothy_horton@apple.com
  • 9 edits in trunk/Source

[WK2] Use the page background color instead of white when swipe snapshots were purged (134218)
https://bugs.webkit.org/show_bug.cgi?id=134218
<rdar://problem/17426454>

Reviewed by Benjamin Poulain.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _updateScrollViewBackground]):
(-[WKWebView WebKit::]):

  • UIProcess/API/mac/WKView.mm:

(-[WKView _takeViewSnapshot]):

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::beginSwipeGesture):

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::shouldUseSnapshotForSize):
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::retrieveSnapshotForItem): Deleted.

  • UIProcess/mac/ViewSnapshotStore.h:

Store a color along with each snapshot.
Set the background color of the swipe snapshot layer accordingly.

  • WebCore.exp.in:
4:56 PM Changeset in webkit [170334] by andersca@apple.com
  • 3 edits
    1 add in trunk/Source/WebKit2

Add -[WKBackForwardList _removeAllItems]
https://bugs.webkit.org/show_bug.cgi?id=134227
<rdar://problem/17291623>

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKBackForwardList.mm:

(-[WKBackForwardList _removeAllItems]):

  • UIProcess/API/Cocoa/WKBackForwardListPrivate.h: Added.
  • WebKit2.xcodeproj/project.pbxproj:
4:45 PM Changeset in webkit [170333] by eric.carlson@apple.com
  • 2 edits
    2 deletes in trunk/Source/WebCore

[iOS] remove InbandTextTrackPrivateAVFIOS
https://bugs.webkit.org/show_bug.cgi?id=134220

Reviewed by Benjamin Poulain.

  • WebCore.xcodeproj/project.pbxproj: Remove references to InbandTextTrackPrivateAVFIOS.
  • platform/graphics/ios/InbandTextTrackPrivateAVFIOS.h: Removed.
  • platform/graphics/ios/InbandTextTrackPrivateAVFIOS.mm: Removed.
4:17 PM Changeset in webkit [170332] by commit-queue@webkit.org
  • 29 edits
    2 deletes in trunk/Source/WebCore

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

lots of build breakage (Requested by bradeeoh on #webkit).

Reverted changeset:

"[Mac] process raw VTT in-band captions"
https://bugs.webkit.org/show_bug.cgi?id=134178
http://trac.webkit.org/changeset/170323

4:16 PM Changeset in webkit [170331] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

<rdar://problem/17413498> [Cocoa] Expose WebPreferences::offlineWebApplicationCacheEnabled
https://bugs.webkit.org/show_bug.cgi?id=134217

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _offlineApplicationCacheIsEnabled]):
(-[WKPreferences _setOfflineApplicationCacheIsEnabled:]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h: Added _offlineWebApplicationCacheIsEnabled

property.

4:15 PM Changeset in webkit [170330] by commit-queue@webkit.org
  • 10 edits in trunk

Add SPI for Injected Bundle to provide user agent for a given URL.
https://bugs.webkit.org/show_bug.cgi?id=133562

Patch by Grant Kennell <gkennell@apple.com> on 2014-06-23
Reviewed by Sam Weinig.

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h: Added delegate method to WebProcess PluIn protocol to provide UserAgent per URL.
  • WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h: Added new typedef for function pointer for this new delegate call. Added new version (V8) of bundle loader client struct containing a function pointer of that new type.
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(userAgentForURL): Makes delegate call with the new method.
(setUpPageLoaderClient): Sets the struct's new function pointer to the new method.

  • WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:

(WebKit::InjectedBundlePageLoaderClient::userAgentForURL):

  • WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::userAgent):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::userAgent): Began using the new API to ask for user agent

instead of simply returning what had been stored.

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::userAgent): Deleted.

4:13 PM Changeset in webkit [170329] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

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

lots of build breakage (Requested by bradeeoh on #webkit).

Reverted changeset:

"Unreviewed, revert an unintentional change committed with
r170323."
http://trac.webkit.org/changeset/170324

4:12 PM Changeset in webkit [170328] by jpfau@apple.com
  • 2 edits in trunk/Source/WebCore

Fix release build

  • Modules/indexeddb/IDBTransactionCoordinator.cpp:

(WebCore::IDBTransactionCoordinator::canRunTransaction):

3:38 PM Changeset in webkit [170327] by jpfau@apple.com
  • 3 edits
    2 adds in trunk

Database process crashes when multiple transactions attempt to run at once
https://bugs.webkit.org/show_bug.cgi?id=134139

Reviewed by David Kilzer.

Source/WebCore:
Ensure that only one transaction can be running at a time.

Test: storage/indexeddb/transaction-overlapping.html

  • Modules/indexeddb/IDBTransactionCoordinator.cpp:

(WebCore::IDBTransactionCoordinator::canRunTransaction):

LayoutTests:

  • storage/indexeddb/transaction-overlapping-expected.txt: Added.
  • storage/indexeddb/transaction-overlapping.html: Added.
3:12 PM Changeset in webkit [170326] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS][wk2] Don't use view snapshots if the destination layer is a different size
https://bugs.webkit.org/show_bug.cgi?id=134210
<rdar://problem/17369463>

Reviewed by Benjamin Poulain.

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::beginSwipeGesture):
Only use the view snapshot if the snapshot is the same (in device space) size
as the layer it's going to be put into, and only if the device scale factor is
the same as it was when the snapshot was taken.

3:05 PM Changeset in webkit [170325] by benjamin@webkit.org
  • 30 edits in trunk/Source

[iOS][WK2] Make the state restore from HistoryItem more precise and reliable
https://bugs.webkit.org/show_bug.cgi?id=134150

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-06-23
Reviewed by Tim Horton.

Source/WebCore:
The two biggest changes for WebCore are:
-Store everything we need to handle changes of ViewportConfiguration on HistoryItem.
-Store the exposedRect with floating point coordinates.

  • WebCore.exp.in:
  • history/CachedPage.cpp:

(WebCore::CachedPage::restore):
We cannot determine a good scroll position from the WebProcess because the obscured insets can change
arbitrarily in the UIProcess. When we scroll here from the WebProcess, we would force an invalid position
to the UIProcess with the next layer tree update.

To avoid any problem, we prohibit scrolling when restoring the focus appearance.

  • history/HistoryItem.cpp:

(WebCore::encodeRect):
(WebCore::encodeSize):
(WebCore::HistoryItem::encodeBackForwardTreeNode):
(WebCore::decodeRect):
(WebCore::decodeSize):
(WebCore::HistoryItem::decodeBackForwardTree):

  • history/HistoryItem.h:

(WebCore::HistoryItem::exposedContentRect):
(WebCore::HistoryItem::setExposedContentRect):
(WebCore::HistoryItem::unobscuredContentRect):
(WebCore::HistoryItem::setUnobscuredContentRect):
(WebCore::HistoryItem::minimumLayoutSizeInScrollViewCoordinates):
(WebCore::HistoryItem::setMinimumLayoutSizeInScrollViewCoordinates):
(WebCore::HistoryItem::contentSize):
(WebCore::HistoryItem::setContentSize):
(WebCore::HistoryItem::exposedContentPosition): Deleted.
(WebCore::HistoryItem::setExposedContentPosition): Deleted.

  • loader/HistoryController.cpp:

(WebCore::HistoryController::saveScrollPositionAndViewStateToItem):

  • page/FrameView.h:
  • platform/ScrollView.h:
  • platform/ios/ScrollViewIOS.mm:

(WebCore::ScrollView::exposedContentRect):
(WebCore::ScrollView::setExposedContentRect):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::didChangeVisibleRect):

Source/WebKit2:
This patch make several little improvements to improve how we restore the visible content rect and scale
from the HistoryItem.

The biggest architectural change is that the exposed rect is now restored on the UIProcess instead of the WebProcess,
this ensure we restore the same position regardless of any modification of obscured areas.

  • Shared/VisibleContentRectUpdateInfo.cpp:

(WebKit::VisibleContentRectUpdateInfo::encode):
(WebKit::VisibleContentRectUpdateInfo::decode):

  • Shared/VisibleContentRectUpdateInfo.h:

(WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
(WebKit::VisibleContentRectUpdateInfo::lastLayerTreeTransactionId):
(WebKit::WebPage::updateVisibleContentRects):

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:

A race between the UIProcess and the WebProcess could cause the viewport of the next page to be influenced by updates
of the previous page. To avoid that, VisibleContentRectUpdateInfo keeps track of the last transaction seen at the time
of the update.

The WebProcess updates the size and scale of the content through layer tree updates. If an update was generated for a layer tree
update of the old page, none of the information is valid for the current content. Since the UIProcess drives the state in case of conflicts,
the WebProcess was updating the scale of the current page based on incorrect information.

To avoid the problems, we save the layer tree transaction ID when we commit a new page. Only updates after that transaction are useful
for the current page.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _processDidExit]):
(withinEpsilon):
(changeContentOffsetBoundedInValidRange):
(-[WKWebView _didCommitLayerTree:WebKit::]):
(-[WKWebView _restorePageStateToExposedRect:WebCore::scale:]):
(-[WKWebView _restorePageStateToUnobscuredCenter:WebCore::scale:]):

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::restorePageState):
(WebKit::PageClientImpl::restorePageCenterAndScale):
Restoring the state is now done by WKWebView. The state is only updated on the next layer tree commit,
this is done to avoid any jumping if the page has scrolled since we tried to restore its state.

Both update path end up calling _updateVisibleContentRects. This is because the update on the WebProcess
never sets the ScrollPosition (because it does not know the current state of the obscured insets). Pushing
a new VisibleContentRect will nicely udpates the exposed rect, scroll position, fixed elements, etc.

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::restorePageState):
(WebKit::WebPageProxy::restorePageCenterAndScale):

  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:

(WebKit::RemoteLayerTreeDrawingAreaProxy::lastCommittedLayerTreeTransactionID):

  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):

  • WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm:

(WebKit::WebFrameLoaderClient::saveViewStateToItem):
(WebKit::WebFrameLoaderClient::restoreViewState):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::didCommitLoad):

  • WebProcess/WebPage/WebPage.h:

Get rid of m_obscuredTopInset. It was a bad idea. The UIProcess updates the obscured insets a lot during
page load, the value we used to restore the scroll position was frequently stale.

(WebKit::WebPage::userHasChangedPageScaleFactor): Deleted.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::savePageState):
(WebKit::scaleAfterViewportWidthChange):
(WebKit::relativeCenterAfterContentSizeChange):
(WebKit::adjustExposedRectForNewScale):
Extract this out of dynamicViewportSizeUpdate(). It is useful to adjust the exposed rect when restoring a HistoryItem
to a ViewportConfiguration that is different from when it was saved.

(WebKit::WebPage::restorePageState):
There are two variations of restorePage:
1) If the viewport configuration is compatible, restore the exact scale and position of the page.
2) Otherwise, restore the scale and position similarily to dynamicViewportSizeUpdate().

(WebKit::WebPage::dynamicViewportSizeUpdate):
(WebKit::WebPage::viewportConfigurationChanged):
(WebKit::adjustExposedRectForBoundedScale):
(WebKit::RemoteLayerTreeDrawingArea::currentTransactionID):
Expose the transactionID for the race issue on VisibleRectUpdate.

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::setExposedContentRect):
Store the exposed rect in floating point coordinates. This makes it possible to restore that exact
position when needed.

3:04 PM Changeset in webkit [170324] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed, revert an unintentional change committed with r170323.

  • UIProcess/API/Cocoa/WKBackForwardList.mm:
2:56 PM Changeset in webkit [170323] by eric.carlson@apple.com
  • 30 edits
    2 adds in trunk/Source

[Mac] process raw VTT in-band captions
https://bugs.webkit.org/show_bug.cgi?id=134178

Reviewed by NOBODY (OOPS!).

  • CMakeLists.txt: Add ISOVTTCue.cpp|h.
  • WebCore.vcxproj/WebCore.vcxproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • html/track/BufferedLineReader.h:

(WebCore::BufferedLineReader::reset): New, empty the input buffer.

Make it possible to process WebVTT captions.

  • html/track/InbandGenericTextTrack.cpp:

(WebCore::InbandGenericTextTrack::parser): Allocate, if necessary, and return a WebVTT parser.
(WebCore::InbandGenericTextTrack::parseWebVTTCueData): Pass a cue to the parser.
(WebCore::InbandGenericTextTrack::parseWebVTTFileHeader): Pass a VTT file header to the parser.
(WebCore::InbandGenericTextTrack::newCuesParsed): Parser callback.
(WebCore::InbandGenericTextTrack::newRegionsParsed): Ditto.
(WebCore::InbandGenericTextTrack::fileFailedToParse): Ditto.

  • html/track/InbandGenericTextTrack.h:
  • html/track/InbandTextTrack.h:
  • html/track/InbandWebVTTTextTrack.cpp:

(WebCore::InbandWebVTTTextTrack::parser): New, parser accessor.
(WebCore::InbandWebVTTTextTrack::parseWebVTTCueData): New, parse VTT data in an ISOWebVTTCue

object.

(WebCore::InbandWebVTTTextTrack::newCuesParsed): Cleanup.
(WebCore::InbandWebVTTTextTrack::newRegionsParsed): Implement.
(WebCore::InbandWebVTTTextTrack::fileFailedToParse): Change the error message.

  • html/track/InbandWebVTTTextTrack.h:
  • html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGenericBoxElement::TextTrackCueGenericBoxElement): Change cue parameter

from a pointer to a reference.

(WebCore::TextTrackCueGeneric::createDisplayTree): Ditto.

  • html/track/VTTCue.cpp:

(WebCore::VTTCueBox::create): Change cue parameter from a pointer to a reference.
(WebCore::VTTCueBox::VTTCueBox): Ditto.
(WebCore::VTTCueBox::getCue): Return a reference.
(WebCore::VTTCueBox::applyCSSProperties): m_cue is a reference, not a pointer.
(WebCore::VTTCue::create): New, create a VTTCue from WebVTTCueData.
(WebCore::VTTCue::VTTCue): New, internal constructor that takes a WebVTTCueData.
(WebCore::VTTCue::initialize): New, shared constructor initialization.
(WebCore::VTTCue::createDisplayTree): m_cue is a reference, not a pointer.
(WebCore::VTTCue::markFutureAndPastNodes): Ditto.
(WebCore::VTTCue::setCueSettings): Ditto.

  • html/track/VTTCue.h:

(WebCore::VTTCueBox::create): Deleted.
(WebCore::VTTCue::create): Deleted.

  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::parseFileHeader): New. Reset the line reader buffer and parser state,

call the parser.

(WebCore::WebVTTParser::parseCueData): Create a cue from ISOWebVTTCue.
(WebCore::WebVTTParser::collectTimingsAndSettings): Return immediately if the string is empty.
(WebCore::WebVTTParser::collectTimeStamp): Ditto.

  • html/track/WebVTTParser.h:

(WebCore::WebVTTCueData::originalStartTime): New.
(WebCore::WebVTTCueData::setOriginalStartTime): New.
(WebCore::WebVTTCueData::WebVTTCueData):

  • loader/TextTrackLoader.cpp:

(WebCore::TextTrackLoader::getNewCues): Cleanup, use the new VTTCue::create.

  • platform/graphics/InbandTextTrackPrivateClient.h:

(WebCore::InbandTextTrackPrivateClient::parseWebVTTFileHeader): New.

Parse ISO WebVTT cue boxes.

  • platform/graphics/ISOVTTCue.cpp: Added.

(WebCore::ISOBox::ISOBox):
(WebCore::ISOBox::peekType):
(WebCore::ISOBox::peekLength):
(WebCore::ISOBox::peekString):
(WebCore::vttCueBoxType):
(WebCore::vttIdBoxType):
(WebCore::vttSettingsBoxType):
(WebCore::vttPayloadBoxType):
(WebCore::vttCurrentTimeBoxType):
(WebCore::vttCueSourceIDBoxType):
(WebCore::ISOWebVTTCue::boxType):
(WebCore::ISOWebVTTCue::ISOWebVTTCue):

  • platform/graphics/ISOVTTCue.h: Added.

(WebCore::ISOBox::boxHeaderSize):
(WebCore::ISOBox::length):
(WebCore::ISOBox::type):
(WebCore::ISOWebVTTCue::presentationTime):
(WebCore::ISOWebVTTCue::duration):
(WebCore::ISOWebVTTCue::sourceID):
(WebCore::ISOWebVTTCue::id):
(WebCore::ISOWebVTTCue::originalStartTime):
(WebCore::ISOWebVTTCue::settings):
(WebCore::ISOWebVTTCue::cueText):

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:

(WebCore::InbandTextTrackPrivateAVF::InbandTextTrackPrivateAVF): Add a cue format parameter.
(WebCore::InbandTextTrackPrivateAVF::processCue): Call processNativeSamples.
(WebCore::InbandTextTrackPrivateAVF::processAttributedStrings): Add logging. Minor cleanup.
(WebCore::InbandTextTrackPrivateAVF::processNativeSamples): New, process an array of

CMSampleBuffers, create ISOWebVTTCue from the sample data.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
  • platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h:

(WebCore::InbandTextTrackPrivateAVFObjC::create): Add a cue format parameter.

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

(WebCore::InbandTextTrackPrivateAVFObjC::InbandTextTrackPrivateAVFObjC): Ditto.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Improve logging.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Don't leak an NSDictionary.
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Don't process media selection

options until we have tracks.

(WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions):
(WebCore::MediaPlayerPrivateAVFoundationObjC::processCue): Pass native samples as well as

attributed strings to track.

(-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):

  • platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h:

(WebCore::OutOfBandTextTrackPrivateAVF::OutOfBandTextTrackPrivateAVF):

  • platform/graphics/avfoundation/InbandTextTrackPrivateLegacyAVFObjC.cpp:

(WebCore::InbandTextTrackPrivateLegacyAVFObjC::InbandTextTrackPrivateLegacyAVFObjC): Pass cue

format to base class.

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

(WebCore::InbandTextTrackPrivateAVCF::InbandTextTrackPrivateAVCF): Ditto.

  • platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.h:
2:40 PM Changeset in webkit [170322] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Policy delegate methods should use CompletionHandlerCallChecker
https://bugs.webkit.org/show_bug.cgi?id=134215

Reviewed by Dan Bernstein.

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
(WebKit::NavigationState::PolicyClient::decidePolicyForResponse):

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

Don't use the WK prefix for internal C++ types
https://bugs.webkit.org/show_bug.cgi?id=134214

Reviewed by Dan Bernstein.

  • Shared/AssistedNodeInformation.cpp:

(WebKit::OptionItem::encode):
(WebKit::OptionItem::decode):
(WebKit::WKOptionItem::encode): Deleted.
(WebKit::WKOptionItem::decode): Deleted.

  • Shared/AssistedNodeInformation.h:

(WebKit::OptionItem::OptionItem):
(WebKit::AssistedNodeInformation::AssistedNodeInformation):
(WebKit::WKOptionItem::WKOptionItem): Deleted.

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

(-[WKContentView _requiresKeyboardWhenFirstResponder]):
(-[WKContentView inputView]):
(-[WKContentView requiresAccessoryView]):
(-[WKContentView _updateAccessory]):
(-[WKContentView textInputTraits]):
(-[WKContentView assistedNodeSelectOptions]):
(-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]):
(-[WKContentView _stopAssistingNode]):

  • UIProcess/ios/forms/WKFormInputControl.mm:

(-[WKDateTimePicker initWithView:datePickerMode:]):
(-[WKFormInputControl initWithView:]):

  • UIProcess/ios/forms/WKFormSelectControl.h:
  • UIProcess/ios/forms/WKFormSelectControl.mm:

(adjustedFontSize):

  • UIProcess/ios/forms/WKFormSelectPicker.mm:

(-[WKOptionPickerCell initWithOptionItem:]):
(-[WKOptionGroupPickerCell initWithOptionItem:]):
(-[WKMultipleSelectPicker initWithView:]):
(-[WKMultipleSelectPicker pickerView:viewForRow:forComponent:reusingView:]):
(-[WKMultipleSelectPicker pickerView:row:column:checked:]):
(-[WKSelectSinglePicker pickerView:attributedTitleForRow:forComponent:]):
(-[WKSelectSinglePicker pickerView:didSelectRow:inComponent:]):

  • UIProcess/ios/forms/WKFormSelectPopover.mm:

(-[WKSelectTableViewController initWithView:hasGroups:]):
(-[WKSelectTableViewController tableView:numberOfRowsInSection:]):
(-[WKSelectTableViewController tableView:titleForHeaderInSection:]):
(-[WKSelectTableViewController populateCell:withItem:]):
(-[WKSelectTableViewController findItemIndexAt:]):
(-[WKSelectTableViewController findItemAt:]):
(-[WKSelectTableViewController tableView:cellForRowAtIndexPath:]):
(-[WKSelectTableViewController tableView:didSelectRowAtIndexPath:]):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getAssistedNodeInformation):

2:32 PM Changeset in webkit [170320] by mitz@apple.com
  • 14 edits in trunk/Source/WebKit2

[Cocoa] No way to grant storage quotas for web application cache
https://bugs.webkit.org/show_bug.cgi?id=134213

Reviewed by Anders Carlsson.

  • UIProcess/API/APIUIClient.h:

(API::UIClient::reachedApplicationCacheOriginQuota): Added this new client function, with
a default implementation that calls the completion handler with the current quota.

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Declared a new delegate method.
  • UIProcess/API/Cocoa/_WKSecurityOrigin.mm:

(-[_WKSecurityOrigin _initWithSecurityOrigin:WebCore::]): Changed the parameter into a const
reference, since we copy it.

  • UIProcess/API/Cocoa/_WKSecurityOriginInternal.h:
  • UIProcess/Cocoa/UIDelegate.h: Override API::UIClient::reachedApplicationCacheOriginQuota.

Added flag to m_delegateMethods struct for new delegate method.

  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::setDelegate): Set new flag in m_delegateMethods struct.
(WebKit::UIDelegate::UIClient::exceededDatabaseQuota): Updated for change in
_WKSecurityOrigin initializer.
(WebKit::UIDelegate::UIClient::reachedApplicationCacheOriginQuota): Added. Calls the new
delegate method.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::reachedApplicationCacheOriginQuota): Added. Forwards the message to
the UI client.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in: Added ReachedApplicationCacheOriginQuota message.
  • WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h:

(API::InjectedBundle::PageUIClient::didReachApplicationCacheOriginQuota): Changed the return
type to bool, indicating whether the client handled the callback.

  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:

(WebKit::InjectedBundlePageUIClient::didReachApplicationCacheOriginQuota): Return the
appropriate value.

  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::reachedApplicationCacheOriginQuota): If the bundle client didn’t
handle the callback, send a message the the UI process, and update the quota with the reply.

2:32 PM Changeset in webkit [170319] by timothy_horton@apple.com
  • 17 edits in trunk/Source/WebKit2

[wk2] Synchronously wait a short time for a layer tree update after bringing a web view in-window
https://bugs.webkit.org/show_bug.cgi?id=134189

Reviewed by Simon Fraser.

Make the old behavior of -[WKView endDeferringViewInWindowChangesSync] the default; synchronously wait
for a fraction of a second when a page that was previously in-window but currently isn't comes back in-window,
until new content is painted (or we hit a timeout).

  • UIProcess/DrawingAreaProxy.h:

(WebKit::DrawingAreaProxy::waitForDidUpdateViewState):

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

(WebKit::TiledCoreAnimationDrawingAreaProxy::waitForDidUpdateViewState):
Delegate waitForDidUpdateViewState to the DrawingAreaProxys, because behavior is very dependent on them.

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

(WebKit::RemoteLayerTreeDrawingAreaProxy::coreAnimationDidCommitLayers):
(WebKit::RemoteLayerTreeDrawingAreaProxy::waitForDidUpdateViewState):
Implement waitForDidUpdateViewState for the RemoteLayerTree; it waits for CommitLayerTree.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::updateViewState):
(WebKit::WebPageProxy::viewStateDidChange):
(WebKit::WebPageProxy::dispatchViewStateChange):
(WebKit::WebPageProxy::waitForDidUpdateViewState):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
(WebKit::WebPageProxy::viewSize): Deleted.

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::didUpdateViewState):

  • UIProcess/API/mac/WKView.mm:

(-[WKView endDeferringViewInWindowChangesSync]):
Always waitForDidUpdateViewState when a page that was previously in-window but currently isn't comes back in-window.

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::viewStateDidChange):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::setViewState):
(WebKit::WebPage::didUpdateViewStateTimerFired): Deleted.

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

(WebKit::RemoteLayerTreeDrawingArea::flushLayers):
(WebKit::RemoteLayerTreeDrawingArea::viewStateDidChange):

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

(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::viewStateDidChange):
(WebKit::TiledCoreAnimationDrawingArea::didUpdateViewStateTimerFired):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::didUpdateViewStateTimerFired): Deleted.
Delegate sending of didUpdateViewState to the DrawingAreas (RemoteLayerTreeDrawingArea won't send it,

because the UI process waits for CommitLayerTree instead).

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

[MSE][Mac] Crash in SourceBuffer::sourceBufferPrivateDidReceiveRenderingError()
https://bugs.webkit.org/show_bug.cgi?id=134211

Reviewed by Eric Carlson.

Null-check m_source before dereferencing, as the SourceBuffer may have been removed
from its MediaSource before this error was received.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveRenderingError):

2:24 PM Changeset in webkit [170317] by Lucas Forschler
  • 2 edits in tags/Safari-538.42/Source/WebKit2

Merged r170311.

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

[iOS][wk2] Ensure that layers are marked volatile before allowing the process to suspend
https://bugs.webkit.org/show_bug.cgi?id=134004
<rdar://problem/17186342>

Reviewed by Simon Fraser.

WebKit tries to make layers volatile when unparented, but sometimes isn't given
a chance to do so before the process gets suspended, so we end up with lots of
non-volatile surfaces that should really be volatile.

  • Shared/mac/RemoteLayerBackingStoreCollection.h:
  • Shared/mac/RemoteLayerBackingStoreCollection.mm:

(WebKit::RemoteLayerBackingStoreCollection::markBackingStoreVolatileImmediately):
(WebKit::RemoteLayerBackingStoreCollection::markAllBackingStoreVolatileImmediatelyIfPossible):
Add markAllBackingStoreVolatileImmediatelyIfPossible, which tries to mark *all*
buffers of *all* backing store, (live and unreachable), (front, back, and secondary),
volatile right away. It returns false if any buffer isn't marked volatile (because it was in-use).

  • UIProcess/ios/ProcessThrottler.h:
  • UIProcess/ios/ProcessThrottler.mm:

(WebKit::ProcessThrottler::updateAssertion):
(WebKit::ProcessThrottler::processReadyToSuspend):
(WebKit::ProcessThrottler::didCancelProcessSuspension):

  • UIProcess/ios/WebProcessProxyIOS.mm:

(WebKit::WebProcessProxy::sendCancelProcessWillSuspend):
(WebKit::WebProcessProxy::didCancelProcessSuspension):

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in:
  • WebProcess/WebProcess.h:
  • WebProcess/WebProcess.messages.in:

If the UI process is waiting for the Web process to confirm that it can suspend
and something happens (the view is reparented) that cancels the suspension, inform
the Web process that this happened, so that it can cancel any cleanup that might still be taking place.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::viewStateDidChange):
If a view goes in-window, dispatch the view state change immediately without delay,
to minimize the latency between coming in-window and being ready to go.

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::markLayersVolatileImmediatelyIfPossible):

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

(WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
Schedule a flush when we change the root layer; otherwise, we can end up
detaching the root layer but changing nothing else, and never committing that change.

(WebKit::RemoteLayerTreeDrawingArea::markLayersVolatileImmediatelyIfPossible):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::processWillSuspend):
(WebKit::WebProcess::cancelProcessWillSuspend):
(WebKit::WebProcess::markAllLayersVolatileIfPossible):
(WebKit::WebProcess::processSuspensionCleanupTimerFired):
When the UI process is going to suspend the process, it sends us ProcessWillSuspend,
and defers the suspension until we send a ProcessReadyToSuspend back.
Delay ProcessReadyToSuspend until all layers in our process have been marked volatile.
We'll keep trying every 20ms until they're all volatile. For safety, the UI process will eventually
stop waiting for us, but the volatility change is usually applied successfully within the first
or second timer callback.

2:01 PM Changeset in webkit [170315] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Reduce synchronous layout triggered by JavaScript-based media controls
https://bugs.webkit.org/show_bug.cgi?id=134208

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-06-23
Reviewed by Eric Carlson.

Avoid always querying the offsetWidth and offsetHeight of the timeline
by only calculating these values when the timeline may change size.
Also avoid doing work in a few cases where properties did not
actually change.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller):

(Controller.prototype.setNeedsTimelineMetricsUpdate):
(Controller.prototype.updateTimelineMetricsIfNeeded):
Only update the timeline metrics when they may have changed.

(Controller.prototype.updateControls):
(Controller.prototype.handleTimelineMouseMove):
(Controller.prototype.progressFillStyle):
(Controller.prototype.showControls):
(Controller.prototype.addControls):
Mark timeline metrics need update based on various UI changes.

(Controller.prototype.setStatusHidden):
Only do work if the hidden status changed.
Mark timeline metrics need update if the timeline is changed.

(Controller.prototype.updateProgress):
Use cached timeline metrics instead of always querying offsetWidth/offsetHeight.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS):
(ControllerIOS.prototype.updateControls):

(ControllerIOS.prototype.updateProgress):
Use cached timeline metrics instead of always querying offsetWidth/offsetHeight.

(ControllerIOS.prototype.handleWirelessPlaybackChange):
Mark timeline metrics need update as button may have changed.

(ControllerIOS.prototype.handleWirelessTargetAvailableChange):
Only do work if the availability changed.
Mark timeline metrics need update as a new button may have appeared.

(ControllerIOS.prototype.set pageScaleFactor):
Only do work if the page scale factor changed.

1:24 PM Changeset in webkit [170314] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

Add skeleton code for updated Gamepad API
https://bugs.webkit.org/show_bug.cgi?id=134165

Unreviewed - Forgotten review feedback from http://trac.webkit.org/changeset/170309

  • Modules/gamepad/GamepadButton.idl: Forgot to commit the removal of NoInterfaceObject here.
1:19 PM Changeset in webkit [170313] by oliver@apple.com
  • 5 edits in trunk/Source/WebKit2

Ensure that we always use symlink free paths when specifying cache directories
https://bugs.webkit.org/show_bug.cgi?id=134206

Reviewed by Anders Carlsson.

Sandboxing will deny symlink based paths, so we use realpath to create extensions.
This leaves us in the position of an extension using a visually different path
from other parts of the process code. This patch simply makes sure that we always
use the realpath for cache directories, so making debugging easier and also ensuring
that we don't ever accidentally try to use a path with symlinks that will thus get
denied.

  • Shared/SandboxExtension.h:

(WebKit::stringByResolvingSymlinksInPath):

  • Shared/mac/SandboxExtensionMac.mm:

(WebKit::stringByResolvingSymlinksInPath):

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::ensureNetworkProcess):

  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformDefaultApplicationCacheDirectory):
(WebKit::WebContext::platformDefaultDiskCacheDirectory):
(WebKit::WebContext::platformDefaultWebSQLDatabaseDirectory):
(WebKit::WebContext::platformDefaultIconDatabasePath):
(WebKit::WebContext::platformDefaultLocalStorageDirectory):

12:58 PM Changeset in webkit [170312] by akling@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Inline the UnlinkedInstructionStream::Reader logic.
<https://webkit.org/b/134203>

This class is only used by CodeBlock to unpack the unlinked instructions,
and we were spending 0.5% of total time on PLT calling Reader::next().
Move the logic to the header file and mark it ALWAYS_INLINE.

Reviewed by Geoffrey Garen.

  • bytecode/UnlinkedInstructionStream.cpp:
  • bytecode/UnlinkedInstructionStream.h:

(JSC::UnlinkedInstructionStream::Reader::Reader):
(JSC::UnlinkedInstructionStream::Reader::read8):
(JSC::UnlinkedInstructionStream::Reader::read32):
(JSC::UnlinkedInstructionStream::Reader::next):

12:35 PM Changeset in webkit [170311] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebKit2

Unregister notification observer registered in r170156.
https://bugs.webkit.org/show_bug.cgi?id=134204.

Reviewed by Tim Horton.

  • UIProcess/API/mac/WKView.mm:

(-[WKView dealloc]):

12:29 PM Changeset in webkit [170310] by Antti Koivisto
  • 2 edits
    1 copy
    1 add in trunk/LayoutTests

Fix a test case failing on WK1 after r170296.

There is now a non-visual render tree dump difference between WK1 and Wk2 results here due to wk1 requiring an additional style synchronization.

  • platform/mac-wk2/editing/inserting: Added.
  • platform/mac-wk2/editing/inserting/break-blockquote-after-delete-expected.txt: Copied from LayoutTests/platform/mac/editing/inserting/break-blockquote-after-delete-expected.txt.
  • platform/mac/editing/inserting/break-blockquote-after-delete-expected.txt:
12:19 PM Changeset in webkit [170309] by beidson@apple.com
  • 11 edits
    12 adds in trunk/Source/WebCore

Add skeleton code for updated Gamepad API
https://bugs.webkit.org/show_bug.cgi?id=134165

Reviewed by Dean Jackson.

No new tests (No change in behavior for any tested configuration)

Interface and dummy implementation for the Gamepad object:

  • Modules/gamepad/Gamepad.cpp: Added.

(WebCore::Gamepad::Gamepad):
(WebCore::Gamepad::~Gamepad):
(WebCore::Gamepad::axes):
(WebCore::Gamepad::buttons):

  • Modules/gamepad/Gamepad.h: Added.
  • Modules/gamepad/Gamepad.idl: Added.

Interface and dummy implementation for the GamepadButton object:

  • Modules/gamepad/GamepadButton.cpp: Added.

(WebCore::GamepadButton::GamepadButton):
(WebCore::GamepadButton::pressed):

  • Modules/gamepad/GamepadButton.h: Added.

(WebCore::GamepadButton::create):
(WebCore::GamepadButton::value):
(WebCore::GamepadButton::setValue):

  • Modules/gamepad/GamepadButton.idl: Added.

Interface and dummy implementation for the GamepadEvent object:

  • Modules/gamepad/GamepadEvent.cpp: Added.

(WebCore::GamepadEvent::GamepadEvent):

  • Modules/gamepad/GamepadEvent.h: Added.

(WebCore::GamepadEventInit::GamepadEventInit):
(WebCore::GamepadEvent::~GamepadEvent):
(WebCore::GamepadEvent::create):
(WebCore::GamepadEvent::gamepad):

  • Modules/gamepad/GamepadEvent.idl: Added.
  • dom/EventNames.in:

Interface and dummy implementation for additions to the Navigator object:

  • Modules/gamepad/NavigatorGamepad.cpp: Added.

(WebCore::NavigatorGamepad::NavigatorGamepad):
(WebCore::NavigatorGamepad::supplementName):
(WebCore::NavigatorGamepad::from):
(WebCore::NavigatorGamepad::getGamepads):
(WebCore::NavigatorGamepad::gamepads):

  • Modules/gamepad/NavigatorGamepad.h: Added.
  • Modules/gamepad/NavigatorGamepad.idl: Added.

Bindings additions necessary for these new interfaces:

  • bindings/js/JSDOMBinding.h:

(WebCore::JSValueTraits<double>::arrayJSValue):

  • bindings/js/JSDictionary.cpp:

(WebCore::JSDictionary::convertValue):

  • bindings/js/JSDictionary.h:

Project file stuff:

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCoreCommon.props:
  • WebCore.vcxproj/copyForwardingHeaders.cmd:
  • WebCore.xcodeproj/project.pbxproj:
  • DerivedSources.make:
12:02 PM Changeset in webkit [170308] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Catch Obj-C exceptions thrown by _linenPatternImage
https://bugs.webkit.org/show_bug.cgi?id=134202

Reviewed by Geoffrey Garen.

Catch Objective-C exceptions thrown by _linenPatternImage and
-[NSImage CGImageForProposedRect:context:hints:].

  • platform/mac/ScrollbarThemeMac.mm:

(WebCore::linenBackgroundColor):

12:00 PM Changeset in webkit [170307] by Simon Fraser
  • 4 edits
    2 adds in trunk

CSS clip property should make layers non-opaque
https://bugs.webkit.org/show_bug.cgi?id=134147

Source/WebCore:
<rdar://problem/17324579>

Reviewed by Tim Horton.

https://www.fairphone.com has position:fixed elements with clip: rect(...)
but we were making those layers opaque, resulting in garbage pixels
in areas outside the clip rect.

Fix by checking for the clip property in RenderBox::backgroundIsKnownToBeOpaqueInRect().

Test: compositing/contents-opaque/opaque-with-clip.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::backgroundIsKnownToBeOpaqueInRect):

LayoutTests:

Reviewed by Tim Horton.

  • compositing/contents-opaque/opaque-with-clip-expected.html: Added.
  • compositing/contents-opaque/opaque-with-clip.html: Added.
12:00 PM Changeset in webkit [170306] by Simon Fraser
  • 5 edits
    2 adds in trunk

Adding a mask on a simple color compositing layer removes the content
https://bugs.webkit.org/show_bug.cgi?id=134127

Reviewed by Dean Jackson.

Source/WebCore:

In r169053 I moved some updateDrawsContent() into updateAfterDescendents(),
but this isn't called when a composited layer gains or loses a mask (which
doesn't cause a layout). This caused us to fail to allocate backing store
when gaining a mask, resulting in missing content.

Fix by calling updateAfterDescendents() from RenderLayer::styleChange()
when the layer config isn't changing.

Also remove a condition in isSimpleContainerCompositingLayer() that caused us
to fall off the simple layer path for masked layers, since this works just
fine.

Test: compositing/masks/solid-color-masked.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):

LayoutTests:

  • compositing/masks/mask-layer-size-expected.txt:
  • compositing/masks/solid-color-masked-expected.html: Added.
  • compositing/masks/solid-color-masked.html: Added.
12:00 PM Changeset in webkit [170305] by Simon Fraser
  • 2 edits in trunk/Tools

Enable the Web Inspector in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=134148

Reviewed by Joseph Pecoraro.

Set the pref to enable Web Inspector in both WK1 and WK2 windows.

  • MiniBrowser/mac/AppDelegate.m:

(-[BrowserAppDelegate applicationDidFinishLaunching:]):

11:56 AM Changeset in webkit [170304] by hyatt@apple.com
  • 23 edits
    3 adds in trunk

[New Multicolumn] Writing mode changes on the <html> and RenderView need to
be propagated to column sets and flow thread children of those renderers.
https://bugs.webkit.org/show_bug.cgi?id=134121
<rdar://problem/16884527>

Reviewed by Dean Jackson.

Source/WebCore:
Added fast/multicol/pagination/RightToLeft-rl-dynamic.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::styleDidChange):
Refactor the propagation code for column sets and flow thread styles into a helper
function that is called here.

(WebCore::RenderBlockFlow::updateStylesForColumnChildren):

  • rendering/RenderBlockFlow.h:

Add a new helper function for recalculating the styles of the column sets and
flow thread in response to changes.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::styleDidChange):
When the style is changed for a root element or the RenderView in response to
writing mode and direction changes, make sure that style gets propagated to
the column children by calling the new helper function.

LayoutTests:

  • fast/multicol/pagination/RightToLeft-rl-dynamic.html: Added.
  • platform/mac/fast/multicol/pagination/BottomToTop-bt-expected.png:
  • platform/mac/fast/multicol/pagination/BottomToTop-lr-expected.png:
  • platform/mac/fast/multicol/pagination/BottomToTop-rl-expected.png:
  • platform/mac/fast/multicol/pagination/BottomToTop-tb-expected.png:
  • platform/mac/fast/multicol/pagination/LeftToRight-bt-expected.png:
  • platform/mac/fast/multicol/pagination/LeftToRight-lr-expected.png:
  • platform/mac/fast/multicol/pagination/LeftToRight-rl-expected.png:
  • platform/mac/fast/multicol/pagination/LeftToRight-tb-expected.png:
  • platform/mac/fast/multicol/pagination/RightToLeft-bt-expected.png:
  • platform/mac/fast/multicol/pagination/RightToLeft-lr-expected.png:
  • platform/mac/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.png: Added.
  • platform/mac/fast/multicol/pagination/RightToLeft-rl-dynamic-expected.txt: Added.
  • platform/mac/fast/multicol/pagination/RightToLeft-rl-expected.png:
  • platform/mac/fast/multicol/pagination/RightToLeft-tb-expected.png:
  • platform/mac/fast/multicol/pagination/TopToBottom-bt-expected.png:
  • platform/mac/fast/multicol/pagination/TopToBottom-lr-expected.png:
  • platform/mac/fast/multicol/pagination/TopToBottom-rl-expected.png:
  • platform/mac/fast/multicol/pagination/TopToBottom-tb-expected.png:
  • platform/mac/fast/multicol/pagination/nested-transforms-expected.png:
11:25 AM Changeset in webkit [170303] by mitz@apple.com
  • 9 edits
    3 adds in trunk/Source/WebKit2

[Cocoa] No way to grant storage quotas for WebSQL
https://bugs.webkit.org/show_bug.cgi?id=134175

Reviewed by Anders Carlsson.

  • Shared/WebSecurityOrigin.h:

(WebKit::WebSecurityOrigin::securityOrigin): Changed to return a non-const reference.

  • UIProcess/API/APIUIClient.h:

(API::UIClient::exceededDatabaseQuota): Added a completion handler parameter than takes the
new quota, and changed the return type to void.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient): Changed the override of exceededDatabaseQuota to call the
completion handler with the new quota, or with the existing quota if the client doesn’t
implement the callback.

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h: Declared new delegate method.
  • UIProcess/API/Cocoa/_WKSecurityOrigin.h: Added.
  • UIProcess/API/Cocoa/_WKSecurityOrigin.mm: Added.

(-[_WKSecurityOrigin _initWithSecurityOrigin:WebCore::]): Store the origin in an ivar.
(-[_WKSecurityOrigin protocol]): Added this accessor.
(-[_WKSecurityOrigin host]): Ditto.
(-[_WKSecurityOrigin port]): Ditto.

  • UIProcess/API/Cocoa/_WKSecurityOriginInternal.h: Added.
  • UIProcess/Cocoa/UIDelegate.h: Override API::UIClient::exceededDatabaseQuota. Added flag

to m_delegateMethods struct for new delegate method.

  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::setDelegate): Set new flag in m_delegateMethods struct.
(WebKit::UIDelegate::UIClient::exceededDatabaseQuota): Added. Calls the new delegate method.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::exceededDatabaseQuota): Updated for the new client interface: now
passing a completion handler that replies with the new quota.

  • WebKit2.xcodeproj/project.pbxproj: Added references to new files, sorted a group.
11:16 AM Changeset in webkit [170302] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Use WebGLLayer rather than PlatformLayer in GraphicsContext3D
https://bugs.webkit.org/show_bug.cgi?id=134183

Follow-up review from Sam Weinig.

  • platform/graphics/GraphicsContext3D.h: Merge another bit of MAC and IOS

code.

  • ChangeLog: Actually read his review comments this time.
11:01 AM Changeset in webkit [170301] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] Uncaught exception crash when destroying MediaPlayerPrivateAVFoundationObjC
https://bugs.webkit.org/show_bug.cgi?id=134198

Reviewed by Eric Carlson.

Now that we always create an AVPlayerLayer when creating an AVPlayer, but we don't
return that layer from platformLayer() unless we've been asked to, we no longer are
asked to destroy our video layer from MediaPlayerPrivateAVFoundation::tearDownVideoRendering().

Instead, explicitly destroy our video layer (and remove the KVO-observer which is
causing this exception) in the MediaPlayerPrivateAVFoundationObjC destructor.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC):

10:50 AM Changeset in webkit [170300] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

More build fixing after r170295.

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

10:39 AM Changeset in webkit [170299] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Fix build.

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

10:27 AM Changeset in webkit [170298] by andersca@apple.com
  • 14 edits in trunk/Source/WebKit2

Give read-only properties proper ownership attributes
https://bugs.webkit.org/show_bug.cgi?id=134197
<rdar://problem/16830117>

Reviewed by Dan Bernstein.

Also, make WKFrameInfo conform to NSCopying since it's a data-only object and thus intended to be copied.

  • UIProcess/API/Cocoa/WKBackForwardList.h:
  • UIProcess/API/Cocoa/WKBackForwardListItem.h:
  • UIProcess/API/Cocoa/WKFrameInfo.h:
  • UIProcess/API/Cocoa/WKFrameInfo.mm:

(-[WKFrameInfo copyWithZone:]):
(-[WKFrameInfo setRequest:]): Deleted.

  • UIProcess/API/Cocoa/WKNavigation.h:
  • UIProcess/API/Cocoa/WKNavigationAction.h:
  • UIProcess/API/Cocoa/WKNavigationAction.mm:

(-[WKNavigationAction setSourceFrame:]):
(-[WKNavigationAction setTargetFrame:]):

  • UIProcess/API/Cocoa/WKNavigationActionInternal.h:
  • UIProcess/API/Cocoa/WKNavigationResponse.h:
  • UIProcess/API/Cocoa/WKScriptMessage.h:
  • UIProcess/API/Cocoa/WKUserContentController.h:
  • UIProcess/API/Cocoa/WKUserScript.h:
  • UIProcess/API/Cocoa/WKWebView.h:
10:07 AM Changeset in webkit [170297] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Remove unused FrameView::setUseCustomFixedPositionLayoutRect().
<https://webkit.org/b/134194>

Reviewed by Anders Carlsson.

  • WebCore.exp.in:
  • page/FrameView.cpp:

(WebCore::FrameView::setUseCustomFixedPositionLayoutRect): Deleted.

  • page/FrameView.h:
10:02 AM Changeset in webkit [170296] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

REGRESSION (r160908): Unable to unset bold while entering text
https://bugs.webkit.org/show_bug.cgi?id=134196
<rdar://problem/17051653>

Reviewed by Andreas Kling.

No test, this code path is used by some WK1 API clients only.

  • editing/Editor.cpp:

(WebCore::Editor::styleForSelectionStart):

This needs to update the style before requesting the renderer.

  • editing/Editor.h:
  • editing/ios/EditorIOS.mm:

(WebCore::styleForSelectionStart): Deleted.

  • editing/mac/EditorMac.mm:

(WebCore::styleForSelectionStart): Deleted.

Removed the duplicated functions, moved to Editor.cpp.

9:39 AM Changeset in webkit [170295] by achristensen@apple.com
  • 5 edits in trunk/Source/WebCore

[iOS] Fix video in WebGL.
https://bugs.webkit.org/show_bug.cgi?id=133511

Reviewed by Jer Noble.

  • WebCore.exp.in:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin):
(WebCore::wkAVAssetResolvedURL): Deleted.

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

Declare and use resolvedURL on AVURLAsset instead of using wkAVAssetResolvedURL through WebKitSystemInterface.

8:25 AM Changeset in webkit [170294] by Michał Pakuła vel Rutka
  • 1 edit
    8 copies
    1 delete in trunk/LayoutTests

[EFL] Move WebKit2 test results into LayoutTests/platform/efl
https://bugs.webkit.org/show_bug.cgi?id=134192

Unreviewed gardening, moving files into LayoutTests/platform/efl after removing EFL WebKit1.

  • platform/efl/webaudio/oscillator-custom-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/oscillator-custom-expected.wav.
  • platform/efl/webaudio/oscillator-sawtooth-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/oscillator-sawtooth-expected.wav.
  • platform/efl/webaudio/oscillator-sine-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/oscillator-sine-expected.wav.
  • platform/efl/webaudio/oscillator-square-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/oscillator-square-expected.wav.
  • platform/efl/webaudio/oscillator-triangle-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/oscillator-triangle-expected.wav.
  • platform/efl/webaudio/up-mixing-mono-51-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/up-mixing-mono-51-expected.wav.
  • platform/efl/webaudio/up-mixing-mono-stereo-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/up-mixing-mono-stereo-expected.wav.
  • platform/efl/webaudio/up-mixing-stereo-51-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/up-mixing-stereo-51-expected.wav.
8:21 AM Changeset in webkit [170293] by Michał Pakuła vel Rutka
  • 1 edit
    5 moves in trunk/LayoutTests

[EFL] Move WebKit2 test results into LayoutTests/platform/efl
https://bugs.webkit.org/show_bug.cgi?id=134192

Unreviewed gardening, moving files into LayoutTests/platform/efl after removing EFL WebKit1.

  • platform/efl/webaudio/audiobuffersource-loop-points-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/audiobuffersource-loop-points-expected.wav.
  • platform/efl/webaudio/audiobuffersource-multi-channels-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/audiobuffersource-multi-channels-expected.wav.
  • platform/efl/webaudio/audiobuffersource-playbackrate-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/audiobuffersource-playbackrate-expected.wav.
  • platform/efl/webaudio/gain-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/gain-expected.wav.
  • platform/efl/webaudio/mixing-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/mixing-expected.wav.
8:13 AM Changeset in webkit [170292] by Michał Pakuła vel Rutka
  • 1 edit
    40 copies
    1 move
    5 adds
    2 deletes in trunk/LayoutTests

[EFL] Move WebKit2 test results into LayoutTests/platform/efl
https://bugs.webkit.org/show_bug.cgi?id=134192

Unreviewed gardening, moving files into LayoutTests/platform/efl after removing EFL WebKit1.

  • platform/efl/fast/: Renamed from LayoutTests/platform/efl-wk2/fast/.
  • platform/efl/webaudio/audiobuffersource-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/audiobuffersource-expected.wav.
  • platform/efl/webaudio/codec-tests/aac/vbr-128kbps-44khz-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/codec-tests/aac/vbr-128kbps-44khz-expected.wav.
  • platform/efl/webaudio/codec-tests/vorbis/vbr-128kbps-44khz-expected.txt: Renamed from LayoutTests/platform/efl-wk2/webaudio/codec-tests/vorbis/vbr-128kbps-44khz-expected.txt.
  • platform/efl/webaudio/codec-tests/vorbis/vbr-70kbps-44khz-expected.txt: Renamed from LayoutTests/platform/efl-wk2/webaudio/codec-tests/vorbis/vbr-70kbps-44khz-expected.txt.
  • platform/efl/webaudio/codec-tests/vorbis/vbr-96kbps-44khz-expected.txt: Renamed from LayoutTests/platform/efl-wk2/webaudio/codec-tests/vorbis/vbr-96kbps-44khz-expected.txt.
  • platform/efl/webaudio/codec-tests/wav/24bit-22khz-resample-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/codec-tests/wav/24bit-22khz-resample-expected.wav.
  • platform/efl/webaudio/codec-tests/wav/24bit-44khz-expected.wav: Renamed from LayoutTests/platform/efl-wk2/webaudio/codec-tests/wav/24bit-44khz-expected.wav.
7:59 AM Changeset in webkit [170291] by stavila@adobe.com
  • 3 edits in trunk/Source/WebCore

REGRESSION (r168046): Incorrect handling of object information in WebCore::RenderFlowThread::removeLineRegionInfo
https://bugs.webkit.org/show_bug.cgi?id=133587

Reviewed by Antti Koivisto.

When an object flowed in multicol is moved from in-flow positioning to out-of-flow positioning,
its information must be removed from the flowthread prior to the change being made.
Otherwise, the flow thread will no longer be its containing block and a reference to it
will not be possible to obtain.

No new tests can be added because the code still hits in an unrelated assertion followed by a null dereference.
The issue was discussed with Antti Koivisto and we decided its better to fix this problem first and
handle the following issue in a separate bug.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::styleWillChange):

  • rendering/RenderObject.h:

(WebCore::RenderObject::flowThreadContainingBlock):

7:59 AM Changeset in webkit [170290] by Michał Pakuła vel Rutka
  • 9 edits
    87 copies
    5 adds
    25 deletes in trunk/LayoutTests

[EFL] Move WebKit2 test results into LayoutTests/platform/efl

Unreviewed gardening, moving files into LayoutTests/platform/efl after removing EFL WebKit1.

  • platform/efl/accessibility/: Renamed from LayoutTests/platform/efl-wk2/accessibility/.
  • platform/efl/compositing/: Renamed from LayoutTests/platform/efl-wk2/compositing/.
  • platform/efl/editing/: Renamed from LayoutTests/platform/efl-wk2/editing/.
  • platform/efl/fast/: Renamed from LayoutTests/platform/efl-wk2/fast/.
  • platform/efl/http/: Renamed from LayoutTests/platform/efl-wk2/http/.
  • platform/efl/ietestcenter: Renamed from LayoutTests/platform/efl-wk2/ietestcenter/.
  • platform/efl/inspector-protocol/debugger/setBreakpoint-dfg-and-modify-local-expected.txt: Renamed from LayoutTests/platform/efl-wk2/inspector-protocol/debugger/setBreakpoint-dfg-and-modify-local-expected.txt.
  • platform/efl/loader/go-back-cached-main-resource-expected.txt: Renamed from LayoutTests/platform/efl-wk2/loader/go-back-cached-main-resource-expected.txt.
  • platform/efl/media/video-layer-crash-expected.png: Renamed from LayoutTests/platform/efl-wk2/media/video-layer-crash-expected.png.
  • platform/efl/media/video-transformed-expected.png: Renamed from LayoutTests/platform/efl-wk2/media/video-transformed-expected.png.
  • platform/efl/media/video-zoom-controls-expected.png: Renamed from LayoutTests/platform/efl-wk2/media/video-zoom-controls-expected.png.
  • platform/efl/media/video-zoom-expected.png: Renamed from LayoutTests/platform/efl-wk2/media/video-zoom-expected.png.
  • platform/efl/plugins/npruntime/object-from-destroyed-plugin-expected.txt: Renamed from LayoutTests/platform/efl-wk2/plugins/npruntime/object-from-destroyed-plugin-expected.txt.
  • platform/efl/plugins/npruntime/object-from-destroyed-plugin-in-subframe-expected.txt: Renamed from LayoutTests/platform/efl-wk2/plugins/npruntime/object-from-destroyed-plugin-in-subframe-expected.txt.
  • platform/efl/svg/: Renamed from LayoutTests/platform/efl-wk2/svg/.
  • platform/efl/transforms/2d/hindi-rotated-expected.png:
  • platform/efl/transforms/2d/hindi-rotated-expected.txt:
6:33 AM Changeset in webkit [170289] by Csaba Osztrogonác
  • 1 edit
    110 deletes in trunk/Source/WebKit

[EFL] Remove the WebKit1 EFL code
https://bugs.webkit.org/show_bug.cgi?id=134096

Patch by Ryuan Choi <ryuan.choi@samsung.com> on 2014-06-23
Reviewed by Gyuyoung Kim.

  • PlatformEfl.cmake: Removed.
  • efl: Removed entire efl directory.
5:13 AM Changeset in webkit [170288] by k.czech@samsung.com
  • 8 edits
    3 adds in trunk

[EFL] Platform support for WebSpeech feature.
https://bugs.webkit.org/show_bug.cgi?id=116438

Reviewed by Csaba Osztrogonác.

.:
Add ENABLE_SPEECH_SYNTHESIS flag to have Speech Synthesis in EFL.

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/WebKitFeatures.cmake:

Source/WebCore:
It's a first step of adding support for Speech Synthesis in EFL port.
Just stub out required API and support for compilation.

  • CMakeLists.txt:
  • PlatformEfl.cmake:
  • PlatformGTK.cmake: Added some idls to not break GTK build.
  • platform/PlatformSpeechSynthesizer.h:
  • platform/efl/PlatformSpeechSynthesisProviderEfl.cpp: Added.

(WebCore::PlatformSpeechSynthesisProviderEfl::PlatformSpeechSynthesisProviderEfl):
(WebCore::PlatformSpeechSynthesisProviderEfl::~PlatformSpeechSynthesisProviderEfl):
(WebCore::PlatformSpeechSynthesisProviderEfl::initializeVoiceList):
(WebCore::PlatformSpeechSynthesisProviderEfl::pause):
(WebCore::PlatformSpeechSynthesisProviderEfl::resume):
(WebCore::PlatformSpeechSynthesisProviderEfl::speak):
(WebCore::PlatformSpeechSynthesisProviderEfl::cancel):

  • platform/efl/PlatformSpeechSynthesisProviderEfl.h: Added.
  • platform/efl/PlatformSpeechSynthesizerEfl.cpp: Added.

(WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
(WebCore::PlatformSpeechSynthesizer::~PlatformSpeechSynthesizer):
(WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
(WebCore::PlatformSpeechSynthesizer::pause):
(WebCore::PlatformSpeechSynthesizer::resume):
(WebCore::PlatformSpeechSynthesizer::speak):
(WebCore::PlatformSpeechSynthesizer::cancel):

4:11 AM Changeset in webkit [170287] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

Make it clear to get m_svgExtensions using svgExtensions().
https://bugs.webkit.org/show_bug.cgi?id=134186.

Patch by Jeongeun Kim <je_julie.kim@samsung.com> on 2014-06-23
Reviewed by Dirk Schulze.

This patch makes sure that the purpose of code is to get m_svgExtensions
as changing accessSVGExtensions() to svgExtensions().
svgExtensions() is a getter API and accessSVGExtensions() checks
the presence of m_svgExtensions and create m_svgExtensions if it does not exist.

No new tests, no behavior change.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::removeChild):
(WebCore::ContainerNode::removeChildren):

  • dom/Document.cpp:

(WebCore::Document::commonTeardown):
(WebCore::Document::implicitClose):

  • history/CachedFrame.cpp:

(WebCore::CachedFrameBase::restore):

  • svg/SVGDocumentExtensions.cpp:

(WebCore::SVGDocumentExtensions::startAnimations):
(WebCore::SVGDocumentExtensions::pauseAnimations):
(WebCore::SVGDocumentExtensions::unpauseAnimations):
(WebCore::SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements):
(WebCore::SVGDocumentExtensions::rebuildElements):

  • svg/SVGDocumentExtensions.h:
1:09 AM Changeset in webkit [170286] by dino@apple.com
  • 2 edits
    1 delete in trunk/LayoutTests

REGRESSION (r170257) http/tests/navigation/javascriptlink-frames.html fails on MountainLion
https://bugs.webkit.org/show_bug.cgi?id=134182

Rebaseline for Mountain Lion.

  • platform/mac-mountainlion/TestExpectations: Removed.
  • platform/mac-mountainlion/http/tests/navigation/javascriptlink-frames-expected.txt:
1:04 AM Changeset in webkit [170285] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

[iOS] Use WebGLLayer rather than PlatformLayer in GraphicsContext3D
https://bugs.webkit.org/show_bug.cgi?id=134183

Reviewed by Sam Weinig.

GraphicsContext3D has a reference to a WebGLLayer that was
hidden behind a PlatformLayer. This meant we had to cast it
to use a WebGLLayer method.

  • platform/graphics/GraphicsContext3D.h: Replace RefPtr<PlatformLayer>

with RefPtr<WebGLLayer>.

  • platform/graphics/mac/GraphicsContext3DMac.mm:

(WebCore::GraphicsContext3D::~GraphicsContext3D): No need to cast.

12:27 AM Changeset in webkit [170284] by yoon@igalia.com
  • 3 edits in trunk/Source/WebKit2

Unreviewed, GTK build fix after r170274.

  • WebProcess/WebPage/DrawingAreaImpl.cpp:

Drawing::m_webPage changed to reference.

(WebKit::DrawingAreaImpl::DrawingAreaImpl):
(WebKit::DrawingAreaImpl::setNeedsDisplay):
(WebKit::DrawingAreaImpl::setNeedsDisplayInRect):
(WebKit::DrawingAreaImpl::forceRepaint):
(WebKit::DrawingAreaImpl::updatePreferences):
(WebKit::DrawingAreaImpl::layerHostDidFlushLayers):
(WebKit::DrawingAreaImpl::updateBackingStoreState):
(WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState):
(WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
(WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
(WebKit::DrawingAreaImpl::display):

  • WebProcess/WebPage/DrawingAreaImpl.h:
12:10 AM Changeset in webkit [170283] by Philippe Normand
  • 2 edits in trunk

Unreviewed, GTK build fix after r170266.

  • Source/cmake/OptionsGTK.cmake: Geoclue also requires gio-unix.
Note: See TracTimeline for information about the timeline view.