Timeline



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 Laszlo Gombos
  • 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 Laszlo Gombos
  • 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:
Note: See TracTimeline for information about the timeline view.